diff options
author | Rangi <remy.oukaour+rangi42@gmail.com> | 2018-08-25 14:28:22 -0400 |
---|---|---|
committer | Rangi <remy.oukaour+rangi42@gmail.com> | 2018-08-25 14:28:22 -0400 |
commit | eb1e3636bb71509546c274bf2a5910d8e71a9600 (patch) | |
tree | 24d7742604073b2afb86c1225258f8217d1653e7 /engine/link/link.asm | |
parent | 376c64468bab8d162da43fc6e1b6f0942943cf43 (diff) |
Use labels instead of constants for HRAM
Use explicit ldh instruction to access HRAM locations, don't rely on optimizing ld
Diffstat (limited to 'engine/link/link.asm')
-rw-r--r-- | engine/link/link.asm | 212 |
1 files changed, 106 insertions, 106 deletions
diff --git a/engine/link/link.asm b/engine/link/link.asm index 5363a3047..178b18740 100644 --- a/engine/link/link.asm +++ b/engine/link/link.asm @@ -6,8 +6,8 @@ LinkCommunications: call ClearSprites call UpdateSprites xor a - ld [hSCX], a - ld [hSCY], a + ldh [hSCX], a + ldh [hSCY], a ld c, 80 call DelayFrames call ClearScreen @@ -42,26 +42,26 @@ Gen2ToGen1LinkComms: xor a ld [wPlayerLinkAction], a call WaitLinkTransfer - ld a, [hSerialConnectionStatus] + ldh a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK jr nz, .player_1 ld c, 3 call DelayFrames xor a - ld [hSerialSend], a + ldh [hSerialSend], a ld a, (0 << rSC_ON) | 1 - ld [rSC], a + ldh [rSC], a ld a, (1 << rSC_ON) | 1 - ld [rSC], a + ldh [rSC], a call DelayFrame xor a - ld [hSerialSend], a + ldh [hSerialSend], a ld a, (0 << rSC_ON) | 1 - ld [rSC], a + ldh [rSC], a ld a, (1 << rSC_ON) | 1 - ld [rSC], a + ldh [rSC], a .player_1 ld de, MUSIC_NONE @@ -69,9 +69,9 @@ Gen2ToGen1LinkComms: ld c, 3 call DelayFrames xor a - ld [rIF], a + ldh [rIF], a ld a, $8 - ld [rIE], a + ldh [rIE], a ld hl, wd1f3 ld de, wEnemyMonSpecies ld bc, $11 @@ -89,9 +89,9 @@ Gen2ToGen1LinkComms: ld bc, wTrademons - wLink_c608 call Serial_ExchangeBytes xor a - ld [rIF], a + ldh [rIF], a ld a, $1d - ld [rIE], a + ldh [rIE], a call Link_CopyRandomNumbers ld hl, wOTPlayerName call Link_FindFirstNonControlCharacter_SkipZero @@ -170,7 +170,7 @@ Gen2ToGen1LinkComms: ld [wUnusedD102 + 1], a ld de, MUSIC_NONE call PlayMusic - ld a, [hSerialConnectionStatus] + ldh a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK ld c, 66 call z, DelayFrames @@ -186,26 +186,26 @@ Gen2ToGen2LinkComms: ld a, [wScriptVar] and a jp z, LinkTimeout - ld a, [hSerialConnectionStatus] + ldh a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK jr nz, .Player1 ld c, 3 call DelayFrames xor a - ld [hSerialSend], a + ldh [hSerialSend], a ld a, (0 << rSC_ON) | 1 - ld [rSC], a + ldh [rSC], a ld a, (1 << rSC_ON) | 1 - ld [rSC], a + ldh [rSC], a call DelayFrame xor a - ld [hSerialSend], a + ldh [hSerialSend], a ld a, (0 << rSC_ON) | 1 - ld [rSC], a + ldh [rSC], a ld a, (1 << rSC_ON) | 1 - ld [rSC], a + ldh [rSC], a .Player1: ld de, MUSIC_NONE @@ -213,9 +213,9 @@ Gen2ToGen2LinkComms: ld c, 3 call DelayFrames xor a - ld [rIF], a + ldh [rIF], a ld a, $8 - ld [rIE], a + ldh [rIE], a ld hl, wd1f3 ld de, wEnemyMonSpecies ld bc, $11 @@ -242,9 +242,9 @@ Gen2ToGen2LinkComms: .not_trading xor a - ld [rIF], a + ldh [rIF], a ld a, $1d - ld [rIE], a + ldh [rIE], a ld de, MUSIC_NONE call PlayMusic call Link_CopyRandomNumbers @@ -412,7 +412,7 @@ Gen2ToGen2LinkComms: ld [wUnusedD102 + 1], a ld de, MUSIC_NONE call PlayMusic - ld a, [hSerialConnectionStatus] + ldh a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK ld c, 66 call z, DelayFrames @@ -440,28 +440,28 @@ Gen2ToGen2LinkComms: push af ld a, 1 ld [wDisableTextAcceleration], a - ld a, [rIE] + ldh a, [rIE] push af - ld a, [rIF] + ldh a, [rIF] push af xor a - ld [rIF], a - ld a, [rIE] + ldh [rIF], a + ldh a, [rIE] set 1, a - ld [rIE], a + ldh [rIE], a pop af - ld [rIF], a + ldh [rIF], a predef StartBattle - ld a, [rIF] + ldh a, [rIF] ld h, a xor a - ld [rIF], a + ldh [rIF], a pop af - ld [rIE], a + ldh [rIE], a ld a, h - ld [rIF], a + ldh [rIF], a pop af ld [wDisableTextAcceleration], a pop af @@ -485,7 +485,7 @@ LinkTimeout: xor a ld [hld], a ld [hl], a - ld [hVBlank], a + ldh [hVBlank], a push de hlcoord 0, 12 ld b, 4 @@ -512,10 +512,10 @@ LinkTimeout: ExchangeBytes: ld a, TRUE - ld [hSerialIgnoringInitialData], a + ldh [hSerialIgnoringInitialData], a .loop ld a, [hl] - ld [hSerialSend], a + ldh [hSerialSend], a call Serial_ExchangeByte push bc ld b, a @@ -524,14 +524,14 @@ ExchangeBytes: .delay_cycles dec a jr nz, .delay_cycles - ld a, [hSerialIgnoringInitialData] + ldh a, [hSerialIgnoringInitialData] and a ld a, b pop bc jr z, .load dec hl xor a - ld [hSerialIgnoringInitialData], a + ldh [hSerialIgnoringInitialData], a jr .loop .load @@ -786,10 +786,10 @@ Link_PrepPartyData_Gen1: pop bc pop de - ld a, [hQuotient + 1] + ldh a, [hQuotient + 1] ld [de], a inc de - ld a, [hQuotient + 2] + ldh a, [hQuotient + 2] ld [de], a inc de ld h, b @@ -1059,9 +1059,9 @@ Function2868a: predef CalcMonStatC pop bc pop hl - ld a, [hQuotient + 1] + ldh a, [hQuotient + 1] ld [hli], a - ld a, [hQuotient + 2] + ldh a, [hQuotient + 2] ld [hli], a push hl push bc @@ -1072,9 +1072,9 @@ Function2868a: predef CalcMonStatC pop bc pop hl - ld a, [hQuotient + 1] + ldh a, [hQuotient + 1] ld [hli], a - ld a, [hQuotient + 2] + ldh a, [hQuotient + 2] ld [hli], a push hl ld hl, $1b @@ -1128,7 +1128,7 @@ Link_CopyOTData: ret Link_CopyRandomNumbers: - ld a, [hSerialConnectionStatus] + ldh a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK ret z ld hl, wEnemyMonSpecies @@ -1518,7 +1518,7 @@ Function28ade: ldcoord_a 9, 17 .loop2 call JoyTextDelay - ld a, [hJoyLast] + ldh a, [hJoyLast] and a jr z, .loop2 bit A_BUTTON_F, a @@ -1556,12 +1556,12 @@ Function28b22: xor a ld [wcfbb], a xor a - ld [rSB], a - ld [hSerialSend], a + ldh [rSB], a + ldh [hSerialSend], a ld a, (0 << rSC_ON) | 1 - ld [rSC], a + ldh [rSC], a ld a, (1 << rSC_ON) | 1 - ld [rSC], a + ldh [rSC], a ret Unreferenced_Function28b42: @@ -1851,7 +1851,7 @@ LinkTrade: call LoadFontsBattleExtra ld b, SCGB_DIPLOMA call GetSGBLayout - ld a, [hSerialConnectionStatus] + ldh a, [hSerialConnectionStatus] cp USING_EXTERNAL_CLOCK jr z, .player_2 predef TradeAnimation @@ -2091,7 +2091,7 @@ EnterTimeCapsule: ld c, 40 call DelayFrames xor a - ld [hVBlank], a + ldh [hVBlank], a inc a ld [wLinkMode], a ret @@ -2100,46 +2100,46 @@ WaitForOtherPlayerToExit: ld c, 3 call DelayFrames ld a, CONNECTION_NOT_ESTABLISHED - ld [hSerialConnectionStatus], a + ldh [hSerialConnectionStatus], a xor a - ld [rSB], a - ld [hSerialReceive], a + ldh [rSB], a + ldh [hSerialReceive], a ld a, (0 << rSC_ON) | 1 - ld [rSC], a + ldh [rSC], a ld a, (1 << rSC_ON) | 1 - ld [rSC], a + ldh [rSC], a ld c, 3 call DelayFrames xor a - ld [rSB], a - ld [hSerialReceive], a + ldh [rSB], a + ldh [hSerialReceive], a ld a, (0 << rSC_ON) | 0 - ld [rSC], a + ldh [rSC], a ld a, (1 << rSC_ON) | 0 - ld [rSC], a + ldh [rSC], a ld c, 3 call DelayFrames xor a - ld [rSB], a - ld [hSerialReceive], a - ld [rSC], a + ldh [rSB], a + ldh [hSerialReceive], a + ldh [rSC], a ld c, 3 call DelayFrames ld a, CONNECTION_NOT_ESTABLISHED - ld [hSerialConnectionStatus], a - ld a, [rIF] + ldh [hSerialConnectionStatus], a + ldh a, [rIF] push af xor a - ld [rIF], a + ldh [rIF], a ld a, $f - ld [rIE], a + ldh [rIE], a pop af - ld [rIF], a + ldh [rIF], a ld hl, wLinkTimeoutFrames xor a ld [hli], a ld [hl], a - ld [hVBlank], a + ldh [hVBlank], a ld [wLinkMode], a ret @@ -2157,13 +2157,13 @@ SetBitsForBattleRequest: SetBitsForTimeCapsuleRequest: ld a, $2 - ld [rSB], a + ldh [rSB], a xor a - ld [hSerialReceive], a + ldh [hSerialReceive], a ld a, (0 << rSC_ON) | 0 - ld [rSC], a + ldh [rSC], a ld a, (1 << rSC_ON) | 0 - ld [rSC], a + ldh [rSC], a xor a ; LINK_TIMECAPSULE - 1 ld [wPlayerLinkAction], a ld [wChosenCableClubRoom], a @@ -2174,13 +2174,13 @@ WaitForLinkedFriend: and a jr z, .no_link_action ld a, $2 - ld [rSB], a + ldh [rSB], a xor a - ld [hSerialReceive], a + ldh [hSerialReceive], a ld a, (0 << rSC_ON) | 0 - ld [rSC], a + ldh [rSC], a ld a, (1 << rSC_ON) | 0 - ld [rSC], a + ldh [rSC], a call DelayFrame call DelayFrame call DelayFrame @@ -2191,21 +2191,21 @@ WaitForLinkedFriend: ld a, $ff ld [wLinkTimeoutFrames], a .loop - ld a, [hSerialConnectionStatus] + ldh a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK jr z, .connected cp USING_EXTERNAL_CLOCK jr z, .connected ld a, CONNECTION_NOT_ESTABLISHED - ld [hSerialConnectionStatus], a + ldh [hSerialConnectionStatus], a ld a, $2 - ld [rSB], a + ldh [rSB], a xor a - ld [hSerialReceive], a + ldh [hSerialReceive], a ld a, (0 << rSC_ON) | 0 - ld [rSC], a + ldh [rSC], a ld a, (1 << rSC_ON) | 0 - ld [rSC], a + ldh [rSC], a ld a, [wLinkTimeoutFrames] dec a ld [wLinkTimeoutFrames], a @@ -2217,11 +2217,11 @@ WaitForLinkedFriend: .not_done ld a, $1 - ld [rSB], a + ldh [rSB], a ld a, (0 << rSC_ON) | 1 - ld [rSC], a + ldh [rSC], a ld a, (1 << rSC_ON) | 1 - ld [rSC], a + ldh [rSC], a call DelayFrame jr .loop @@ -2250,12 +2250,12 @@ CheckLinkTimeout: ld [hl], a call WaitBGMap ld a, $2 - ld [hVBlank], a + ldh [hVBlank], a call DelayFrame call DelayFrame call Link_CheckCommunicationError xor a - ld [hVBlank], a + ldh [hVBlank], a ld a, [wScriptVar] and a ret nz @@ -2271,7 +2271,7 @@ Function29dba: ld [hl], a call WaitBGMap ld a, $2 - ld [hVBlank], a + ldh [hVBlank], a call DelayFrame call DelayFrame call Link_CheckCommunicationError @@ -2305,12 +2305,12 @@ Function29dba: .vblank xor a - ld [hVBlank], a + ldh [hVBlank], a ret Link_CheckCommunicationError: xor a - ld [hSerialReceivedNewData], a + ldh [hSerialReceivedNewData], a ld a, [wLinkTimeoutFrames] ld h, a ld a, [wLinkTimeoutFrames + 1] @@ -2403,7 +2403,7 @@ CheckBothSelectedSameRoom: inc a ld [wLinkMode], a xor a - ld [hVBlank], a + ldh [hVBlank], a ld a, TRUE ld [wScriptVar], a ret @@ -2420,7 +2420,7 @@ TimeCapsule: callfar LinkCommunications call EnableSpriteUpdates xor a - ld [hVBlank], a + ldh [hVBlank], a ret TradeCenter: @@ -2430,7 +2430,7 @@ TradeCenter: callfar LinkCommunications call EnableSpriteUpdates xor a - ld [hVBlank], a + ldh [hVBlank], a ret Colosseum: @@ -2440,7 +2440,7 @@ Colosseum: callfar LinkCommunications call EnableSpriteUpdates xor a - ld [hVBlank], a + ldh [hVBlank], a ret CloseLink: @@ -2460,12 +2460,12 @@ Link_ResetSerialRegistersAfterLinkClosure: ld c, 3 call DelayFrames ld a, CONNECTION_NOT_ESTABLISHED - ld [hSerialConnectionStatus], a + ldh [hSerialConnectionStatus], a ld a, $2 - ld [rSB], a + ldh [rSB], a xor a - ld [hSerialReceive], a - ld [rSC], a + ldh [hSerialReceive], a + ldh [rSC], a ret Link_EnsureSync: @@ -2473,7 +2473,7 @@ Link_EnsureSync: ld [wPlayerLinkAction], a ld [wcf57], a ld a, $2 - ld [hVBlank], a + ldh [hVBlank], a call DelayFrame call DelayFrame .receive_loop @@ -2491,13 +2491,13 @@ Link_EnsureSync: .done xor a - ld [hVBlank], a + ldh [hVBlank], a ld a, b and $f ret CableClubCheckWhichChris: - ld a, [hSerialConnectionStatus] + ldh a, [hSerialConnectionStatus] cp USING_EXTERNAL_CLOCK ld a, TRUE jr z, .yes |