Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SSブログ
English Version

MSX-DOSに自作スクリーンエディタ移植 [MSX]

 MSX-DOSはCP/M-80のDOSコールサービスに対応しているのでCP/M-80用の多くのソフトが動作します。
 試しに「3チップ構成Pic24CPMマイコン(その7)GAMEコンパイラ」の記事で書いたGAME言語で試してみたところ、インタプリタ及びコンパイラが問題なく動作しました。

 実機のMSXマシンが無いので動作環境としてはWebMSXを使わせていただきました。
※WebMSX環境ではALT+V操作でコピペ可能です。



 GAME言語を使ってMSX-DOSのメモリを確認した結果、MSX-DOSではRST28を使っていないようでした。

MSX-DOSのGAME言語によるメモリダンプ


 CP/M-80用ディバッガのZSIDで使っているRST38をRST28に変更することでMSX-DOS上で動作しました。
 ZSIDはダンプ表示1行化のパッチと「3チップ構成Pic24CPMマイコン(その4)ZSIDで小文字のシンボルを使う方法その2」の記事で書いた小文字シンボル対応のパッチを入れ、コマンド名と表示名をZSIDM(MSX用なので'M'を追加)にしました。

MSX-DOS上で動作中のZSID


 また、CP/M-80用のHI-TECH Cを試してみたところ問題なく動作しました。
 注意点として、Bドライブに入れましたがBドライブもbootableにしないと動作後にMSX-DOSのコマンド入力状態に戻れなくなります。

MSX-DOS上で動作中のHI-TECHC


 CP/M-68K用に開発し、CP/M-80にも移植した自作スクリーンエディタ(sked)をMSX-DOSに移植を試みました。
 MSX-DOSのエスケープシーケンスについてはMSX Datapack wiki化計画14章 画面制御コードを参照させていただきました。

 MSX-DOSには反転表示や色付き等に表示文字属性を変更するエスケープシーケンスが無いのでステータス行の区別が付きづらいため、25行目をステータス行に固定し、ファイル内容は24行表示にしてみました。

 また、skedでは改ページ(^L)等の制御コードを色付きで表示していましたが、色付きができないので色なしで表示するようにしています。

 画面モードは80文字x25行を想定していますのでMSX-DOSの「mode 80」のコマンドで画面モードを変更してから起動しています。

MSX-DOS上でのsked


 MSX-DOS用のskedは下記からダウンロードできます。商用利用以外であれば自由に使用可能です。

 また、MSX-DOSでも動作するzsidも置いておきます。


nice!(0)  コメント(0) 
共通テーマ:趣味・カルチャー

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。