DarkFader made new VHDL for the CPLD that makes PassMe work with any DS cart.
Visit his page for the new files.
In addition to CRC16 calculation, his VHDL changes the way ARM9 is taken over. Existing demos should copy ARM9 binary to 0x02004000 as before and then make the ARM9 CPU jump to it by issuing “*(volatile unsigned int *)0x027FFE24 = 0x02004000;” No longer need to overwrite the whole memory with a jump to an ARM9 waiter to capture that CPU. ARM7 starts at 0x080000C0 in GBA cart space as before.
Here is a quick way to make joat’s template boot with the new VHDL:
// In boot/main.cpp change main() to the following
// You can also remove the arm9flag define above main()
int main(int argc, char ** argv) {
LoadBin(GETRAW(arm9_bin), 0x02004000, GETRAWSIZE(arm9_bin));
LoadBin(GETRAW(arm7_bin), 0x02380000, GETRAWSIZE(arm7_bin));
*(volatile unsigned int *)0x027FFE24 = 0x02004000;
CallARM7();
while (1) ;
return 0;
}