From: Toni Wilen Date: Mon, 12 Feb 2024 18:40:05 +0000 (+0200) Subject: Reduce LDP ACK delay. It was far too long. (Picmatic Zorton Brothers hang fix) X-Git-Tag: 5200~14 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=23aa0a3c49e2d5e548752dc9f30c137b06cfd999;p=francis%2Fwinuae.git Reduce LDP ACK delay. It was far too long. (Picmatic Zorton Brothers hang fix) --- diff --git a/arcadia.cpp b/arcadia.cpp index 4f50d408..a00d063f 100644 --- a/arcadia.cpp +++ b/arcadia.cpp @@ -725,7 +725,7 @@ static void sb(uae_u8 v) } static void ack(void) { - ld_wait_ack = 1; + ld_wait_ack = alg_hsync_delay + 30; sb(0x0a); // ACK } @@ -1008,7 +1008,6 @@ bool alg_ld_active(void) static void alg_vsync(void) { - ld_wait_ack = 0; ld_vsync++; if (ld_save_restore) { if (ld_address == 0 || getsetpositionvideograb(ld_address) > 0) { @@ -1096,8 +1095,11 @@ static int sony_serial_write(void) { if (ser_buf_offset > 0) { uae_u16 v = alg_ser_buf[0]; - if (v == 0x0a && ld_wait_ack) - return -1; + if (v == 0x0a) { + if (arcadia_hsync_cnt < ld_wait_ack) { + return -1; + } + } ser_buf_offset--; memmove(alg_ser_buf, alg_ser_buf + 1, ser_buf_offset); return v;