• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Forum moderator applications are now open! Click here for details.
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Development: Custom Multiplayer Events

Giga Universe

Working on a tool.
121
Posts
16
Years
amoliski 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.

Code:
 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

C(++) Developer.
810
Posts
16
Years
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

Working on a Mobile System
429
Posts
17
Years
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

Working on a tool.
121
Posts
16
Years
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

I'm Still Alive, Elsewhere
697
Posts
14
Years
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

Guest
0
Posts
There is a much easier way that requires less ASM.

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

Giga Universe

Working on a tool.
121
Posts
16
Years
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?
 
Back
Top