もう、タイトルが一見すると意味不明ですが、
[今更誰得] MSX(CX5F/YIS503)のジョイスティックポート経由でPC上のディスクイメージファイルを操作する #MSX #CX5F #YIS503
https://mobileff.blogspot.com/2022/01/msxcx5fyis503pc-msx-cx5f-yis503.html
の続きです。
前のエントリでDISK BASICの起動と、ジョイスティックポート経由でPC上のディスクイメージの操作までは確認できましたが、MSX-DOSの起動までは確認できていませんでしたので、MSXDISKのPC側ソフトウェア上で、MSX-DOSのディスクイメージをセットして、MSXDISKを起動してみました。
・・・やっぱり、起動できませんでしたww
いくらやっても、DISK BASICが起動してしまいます。
ディスク有のMSXのブートシーケンスは、
- 0000H番地から通常のブートシーケンスが走る
- (中略)
- 通常のブートシーケンス内で、ROMの検索(ROMカートリッジのような専用ソフト)を行い、見つかったらそのROMから起動する
MSXDISKのROMLDRという実行ファイルでは、すごくざっくりいうと「ページ3に割当たっているスロット番号(メインRAMが置いてあるスロット)をページ1(カスタムROMの書き込み先)のスロット番号にする」というようなロジックでスロットの切り替えをしているんですね。
そうなると、やっぱりCX5F(YIS503)のようなイレギュラー?なスロット構成のMSXだと、RAMの検索に失敗させられてしまうため、MSX-DOSの起動は不可と判定されて、DISK BASICが起動してしまいます。
なので、しょうがないのでやっぱりDISK ROMのブートシーケンスを決め打ちで書き換えて対応します。
;
; CHANGED, TO CREATE ROOM FOR OTHER ROUTINES
; ONLY 64 KB RAM'S ARE ALLOWED AS RAM!!
;
A5E52: ld h,c
A5E5E: ld l,010H
A5E60: call ARDSL
cpl
ld e,a
push de
call AWRSL
call ARDSL
pop bc
ld b,a
ld a,c
cpl
ld e,a
push bc
call AWRSL
pop bc
ld a,c
cp b
jr nz,A5E9A
dec l
jr nz,A5E60
inc h
inc h
inc h
inc h
ld a,h
cp 040H
jr z,A5E96
cp 080H
jr nz,A5E5E
;A5E96: ld a,(RAMAD3) ;ここをコメントアウト
A5E96: ld a,001H ;この行を追加
ret
nop
;
A5E9A: scf
ret
;ARDSL: ld a,(RAMAD3) ;ここをコメントアウト
ARDSL: ld a,001H ;この行を追加
jp RDSLT
nop
;AWRSL: ld a,(RAMAD3) ;ここをコメントアウト
AWRSL: ld a,001H ;この行を追加
jp WRSLT
nop
;
; END OF CHANGE, BUT KEEP FOLLOWING ROUTINES AT SAME ADDRESSES!
;
defs 05EADH-05E52H-($-A5E52),0
【ダウンロード】
"スロット1に64KB増設RAMを搭載した"ヤマハCX5F/YIS503用のDISK.ROM
これで、どうにかMSX-DOSを起動させることができました。
MSXDISKというツールを使い、CX5F向けにDISKROMイメージを一部書き換えて、FDD実機なし、ジョイスティックポートのシリアル通信でPC上のMSX-DOSディスクイメージから起動成功したよw
— MobileFF (@mobile_FF_) January 10, 2022
これで要MSX-DOS/RAM64Kとなってるソフトも動かせるなw pic.twitter.com/XlZZJnM2tG
繰り返しになりますが、このようなパッチが必要なのは、スロット0にMAIN ROMと32KB RAMを搭載しているCX5FやYIS503、VictorのHC-6などの一部の機種のみです。
- 標準RAM容量が64KB以上と仕様で決められているMSX2以降の全機種
- もとからRAM64KB搭載のMSX1
- スロット3に標準RAMが搭載されていて、RAM32KBのマシンに64KBの拡張RAMカートリッジを挿したMSX1
- RAM16KB以下で64KBの拡張RAMカートリッジを挿したMSX1
など大部分の機種ではパッチを当てなくてもそのまま動作するはずです。
ご興味がおありの方はぜひ試してみてください!当時では考えられなかった、物理FDDのない機種でMSX-DOSを起動するというのは、なかなか面白い体験ですよw
ゲームソフトなどをディスクイメージ化したものをお持ちの方は、この環境でゲームも起動できるのか?など是非試してみてほしいです。中の人はMSX1しか持っていない+MSX1対応のディスク版ゲームソフトも持っていないのでw
そのためだけにMSX2を入手したい衝動にかられますが・・・我慢我慢ww
コメント
コメントを投稿