768バイトのCram Basic







80年代後半に最初のBASICプログラムを作成するのに十分幸運だった人にとって、16キロバイトのインタープリターボリュームは非常に自然に思えます。 これは常にそうであるとは限らず、8キロバイトと4キロバイトのボリュームを持つインタープリターは、もちろん、より控えめな機能セットで知られています。 しかし、今回は、不可能が行われたように思われます。インタープリターは最大722バイトまで圧縮されます。 これは768未満です。つまり、4つではなく、3つの256バイトROMチップに配置できます。 はい、ありました!



ちなみに、768バイトは16384の21(3)倍です。



インタプリタは、レトロコンピュータの中で人気のないプロセッサ8008向けに書かれており、すでにBASICインタプリタ-SCELBALがありますが、8キロバイトです。 8008命令システムは、半分の命令がない8080命令システムに似ています。 または、指示の90%のないZ80コマンドシステム。



すでにGOTO、INPUT、PRINTという単語があり、BASICインタープリター用のプログラムを編集するための標準的な方法が提供されていたインタープリターの最初のバージョンは、570バイトかかりました。 次に、単語のリストが、FETCH、GOTO、IF、LET、NEW、OUT、PRINT、STOP、VIEW、およびXECUTEに拡張されました。



それらのいくつかはあなたには奇妙に見えるでしょう。 そして、この通訳は最初の文字で単語を認識するということです。 したがって、INPUTはFETCHに、LISTはVIEWに、RUNはXECUTEに変更する必要がありました。 ただし、GOSUBとRETURNをまったく提供しないでください。計画されたボリュームを超える必要があります。



著者は、デュアルカセットプレーヤーを備え、1文字のコマンドでAPL言語でプログラムされた、8008でも実行されるMCM / 70ラップトップコンピューターのユーザーを理解しています。



エミュレータと一緒のプロジェクトは、MITライセンスの下でここから入手できます 。 著者は8008に本物の鉄を持っていません。 また、 アセンブラソースコメント付きのコンパイル結果を個別にダウンロードすることもできます。



GitHubを使用してプロジェクト全体をビルドする最も簡単な方法は、NETBEANS 8.2を使用することです。SDL2も必要です。 アセンブラーをアセンブルするには、 ASマクロアセンブラーが必要です。



All Articles