|
諏訪工房さんで公開されている整数型ベーシックコンパイラー for MZ-80K/C,
MZ-1200を紹介、おすすめするページです。
|
|
コンパイラはMZ-80K/C/1200の環境でしか動きません(MZ-700WINの場合)が、コンパイル後のOBJ(マシン語)ファイルはMZ-700/1500の環境でも動作します。MZ-80の貴重なフリーのBASIC(コンパイラ)、素敵です。
※ 追記 EmuZ-700とMZ-700用MZNEWMONITORとの組み合わせでも動くみたいですが、なんとMZ-700実機のROMとの組み合わせでは上手く動きません(^^;
あと、MZ-700環境で使う場合、MZ-80用のコンパイラなので英小文字に対応していなかったり、グラフィック文字の入力とかがMZ-700と違ったりするので注意が必要です。
|
|
おすすめポイントです。 |
|
● コンパイラはMZ-80K/C/1200用MZNEWMONOTORで動作するので、実機が無くても導入できます。(MZ-700WINの場合)
● コンパイル後のOBJ(マシン語)ファイルは加えてMZ-700/1500環境でも動作します。多くの人に楽しんでもらうことができます。
● BASICコンパイラなので、SP-5030とかMZ-700用S-BASIC、Hu-BASICに比べて実行速度が速いです。
● コンパイル後は単体のOBJ(マシン語)ファイルで動作するので、BASICをロードしておく必要がないです。
● PasocomMiniMZ-80Cでも動くと思います。
|
|
注意点です。 |
|
● MZ-80K/C/1200用なので、色は基本2色です。(MZ-700用にVRAM属性領域にPOKEすればカラー化することも可能)
● MZ-80K/C/1200とMZ-700ではキーボード配列が違います。両方での動作を期待する場合、注意が必要です。ゲームを作る場合、カーソル移動キーの違いが大きいと思います。
● MZ-80K/C/1200とMZ-700では、プログラムの実行スピードに差があります。MZ-700のほうが速いです。
|
|
MZ-700WINで使う |
|
コンパイラはMZ-700WIN0.53での使用がおすすめです。
MZ-700WINにMZ-80K/C/1200用MZNEWMONITORとキーボード
をセットすることで使うことができます。
|
|
さあ、使ってみましょう |
|
使い方はマニュアルを参照してください。
注意点は、配列変数を使う時は必ずDIM文が必要とか、大きい文字列を文字変数に入れる場合コンパイル前にSTRLEN(n)しておく必要があるとか、でしょうか。
私はMUSIC文がSP-5030と同じというのを理解しておらず、間違えました(^^;
COMPILEでコンパイル、SAVEでソースのセーブ、BSAVEでコンパイル後のマシン語OBJファイルのSAVEです。
ここでの注意点として、RUNで実行する前にはエミュレータのステートセーブしておくと良いと思います。実行すると止まらなかったりするので(^^;
あと、MZ-700WINはMZ-80用の設定でもMZ-700の速度で動いてしまう様です。
別のMZ-80のエミュレータで動作確認すると良いと思います。
MZ-80のエミュレータにはweb上で動くものもある様です。
|
|
KM-Z80 web スマホ改 |
|
ただし、こちらは実機とは違う拡張が行われていて,画面が砂嵐のような状態になることがあります。
B000 AF 01 FF FF ED 79
C9 (CR)
B007 (Shift+Break)
*GB000 (CR)
上記を入力することで独自に拡張された機能がOFFになり通常仕様になるということです。
|
|
CANDYN |
|
CANDY(マイコンBASICマガジン1985年8月号掲載 MZ-700S-BASIC用プログラム)を移植してみました。キャンディはアルファベットで表現しています(^^;
MZ-80K/1200とMZ-700で別プログラムになっています。実行速度の差の調整と、MZ700WINなどでのエミュレータ側の時計の不具合に対応したためです。
公開の許可をいただいた作者の@info_ymcat迎霧狼慢さんに感謝いたします。
candyn4zip
|
|
MZ-700用プログラムのカラー化 |
|
CANDYNは、MZ-80KとMZ-700実行速度の差とか、他にも問題があり、M-80KとMZ-700/1500で別プログラムにしています。
MZ-700用を別プログラムにするのなら、どうせならカラー化すれば良いのでは、とみんな思っていたことでしょう。私も思いました(^^;
アーカイブを更新し、MZ-700用プログラムをカラー化しました。
MZ-80用コンパイラであっても、VRAM属性領域にPOKEすることでカラー化が可能です。
具体的には、
X,Y座標の文字色を白、背景色を黒に指定した例です。
最後の&H70のところを変えることで、色を指定します。
(10進数なら指定する文字色のコードを16倍して、指定する背景色のコードを足した数字です。この例では112)
更にこれに&H80を足した値を書き込めば、ひらがなと英小文字も使えます。(この場合は&HF0になります)
追記 MZ-700/1500の実機のROMでは、コンパイラでPRINT文を使うと平仮名、英小文字が無効になるみたいです。
余談ですが、MZ-700WIN0.53はMZ-80用MZNEWMONITORとキーボードをセットした状態でもMZ-700として動いていて、コンパイラで作業しながら実行してみることが可能です。今回の場合は都合が良かったです(^^;
あと、バンク切り替えの状態も気にする必要があるのかもしれませんが、起動直後はVRAM.,I/Oのバンクになっているはずなので、ここでは考えなくていいことにしています(^^;
|
|
DumpListEditor |
|
PC-8001を懐かしむページの@bugfire01さんのダンプリスト入力補助ツールDumpListEditorがMZ-80用整数型BASICコンパイラに対応されました。
Windows上でソースファイルを編集し、なんとそのままMZTファイルにすることができます。
最初に同梱の2つのフォント(MZ-FontとMZ-Font-Symbol)をインストール(開いてインストールボタンを押す)しておきます。
言語リストからBASIC Compiler(MZ)を選択します。
書き出しボタンでMZTファイルを生成できて、すぐMZ700WINに読み込みコンパイルできます。すごいです!!
逆にMZTファイルをドラッグドロップで読み込み、ファイル整理タブからBASIC入力に送るボタンでファイルが編集できます。(うまくいかない場合は選択ファイルを再解析ボタンを押す)
なんと、EmuZ-80KのWAVファイルの読み込みにも対応しています。BASICコンパイラだけでなく、ファイル形式の変換ツールとしても使えそうです。
※ @bugfire01さんのツイッターより便利な使い方
毎回モデルをMZ-80Kに切り替えるのが面倒だと思います。
DumpListEditor.iniをエディタで開いていただき、下記の行の先頭「;」を削除するとMZ状態で起動します(するはずw)
;Model = MZ-80K
CTRL+マウスホイールでFontサイズが変わります
強力なツールの登場で、作業性が大幅に良くなりました!!
|
|
ナンテコッタイ99 |
|
|
|
DumpListEditorも使い、ナンテコッタイ99(マイコンBASICマガジン1989年12月号掲載 MZ-700S-BASIC用プログラム)をMZ-80用整数型BASICコンパイラへ移植してみました。(MZ-700/1500専用)
楽しいカードゲームです。スピードが少し速くなり、楽しさも少しアップしたように思います(^^;
公開の許可をいただいた作者の@mappi_pymdさんに感謝いたします。
nantec.zip
|
|
|