LSX-Dodgers for X1/turbo/Z, MZ-700/1500, PC-8801mkIISR and MSX Gaku
A>■
このソフトはX1/turbo/ZやMZ-700/1500やPC-8801mkIISRやMSXでCP/M80やMSX-DOSのソフトを実行するためのOSです。
MS-DOS互換のファイルフォーマットを持ちCP/M80やMSX-DOSと互換のシステムコールを持っています。
また、階層ディレクトリにも対応しています。
「エルディー」って呼んでください。
以下のページの Assets からダウンロードできます。
https://github.com/tablacus/LSX-Dodgers/releases
- FD0に
ldsys.d88
をセット - 起動デバイスを2Dにする(すでに2Dの場合はここは省略可)
- リセットする
FD0にセットしたらIPLからキーボードでF→0→0(X1turbo実機ROM)/F→0(X1実機ROM)/0(互換ROM)としてldsys.d88
を入れたディスクを起動してもOKです。
https://github.com/ho-ogino/LD-hdd/tree/main/ld-hddboot
- Lコマンドでテープ(やQD)から読み込む体勢にする
- FD1に
ldsys.d88
をセット - CMTに
LD.MZT
をセットする
- N88-V2 modeにする(すでにV2モードの場合はここは省略可)
- FD1に
ldsys.d88
をセット - 起動しない場合はリセットする
- Windowsのコマンドラインで
msxcat.bat
を実行してシステムとディスクイメージROM.DSK
を連結する - ROMスロットに
LDMSX.ROM
をセット - ROMイメージのタイプを
ASCII-16K
、ASCII-8K
(2MB以下の場合のみ)、Konami-8K
(512MB以下の場合のみ)のいずれかに設定 - 起動しない場合はリセットする
連結作業はディスクイメージを書き換えや差し替えしない場合は一度実行したら省略可
LDMSX.BIN
とROM.DSK
連結できれば何を使っても良いです。
連結できるディスクイメージは2DD(640KB/720KB)のDSK、2HD(1.25MB)のXDF,IMG及び2HD(1.44MB)のIMGなど4MB以下のBPBを0セクタに持つMS-DOSフォーマット(FAT12/FAT16)の1セクタが512バイト以下でベタ形式のディスクならOKです。
フロッピーから起動したい場合は似非DOS for MSXをお勧めします。 https://github.com/tablacus/dosformsx
フロッピードライブから起動する場合は
- フロッピードライブに
ldsys.dsk
をセット - リセットする
https://github.com/tablacus/LSX-Dodgers/blob/master/LDCALL.TXT
基本的に MSX-DOS や CP/M と互換性があります。
https://github.com/tablacus/LSX-Dodgers/blob/master/LDFCB.TXT
基本的に MSX-DOS や CP/M と互換性があります。
https://github.com/tablacus/LSX-Dodgers/blob/master/LDDIRENT.TXT
MSX-DOS や MS-DOS と同じです。
https://github.com/tablacus/LSX-Dodgers/blob/master/LDDPB.TXT
https://github.com/tablacus/LSX-Dodgers/blob/master/LDMAP.TXT
https://github.com/tablacus/LSX-Dodgers/blob/master/LDCMD.TXT
https://github.com/tablacus/LSX-Dodgers/blob/master/LDSPEC.TXT
https://github.com/tablacus/LSX-Dodgers/blob/master/LICENSE.TXT
MIT License のオープンソースです。
MSX版はスロットコール関連のルーチン等に BSD License の C-BIOS のコードを使用しています。この部分のライセンスについてはC-BIOSのライセンスになります。
X1/turbo/Z、MZ-700/1500、PC-8801mkIISR、MSXどれも互換BIOS(ROM)及び互換フォントが存在するために実機を持っていなくてもエミュレータで楽しめます。
X1エミュレータ環境を整える
https://note.com/medamap/n/n4146227b2f9e
Common Source Code Project
http://takeda-toshiya.my.coocan.jp/common/index.html
Xmillennium系の場合はBIOS、フォント共に入れなくても内蔵しているために動作します。
この場合は互換BIOS入れない方が相性が良い感じがします。
Xmil106でLSX-Dodgers for X1を使う
https://xmil106.web.fc2.com/toppage.html
X millennium
https://turboz.to/
X1 compatible ROM
https://github.com/meister68k/X1_compatible_rom
X1互換 8x8ドットフリーフォント
https://github.com/meister68k/X1_compatible_font
16ドットフォントや漢字フォントを入手するには上記のXmillennium.exe(ねこちゅーん)を起動しすると以下のフォントファイルが作成されます。
FNT0816.TMP
FNT1616.TMP
これを以下のように拡張子をX1
にリネームしてください。
FNT0816.X1
FNT1616.X1
Xmillennium.exe(ねこちゅーん)とLSX-DodgersはDMAディスク関連で相性が悪いのでeX1系かXmil106を使うのをお勧めします。
Introduction to EmuZ-1500
http://mzakd.cool.coocan.jp/starthp/emuz1500.html
Common Source Code Project
http://takeda-toshiya.my.coocan.jp/common/index.html
フロッピーディスクに対応しているエミュレータです。
MZ-NEW MONITOR ROMイメージファイル
MZ700WIN関連ファイル再配布所
http://mzakd.cool.coocan.jp/mz-memories/mz700win.html##6
MZ-700WIN /EmuZ-700フォントデータの作成
http://mzakd.cool.coocan.jp/starthp/subpage15.html
project m88
http://retropc.net/cisc/m88/
2D/2DD/2HDの読み書きが可能でした。
Common Source Code Project
http://takeda-toshiya.my.coocan.jp/common/index.html
10/14/2022版では実機の2HD対応ROMで無い場合は2D以外には制限をかけているようです。
ePC-8801MAで2DD/2HDを使う方法→ #13
Manuke Station : Project X88000
https://quagma.sakura.ne.jp/manuke/x88000.html
PC-8801MAエミュレータ XM8
http://retropc.net/pi/xm8/index.html
互換BIOS(ROM)で使う場合は以下のダミーROMも必要になります。
#18
project m88
http://retropc.net/cisc/m88/
project m88にあるPseudo BIOS
がエミュレータ用擬似BIOSになります。
Manuke Station : Project X88000
https://quagma.sakura.ne.jp/manuke/x88000.html
Gen88Font
PC-8801エミュレータ用フォントジェネレータ
project m88
http://retropc.net/cisc/m88/
漢字 ROM 作成キット
MSXのエミュレータの場合はBIOSやフォントを内蔵しているものが多いようです。
WebMSX https://webmsx.org/
WebMSX(C-BIOS) https://webmsx.org/cbios/
blueMSX http://bluemsx.msxblue.com/
Common Source Code Project
http://takeda-toshiya.my.coocan.jp/common/index.html
C-BIOS https://cbios.sourceforge.net/
X1のエミュレータではだいたい以下のイメージファイルが扱える様です。
MS-DOSフォーマットでは2DDのDSK形式がもっとも様々な機種のエミュレータで使用できる形式だと思います。
- 2Dは16ビットマシンでは扱えないものが多い
- 2HDは8ビットマシンで2HDに対応していない場合とNEC系とIBM系が分かれているので。
88のエミュレータで開発された2D/2DD/2HDが扱えるフォーマットです。
いろんなフォーマットに対応していて8ビットのエミュレータではデファクトスタンダードの存在です。
FM系の場合は拡張子がD77になるそうです。
ベタ形式でMS-DOSフォーマットで使われています。
MSX/98/X68Kのエミュレータで使われています。
ベタ形式で2Dで1セクタ256バイト、1トラックあたりのセクタ数が16の320KBフォーマットで使われています。
MS-DOS系のフォーマットがなさそうなので今のところLSX-Dodgersでは使っていません。
※BPBを作成すればMS-DOSフォーマットで扱うことはできると思います。
エミュレータ | 2D | 2DD | 2HD | 2HD(1.44) | HDD | RAMDISK | リモート |
---|---|---|---|---|---|---|---|
eX1/eX1twin | D88 | - | - | - | LD-hdd | G:48K/E:320K | - |
eX1turbo/eX1turboZ | D88 | D88/dsk | D88/img/xdf | - | LD-hdd | G:48K/E:320K/F:512K | - |
Xmil106(X1) | D88 | D88 | - | - | LD-hdd | G:48K/E:16M | RLC/RLS |
Xmil106(turbo/Z) | D88 | D88 | D88 | D88 | LD-hdd | G:48K/F:512K/E:16M※2 | RLC/RLS |
EmuZ-700 | D88 | D88/dsk | - | - | - | C:32K/F:64K/E:16M※2 | - |
EmuZ-1500 | D88 | D88/dsk | - | - | - | G:24K/C:32K/F:64K/E:16M | - |
M88 | D88 | D88 | D88 | D88 | - | F:128K | - |
ePC-8801ma | D88 | D88/dsk(※1) | D88/img/xdf(※1) | - | - | F:128K | - |
X88000 | D88 | - | - | - | - | F:256K | - |
※1 2HD機の実機ROMか疑似ROMに改修が必要
ePC-8801MAで2DD/2HDを使う方法
※2 Xmillennium系と同じフォルダにemm0.mem
を作成する必要がある(電源を切っても内容が保存されます)
Xmil106でのEMMディスクの作成方法
http://s-sasaji.ddo.jp/bml3mk5/
2D/2DD/2HDのD88/DSK/XDF/IMG形式のイメージファイルが扱えます。
他にもいろんな機種のフォーマットに対応しています。
空の仮想ディスクを作成することもできます。#11
2D/(2DD/2HD)のD88形式のイメージファイルが扱えます。
LAバイナリを自動変換してくれる機能があるのでL-os Angelesも使用する場合に便利です。
※2DD/2HDは一覧だけ利用できます。
※PC-8801mkSRのブート対応ディスクは変則フォーマットの為にアクセスできなくなりました。
http://hp.vector.co.jp/authors/VA013937/editdisk/
2DD/2HDのDSK/XDF/IMG形式および各種ハードディスクのイメージファイルが扱えます。
MS-DOSフォーマットでBPBがあれば読み書き可能なようです。
MZ-700/1500版のLSX-Dodgers上で未フォーマットの場合はフォーマットを行い
format c:
MAKEBPBでBPBを作成します。
makebpb c:
エミュレータを終了するとCMOS.BIN
が作成されています。
このファイルをDiskExplorer
で開きplain image
を選択するとファイルのやり取りが行えます。
X1/turbo/Z版は以下のドライバを使うとハードディスクに接続できます。
https://github.com/ho-ogino/LD-hdd/releases
エミュレータでは以下の方法でイメージファイルを作成する事ができます。現在は512MBまで作成可能です。
VHDはWindowsにもそのままマウントできるのでファイルのやり取りにも使えます。
まず、上記からダウンロードしたhdd.com
をフロッピーに上記のWindowsとのやり取りを行うソフトを使ってコピーしておきます。
- HD0に作成したイメージファイルをセット
- フロッピーから
hdd.com
を実行
- 作成したイメージファイルをXmillennium系と同じフォルダに
sasi0_0.hdd
という名前にリネームして置いておきます。 - フロッピーから
hdd.com
を実行
https://github.com/tablacus/LSX-Dodgers/wiki
wikiに文字列を表示したり、ファイルを読み出したり、書き込んだり、削除したりするサンプルがあります。
X1/turbo/Z版はOHM-Z80とZASM.COM/ZASM.EXE/AASM/AILZ80ASMでアセンブルできます。
make.jsを使うと zasm に ZASM.COM/ZASM.EXE用にコンバートします。
ZASMはINCLUDEを使うとPRNがいい感じに出ないのでWSHでコンバーターを作りました。
コンバートにZephyr1969さんの変更方法を参考にさせてもらいました。ありがとうございます。
MZ-700/1500版、PC-8801mkIISR版、MSX版はAILZ80ASMでアセンブルできます。
https://github.com/AILight/AILZ80ASM/releases/tag/v1.0.0
以下のバッチファイルを使用します。
ASM_AILZ80ASM_X1.BAT
ASM_AILZ80ASM_M7.BAT
ASM_AILZ80ASM_88.BAT
ASM_AILZ80ASM_MSX.BAT
https://www.vector.co.jp/soft/dos/prog/se010314.html
以下のバッチファイルを使用します。
ASM_AASM.BAT
https://www.vector.co.jp/soft/dos/prog/se010314.html
64ビットのWindowsでアセンブルする場合はMS-DOS Player for Win32-x64などMS-DOSを実行させるソフトが必要です。
http://takeda-toshiya.my.coocan.jp/msdos/
MS-DOSや32ビットのWindowsの場合は以下のバッチファイルを使用します。
ASM_ZASM.BAT
64ビットのWindowsの場合は以下のバッチファイルを使用します。
ASM_ZASM64.BAT
L-os Angelesで以下のバッチファイルを使用します。
ASM.BAT
LSX-Dodgersはディスクアクセスで簡単な遅廷書き込み機能を採用しています。カーソルが表示されるキー待ちでバッファをフラッシュします。フロッピーの入れ換えは必ずカーソルが表示されている時に行なって下さい。そうしないとディスクの内容を壊してしまうことがあります。
※特にディスクエラーで処理を選択する時にはディスクの入れ換えをしないで下さい。
X1ではステップレートの関係でCZ-800Fは使えません。 MS-DOS互換のファイルフォーマットとS-OS"SWORD"のファンクションをもつOS、L-os Angelesもあります。
以下のアプリのCOMファイルをldsys.d88
に同梱させていただいています。
ライセンスについては各アプリのライセンスに従ってください。