« ndslib 更新 | Main | GBAMP CF FAT16 file driver »

devkitARM r12 付属の crt0 修正方法

http://forum.gbadev.org/viewtopic.php?t=5924
によれば,ARM9 から GBA 用カートリッジ内の SRAM にアクセスするための注意事項,というか,みんなで守ろうよ,というお勧めと,devkitARM r12 付属 crt0 のバグ修正方法が出ている。

注意事項は,市販ゲームカートリッジが刺さっていた場合にゲームのセーブデータを破壊してしまわないよう,SRAM に書き込む前には,毎回必ず GBA カートリッジのヘッダ(の game code ※)を見て,"PASS" になっている事を確認しよう,という事だそうな。毎回なのは,プログラム動作途中でカートリッジを換える可能性を考えているらしい。
※ http://cvs.sourceforge.net/viewcvs.py/devkitpro/tools/gba/gbafix.c?rev=1.2&view=markup

バグ修正の方は,
arm-elf\lib\ds_arm9_crt0.s
の DAccess 部分にある
ldr r0,=0x36036333

ldr r0,=0x36033333
にした後,arm-elf\lib フォルダで
make CRT=ds_arm9
を実行する。

arm-elf\lib
arm-elf\lib\interwork
arm-elf\lib\thumb
arm-elf\lib\thumb\interwork
の ds_arm9_crt0.o が更新される。

|

« ndslib 更新 | Main | GBAMP CF FAT16 file driver »

Comments

The comments to this entry are closed.