Main Weblog Projects Downloads Contact Links
Wiki Gallery

Weblog

New VHDL by DarkFader works with any DS cart

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;
}

3 Responses to “New VHDL by DarkFader works with any DS cart”

  1. mrnull Says:

    OK, here’s a dumb question for you.
    I understand that passthroughs don’t work on compact flash adapters (like the super-card or movie player.) Does this code magically fix that? :)

  2. DarkFader Says:

    Wait until new DS firmware is out :)

  3. calooe Says:

    what is this and what that is used?

Leave a Reply

For spam filtering purposes, please copy the number 8289 to the field below:


 
© 2010 Alexei Karpenko (natrium42)