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を使っていないようでした。
CP/M-80用ディバッガのZSIDで使っているRST38をRST28に変更することでMSX-DOS上で動作しました。
ZSIDはダンプ表示1行化のパッチと「3チップ構成Pic24CPMマイコン(その4)ZSIDで小文字のシンボルを使う方法その2」の記事で書いた小文字シンボル対応のパッチを入れ、コマンド名と表示名をZSIDM(MSX用なので'M'を追加)にしました。
また、CP/M-80用のHI-TECH Cを試してみたところ問題なく動作しました。
注意点として、Bドライブに入れましたがBドライブもbootableにしないと動作後にMSX-DOSのコマンド入力状態に戻れなくなります。
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でも動作するzsidも置いておきます。
試しに「3チップ構成Pic24CPMマイコン(その7)GAMEコンパイラ」の記事で書いたGAME言語で試してみたところ、インタプリタ及びコンパイラが問題なく動作しました。
実機のMSXマシンが無いので動作環境としてはWebMSXを使わせていただきました。
※WebMSX環境ではALT+V操作でコピペ可能です。
CP/M-80に移植したGAME言語をWebMSXで動かしてみた
— skyriver (@wcinp) December 1, 2019
コンパイラも動いたけどソースをコピペができないのでソースのロード/セーブ機能を追加しないと使いづらい・・#GAME言語 #GAMEコンパイラ #MSXDOS #WebMSXhttps://t.co/7OsMhjhhbX pic.twitter.com/e3KTLJSHks
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は下記からダウンロードできます。商用利用以外であれば自由に使用可能です。
- SKED_MSX_20191209.zip
★2019/12/09 変更 ステータス表示部効率化
また、MSX-DOSでも動作するzsidも置いておきます。
コメント 0