2017/08/16

MSXのBASICプログラムROM化メモ

最近になって何かに取り憑かれたかのように古いパソコン雑誌の投稿プログラムを入力しているが、(初期の頃の?)MSX FANに採用されると記念品として自分が投稿したプログラムをROMカートリッジ化したものが貰えたらしいが、一体どうやって作成するのか調べてみたことのメモ書き。

(以下メモ)

一般的なプログラムの場合

 ココに書かれていることが全て…なのだけれど、手順に納得できていない。
自分なりにまとめると、
  1. BASICのテキスト格納先頭アドレスを8021Hに変更。
  2. ID作成。
  3. 目的のBASICプログラムをロード。
  4. BSAVEで&H8000~&HBFFFの範囲をセーブ。
  5. BSAVEで作成されたファイルのヘッダー部分(先頭から7バイト)を削除。
    ヘッダーは必ず、『FE,00,80,FF,8F,00,80,』となっている…はず。(自信なし)
  6. 16KBのEPROMなどに焼く。
このような感じか。

データが分かれている場合など

 例えば、キャラクタやスプライト定義などのデータを、メインプログラムからBLOADで読み出すような場合は、前述の方法ではどのように連結したら良いのか解らなかった。
また、500行を超えるような長いプログラムでは途中で途切れてしまう様子だった。

このようなプログラムの場合は、調べてみた限りではdsk2romというツールを使用するのが手っ取り早くて簡単か。

手順としては、
  1. 実行するプログラムをAUTOEXEC.BASにリネーム。
    (複数のプログラムを手動でLOAD・RUNする必要があるようなタイプは工夫が必要。)
  2. 必要となるプログラム、データを入れたディスクをイメージ化。
  3. dsk2romでROMイメージ化。(使用方法は省略)
このような感じか。
但し、ツールのドキュメントに記載のある通り、マッパーはkonami SCC(またはAscii 8K)になるようだ。

とりあえずエミュレータ上で、2つの方法で生成されたデータが問題なく使用できたことを確認できたが、性懲りもなくつまらないことに時間を費やしてしまった感じ。

あえてメリットを挙げるならば、FDDなし本体でもフラッシュカートリッジの類を持っていれば、エミュレータ上でプログラム入力→実機で動作確認…みたいなところかな?
そもそもフラッシュカートリッジ持ってないからよくは知りませんが。

おしまい。


0 件のコメント:

コメントを投稿