ref: 7883e8f431a0b8f995c8f581af248b53896e5aa5
parent: a51b1a2f1399798193e3d788d9f3fb8bb9f3ac5c
author: Rangi <remy.oukaour+rangi42@gmail.com>
date: Thu Oct 29 12:43:28 EDT 2020
Define SERIAL_LINK_BYTE_TIMEOUT
--- a/constants/serial_constants.asm
+++ b/constants/serial_constants.asm
@@ -31,4 +31,7 @@
SERIAL_PREAMBLE_LENGTH EQU 6
+; timeout duration after exchanging a byte
+SERIAL_LINK_BYTE_TIMEOUT EQU $5000
+
MAX_MYSTERY_GIFT_PARTNERS EQU 5
--- a/engine/link/link.asm
+++ b/engine/link/link.asm
@@ -28,9 +28,10 @@
call SetTradeRoomBGPals
call WaitBGMap2
ld hl, wLinkByteTimeout
- xor a ; LOW($5000)
+ assert LOW(SERIAL_LINK_BYTE_TIMEOUT) == 0
+ xor a ; LOW(SERIAL_LINK_BYTE_TIMEOUT)
ld [hli], a
- ld [hl], HIGH($5000)
+ ld [hl], HIGH(SERIAL_LINK_BYTE_TIMEOUT)
ld a, [wLinkMode]
cp LINK_TIMECAPSULE
jp nz, Gen2ToGen2LinkComms
--- a/home/serial.asm
+++ b/home/serial.asm
@@ -191,9 +191,10 @@
sub 1 << SERIAL
jr nz, .non_serial_interrupts_enabled
- ; a == LOW($5000)
+ ; a == 0
+ assert LOW(SERIAL_LINK_BYTE_TIMEOUT) == 0
ld [wLinkByteTimeout], a
- ld a, HIGH($5000)
+ ld a, HIGH(SERIAL_LINK_BYTE_TIMEOUT)
ld [wLinkByteTimeout + 1], a
.non_serial_interrupts_enabled