Carry lab.の市販されていない機種等のC-DOSを、 ゲームソフトから抜き出して組み立てる方法 (Z80 CPU篇)

«Quick Links» 1. 概要 (summary)  2. 非市販のZ80用C-DOSの概要  3. 非市販のC-DOSの抜き出しと組み立て方法  3.1 C-DOS 80B for SHARP MZ-80B/80B2  3.2 C-DOS 700 for SHARP MZ-700/1500  3.3 C-DOS X1 for SHARP X1  3.4 C-DOS 2000 for SHARP MZ-2000/2200  3.5 C-DOS 8801 for NEC PC-8801  4. Allmighty-DOS/Dolphin OS/System  5. 直接ディスク読書ユーティリティ (disk direct read/write utility)  6. その他 (etc.)


1. 概要 (Summary)

Carry C-DOSは、市販されていたものは、SHARP MZ-80B, MZ-2000/2200, NEC PC-8801用だけのようです。 そして、これらは大変な入手困難品です。
ここでは、市販ゲームソフトから抜き出したり、他機種のものを合成したりして、 市販されていない機種のC-DOSや、C-DOSの改良版を入手する方法について、記述しています。 SHARP X1, MZ-700/1500, PC-8001mkII/SR用のC-DOSとSuper BASE環境が入手できます。


2. 非市販のC-DOS Z80版の概要

ゲームで使われているC-DOSは、 自動起動コマンドに対応していて、少し変更されていますが、だいたい同じです。

SHARP MZ-80B, MZ-2000/2200, MZ-700/1500, SHARP X1, NEC PC-8801, PC-8001mkII/SR用のC-DOSが、 実はゲームソフトからの抜きだしの組み合わせで、入手できます。
Victorious Nineから、X1とPC-8001mkII/SR用のSuper BASEも入手できます。

市販版のC-DOS 8801は、WICS/Compiler以外、ほぼ完全版が作れます。 SPACE CRUISERに、BASEとDEBUGまで入っていて、全部揃ってしまうのです。
MZ-2000/2200、MZ-80B版も同じだと思いますが、持っていないので詳細は知りません。
X1やFM版は、あまり入っておりませんので、ダメです。いろいろと工夫が必要です。


3. 非市販のC-DOSの抜き出しと組み立て方法

今のところ、ここにある限りです。これ以上の詳細に説明はどうやったのか…
もちろん不明です。そのうちちゃんと調べ直して、説明を追加したいです。
適当に頑張ってください。検討を祈る!!

3.1 C-DOS 80B for SHARP MZ-80B/80B2

C-DOSは80B用も発売されていましたが、2000用を改造して作ることも簡単にできます。 具体的にはTRK:$02/SCT:$01からの$0000〜$14FFのMonitor TS-2000を Monitor TS-1000に置き換えるだけでそのまま動作します。注意すべきことは、 $00F0からの3バイトをTS-2000と同じようにC3 10 15としておくことだけです。 TS-1000はI/O誌、I/O別冊「WICS・BASEプログラム集」、I/O別冊「MZ-80B活用研究」に掲載されていますし、 Carry lab.発売のゲーム、その他に含まれていますので、簡単に入手できます。 SuperBASE、WICSについても同様ですべて公開されていますので、 MZ-80B用のC-DOSは本体がなくても完全に作ることができます。
「WICS・BASEプログラム集」掲載のTS-1000とWICS Compilerは、 C-DOSのもののようです。 I/Oや「MZ-80B活用研究」掲載のWICS Compilerは、 アドレスがDOSと重なっていますので、ソースも入力してコンパイルしなおす必要があります。
デバッガは、C-DOS 2000のものがそのまま使用できます。
他に、このWEBのWICS/BASEの項目の、 「WICS・BASEプログラム集」のデバッグ情報を参考にしてください。
今、MZ-80B用のC-DOSを入手するのは、大変難しいと思います。

3.2 C-DOS 700 for SHARP MZ-700/1500

実は、MZ-2000用を改造して、簡単に作ることができます。 MZ-700/1500は、FDインタフェースが、MZ-2000/2200と共用なので、だいたいそのまま動いてしまいます。 MZ-80Bと同様なのですが、Monitor TS-700のブートの仕組みがちょっと違いますので、 少し工夫が必要です。 そして、全部のツールについて、画面クリアの文字コードを変更しなければなりません。 $06 -> $16です。C-DOSディスクのシステム領域を全部目で見て修正しましょう。 そして、UTILITYのドライブ番号入力時だったと思いますが、 カーソル"左"移動のコードが使われていて、これも変更する必要がありました。 デバッガも、C-DOS 2000のものがそのまま使用できます。
C-DOS MZ-80Bでも同じだと思います。
画面が40x25なので、タイトルがはみ出してかっこ悪いです。 そして、DUMPコマンドが使い物になりません。
それ以外は、ばっちり!!

