BASICの拡張法
カテゴリー:
以前68000 Tiny BASICの予約語で書いたように独自の命令を追加していました。
でもソースコードもあり自由に変更できたTiny BASICなどだけでなく、マスクROMが使用されソースコードも無い市販パソコンのBASICの命令拡張も良く行われていました。ちょっとした数十バイト程度のものから本格的なものまで当時の雑誌には頻繁に掲載されていたものです。
以下はある程度知っているN-BASIC, N80-BASICを例に書いてみます。
ところでマスクROMのBASICをどうやって拡張するのでしょう?
BASICによっては要所要所でRAM上の特定番地をCALL
するようになっていました。そこは起動時にはRET
命令が置かれているので、これを用意したルーチンへの分岐命令に書き換えることで動作に介入することができるのです。これを「フック」と読んでいました。
介入したい個所にピンポイントでフックが無い場合は少し手前のフックから目的個所までのROM内の処理を自分のルーチン内で行ない、さらに戻り番地を調整するなどを行ないます。