« 【チラシのうら 32日目】IF~THEN~ELSE~ENDIFを実装してみた | トップページ | 【チラシのうら 34日目】CardKB2に絶望した… »

2026年7月30日 (木)

【チラシのうら 33日目】MSX-BASICの文法をみて思う事

DEFINTを実装しようとたところで…


[ 機能 ]
指定された変数を整数型に定義します。

[ 書式 ]
DEFINT <範囲>[,<範囲>...]

[ 文例 ]
DEFINT A-I,N

[ 解説 ]
<範囲> は英文 1 文字ですか - で定義範囲を指定します。
DEFINT よりは型定義による変数が優先されます。
定義されていない型定義を行なっていない変数は
倍精度実数型扱いとなります。
CLEAR によって定義は解除されます。

DEFINT を実行する事で、
変数のメモリ管理が少なくなり処理が高速になる事から、
初期設定として DEFINT A-Z とする手段が有効です


う~ん、私のBASICだと、この宣言を実現するとメモリー使用量は増えるし速度は遅くなります。
何か、変数の管理方法が根本的に違うみたいですね。
そもそ変数型指定が有るのに宣言が必要なのか?問題が…

変数管理方法をもう一度考え直した方が良いかも(2回目)…
と言う訳で、ちょっと萎えたのでコンソールを作り始めてみました。

コンソールの構造を考え始めた時点で…VRAMが確保できない…圧倒的なメモリー不足…
CoreS3なら確保できるか?状態ですが M5Stack BASICでBASICのシャレは捨てたくないので、何とか実現できる方法を考えます。
PC-8001(TRS-80も同じ)方式と一方方向の書き込みの合わせ技にするしかないかな、ちょっと変な仕様になるけど何かの互換機・エミュレータを作っているのではないから雰囲気が出ればヨシ
…と言うことにしておこう。

漢字の扱いはArduinoIDE自体がUTF-8(2バイト文字と3バイト文字が混在している)仕様なのがなんとも、Shift-JISだったら簡単だったのですが。
そもそも、キャラクタセットをどうするか?
表示は出来てもプログラムとして入力できないからプログラム時にはUTF-8コードで代用するしない。
JIS 8Bitコードにしておいて一部をPCGとスプライト…はVRAMが確保できないから無理なのでPATTERNで代用するか。

フォントは東雲フォントを使うつもりでいたのですが、それ以前にキャラクタセットを作らないと進まないっぽい。

|

« 【チラシのうら 32日目】IF~THEN~ELSE~ENDIFを実装してみた | トップページ | 【チラシのうら 34日目】CardKB2に絶望した… »

BASIC」カテゴリの記事

コメント

この記事へのコメントは終了しました。