Carry lab.のゲームからMonitor TS-700を入手できそうに思えますが、 多分、全部モニタコマンドが削られていて、そのままでは使用できません。
「WICS・BASEプログラム集」掲載のTS-700とSuper BASE、WICS-700を使用しましょう。
MZ-1500や711ではTS-700に対策が必要です。 このWEBのWICS/BASEの項目の、 「WICS・BASEプログラム集」のデバッグ情報を参考にしてください。

なお、MZ-1500用のQD版フロントラインにはDOSはありません。

3.3 C-DOS X1 for SHARP X1

X1版C-DOSもFDゲームから抜けます。
SPACE CRUISER / FRONT LINE / WILD WESTERN全部同じです。
驚いたことにディスクはMZ互換。セットになっているTSモニタの書き換えアドレスが違っていて、C-DOSそのものが書 き換えをパスするようになっていましたので、全部書き換えて正しく起動する ようにしてみました。 それで、Monitor TS-X1を調べてみたら、全部で4種類はあって、 更にC-DOSのアドレスはどれにも当てはまりませんでした。
…と書いてあるのだけど、もっとあって、フライトシミュレータ&SPACE BEEの、 特にSPACE BEEのと同じでないかな… MZ-2000版と同じコピープロテクトがかかっていて、書き換えが必要なので、ご注意。 2000baudだぜ!! テープ版SPACE CRUISERもコピープロテクトは同じだったと思うけど、 どのTS-X1だったか忘れました。
なお、X1版C-DOSはUtilityの物理format以外は、MZ版のコマンドが全てそのまま使用可能です。
Super BASEは、PC-8801版のVictorious NINEに入っています。
デバッガは、MZ-2000のものがそのまま使用できます。
WICSは、ランタイムのみが「ウルトラ・セブンブリッジ」から取り出しできます。
公式版Monitor TS-X1のモニタのホットスタートは、MZ-80B/2000と同じで$00F0です。

X1版で追加の話ですが、FRONT LINEから抜き出せるものは旧版で、 モニタとのアドレスも違っているのですが、 なんと、テープ版ENIXポートピア連続殺人事件から抜き出せて、これがオリジナルのようです。 FRONT LINE等に使用されているTS-X1が正式なもので、これとベクタ書き換えアドレスが一致し、 ディレクトリ表示もゴミが出ないように対策されています。
0トラックの情報もメモリに残っているので、マスターの構成もわかります。 SPS HP王将からTS-X1の実行前の書き換えなしの正式版と思われるイメージが抜き出せますが、 テープの処理が書き換わっているらしく、動作がおかしくて、それ以上は比較もしてないです。 比較してこちらを参考にすれば、実行後のワークエリアでないものが入手できるはずです。
C-DOS 2000と組み合わせて、物理フォーマットが動かず、 WICSがランタイムしかない以外は、本物っぽい物が作れました。
ただ、ディスクフォーマットがMZ互換のみのため、下記のDolphin OSの方が圧倒的に使いやすいです。 Dolphin OSも、サーフェス表裏と、データビットを反転させたコピーのC-DOS 2000を使えば、 そのままPC-8801モードで動作して、コマンドが揃ってしまいます。

もちろん、FRONT LINEのC-DOSでも、モニタのパッチを直せば、ばっちり動作します。 IPL起動にしたら、必ずディレクトリのエントリの頭にゴミが出て、その対処方法はありません。 (更に次々と改造すれば別ですがね…)

3.4 C-DOS 2000 for SHARP MZ-2000/2200

実は、ゲームから抜けますが、 C-DOS 2000を使ったゲームを未だに持っていないので、よく知りません。
PC-8801と同じだと思います。
MZ-80Bも、ゲームから抜けて、もの凄いことになりそうな気がしますが、 あれの入手は無理かな…

ひそかに、PC98版のあれにも憧れていますが、こちらはPP時代なので玉砕しそう。
5'2D版にいろいろ入ってないかな… 絶対入手無理だよね…

3.5 C-DOS 8801 for NEC PC-8801

実は、ゲームから抜けますが、これが凄い。 ほぼ、市販版と同じものが構築できます。 SPACE CRUISERと、FRONT LINE or WILDWESTERNを組み合わせて、 少し改造すれば、全部揃うと思います。

詳細は、また今度… すぐできるから、メモさえない…


