PC-8001mkII用のCP/Mディスクイメージを公開しました

開発したCP/Mを実機で起動した様子 CP/M

オークションで実機とFDD(ロジテック K-305PC)を入手したのをきっかけに、PC-8001mkII用のCP/M-80ディスクイメージを作成しました。

成果物は、GitHubのリポジトリ( https://github.com/sueyasu/p80mk2_cpm22.git )で公開しています。

PC-8001mkIIは、当時の同級生が所有しているのを触ったことがあるぐらいで全然興味がなかったのですが、RS-232Cポートが標準装備だったり、FDDのアクセス方法がインテリジェントだったりと結構面白いです。

シリアル端末必須の64k版と通常利用可能な59k版

最初は自分だけで使うつもりで、画面出力とキーボードに対応せず、シリアル端末が必須となる簡易版を作成しました。BIOSサイズが小さく、TPAが広い64k CP/Mにできました。CRTCのDMAを止めたことで、CPUの速度低下も抑えられています。作るのが楽だった割には、こっちのバージョンの方が実用性は高いですね。

BIOSではあまり凝ったことはしていませんが、PC-80S31などのFDD装置には自由に使えるRAMがそこそこ載っているので、高速化のために1トラック分だけキャッシュするようにしました。

続いて、画面出力とキーボードによる入力をサポートするバージョンも作りました。IOBYTEによる入出力切り替えや、ANSI/VT100制御コードの一部にも対応させたのでBIOSサイズが大きくなり、こちらは59k CP/Mになっています。機能の割には、まぁまぁTPAサイズを確保できたのではないかと思います。

キーマップはkeymap-pc8001.incファイルを編集することで変更できます。

イメージファイル形式は3種類

どちらのバージョンも、HFE、D88、ベタイメージの3種類の形式でディスクイメージを用意しています。HFE形式のファイルは、HxCやGotekのFDDエミュレータで利用できます。FDを使う場合は、DITT.EXEを使ってD88形式のファイルを書き込むとよいでしょう。メディアは2Dあるいは2DDのものを使ってください。CP/M自体は2Dにしか対応していません(1Dもサポート外です)。

対応していないもの

59k版は、カラー表示や文字装飾には対応していません。当初は対応する予定だったのですが、テキストVRAMにおける属性の仕様上、どうやっても不完全な対応にしかならないので諦めました。PC-8001のときは仕方なかったかもしれませんが、mkIIが出たときには改良しておいてほしかったです。

また、どちらのバージョンもプリンターや漢字ROMには対応していません。Ni-Cd電池を除去するためにPC-8001mkIIを分解したら漢字ROMボードが装着されていることが分かったのですが、あまり食指が動きませんでした。

タイトルとURLをコピーしました