(07-17-2016, 05:50 PM)DacoTaco Wrote: thats alot better then just hearing "they are different. period"
so if i understand correctly its more of a "in gba mode, the internal hardware & protocol is different and faster"
Yup. On the GB/GBC, the method of serial transfer is kind of weird by modern standards. Each Game Boy has a single byte in memory that will be transferred (called SB, probably for Serial Byte). Each GB basically swaps their respective bytes, 1 bit at a time. It does this 8 times at a certain rate, then signals an interrupt on both Game Boys. Transferring the data is supposed to happen simultaneously (practically instantly, with a few cycles of delay I assume), but the GB/GBC could only transfer at a few selectable rates. The original GB could only do 1KB/s, but the GBC could do 1, 2, 32, or 64KB/s. In reality, it's pretty hard to take full advantage of the 64KB/s mode because under the most ideal circumstances, the CPU only has a measly 64 cycles to process one byte and transfer another (1/4 of that time is spent just getting the hardware to acknowledge the serial transfer interrupt). It's doable in assembly though.
On the GBA, there are only 2 speeds, 32KB/s is the lowest (incompatible with the original GB, and technically incompatible with the GBC on slower speeds) and 128KB/s, although reportedly the 32KB/s is the most stable. I have not investigated too much into GBA multiplayer, but from what I understand, the key thing that prevented GBA games from talking to GB/GBC games was differences in voltages for their cartridges (and other components?). The GBA actually had a physical switch that is tripped when sticking in GB/GBC games that forces it to use 5V, but normal GBA games use 3.3V. I gather that this affects the serial transfers as well.
