From 8c0e0b0f0ec2daf5c1db1de171514fb23ad6c94e Mon Sep 17 00:00:00 2001 From: jonnosan Date: Sun, 21 Mar 2010 11:23:36 +0000 Subject: [PATCH] tcp_listen was very busted (was sending a bogus sequence number in the initial SYN/ACK packet, so subsequent data transmissions never properly acknowledged by remote host) git-svn-id: http://svn.code.sf.net/p/netboot65/code@250 93682198-c243-4bdb-bd91-e943c89aac3b --- client/ip65/tcp.s | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/client/ip65/tcp.s b/client/ip65/tcp.s index bbd0ff6..58b7f16 100644 --- a/client/ip65/tcp.s +++ b/client/ip65/tcp.s @@ -178,6 +178,7 @@ tcp_listen: sta tcp_connect_sequence_number+1 jsr ip65_random_word stax tcp_connect_sequence_number+2 + jsr set_expected_ack; ;due to various ugly hacks, the 'expected ack' value is now what is put into the 'SEQ' field in outbound packets @listen_loop: jsr ip65_process jsr check_for_abort_key @@ -286,7 +287,8 @@ tcp_connection_established: stax acc32 ldax #$01 jsr add_16_32 - + +set_expected_ack: ;set the expected ack number with current seq number ldx #3 ; : lda tcp_connect_sequence_number,x