diff --git a/zsnes/src/linux/sdlintrf.asm b/zsnes/src/linux/sdlintrf.asm index 6ca64348..31f738da 100644 --- a/zsnes/src/linux/sdlintrf.asm +++ b/zsnes/src/linux/sdlintrf.asm @@ -1609,6 +1609,8 @@ NEWSYM TCPIPSendPacket pushad ; Send PacketSendArray with size of PacketSendSize ; SendData(int [PacketSendSize],char *PacketSendArray) + push eax ; required pushes to get correct stack + push eax call SendDataNop or eax,eax jnz .failed @@ -1629,6 +1631,8 @@ NEWSYM TCPIPSendPacketUDP pushad ; Send PacketSendArray with size of PacketSendSize ; SendData(int [PacketSendSize],char *PacketSendArray) + push eax ; required pushes to get correct stack + push eax call SendDataUDPNop or eax,eax jnz .failed @@ -1647,6 +1651,8 @@ NEWSYM TCPIPRecvPacket pushad ; Store packet to PacketRecvArray, size at PacketRecvSize ; int GetData(int 2048,char *PacketRecvArray) + push eax ; required pushes to get correct stack + push eax call GetDataNop cmp eax,-1 je .failed diff --git a/zsnes/src/win/winintrf.asm b/zsnes/src/win/winintrf.asm index 240f6a41..ae95a02a 100644 --- a/zsnes/src/win/winintrf.asm +++ b/zsnes/src/win/winintrf.asm @@ -1913,6 +1913,8 @@ NEWSYM TCPIPSendPacket pushad ; Send PacketSendArray with size of PacketSendSize ; SendData(int [PacketSendSize],char *PacketSendArray) + push eax ; required pushes to get correct stack + push eax call SendDataNop or eax,eax jnz .failed @@ -1933,6 +1935,8 @@ NEWSYM TCPIPSendPacketUDP pushad ; Send PacketSendArray with size of PacketSendSize ; SendData(int [PacketSendSize],char *PacketSendArray) + push eax ; required pushes to get correct stack + push eax call SendDataUDPNop or eax,eax jnz .failed @@ -1951,6 +1955,8 @@ NEWSYM TCPIPRecvPacket pushad ; Store packet to PacketRecvArray, size at PacketRecvSize ; int GetData(int 2048,char *PacketRecvArray) + push eax ; required pushes to get correct stack + push eax call GetDataNop cmp eax,-1 je .failed