[Dumping Memory with Bus Blaster]
1. Making JTAG cable
Directly connect pins,
[GP32 side] [Bus Blaster side]
1=3.3v VTG
2=nRESET TSRST
3=nTRST TRST
4=JTAG[TDI] TDI
5=JTAG[TMS] TMS
6=JTAG[TCK] TCK
7=JTAG[TDO] TDO
18=Ground GND
[On Ubuntu]
2. Install openocd: sudo apt install openocd
3. Install gdb-multiarch: sudo apt install gdb-multiarch
4. Connect Bus Blaster and GP32 with JTAG cable, then connect Bus Blaster's USB connector to the PC.
5. On terminal,
openocd -f interface/ftdi/dp_busblaster.cfg -c "transport select jtag" -f target/samsung_s3c2410.cfg -c "adapter speed 1000"
6. On another terminal,
gdb-multiarch
(gdb) set architecture arm
(gdb) target remote localhost:3333
(gdb) hbreak *0x0c000000
Play Astonishia Story, after loading the device stops.
(gdb) dump binary memory memory_dump.bin 0x0c000000 0x0c800000
After dumping, I executed old GP32 Decrypter on the dumped binary.
But the result executable file is identical with the one made by GeePee32 dumped binary.
So the game saving issue of the unencrypted game is not caused by the game executable.
Maybe SecuMax decryption process of this game have some preprocessing to properly save files on SMC.