クライアントHyper-VでDOS6を動かしてみる。

Hyper-VはWindows2000もサポートしてないのにDOSなんてはなからサポートする気なんかなくて、MBRブートのためだけにBIOSと16ビットコードが動くようにしてあるのだと思う。現状のWindows10のクライアントHyper-VはEMM386.EXEが絶望的に動かない。とりあえずプロンプトが動くようにだけしてみる。ホストWindows 10 1909 64ビットのクライアントHyper-V、ゲストOSはPC DOS J6.3/V。

・CONFIG.SYS

BUFFERS=20
FILES=30
COUNTRY=081,932,C:\DOS\COUNTRY.SYS
SHELL=C:\DOS\COMMAND.COM /P /E:512
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\SETVER.EXE
DEVICE=C:\DOS\$FONT.SYS
DEVICE=C:\DOS\$DISP.SYS /HS=OFF
DEVICE=C:\DOS\$IAS.SYS /X=0
DEVICE=C:\DOS\ANSI.SYS /X
DEVICE=C:\UTY\IBMIDECD.SYS /D:CDROM1

・AUTOEXEC.BAT

@ECHO OFF
SET COMSPEC=C:\DOS\COMMAND.COM
SET TEMP=C:\TEMP
SET TMP=C:\TEMP
PATH C:\DOS
PROMPT $P$G
LH C:\DOS\MSCDEX.EXE /D:CDROM1
LH C:\DOS\KEYB.COM JP,932,C:\DOS\KEYBOARD.SYS
LH C:\DOS\DOSKEY.COM /INSERT
VER

・CONFIG.PS2

BUFFERS=20
FILES=30
COUNTRY=001,437,C:\DOS\COUNTRY.SYS
SHELL=C:\DOS\COMMAND.COM /P /E:512
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\DISPLAY.SYS CON=(EGA,437,2)
DEVICE=C:\DOS\SETVER.EXE
DEVICE=C:\DOS\ANSI.SYS /X
DEVICE=C:\UTY\IBMIDECD.SYS /D:CDROM1

・AUTOEXEC.PS2

@ECHO OFF
SET COMSPEC=C:\DOS\COMMAND.COM
SET TEMP=C:\TEMP
SET TMP=C:\TEMP
PATH C:\DOS\PS2;C:\DOS
PROMPT $P$G
C:\DOS\MSCDEX.EXE /D:CDROM1
C:\DOS\KEYB.COM JP,437,C:\DOS\KEYBOARD.SYS
C:\DOS\NLSFUNC.EXE C:\DOS\COUNTRY.SYS
C:\DOS\DOSKEY.COM /INSERT
MODE CON CP PREP=((437 850) C:\DOS\ISO.CPI)
MODE CON CP SEL=437
VER

画像のDOSシェルは英語環境のもの。拡張メモリマネージャ無しでタスク切替も動く。俺流DOS講座みたいなのでWin32コンソールとDOSの違いもきちんと説明できてないようなのはいざ知らず、ウィキペディアですらDOSシェルはタスク切り替えに32ビットCPU使うとか、仮想86モードで動くとか知ったようなことが書いてある。これは完全に嘘。DOSShellのタスクスイッチャはDOSの要件に載ってる16ビットCPUの286でも動くし、仮想86モードとか使ってないし。PC98のキーバインドを書いてあるし98遣いの仕業と見た。PCマニアと相性の良いWikipediaですらこんなだからネットの情報は信用できないなんて言われるんだろう。

とりあえずDOSが動く、という程度の仕上がり。これでも起動ディスク作成とかMASMで遊ぶくらいの用途に使えるだろう。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中