[FM]FULLMSX for BLOG

詳しいMSXパソコンなどの情報はホームページで!
https://fullmsx.web.fc2.com/

MSXマシン語適当講座 中間コードの変換 BASICプログラムの解析 プチコンあれこれ

2012-02-13 23:50:18 | MSXマシン語適当講座

 MSXBASICでは各命令を中間コードとして変換されています。
実行後にBEEPをC0hと変換しなくてもいいように
中間コードはBEEPという文字がコードのC0hに変換されて
あらかじめBASICインタプリタでテキスト入力の時に前処理をしています。
 このように命令をコードに変換する文字を予約語と呼んでいますが、
BASICを拡張する場合にC0hではどの予約語の命令を使っているかわかりません。
 そこで、メモリの情報を知るために予約語を辞書のようなツールを作る必要があります。
では試しに予約語を含んだ命令を増設してみましょう。

 既にダウンロードしたプログラムにBAS-COM2.BASがあります。(お!)
このプログラムは実行中の行番号のアドレスを取得(F6B7h,2バイト)の
BASICのワークエリアを参考にしています。

これを実行してSPACEを10回押すと#DEBUGという文字が出てきます。
Enter(RETURN)キーでSyntax errorという通常のエラーになります。
プログラムに戻りList 118を変えます。
118 #DEBUG

118 #BEEP
に変えて実行してみましょう。
ここでC0が表示されればよいですね。
#タ(C0)となりましたね。これが中間コードです。

118 #BEEP12
プチコン風にやってみました。C0の後に0Fh、12は0Chになります。
書いた文字がコードに数字が16進数に変換されるのは、すごく便利ですね。
MSXBASICは次世代のBASICを想定していたような感じがしますね。

後はIF A=&H0C THEN~というふうに組んでいけば機能できます。

昔、テープロードに失敗して不明な文字が出たりしたことがありませんか?
その正体は中間コードから変換された命令でした。

こんなことも★

プチコンでプログラムを入力してみました。
本当に数行でプリセットされたキャラが表示して動かすことができます。
そして何と「カタカナ」が50音配列でよいですね。
漢字は自作で文字セットを作っていくようで日本語変換はできないようです。
ペンタッチに違和感があるので、いろいろとサンプルプログラムをやってみます。

気になる解像度はDSソフト256×192でDSとほぼ同じです。
ということはMSXと同じということですね。MSXにしても違和感がありません。
文字色が256色というところも、何でだろうと疑問に思います。
 このようなロースペックでは開発しがいもない気がするのですがね。
残念なことに3DSの800×240にはできないですね。

なお、プチコンはDSメモリに作成するもので、セキュリティ上
ネットからプログラムをダウンロードしたりすることはできないようです。
全てプログラムをペンで入力していきます。あしからず。


 

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« MSXマシン語適当講座 ダイレ... | トップ | 1chipMSX活用講座 ESCシーケ... »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

MSXマシン語適当講座」カテゴリの最新記事