
プログラミングはMSX-DOS環境がある1chipMSXで行ってみました!
オペコードとニーモニックが正常に入力されているかのチェックです。
入力された数値と合っていればテキストは正常ということです。
データの欠損、不正な値などが含まれている場合はエラーで停止します。
このようにテキストでチェックしても見落とす場合があります。
正確な重要なデータを必要とする場合に目視のほかにPCで検査します。
2エラーありましたが、チェックは終わりました。
早速、コードCDを書き換えました。ちょっと文字長をみてみました。
この程度の長さまで書けるので、わかりやすいですね。
とりあえず、C9を実行して試したのですが、あまりスッキリしないので、
BEEP音を出すプログラムで動作検証を再度やってみます。
こんなことも★
今度はショートのマシン語が機能するかを試します。
まだ、ラベルの準備をしていないので、絶対アドレス指定でBIOSを実行させます。
MSXマガジン永久保存版3号p194にBEEPがあります。アドレスが017Dhです。
プログラムを実行するとポッと音が鳴ります。
MSXBASICでは8000hにするとMSXBASICプログラムにカブってしまうので、
9000hにロードさせます。さらっと考えると
ORG 9000h
CALL 00C0h
RET
これがラベルになると
BEEP EQU 00C0h
ORG 9000h
CALL BEEP
RET
となります。さて、ハンドアセンブラで始めていきます。
10 SCREEN8
20 VPOKE &H9000,&HCD
30 VPOKE &H9001,&HC0
40 VPOKE &H9002,&H00
50 VPOKE &H9003,&HC9
90 BSAVE"BEEP.BIN",&H9000,&H9003,S
SオプションでVRAMに保存します。
実行するとBINファイルができます。これを
BLOAD"BEEP.BIN",R
MSXから音が出ます。
流れとして、開始アドレスを9000hに固定させます。
本体プログラムは拡張性と自動化を重視するためBASICで作ります。
この為にフリーエリアを多く使うためにマシン語領域が減ります。
そこで、VRAMを仮想のマシン語のメモリ領域として配置する方法を採用します。
9000hに設定したのはマシン語を実行後にBASICデバッグするためです。
この領域は0000h~D400hまで使うことが出来ます。
と、いう考えがあるのですが、
これ以上は~ボロが出ますのでこのへんにしておきます。
ある程度、動作チェックが済みしだい機能を拡張させていくことにします。
オンラインエディタは手抜きじゃないのか?Delキーで改行が増えたりしているなぁ。
※コメント投稿者のブログIDはブログ作成者のみに通知されます