まずは、動画を上げてみる。これはシリアル接続での実際の使い方の参考例動画で 全部で10分ほどです。音も字幕による解説も何も入れてません。googleの都合で、画質を落とされるので、端末の文字などをくっきり見たい方は4sharedで 上げているので、22メガ程のサイズですがダウンロードしてローカルで再生してみてください。
おおまかな流れとしては、SDの中身をDIRコマンドで一覧したり。LOADコマンドでGAME09インタプリタをロードして、GAME09にはリセットベクタなどの情報は含まれないのでVSETでスタートアドレス(0x9000)を設定して。一度 起動させます。そのまま CTRL+D で コマンドプロンプトに一度戻ります。 そこで GAME用のソースファイル MAZE.GB をLOADコマンドで読み込み。テキストデータの従来のGAMEプログラムソースはGAMEインタプリタの扱うメモリ空間に直接与えても受け付けてくれませんのでそれ用に変換した言わばGame source Binaryということで拡張子にGBを付けて区別してます。同様にBASICのソースもメモリ上では中間コードに変換して保持されるので従来のBAS形式では受け付けてくれません。GAMEの.gbファイルは簡単なpythonプログラムで変換できるのですが、BASICの中間コードの変換はかなり面倒なので、端末上のコピペ転送で一度読ませて、BASIC自体に変換させて保存する方法で間に合わせてます。 さて maze.gbファイルの読み込みが済んだら。そのままGOコマンドで戻るとソースエリアをクリアされて消えるので、VSETで0x9003(GAME09のホットスタート番地)を設定してGOコマンドで戻ります。0と打ってリスト表示を確認して、#=1で実行。適当に数回ループさせて CTRL+D で コマンドプロンプトに戻ります。CTRL+CだとGAMEインタプリタに戻ります。次にLOADでsieve.gb lifegame.gb othello.gb と読み込んでは実行の流れを繰り返してます。CTRL+D は キー入力部で判読してるので 数値入力待ちのときに打てば強制的にプログラムを終了してコマンドプロンプトに戻ってこれます。GAMEインタプリタでの動作の後は同じものをコンパイルしたオブジェクトの動作を比較の為繰り返してます。次はBASICROMを読み込み起動します。これもGAME09と同様に一度コールドスタートさせて内部変数エリアなどの初期化をします。BASICはお試しの動作としてキャラクタ文字の一覧表示とアスキー文字でのマンデルブロ図形の表示を出してます。 BASICプログラムはシリアルでのコピペ転送後 コマンドプロンプトに戻ってBSAVE ファイル名 でBS形式(中間コード形式)でSDカードに保存できます。読み込みはLOADコマンド内で拡張子で切り替えて読み込んでくれます。バイナリはHEX形式とSrec形式(拡張子MOT)とGAME09用の(拡張子GB)、BASIC用の(拡張子BS)、一応BINとTXTも読めますがほとんど使い道はないかも?
コメント
コメントを投稿