gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

Beginners > Multiboot over linkcable - normal (32 bit) mode?

#65121 - Ultima2876 - Fri Dec 30, 2005 11:03 am

Thanks to Scott Lininger, I've got multiboot working, in multiplayer mode (1). But sending a 256 KB ROM in this mode is awfully slow. However - it works, which is of course a start.

But, I've seen a bit of info about the normal mode (0) being the best mode to use.. however, I can't get it to work. It seems to have a very small chance of a successful transaction happening, in which case it sends the ROM and boots perfectly, but about 95% of the time it doesn't even start the transfer, and crashes without even displaying the "nintendo" text on the slave GBA.

I am using Scott Lininger's code almost exactly, except for this:

Code:
Multiboot(&mp,1);
   /*asm volatile(
      "ldr r0,=mp\n"
      "mov r1,#1\n"
      "swi 0x25\n"
      ::: "r0","r1","r2","r8","r9","r10","r11","r12"
   );*/


I commented out the asm volatile section because it gave me a "value too big" error for =mp. My Multiboot function is just as swi call, and works fine with mode 1. But as soon as I try Multiboot(&mp,0); I get problems such as I've described before.

Can anyone help?

Also, regardless of mode, I occasionally get a crash upon what I think is completed transfer - the nintendo logo stops flashing and goes yellow, and nothing. This seems to have eased off for now, but I hate random stuff like this, 'cause you know it'll pop up and bite you in the ass later. Anyone seen this kind of thing before?

Thanks a bunch =P