TRN-8は、ROM上にCCP/BDOS、CBIOS、ROMBIOSを持っているので、 ディスケット上にシステムを書き込んでいなくとも、リブートできる。(ドライブAに、 フォーマット済みのディスケットを入れておかねばならないが)
だが、ディスクからシステムを読み込む方が、融通が聞くことがある。
さて、Digital Research Source Code にCP/Mのパッチを集めたパッケージ"PATCHES"がある。 これをダウンロードして眺めていると、"The CCP Auto-Load Feature(CPM22APN.01)"というのがあった。 内容は、CCPがロードされるごとに特定のプログラムを動かすという物だ。これはCCPの一部にパッチをあてることで実現している。
これを実現するのは、現状のTRN-8ではROMを書き換えが必要である。が、TRN-8は、ジャンパーを1本飛ばすことで、CCP/BDOSをシステムディスクから読み込むようにできる。今回の実験には、この方が都合がよい。
ところが、システムディスクはどうやって作るかは、TRN-8の製作記事中では言及されていない。 手元にある村瀬康治氏の「実習CP/M」を参照し、システムディスクを作成した。
手順としては
1. MOVCPMで、63K CP/Mのイメージを作成する。
2. DDTで、CP/MのイメージとCBIOSを結合する。
3. 次いで、パッチをあてる。
4. SYSGENで、システムイメージをシステムディスクに書き込む。
となる。ワークディスクを用意して早速やってみる。
a>dir A: MOVCPM COM : DDT COM : CBIOS HEX : SYSGEN COM A: STAT COM a>movcpm 63 * CONSTRUCTING 63k CP/M vers 2.2 READY FOR "SYSGEN" OR "SAVE 34 CPM63.COM" <==== メモリー上にシステムが展開された。 63K CP/M VER 2.2 (BIOS VER 3.1) (C) 1988.12.1. K.YOSHIDA a>save 34 cpm63.com <==== 展開されたシステムをファイルに落とす。 a>dir A: MOVCPM COM : DDT COM : CBIOS HEX : SYSGEN COM A: CPM63 COM : STAT COM a>ddt cpm63.com <==== システムイメージをロードする。 DDT VERS 2.2 このうち必要なの0980Hから1F80Hである。 NEXT PC 2300 0100 -icbios.hex -r2980 <==== CBIOS.HEXをオフセット2980Hをつけて読み込む。 NEXT PC 実際には、1F80Hから配置される。 2300 F600 63K CP/M VER 2.2 (BIOS VER 3.1) (C) 1988.12.1. K.YOSHIDA a>sysgen <==== メモリー上のシステムイメージをディスクに書き込む。 SYSGEN VER 2.0 FOR TRN-8 (C) 1988.12.1. K.YOSHIDA SOURCE DRIVE NAME (OR RETURN TO SKIP) DESTINATION DRIVE NAME (OR RETURN TO REBOOT)a <== ドライブAのディスクに書き込む。 DESTINATION ON A, THEN TYPE RETURN FUNCTION COMPLETE DESTINATION DRIVE NAME (OR RETURN TO REBOOT) 63K CP/M VER 2.2 (BIOS VER 3.1) (C) 1988.12.1. K.YOSHIDA a>
ここで、いったん電源を落としディスクからシステムを読み込むようにジャンパーを設定する。 再起動すると、
63K CP/M VER 2.2 (BIOS VER 3.1) (C) 1988.12.1. K.YOSHIDA A>dir A: MOVCPM COM : DDT COM : CBIOS HEX : SYSGEN COM A: CPM63 COM : STAT COM A>ddt cpm63.comお気づきであろうか。コマンドプロンプトが、小文字から大文字に変わった。 システムディスクをAドライブにセットしておかないと、システムはハングアップする。 うまくいっているようだ。
さて、"CCP Auto-Load Feature"の実験である。この機能は、コマンドをCCPに引き渡すバッファーに あらかじめコマンドを書き込んでおくことで実現している。システムがロードされる都度、コマンドが 実行される。サンプルは"dir"コマンドを実行するという物。先に作成したシステムディスクを 使用して、設定をする。
セコメントをする