ここしばらく、Z280MB に CP/M を移植していました。移植したバージョンは 2.2 です。EDでコードを書きASMでアセンブルできることを確認しています。
CP/M-8000 の移植は経験済みだったので、大して難しくないのかなと思っていたのですが、ディスクアクセス周りで苦戦して結構時間がかかってしまいました。かなり悩んだすえ、結局使っていたコンパクトフラッシュカードの問題だったようなのですが、おかげで、8-bit から16-bit PIOモードにコードを書き換えたりできたので良しとします。ディスクアクセスのブロッキング・デブロッキングは思いっきり手抜きです。気が向いたら書き換えることにします。
CP/M-8000と違って、CCPがコマンドで上書きされたり、メモリーの配置が全然違ったりで最初とまどったのですが、ネット上に情報が豊富にあり助けられました。今回の移植作業で、参考にしたサイトを上げておきます。
BIOSの作成過程が楽しく詳しく語られています。非常に参考になりました。
CP/M-8000のときも参考にさせてもらいました。CP/Mど素人の私にはありがたいサイトです。
コンパクトフラッシュをつなぐのに参考にさせてもらっています。
移植の成果は、Github にあげておきました。CP/Mのライセンスの関係でBIOSのソースコードのみを上げることにしました。BIOSをアセンブルし、できたバイナリをCPM.SYSと結合するMakefileとディスクイメージを作るシェルスクリプトを入れておきました。
まあ、試す人はいないと思いますが。
0 件のコメント:
コメントを投稿