PDA

View Full Version : Custom Multiplayer Events


Giga Universe
March 18th, 2010, 10:10 AM
amoliski (http://www.pokecommunity.com/member.php?u=129212) been doing some research on making custom multiplayer routines, so we could have a GBA underground game, maybe more mini games, etc. So lets get right into what I've found. There are several modes of transfer in the GBA, two which are obsolete for what I want to do, and two are perfect. These two are 2 player link, and 4 player. I'll post for 4 player, as you don't necessarily need all four players.


0x4000134 - Mode selection

Bit Explanation
0 - Current SC State
1 - Current SD State
2 - Current SI State
3 - Current SO State
4 - 0 (Unused)
5 - 0 (Unused)
6 - 0 (Unused)
7 - 0 (Unused)
8 - 0 (Unused)
9 - 0 (Unused)
10 - 0 (Unused)
11 - 0 (Unused)
12 - 0 (Unused)
13 - 0 (Unused)
14 - 0 (Unused)
15 - Must be 0 for Multiplayer Mode

0x4000128 - Control

Bit Explanation
0 - Rate (0 = 9600bps, 1= 38400bps, 1 and next bit 0 = 57600bps, 1 and next bit 1 = 115200bps)
1 - Rate (used in conjunction with above bit)
2 - SI-Terminal (0=Parent/Master, 1=Child/Slave)
3 - SD-Ternimal (0=Bad Connection, 1=All Ready)
4 - Multiplayer ID (0=Parent, 1=1st Child, 1 and next bit 0=2nd Child, 1 and next bit 1=3rd child)
5 - Multiplayer ID (used in conjunction with above bit)
6 - Error (0=None, 1=Error)
7 - Start/Busy (0=Inactive, 1=Start or Busy)
8 - Unused (set to 0)
9 - Unused (set to 0)
10 - Unused (set to 0)
11 - Unused (set to 0)
12 - Must be 0
13 - Must be 1
14 - IRQ Enable (0=Disable, 1=Enable)
15 - Not used (Read only, always 0)

400012A - Data to be send - 16bit

4000120 - Parent Data
4000122 - 1st Child Data
4000124 - 2nd Child Data
4000126 - 3rd Child Data

Full Metal
March 18th, 2010, 02:57 PM
hate to be the one who breaks this shocking news to you, but the majority of us use emulators, not flashcards. Why did i tell ya this? Because, for the most part using the link feature of VBA is a bit confusing for the average user, and therefore, custom multiplayer events are pretty pointless. None the less, this does seem like one of the more interesting topics i've seen posted here (save for some things like berry system etc)

ZodiacDaGreat
March 18th, 2010, 10:30 PM
Uhm, you copied this straight out of GBATEK, so I wouldn't call it as research - just reference. Those are basically the registers that control linking and other general purposes. The Pokemon have specials that handle the linking.

Giga Universe
March 19th, 2010, 05:14 AM
Forgot to add the source. I know its not research, I posted it to see if anyone can manage to create a custom linking routine. As far as I know, Pokémon linking specials don't exactly allow for custom data transfer. I should have included that I want it to send data in variables and receive the data in the same way.

Also, I would probably add a tutorial on how to get VBA Link working if this was successfully set up.

Shiny Quagsire
March 26th, 2010, 06:15 PM
sorry to break it to you, but what is your point? Even if we dont use vba, some of us (and me) use other emulators on mobile devices, like my PSP,ipods, ect. Ijust dont see a point at al.l

NatureKeeper
March 27th, 2010, 08:16 PM
There is a much easier way that requires less ASM.

... Although you do have something I want. (:<

Giga Universe
March 29th, 2010, 09:05 AM
sorry to break it to you, but what is your point? Even if we dont use vba, some of us (and me) use other emulators on mobile devices, like my PSP,ipods, ect. Ijust dont see a point at al.l

I suppose you could use the same argument against the RTC. Some of us use flash carts that have no RTC support, so what is the point of an RTC? Don't try get all smart, I already know that some people use other emulators. But it would add some nice features to those who don't. Nintendo included multiplayer, fully aware that not EVERYONE had a link cable. It's the same here.

There is a much easier way that requires less ASM.

... Although you do have something I want. (:<

Which is? Care to share your "much easier" method?