■ メモリマップ(IchigoJam相対アドレス)   #000〜#6FF  キャラクタ領域(読み取り専用 224文字 0x00~0xDF)   #700〜#7FF キャラクタ領域(書き込み可能 32文字 0xE0~0xFF) #800〜#8FF 変数領域 #800~#8CB:[0]~[101] #8CC~#8FF:A~Z(26次) #900〜#BFF VRAM領域 32x24 ちょうど768バイト(0x300) #C00〜#1001 プログラム領域(プログラム1024バイト+管理2バイト) #1002 キー押下状態(5bit) 押=1 上位からスペース,下,上,右,左※1 #1003 キーバッファ格納数(Ver 1.1:最大14、Ver 1.2:最大126) #1004〜#100F(Ver 1.1), 〜#1081(Ver 1.2) キーバッファ INKEY()で先頭から読み出されシフト #100F~(Ver 1.1), #1081~(Ver 1.2) 実行用メモリ ダイレクトモード時には文字列変数にも割り当てられる。 #114A~#117F(Ver 1.3) I2Cデータ用バッファ 変数領域 2byte符号付き整数の変数(配列0〜101、変数A〜Z) プログラム領域 行番号(2byte)※0で終了、サイズ(1byte)、テキスト ※1:Ver 1.1以降 (参考文献) http://fukuno.jig.jp/1178 ■ IchigoJam BASIC コマンド 「HELP」にてメモリマップ表示が可能 ■ 使用例 fori=#C00to#C1F:?hex$(i,3),chr$(peek(i)),peek(i):next ■ 相対アドレスの基準ポインタ マシン語呼び出しの第二パラメータにMEM#000の基準ポインタ (IchigoJam BASIC Ver 1.1) #include int16_t usr_calc(int16_t val, char* mem) { int i; for (i = 0; i < 32 * 24; i++) { mem[i + 0x900] = val; } return 0; } (参考文献) http://fukuno.jig.jp/1173 ---------------------------------------------------------------- ライセンス・著作権表示 本資料を複製・改変・再配布する場合は著作権表示が必要です。 CC BY (C) 2015-2019 国野亘 (Wataru KUNINO) https://bokunimo.net/ichigojam/ ---------------------------------------------------------------- 参考文献 作成にあたり以下の情報を参照しました。 - http://ichigojam.net/IchigoJam.html CC BY http://ichigojam.net/ - Facebook IchigoJam-FANグループ https://www.facebook.com/groups/ichigojam/ - ichigojam-1.1b6.zipの新バージョン(アップロード) https://www.facebook.com/groups/ichigojam/634011960071894/ - キーバッファのメモリ領域公開! CC BY 4.0 福野泰介 http://fukuno.jig.jp/1178 - マシン語の凄さ体感プログラム CC BY 4.0 福野泰介 http://fukuno.jig.jp/1173 - IchigoJam ver 1.3 は何が違うのか? CC BY 4.0 福野泰介 https://fukuno.jig.jp/2378