(07-18-2016, 01:08 AM)Shonumi Wrote: 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.its funny how 2 years later im implementing all this in my AVR code to make my GBC/GBA dumper. im making my jump to gba mode. im stuck on the switch since the gba connector i got was damaged and didn't have the switch
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.

![[Image: PeachSig.jpg]](http://www.dacotaco.com/PeachSig.jpg)
![[Image: 566286.png]](http://valid.canardpc.com/cache/banner/566286.png)
![[Image: 2280403.png]](http://valid.canardpc.com/cache/banner/2280403.png)