One of my favorite features of the Game Boy Advance growing up was the ability for some games to be played multiplayer with just one cartridge - the first player would have the cartridge and all the other Game Boys would download their side of the client from them. Wanting to replicate this myself, I later learned that this was accomplished with an external 256 KB RAM bank, starting at
0x00200000, that would hold a program that was sent to it via the cable.
However, bafflingly enough, I can't seem to find any resources about how to actually send such a program over the cable. The official programmer's guide from Nintendo is full of information about the different communications modes available to it (multiplayer link, UART, JOY BUS, etc.) and how to operate each of them, but it gives no indication of what communication mode you'd have to use and what bits you would have to send in order to get another Game Boy at the boot screen to start receiving a program. Most of the online resources I've consulted have been similar - lots of information about communication modes, but nothing filled in about the protocol. The most I've been able to find are sources calling it "multiboot", and one piece of ARM MBED source code that runs through the protocol via an ARM microcontroller board.
I know that it's been done, since hobbyists have been doing it for decades, so is there any definitive, general information on how to do it posted anywhere?