4. Allmighty-DOS/Dolphin OS/Dolphin System

NEC PC-8801用Victorious NINEのディスク版には、C-DOSの改良版と思われるDOSが入っています。
これは、残っているこれらのDOSの抜きだし方法絶対まとめるぞ〜という項目です。
最近、忘れたまま数年経つことが多いのですが、これがそうならない保証はどこにもないっ!!
…というか、今更意味はほとんどないし、一銭にもならないぞっ!!
(簡単に抜けますのでやってみてください。ローダを自作するだけです。検討を祈る!)
やる気にならなかった原因の犯人は、自衛隊員達です!!

Allmighty DOSのTS-8801は、コントロールコードが違っていてあまり利用価値がありませんが、 無改造で88SR以降で動作します。 そして、PC-8001mkIIやSRでも動作します。 BEEP音楽機能とカセット機能がないようです。そして、ワークアドレスとエントリも全然違う。
Dolphin OSとDolphin Systemは、ディスクがPC88モード/MZモード切替え可能なC-DOSとして動作します。
TS-X1は、MZのテープを読み書きできますので、死んだMZのテープデッキの代わりにもなります。 Carry lab.の例のよく知られたコピープロテクトにも、同じだから、 対応アドレスを探して対応できます。

トランジェント・コマンドは、全部そのまま使えます。
上の、様々な機種用C-DOSの組み合わせ方法も、参考になります。

MZ/X1/PC88版でファイルシステムが共通になっていて、PC-8801に合わせられています。 MZの、FDのサーフェス表裏が逆/ビット反転リバースの仕様でなくなっています。 MZ/X1版には切り替え機能があるので、MZ/旧C-DOS X1とのファイルコンバートに使えます。

発売されていたC-DOS 80B/2000/8801版との、その他の違いは、以下のとおりです。


●●● 改造パッチ集 ●●●

a) Dolphin DOS系はDIR表示で>=$80を表示可能になっていなかったので改造 (カナ文字などが表示されない)

- MZ Dolphin OS T:41/S:09 (MZ-modeのため、サーフェスが逆/ビット反転)
  $E3A0(+$A0) 3E 20 -> 00 00
- X1 Dolphin OS T:48/S:09
  $E37E(+$7E) 3E 20 -> 00 00
- PC Allmighty-DOS
  変更の必要なし

b) DOSの自動実行文字列の場所

- MZ Dolphin OS T:42/S:04 (MZ-modeのため、サーフェスが逆/ビット反転)
  $EEF0(+$F0)
- X1 Dolphin OS T:49/S:04
  $EEF0(+$F0)
- PC Allmighty-DOS T:46/S:0F
  $DEF0(+$F0)

c) その他の注意

NEC PC-8001系では、Allmighty-DOSのTS-8801は、 システムコール"EF 20"に注意。

  $05CE〜のAND 1BH / OR 10H / LD ($0006),A / OUT (31H),A / RET

の、AND 1B / OR 10が実行されて31番ポートへ出力できる値が制限されるので注意。 例えば、一度320x200へ設定する処理が実行できなかったりした。
PC-8801の場合は、起動時にAND/ORをNOPで書き換えて消すようになっている。
PC-8001系でも、必要に応じて書き換えた方がよい。


5. 直接ディスク読書ユーティリティ (Disk Direct Read/Write Utility)

PC-8801版Victorious NINEのディスクのどこかに、 ディスクの直接読み書きのためのツールが残っています。
$E000〜のC-DOSでなければならないので、MZ/X1用です。 便利ですので、頑張ってサルベージしましょう。

ドライブ1〜4, 5〜8とメッセージが出ますし、入力エラー時のシーケンスだったかが少しおかしい部分もありますが、 ツールとしては問題なく使えて、そのまま市販のC-DOSでも使えます。
アドレスは、標準の$F000〜です。 ドライブ番号から、X1用っぽく感じますが、1〜4と5〜8がひっくり返っていたよう な…
# 記憶違いで正しかったかも

正式名前不明なので、名前は"DISKRW"とでもしておけば、コマンドで便利に使えて良いと思います。


6. その他 (etc.)

僕が入手しているかはどうかとして、 ここにあるの以外は、入手は無理だろうね。 TS-6601があるのは知っているけど、DOSは無理だよね…
僕持っていません… MZ-700と同じでコマンドがないらしいので、 MZ-2000のソースを参考に、頑張って追加しないと無理かも。
でも、WICS 6601は物を見たことないけど、発売されていた気が…
IBM-JXはC-DOSのない、というのどこかで聞いたような…


Back to previous page.