5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

DDKからMASMとMS-Cを取り出す

Posted at

以前マイクロソフトが無償配布していたWindows Server 2003 SP1 DDKからMASM5.1とMASM7とMS-C 8が取り出せるとのことなので試してみました。

MASM5.1は16ビットアプリケーションでした。
MS-C 8とMASM7は32ビットアプリケーションでした。

Windows Server 2003 SP1 DDK の入手

Windows Server 2003 SP1 DDKは2008年ごろ、マイクロソフトからISOファイル 1830_usa_ddk.iso を無償で入手することができました。

ちなみにDDKとは、Driver Development Kitのことでデバイスドライバを開発するためのソフトウェアです。

Windows Server 2003 SP1 DDK の配布ページのURL https://www.microsoft.com/japan/whdc/DevTools/ddk/default.mspx でした。
2020年現在はアクセスできませんが、そのURLをweb archiveで調べると、保存されていました。
http://web.archive.org/web/20080213193656/https://www.microsoft.com/japan/whdc/DevTools/ddk/default.mspx
幸運にも、DDKのISOファイルも保存されていました。
http://web.archive.org/web/20111222012852/http://download.microsoft.com/download/9/0/f/90f019ac-8243-48d3-91cf-81fc4093ecfd/1830_usa_ddk.iso

MASM 5.1 を取り出す

1830_usa_ddk.iso をマウントします。
common\d16bebin.cabからmasm.exe を取り出します。(7-Zzipを使いました。)
このmasm.exeは16ビットアプリケーションなので、Windows10のコマンドプロンプトでは動作しません。

DOSのエミュレータDOSBoxを使うと動作しました。

masm510a.png

MASM 7.10.4035を取り出す

1830_usa_ddk.iso をマウントします。
common\X86dBINS.cabから X86dBINS_FILE_19を取り出します。(7-Zipを使いました。)
X86dBINS_FILE_19をml.exeにリネームします。
このファイルはwin32アプリなのでWindows10のコマンドプロンプトでうごきました。

C:\DOS>ml.exe
Microsoft (R) Macro Assembler Version 7.10.4035
Copyright (C) Microsoft Corporation.  All rights reserved.

usage: ML [ options ] filelist [ /link linkoptions]
Run "ML /help" or "ML /?" for more info

Microsoft C 8.0cを取り出す

1830_usa_ddk.iso をマウントします。
c:\MSCにインストールするとします。

C: ドライブに\MSC\include ディレクトリを作ります。
C:\msc\include ディレクトリに d16beinc.cab ファイルを展開します。(7-Zzipを使いました。)

C: ドライブに \MSC\include\sys ディレクトリを作ります。
sys_locking.h, sys_stat.h, sys_timeb.h, sys_types.h, sys_utime.h の
ファイルを \MSC\include\sys ディレクトリに移動させて、ファイル名から
sys_ の部分を取り除きます。

C: ドライブに \MSC\lib ディレクトリを作ります。
C:\msc\lib ディレクトリに d16belib.cab ファイルを展開します。(7-Zzipを使いました。)

C: ドライブに \MSC\bin ディレクトリを作ります。
C:\MSC\bin ディレクトリに d16bebin.cab からcl.exe cl.err cl.def cl.msg c13216.exe link.exe q23.exeを取り出します。(7-Zzipを使いました。)

MS-C8はWin32アプリなので、Windows10のコマンドプロンプトで動作しました。

コマンドプロンプト起動後に環境変数の設定をします。

SET PATH=%PATH%;C:\msc\bin
SET INCLUDE=C:\msc\include
SET LIB=C:\msc\lib

hello.c をコンパイルしてみました。

C:\MSC>more hello.c
#include <stdio.h>

int main(void) {
    printf("hello world\n");
    return 0;
}

C:\MSC>cl hello.c
Microsoft (R) C/C++ Optimizing Compiler Version 8.00c
Copyright (c) Microsoft Corp 1984-1993. All rights reserved.

hello.c

Microsoft (R) Segmented Executable Linker NTGroup Version 5.60.220 Dec 28 1999
Copyright (C) Microsoft Corp 1984-1993.  All rights reserved.

Object Modules [.obj]: hello.obj
Run File [hello.exe]: "hello.exe" /noi
List File [nul.map]: NUL
Libraries [.lib]:
Definitions File [nul.def]: ;

できあがったhello.exeは16ビットアプリケーションなのでDOSBoxで実行すると動きました。

doshello.png

c13216.exeとq23.exeにはPhar Lap Softwareのコピーライトが含まれているので640KB以上のメモリを使うためのソフトウェアっぽいです。

参考にしたページ

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?