SO
I DIAGNOSED THE SNES9X NETPLAY CRASH BUG
THE ROOT CAUSE IS FUCKING DUMB
so, when writing your own layer 7 network protocol, the procedure is:
1) take three shots of whiskey
2) finish writing your will
3) get out the binary calculator
because you gotta get everything perfect
- the host window would disappear
- all four other windows would report "Bad magic number in server heart beat"
establish TCP connection
server sends one packet instructing client to load a ROM
server sends one packet containing the SRAM dump for the game
server sends one packet telling the client to reset the game
server begins sending joypad updates
is the top two bit
the top
TWO
BITS
WHICH STORES A MAXIMUM
OF FOUR VALUES
MEANING AT FIVE PLAYERS IT FUCKING OVERFLOWS AND WRAPS AROUND
You probably already see it.