summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorluckytyphlosion <alan.rj.huang@gmail.com>2015-11-08 14:44:52 -0500
committerluckytyphlosion <alan.rj.huang@gmail.com>2015-11-08 14:44:52 -0500
commit778ffafc87ede74e237b4907733353f2e303dffc (patch)
tree4f37a5fc4226944c4fc02ea5462b0a0bdf2ded34
parentacde04be10aab02c94f8e58d892344af6cbb3ece (diff)
cable_club_npc.asm
-rwxr-xr-xengine/overworld/cable_club_npc.asm77
-rwxr-xr-xwram.asm2
-rwxr-xr-xyellow/main.asm6
3 files changed, 70 insertions, 15 deletions
diff --git a/engine/overworld/cable_club_npc.asm b/engine/overworld/cable_club_npc.asm
index a2feba06..8f279759 100755
--- a/engine/overworld/cable_club_npc.asm
+++ b/engine/overworld/cable_club_npc.asm
@@ -1,9 +1,12 @@
-CableClubNPC: ; 71c5 (1:71c5)
+CableClubNPC: ; 7035 (1:7035)
ld hl, CableClubNPCWelcomeText
call PrintText
+ call Func_154a
+ jr nz, .asm_7048
CheckEvent EVENT_GOT_POKEDEX
jp nz, .receivedPokedex
; if the player hasn't received the pokedex
+.asm_7048
ld c, 60
call DelayFrames
ld hl, CableClubNPCMakingPreparationsText
@@ -107,37 +110,91 @@ CableClubNPC: ; 71c5 (1:71c5)
xor a
ld [hld], a
ld [hl], a
- jpab LinkMenu
+ ld a, [wLetterPrintingDelayFlags]
+ push af
+ callab LinkMenu
+ pop af
+ ld [wLetterPrintingDelayFlags], a
+ ret
-CableClubNPCAreaReservedFor2FriendsLinkedByCableText: ; 72b3 (1:72b3)
+; seems to be similar of Serial_SyncAndExchangeNybble
+Serial_SyncAndExchangeNybbleDouble: ; 7131 (1:7131)
+ ld a, $ff
+ ld [wSerialExchangeNybbleReceiveData], a
+.loop
+ call Serial_ExchangeNybble
+ call DelayFrame
+ push hl
+ ld hl, wUnknownSerialCounter + 1
+ dec [hl]
+ jr nz, .next
+ dec hl
+ dec [hl]
+ jr nz, .next
+ pop hl
+ jr .setUnknownSerialCounterToFFFF
+.next
+ pop hl
+ ld a, [wSerialExchangeNybbleReceiveData]
+ inc a
+ jr z, .loop
+ call DelayFrame
+ ld a, $ff
+ ld [wSerialExchangeNybbleReceiveData], a
+ call Serial_ExchangeNybble
+ ld a, [wSerialExchangeNybbleReceiveData]
+ inc a
+ jr z, .loop
+ ld b, 10
+.syncLoop1
+ call DelayFrame
+ call Serial_ExchangeNybble
+ dec b
+ jr nz, .syncLoop1
+ ld b, 10
+.syncLoop2
+ call DelayFrame
+ call Serial_SendZeroByte
+ dec b
+ jr nz, .syncLoop2
+ ld a, [wSerialExchangeNybbleReceiveData]
+ ld [wSerialSyncAndExchangeNybbleReceiveData], a
+ ret
+.setUnknownSerialCounterToFFFF
+ ld a, $ff
+ ld [wUnknownSerialCounter], a
+ ld [wUnknownSerialCounter + 1], a
+ ret
+
+CableClubNPCAreaReservedFor2FriendsLinkedByCableText: ; 7188 (1:7188)
TX_FAR _CableClubNPCAreaReservedFor2FriendsLinkedByCableText
db "@"
-CableClubNPCWelcomeText: ; 72b8 (1:72b8)
+CableClubNPCWelcomeText: ; 718d (1:718d)
TX_FAR _CableClubNPCWelcomeText
db "@"
-CableClubNPCPleaseApplyHereHaveToSaveText: ; 72bd (1:72bd)
+CableClubNPCPleaseApplyHereHaveToSaveText: ; 7192 (1:7192)
TX_FAR _CableClubNPCPleaseApplyHereHaveToSaveText
db "@"
-CableClubNPCPleaseWaitText: ; 72c2 (1:72c2)
+CableClubNPCPleaseWaitText: ; 7197 (1:7197)
TX_FAR _CableClubNPCPleaseWaitText
db $a, "@"
-CableClubNPCLinkClosedBecauseOfInactivityText: ; 72c8 (1:72c8)
+CableClubNPCLinkClosedBecauseOfInactivityText: ; 719d (1:719d)
TX_FAR _CableClubNPCLinkClosedBecauseOfInactivityText
db "@"
-CableClubNPCPleaseComeAgainText: ; 72cd (1:72cd)
+CableClubNPCPleaseComeAgainText: ; 71a2 (1:71a2)
TX_FAR _CableClubNPCPleaseComeAgainText
db "@"
-CableClubNPCMakingPreparationsText: ; 72d2 (1:72d2)
+CableClubNPCMakingPreparationsText: ; 71a7 (1:71a7)
TX_FAR _CableClubNPCMakingPreparationsText
db "@"
-CloseLinkConnection: ; 72d7 (1:72d7)
+CloseLinkConnection: ; 71ac (1:71ac)
call Delay3
ld a, CONNECTION_NOT_ESTABLISHED
ld [hSerialConnectionStatus], a
diff --git a/wram.asm b/wram.asm
index 90f0237a..4015f894 100755
--- a/wram.asm
+++ b/wram.asm
@@ -424,7 +424,7 @@ wUnknownSerialCounter:: ; cc47
wEnteringCableClub:: ; cc47
ds 1
-
+wcc48:: ; cc48
ds 1
wWhichTradeMonSelectionMenu:: ; cc49
diff --git a/yellow/main.asm b/yellow/main.asm
index 46ea2b79..b40d08a7 100755
--- a/yellow/main.asm
+++ b/yellow/main.asm
@@ -1087,10 +1087,8 @@ PrintStartMenuItem: ; 702b (1:702b)
add hl,de
ret
-CableClubNPC: ; 7035 (1:7035)
- dr $7035,$71ac
-CloseLinkConnection: ; 71ac (1:71ac)
- dr $71ac,$71bf
+INCLUDE "engine/overworld/cable_club_npc.asm"
+
DisplayTextBoxID_: ; 71bf (1:71bf)
dr $71bf,$778e
PlayerPC: ; 778e (1:778e)