07/03/20 06:22:25 c79pMfjS
>>963
ブラウザ拡張メモリ専用で単にメモリとして使いたいだけなら、extmem.cppなんか使わないで自前で書いた方が楽だと思います。(アレは汎用性を求めて設計をミスったのでぐちゃぐちゃです
大前提としてGBAカートは16bitバスなのを注意することと、GBAカートアクセス権をARM9側に設定する(WAIT_CR/REG_EXEMEMCNTのBIT7を0にする)ことを忘れずに。
あと、バカにされているように感じたらごめんなさいなのですが、mallocなどのC標準メモリ管理も使えないと思った方が無難です。
簡単な判定方法は、
const u8 Data[16]={0xFF,0xFF,0x00,0x00,0x00,0x24,0x24,0x24,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F};
がアドレス0x080000B0から16byteに存在すればブラウザ拡張メモリがあります。(判定は16bit単位で)
アドレス0x08240000に1を書き込むと読み書き可、0を書き込むと読み込みのみ(だったはず)になります。
ちなみに、メモリマップは0x09000000から8MByte分(0x09800000まで)です。
ブラウザ拡張メモリをブートに使ったりするときは、イメージを書いた後に読み込みのみにしておいたほうが無難かもです。