summaryrefslogtreecommitdiff
path: root/home/serial.asm
diff options
context:
space:
mode:
Diffstat (limited to 'home/serial.asm')
-rw-r--r--home/serial.asm70
1 files changed, 35 insertions, 35 deletions
diff --git a/home/serial.asm b/home/serial.asm
index c8c7cbe9..5fe7fb81 100644
--- a/home/serial.asm
+++ b/home/serial.asm
@@ -1,4 +1,4 @@
-Serial:: ; 1f78 (0:1f78)
+Serial::
push af
push bc
push de
@@ -55,7 +55,7 @@ Serial:: ; 1f78 (0:1f78)
; hl = send data
; de = receive data
; bc = length of data
-Serial_ExchangeBytes:: ; 216f (0:216f)
+Serial_ExchangeBytes::
ld a, 1
ld [hSerialIgnoringInitialData], a
.loop
@@ -89,84 +89,84 @@ Serial_ExchangeBytes:: ; 216f (0:216f)
jr nz, .loop
ret
-Serial_ExchangeByte:: ; 1ff6 (0:1ff6)
+Serial_ExchangeByte::
xor a
ld [hSerialReceivedNewData], a
ld a, [hSerialConnectionStatus]
cp USING_INTERNAL_CLOCK
- jr nz, .asm_2003
+ jr nz, .loop
ld a, START_TRANSFER_INTERNAL_CLOCK
ld [rSC], a
-.asm_2003
+.loop
ld a, [hSerialReceivedNewData]
and a
- jr nz, .asm_204d
+ jr nz, .ok
ld a, [hSerialConnectionStatus]
cp USING_EXTERNAL_CLOCK
- jr nz, .asm_2028
+ jr nz, .doNotIncrementUnknownCounter
call IsUnknownCounterZero
- jr z, .asm_2028
+ jr z, .doNotIncrementUnknownCounter
call WaitLoop_15Iterations
push hl
ld hl, wUnknownSerialCounter + 1
inc [hl]
- jr nz, .asm_201f
+ jr nz, .noCarry
dec hl
inc [hl]
-.asm_201f
+.noCarry
pop hl
call IsUnknownCounterZero
- jr nz, .asm_2003
+ jr nz, .loop
jp SetUnknownCounterToFFFF
-.asm_2028
+.doNotIncrementUnknownCounter
ld a, [rIE]
and (1 << SERIAL) | (1 << TIMER) | (1 << LCD_STAT) | (1 << VBLANK)
cp (1 << SERIAL)
- jr nz, .asm_2003
+ jr nz, .loop
ld a, [wUnknownSerialCounter2]
dec a
ld [wUnknownSerialCounter2], a
- jr nz, .asm_2003
+ jr nz, .loop
ld a, [wUnknownSerialCounter2 + 1]
dec a
ld [wUnknownSerialCounter2 + 1], a
- jr nz, .asm_2003
+ jr nz, .loop
ld a, [hSerialConnectionStatus]
cp USING_EXTERNAL_CLOCK
- jr z, .asm_204d
+ jr z, .ok
ld a, 255
.waitLoop
dec a
jr nz, .waitLoop
-.asm_204d
+.ok
xor a
ld [hSerialReceivedNewData], a
ld a, [rIE]
and (1 << SERIAL) | (1 << TIMER) | (1 << LCD_STAT) | (1 << VBLANK)
sub (1 << SERIAL)
- jr nz, .asm_2060
+ jr nz, .skipReloadingUnknownCounter2
ld [wUnknownSerialCounter2], a
ld a, $50
ld [wUnknownSerialCounter2 + 1], a
-.asm_2060
+.skipReloadingUnknownCounter2
ld a, [hSerialReceiveData]
cp SERIAL_NO_DATA_BYTE
ret nz
call IsUnknownCounterZero
- jr z, .asm_207b
+ jr z, .done
push hl
ld hl, wUnknownSerialCounter + 1
ld a, [hl]
dec a
ld [hld], a
inc a
- jr nz, .asm_2075
+ jr nz, .noBorrow
dec [hl]
-.asm_2075
+.noBorrow
pop hl
call IsUnknownCounterZero
jr z, SetUnknownCounterToFFFF
-.asm_207b
+.done
ld a, [rIE]
and (1 << SERIAL) | (1 << TIMER) | (1 << LCD_STAT) | (1 << VBLANK)
cp (1 << SERIAL)
@@ -177,14 +177,14 @@ Serial_ExchangeByte:: ; 1ff6 (0:1ff6)
call DelayFrame
jp Serial_ExchangeByte
-WaitLoop_15Iterations:: ; 208d (0:208d)
+WaitLoop_15Iterations::
ld a, 15
.waitLoop
dec a
jr nz, .waitLoop
ret
-IsUnknownCounterZero:: ; 2093 (0:2093)
+IsUnknownCounterZero::
push hl
ld hl, wUnknownSerialCounter
ld a, [hli]
@@ -193,7 +193,7 @@ IsUnknownCounterZero:: ; 2093 (0:2093)
ret
; a is always 0 when this is called
-SetUnknownCounterToFFFF:: ; 209b (0:209b)
+SetUnknownCounterToFFFF::
dec a
ld [wUnknownSerialCounter], a
ld [wUnknownSerialCounter + 1], a
@@ -201,7 +201,7 @@ SetUnknownCounterToFFFF:: ; 209b (0:209b)
; This is used to exchange the button press and selected menu item on the link menu.
; The data is sent thrice and read twice to increase reliability.
-Serial_ExchangeLinkMenuSelection:: ; 2247 (0:2247)
+Serial_ExchangeLinkMenuSelection::
ld hl, wLinkMenuSelectionSendBuffer
ld de, wLinkMenuSelectionReceiveBuffer
ld c, 2 ; number of bytes to save
@@ -226,13 +226,13 @@ Serial_ExchangeLinkMenuSelection:: ; 2247 (0:2247)
jr nz, .loop
ret
-Serial_PrintWaitingTextAndSyncAndExchangeNybble:: ; 20ca (0:20ca)
+Serial_PrintWaitingTextAndSyncAndExchangeNybble::
call SaveScreenTilesToBuffer1
- callab PrintWaitingText ; 1:4b89
+ callab PrintWaitingText
call Serial_SyncAndExchangeNybble
jp LoadScreenTilesFromBuffer1
-Serial_SyncAndExchangeNybble:: ; 20db (0:20db)
+Serial_SyncAndExchangeNybble::
ld a, $ff
ld [wSerialExchangeNybbleReceiveData], a
.loop1
@@ -272,7 +272,7 @@ Serial_SyncAndExchangeNybble:: ; 20db (0:20db)
ld [wSerialSyncAndExchangeNybbleReceiveData], a
ret
-Serial_ExchangeNybble:: ; 211f (0:211f)
+Serial_ExchangeNybble::
call .doExchange
ld a, [wSerialExchangeNybbleSendData]
add $60
@@ -295,7 +295,7 @@ Serial_ExchangeNybble:: ; 211f (0:211f)
ld [wSerialExchangeNybbleReceiveData], a
ret
-Serial_SendZeroByte:: ; 2149 (0:2149)
+Serial_SendZeroByte::
xor a
ld [hSerialSendData], a
ld a, [hSerialConnectionStatus]
@@ -305,7 +305,7 @@ Serial_SendZeroByte:: ; 2149 (0:2149)
ld [rSC], a
ret
-Serial_TryEstablishingExternallyClockedConnection:: ; 22fa (0:22fa)
+Serial_TryEstablishingExternallyClockedConnection::
ld a, ESTABLISH_CONNECTION_WITH_EXTERNAL_CLOCK
ld [rSB], a
xor a
@@ -314,10 +314,10 @@ Serial_TryEstablishingExternallyClockedConnection:: ; 22fa (0:22fa)
ld [rSC], a
ret
-PrinterSerial__:: ; 2162 (0:2162)
+PrinterSerial__::
call PrinterSerial
pop hl
pop de
pop bc
pop af
- reti \ No newline at end of file
+ reti