2014-05-22 22:13:20 +00:00
|
|
|
CableClubNPC: ; 71c5 (1:71c5)
|
2015-02-07 10:43:08 +00:00
|
|
|
ld hl, CableClubNPCWelcomeText
|
2014-05-22 22:13:20 +00:00
|
|
|
call PrintText
|
2014-05-26 21:04:56 +00:00
|
|
|
ld a, [wd74b]
|
2015-02-07 10:43:08 +00:00
|
|
|
bit 5, a ; received pokedex?
|
|
|
|
jp nz, .receivedPokedex
|
|
|
|
; if the player hasn't received the pokedex
|
2014-05-22 22:13:20 +00:00
|
|
|
ld c, $3c
|
|
|
|
call DelayFrames
|
2015-02-07 10:43:08 +00:00
|
|
|
ld hl, CableClubNPCMakingPreparationsText
|
2014-05-22 22:13:20 +00:00
|
|
|
call PrintText
|
|
|
|
jp Func_7298
|
2015-02-07 10:43:08 +00:00
|
|
|
.receivedPokedex
|
2014-05-22 22:13:20 +00:00
|
|
|
ld a, $1
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [wMenuJoypadPollCount], a
|
2015-02-07 10:43:08 +00:00
|
|
|
ld a, 90
|
|
|
|
ld [wLinkTimeoutCounter], a
|
|
|
|
.establishConnectionLoop
|
|
|
|
ld a, [hSerialConnectionStatus]
|
|
|
|
cp USING_INTERNAL_CLOCK
|
|
|
|
jr z, .establishedConnection
|
|
|
|
cp USING_EXTERNAL_CLOCK
|
|
|
|
jr z, .establishedConnection
|
|
|
|
ld a, CONNECTION_NOT_ESTABLISHED
|
|
|
|
ld [hSerialConnectionStatus], a
|
|
|
|
ld a, ESTABLISH_CONNECTION_WITH_EXTERNAL_CLOCK
|
2014-08-09 05:39:13 +00:00
|
|
|
ld [rSB], a
|
2014-05-22 22:13:20 +00:00
|
|
|
xor a
|
2015-02-07 10:43:08 +00:00
|
|
|
ld [hSerialReceiveData], a
|
|
|
|
ld a, START_TRANSFER_EXTERNAL_CLOCK
|
|
|
|
ld [rSC], a
|
|
|
|
ld a, [wLinkTimeoutCounter]
|
2014-05-22 22:13:20 +00:00
|
|
|
dec a
|
2015-02-07 10:43:08 +00:00
|
|
|
ld [wLinkTimeoutCounter], a
|
|
|
|
jr z, .failedToEstablishConnection
|
|
|
|
ld a, ESTABLISH_CONNECTION_WITH_INTERNAL_CLOCK
|
2014-08-09 05:39:13 +00:00
|
|
|
ld [rSB], a
|
2015-02-07 10:43:08 +00:00
|
|
|
ld a, START_TRANSFER_INTERNAL_CLOCK
|
|
|
|
ld [rSC], a
|
2014-05-22 22:13:20 +00:00
|
|
|
call DelayFrame
|
2015-02-07 10:43:08 +00:00
|
|
|
jr .establishConnectionLoop
|
|
|
|
.establishedConnection
|
|
|
|
call Serial_SendZeroByte
|
2014-05-22 22:13:20 +00:00
|
|
|
call DelayFrame
|
2015-02-07 10:43:08 +00:00
|
|
|
call Serial_SendZeroByte
|
|
|
|
ld c, 50
|
2014-05-22 22:13:20 +00:00
|
|
|
call DelayFrames
|
2015-02-07 10:43:08 +00:00
|
|
|
ld hl, CableClubNPCPleaseApplyHereHaveToSaveText
|
2014-05-22 22:13:20 +00:00
|
|
|
call PrintText
|
|
|
|
xor a
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [wMenuJoypadPollCount], a
|
2014-05-22 22:13:20 +00:00
|
|
|
call YesNoChoice
|
|
|
|
ld a, $1
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [wMenuJoypadPollCount], a
|
|
|
|
ld a, [wCurrentMenuItem]
|
2014-05-22 22:13:20 +00:00
|
|
|
and a
|
2015-02-07 10:43:08 +00:00
|
|
|
jr nz, .choseNo
|
2014-05-22 22:13:20 +00:00
|
|
|
callab SaveSAVtoSRAM
|
|
|
|
call WaitForSoundToFinish
|
|
|
|
ld a, (SFX_02_5d - SFX_Headers_02) / 3
|
|
|
|
call PlaySoundWaitForCurrent
|
2015-02-07 10:43:08 +00:00
|
|
|
ld hl, CableClubNPCPleaseWaitText
|
2014-05-22 22:13:20 +00:00
|
|
|
call PrintText
|
2015-02-07 10:43:08 +00:00
|
|
|
ld hl, wUnknownSerialCounter
|
2014-05-22 22:13:20 +00:00
|
|
|
ld a, $3
|
|
|
|
ld [hli], a
|
|
|
|
xor a
|
|
|
|
ld [hl], a
|
2015-02-07 10:43:08 +00:00
|
|
|
ld [hSerialReceivedNewData], a
|
|
|
|
ld [wSerialExchangeNybbleSendData], a
|
|
|
|
call Serial_SyncAndExchangeNybble
|
|
|
|
ld hl, wUnknownSerialCounter
|
2014-05-22 22:13:20 +00:00
|
|
|
ld a, [hli]
|
|
|
|
inc a
|
|
|
|
jr nz, Func_72a8 ; 0x726b $3b
|
|
|
|
ld a, [hl]
|
|
|
|
inc a
|
|
|
|
jr nz, Func_72a8 ; 0x726f $37
|
|
|
|
ld b, $a
|
|
|
|
.asm_7273
|
|
|
|
call DelayFrame
|
2015-02-07 10:43:08 +00:00
|
|
|
call Serial_SendZeroByte
|
2014-05-22 22:13:20 +00:00
|
|
|
dec b
|
|
|
|
jr nz, .asm_7273 ; 0x727a $f7
|
2015-02-07 10:43:08 +00:00
|
|
|
call CloseLinkConnection
|
|
|
|
ld hl, CableClubNPCLinkClosedBecauseOfInactivityText
|
2014-05-22 22:13:20 +00:00
|
|
|
call PrintText
|
|
|
|
jr Func_7298 ; 0x7285 $11
|
2015-02-07 10:43:08 +00:00
|
|
|
.failedToEstablishConnection
|
|
|
|
ld hl, CableClubNPCAreaReservedFor2FriendsLinkedByCableText
|
2014-05-22 22:13:20 +00:00
|
|
|
call PrintText
|
|
|
|
jr Func_7298 ; 0x728d $9
|
2015-02-07 10:43:08 +00:00
|
|
|
.choseNo
|
|
|
|
call CloseLinkConnection
|
|
|
|
ld hl, CableClubNPCPleaseComeAgainText
|
2014-05-22 22:13:20 +00:00
|
|
|
call PrintText
|
|
|
|
; fall through
|
|
|
|
|
|
|
|
Func_7298: ; 7298 (1:7298)
|
|
|
|
xor a
|
2015-02-07 10:43:08 +00:00
|
|
|
ld hl, wUnknownSerialCounter
|
2014-05-22 22:13:20 +00:00
|
|
|
ld [hli], a
|
|
|
|
ld [hl], a
|
2014-05-26 21:04:56 +00:00
|
|
|
ld hl, wd72e
|
2014-05-22 22:13:20 +00:00
|
|
|
res 6, [hl]
|
|
|
|
xor a
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [wMenuJoypadPollCount], a
|
2014-05-22 22:13:20 +00:00
|
|
|
ret
|
|
|
|
|
|
|
|
Func_72a8: ; 72a8 (1:72a8)
|
|
|
|
xor a
|
|
|
|
ld [hld], a
|
|
|
|
ld [hl], a
|
|
|
|
ld hl, LinkMenu
|
|
|
|
ld b, BANK(LinkMenu)
|
|
|
|
jp Bankswitch
|
|
|
|
|
2015-02-07 10:43:08 +00:00
|
|
|
CableClubNPCAreaReservedFor2FriendsLinkedByCableText: ; 72b3 (1:72b3)
|
|
|
|
TX_FAR _CableClubNPCAreaReservedFor2FriendsLinkedByCableText
|
2014-05-22 22:13:20 +00:00
|
|
|
db "@"
|
|
|
|
|
2015-02-07 10:43:08 +00:00
|
|
|
CableClubNPCWelcomeText: ; 72b8 (1:72b8)
|
|
|
|
TX_FAR _CableClubNPCWelcomeText
|
2014-05-22 22:13:20 +00:00
|
|
|
db "@"
|
|
|
|
|
2015-02-07 10:43:08 +00:00
|
|
|
CableClubNPCPleaseApplyHereHaveToSaveText: ; 72bd (1:72bd)
|
|
|
|
TX_FAR _CableClubNPCPleaseApplyHereHaveToSaveText
|
2014-05-22 22:13:20 +00:00
|
|
|
db "@"
|
|
|
|
|
2015-02-07 10:43:08 +00:00
|
|
|
CableClubNPCPleaseWaitText: ; 72c2 (1:72c2)
|
|
|
|
TX_FAR _CableClubNPCPleaseWaitText
|
2014-05-22 22:13:20 +00:00
|
|
|
db $a, "@"
|
|
|
|
|
2015-02-07 10:43:08 +00:00
|
|
|
CableClubNPCLinkClosedBecauseOfInactivityText: ; 72c8 (1:72c8)
|
|
|
|
TX_FAR _CableClubNPCLinkClosedBecauseOfInactivityText
|
2014-05-22 22:13:20 +00:00
|
|
|
db "@"
|
|
|
|
|
2015-02-07 10:43:08 +00:00
|
|
|
CableClubNPCPleaseComeAgainText: ; 72cd (1:72cd)
|
|
|
|
TX_FAR _CableClubNPCPleaseComeAgainText
|
2014-05-22 22:13:20 +00:00
|
|
|
db "@"
|
|
|
|
|
2015-02-07 10:43:08 +00:00
|
|
|
CableClubNPCMakingPreparationsText: ; 72d2 (1:72d2)
|
|
|
|
TX_FAR _CableClubNPCMakingPreparationsText
|
2014-05-22 22:13:20 +00:00
|
|
|
db "@"
|
|
|
|
|
2015-02-07 10:43:08 +00:00
|
|
|
CloseLinkConnection: ; 72d7 (1:72d7)
|
2014-05-22 22:13:20 +00:00
|
|
|
call Delay3
|
2015-02-07 10:43:08 +00:00
|
|
|
ld a, CONNECTION_NOT_ESTABLISHED
|
|
|
|
ld [hSerialConnectionStatus], a
|
|
|
|
ld a, ESTABLISH_CONNECTION_WITH_EXTERNAL_CLOCK
|
2014-08-09 05:39:13 +00:00
|
|
|
ld [rSB], a
|
2014-05-22 22:13:20 +00:00
|
|
|
xor a
|
2015-02-07 10:43:08 +00:00
|
|
|
ld [hSerialReceiveData], a
|
|
|
|
ld a, START_TRANSFER_EXTERNAL_CLOCK
|
|
|
|
ld [rSC], a
|
2014-05-22 22:13:20 +00:00
|
|
|
ret
|