Use labels instead of constants for HRAM

Use explicit ldh instruction to access HRAM locations, don't rely on optimizing ld
This commit is contained in:
Rangi
2018-08-25 14:28:22 -04:00
parent 376c64468b
commit eb1e3636bb
243 changed files with 4706 additions and 4661 deletions

View File

@@ -11,10 +11,10 @@ Credits::
.okay
ld [wJumptableIndex], a
ld a, [rSVBK]
ldh a, [rSVBK]
push af
ld a, BANK(wGBCPalettes)
ld [rSVBK], a
ldh [rSVBK], a
call ClearBGPalettes
call ClearTileMap
@@ -69,18 +69,18 @@ Credits::
call ByteFill
ld a, rSCX - $ff00
ld [hLCDCPointer], a
ldh [hLCDCPointer], a
call GetCreditsPalette
call SetPalettes
ld a, [hVBlank]
ldh a, [hVBlank]
push af
ld a, $5
ld [hVBlank], a
ldh [hVBlank], a
ld a, $1
ld [hInMenu], a
ldh [hInMenu], a
xor a
ld [hBGMapMode], a
ldh [hBGMapMode], a
ld [wCreditsPos], a
ld [wCreditsUnusedCD21], a
ld [wCreditsTimer], a
@@ -97,16 +97,16 @@ Credits::
.exit_credits
call ClearBGPalettes
xor a
ld [hLCDCPointer], a
ld [hBGMapAddress], a
ldh [hLCDCPointer], a
ldh [hBGMapAddress], a
pop af
ld [hVBlank], a
ldh [hVBlank], a
pop af
ld [rSVBK], a
ldh [rSVBK], a
ret
Credits_HandleAButton:
ld a, [hJoypadDown]
ldh a, [hJoypadDown]
and A_BUTTON
ret z
ld a, [wJumptableIndex]
@@ -114,7 +114,7 @@ Credits_HandleAButton:
ret
Credits_HandleBButton:
ld a, [hJoypadDown]
ldh a, [hJoypadDown]
and B_BUTTON
ret z
ld a, [wJumptableIndex]
@@ -177,7 +177,7 @@ Credits_LoopBack:
Credits_PrepBGMapUpdate:
xor a
ld [hBGMapMode], a
ldh [hBGMapMode], a
jp Credits_Next
Credits_UpdateGFXRequestPath:
@@ -194,13 +194,13 @@ Credits_UpdateGFXRequestPath:
Credits_RequestGFX:
xor a
ld [hBGMapMode], a
ldh [hBGMapMode], a
ld a, $8
ld [wRequested2bpp], a
jp Credits_Next
Credits_LYOverride:
ld a, [rLY]
ldh a, [rLY]
cp $30
jr c, Credits_LYOverride
ld a, [wCreditsLYOverride]
@@ -240,7 +240,7 @@ ParseCredits:
; First, let's clear the current text display,
; starting from line 5.
xor a
ld [hBGMapMode], a
ldh [hBGMapMode], a
hlcoord 0, 5
ld bc, 20 * 12
ld a, " "
@@ -352,9 +352,9 @@ ParseCredits:
ld [wCreditsTimer], a
xor a
ld [hBGMapThird], a
ldh [hBGMapThird], a
ld a, 1
ld [hBGMapMode], a
ldh [hBGMapMode], a
.done
jp Credits_Next
@@ -394,9 +394,9 @@ ParseCredits:
ConstructCreditsTilemap:
xor a
ld [hBGMapMode], a
ldh [hBGMapMode], a
ld a, $c
ld [hBGMapAddress], a
ldh [hBGMapAddress], a
ld a, $28
hlcoord 0, 0
@@ -438,8 +438,8 @@ ConstructCreditsTilemap:
call WaitBGMap2
xor a
ld [hBGMapMode], a
ld [hBGMapAddress], a
ldh [hBGMapMode], a
ldh [hBGMapAddress], a
hlcoord 0, 0
call .InitTopPortion
call WaitBGMap2

File diff suppressed because it is too large Load Diff

View File

@@ -4,7 +4,7 @@ EvolutionAnimation:
push bc
ld a, [wCurSpecies]
push af
ld a, [rOBP0]
ldh a, [rOBP0]
push af
ld a, [wBaseDexNo]
push af
@@ -14,7 +14,7 @@ EvolutionAnimation:
pop af
ld [wBaseDexNo], a
pop af
ld [rOBP0], a
ldh [rOBP0], a
pop af
ld [wCurSpecies], a
pop bc
@@ -30,7 +30,7 @@ EvolutionAnimation:
.EvolutionAnimation:
ld a, %11100100
ld [rOBP0], a
ldh [rOBP0], a
ld de, MUSIC_NONE
call PlayMusic
@@ -46,7 +46,7 @@ EvolutionAnimation:
ld [wLowHealthAlarm], a
call WaitBGMap
xor a
ld [hBGMapMode], a
ldh [hBGMapMode], a
ld a, [wEvolutionOldSpecies]
ld [wPlayerHPPal], a
@@ -74,7 +74,7 @@ EvolutionAnimation:
ld [wCurSpecies], a
ld a, $1
ld [hBGMapMode], a
ldh [hBGMapMode], a
call .check_statused
jr c, .skip_cry
@@ -205,7 +205,7 @@ EvolutionAnimation:
.ReplaceFrontpic:
push bc
xor a
ld [hBGMapMode], a
ldh [hBGMapMode], a
hlcoord 7, 2
lb bc, 7, 7
ld de, SCREEN_WIDTH - 7
@@ -222,7 +222,7 @@ EvolutionAnimation:
dec b
jr nz, .loop1
ld a, $1
ld [hBGMapMode], a
ldh [hBGMapMode], a
call WaitBGMap
pop bc
ret
@@ -231,7 +231,7 @@ EvolutionAnimation:
call DelayFrame
push bc
call JoyTextDelay
ld a, [hJoyDown]
ldh a, [hJoyDown]
pop bc
and B_BUTTON
jr nz, .pressed_b
@@ -326,7 +326,7 @@ EvolutionAnimation:
push bc
callfar PlaySpriteAnimations
; a = (([hVBlankCounter] + 4) / 2) % NUM_PALETTES
ld a, [hVBlankCounter]
ldh a, [hVBlankCounter]
and %1110
srl a
inc a

View File

@@ -1,5 +1,5 @@
GBCOnlyScreen:
ld a, [hCGB]
ldh a, [hCGB]
and a
ret nz
@@ -10,13 +10,13 @@ GBCOnlyScreen:
ld hl, GBCOnlyGFX
ld de, wGBCOnlyDecompressBuffer
ld a, [rSVBK]
ldh a, [rSVBK]
push af
ld a, 0 ; this has the same effect as selecting bank 1
ld [rSVBK], a
ldh [rSVBK], a
call Decompress
pop af
ld [rSVBK], a
ldh [rSVBK], a
ld de, wGBCOnlyDecompressBuffer
ld hl, vTiles2

View File

@@ -14,8 +14,8 @@ InitDisplayForHallOfFame:
xor a
call ByteFill
xor a
ld [hSCY], a
ld [hSCX], a
ldh [hSCY], a
ldh [hSCX], a
call EnableLCD
ld hl, .SavingRecordDontTurnOff
call PrintText
@@ -53,18 +53,18 @@ InitDisplayForRedCredits:
dec c
jr nz, .load_white_palettes
xor a
ld [hSCY], a
ld [hSCX], a
ldh [hSCY], a
ldh [hSCX], a
call EnableLCD
call WaitBGMap2
call SetPalettes
ret
ResetDisplayBetweenHallOfFameMons:
ld a, [rSVBK]
ldh a, [rSVBK]
push af
ld a, BANK(wDecompressScratch)
ld [rSVBK], a
ldh [rSVBK], a
ld hl, wDecompressScratch
ld bc, wScratchAttrMap - wDecompressScratch
ld a, " "
@@ -75,5 +75,5 @@ ResetDisplayBetweenHallOfFameMons:
ld c, 4 tiles
call Request2bpp
pop af
ld [rSVBK], a
ldh [rSVBK], a
ret

View File

@@ -5,7 +5,7 @@ _TitleScreen:
; Turn BG Map update off
xor a
ld [hBGMapMode], a
ldh [hBGMapMode], a
; Reset timing variables
ld hl, wJumptableIndex
@@ -19,7 +19,7 @@ _TitleScreen:
; VRAM bank 1
ld a, 1
ld [rVBK], a
ldh [rVBK], a
; Decompress running Suicune gfx
ld hl, TitleSuicuneGFX
@@ -86,7 +86,7 @@ _TitleScreen:
; Back to VRAM bank 0
ld a, $0
ld [rVBK], a
ldh [rVBK], a
; Decompress logo
ld hl, TitleLogoGFX
@@ -126,11 +126,11 @@ _TitleScreen:
call InitializeBackground
; Save WRAM bank
ld a, [rSVBK]
ldh a, [rSVBK]
push af
; WRAM bank 5
ld a, BANK(wBGPals1)
ld [rSVBK], a
ldh [rSVBK], a
; Update palette colors
ld hl, TitleScreenPalettes
@@ -145,14 +145,14 @@ _TitleScreen:
; Restore WRAM bank
pop af
ld [rSVBK], a
ldh [rSVBK], a
; LY/SCX trickery starts here
ld a, [rSVBK]
ldh a, [rSVBK]
push af
ld a, BANK(wLYOverrides)
ld [rSVBK], a
ldh [rSVBK], a
; Make alternating lines come in from opposite sides
@@ -178,34 +178,34 @@ _TitleScreen:
; Let LCD Stat know we're messing around with SCX
ld a, rSCX - $ff00
ld [hLCDCPointer], a
ldh [hLCDCPointer], a
pop af
ld [rSVBK], a
ldh [rSVBK], a
; Reset audio
call ChannelsOff
call EnableLCD
; Set sprite size to 8x16
ld a, [rLCDC]
ldh a, [rLCDC]
set rLCDC_SPRITE_SIZE, a
ld [rLCDC], a
ldh [rLCDC], a
ld a, +112
ld [hSCX], a
ldh [hSCX], a
ld a, 8
ld [hSCY], a
ldh [hSCY], a
ld a, 7
ld [hWX], a
ldh [hWX], a
ld a, -112
ld [hWY], a
ldh [hWY], a
ld a, $1
ld [hCGBPalUpdate], a
ldh [hCGBPalUpdate], a
; Update BG Map 0 (bank 0)
ld [hBGMapMode], a
ldh [hBGMapMode], a
xor a
ld [wd002], a
@@ -237,12 +237,12 @@ SuicuneFrameIterator:
add hl, de
ld d, [hl]
xor a
ld [hBGMapMode], a
ldh [hBGMapMode], a
call LoadSuicuneFrame
ld a, $1
ld [hBGMapMode], a
ldh [hBGMapMode], a
ld a, $3
ld [hBGMapThird], a
ldh [hBGMapThird], a
ret
.Frames:

View File

@@ -115,10 +115,10 @@ RunTradeAnimScript:
ld [hl], e
inc hl
ld [hl], d
ld a, [hMapAnims]
ldh a, [hMapAnims]
push af
xor a
ld [hMapAnims], a
ldh [hMapAnims], a
ld hl, wVramState
ld a, [hl]
push af
@@ -141,7 +141,7 @@ RunTradeAnimScript:
pop af
ld [wVramState], a
pop af
ld [hMapAnims], a
ldh [hMapAnims], a
ret
.TradeAnimLayout:
@@ -153,17 +153,17 @@ RunTradeAnimScript:
call DisableLCD
call LoadFontsBattleExtra
callfar ClearSpriteAnims
ld a, [hCGB]
ldh a, [hCGB]
and a
jr z, .NotCGB
ld a, $1
ld [rVBK], a
ldh [rVBK], a
ld hl, vTiles0
ld bc, sScratch - vTiles0
xor a
call ByteFill
ld a, $0
ld [rVBK], a
ldh [rVBK], a
.NotCGB:
hlbgcoord 0, 0
@@ -184,12 +184,12 @@ RunTradeAnimScript:
ld a, BANK(TradeArrowGFX)
call FarCopyBytes
xor a
ld [hSCX], a
ld [hSCY], a
ldh [hSCX], a
ldh [hSCY], a
ld a, $7
ld [hWX], a
ldh [hWX], a
ld a, $90
ld [hWY], a
ldh [hWY], a
farcall GetTrademonFrontpic
call EnableLCD
call LoadTradeBallAndCableGFX
@@ -349,11 +349,11 @@ TradeAnim_InitTubeAnim:
call TradeAnim_TubeAnimJumptable
xor a
ld [hSCX], a
ldh [hSCX], a
ld a, $7
ld [hWX], a
ldh [hWX], a
ld a, $70
ld [hWY], a
ldh [hWY], a
call EnableLCD
call LoadTradeBubbleGFX
@@ -390,9 +390,9 @@ TradeAnim_InitTubeAnim:
TradeAnim_TubeToOT2:
call TradeAnim_FlashBGPals
ld a, [hSCX]
ldh a, [hSCX]
add $2
ld [hSCX], a
ldh [hSCX], a
cp $50
ret nz
ld a, TRADEANIMSTATE_1
@@ -402,9 +402,9 @@ TradeAnim_TubeToOT2:
TradeAnim_TubeToOT3:
call TradeAnim_FlashBGPals
ld a, [hSCX]
ldh a, [hSCX]
add $2
ld [hSCX], a
ldh [hSCX], a
cp $a0
ret nz
ld a, TRADEANIMSTATE_2
@@ -414,9 +414,9 @@ TradeAnim_TubeToOT3:
TradeAnim_TubeToOT4:
call TradeAnim_FlashBGPals
ld a, [hSCX]
ldh a, [hSCX]
add $2
ld [hSCX], a
ldh [hSCX], a
and a
ret nz
call TradeAnim_IncrementJumptableIndex
@@ -424,9 +424,9 @@ TradeAnim_TubeToOT4:
TradeAnim_TubeToPlayer3:
call TradeAnim_FlashBGPals
ld a, [hSCX]
ldh a, [hSCX]
sub $2
ld [hSCX], a
ldh [hSCX], a
cp $b0
ret nz
ld a, TRADEANIMSTATE_1
@@ -436,9 +436,9 @@ TradeAnim_TubeToPlayer3:
TradeAnim_TubeToPlayer4:
call TradeAnim_FlashBGPals
ld a, [hSCX]
ldh a, [hSCX]
sub $2
ld [hSCX], a
ldh [hSCX], a
cp $60
ret nz
xor a ; TRADEANIMSTATE_0
@@ -448,9 +448,9 @@ TradeAnim_TubeToPlayer4:
TradeAnim_TubeToPlayer5:
call TradeAnim_FlashBGPals
ld a, [hSCX]
ldh a, [hSCX]
sub $2
ld [hSCX], a
ldh [hSCX], a
and a
ret nz
call TradeAnim_IncrementJumptableIndex
@@ -475,9 +475,9 @@ TradeAnim_TubeToPlayer8:
ld a, " "
call ByteFill
xor a
ld [hSCX], a
ldh [hSCX], a
ld a, $90
ld [hWY], a
ldh [hWY], a
call EnableLCD
call LoadTradeBallAndCableGFX
call WaitBGMap
@@ -592,7 +592,7 @@ TradeAnim_PlaceTrademonStatsOnTubeAnim:
call ClearBGPalettes
call WaitTop
ld a, HIGH(vBGMap1)
ld [hBGMapAddress + 1], a
ldh [hBGMapAddress + 1], a
call ClearTileMap
hlcoord 0, 0
ld bc, SCREEN_WIDTH
@@ -622,7 +622,7 @@ TradeAnim_PlaceTrademonStatsOnTubeAnim:
call WaitBGMap
call WaitTop
ld a, HIGH(vBGMap0)
ld [hBGMapAddress + 1], a
ldh [hBGMapAddress + 1], a
call ClearTileMap
ret
@@ -630,7 +630,7 @@ TradeAnim_EnterLinkTube1:
call ClearTileMap
call WaitTop
ld a, $a0
ld [hSCX], a
ldh [hSCX], a
call DelayFrame
hlcoord 8, 2
ld de, TradeLinkTubeTilemap
@@ -649,11 +649,11 @@ TradeAnim_EnterLinkTube1:
ret
TradeAnim_EnterLinkTube2:
ld a, [hSCX]
ldh a, [hSCX]
and a
jr z, .done
add $4
ld [hSCX], a
ldh [hSCX], a
ret
.done
@@ -663,100 +663,100 @@ TradeAnim_EnterLinkTube2:
ret
TradeAnim_ExitLinkTube:
ld a, [hSCX]
ldh a, [hSCX]
cp $a0
jr z, .done
sub $4
ld [hSCX], a
ldh [hSCX], a
ret
.done
call ClearTileMap
xor a
ld [hSCX], a
ldh [hSCX], a
call TradeAnim_AdvanceScriptPointer
ret
TradeAnim_SetupGivemonScroll:
ld a, $8f
ld [hWX], a
ldh [hWX], a
ld a, $88
ld [hSCX], a
ldh [hSCX], a
ld a, $50
ld [hWY], a
ldh [hWY], a
call TradeAnim_AdvanceScriptPointer
ret
TradeAnim_DoGivemonScroll:
ld a, [hWX]
ldh a, [hWX]
cp $7
jr z, .done
sub $4
ld [hWX], a
ld a, [hSCX]
ldh [hWX], a
ldh a, [hSCX]
sub $4
ld [hSCX], a
ldh [hSCX], a
ret
.done
ld a, $7
ld [hWX], a
ldh [hWX], a
xor a
ld [hSCX], a
ldh [hSCX], a
call TradeAnim_AdvanceScriptPointer
ret
TradeAnim_FrontpicScrollStart:
ld a, $7
ld [hWX], a
ldh [hWX], a
ld a, $50
ld [hWY], a
ldh [hWY], a
call TradeAnim_AdvanceScriptPointer
ret
TradeAnim_TextboxScrollStart:
ld a, $7
ld [hWX], a
ldh [hWX], a
ld a, $90
ld [hWY], a
ldh [hWY], a
call TradeAnim_AdvanceScriptPointer
ret
TradeAnim_ScrollOutRight:
call WaitTop
ld a, HIGH(vBGMap1)
ld [hBGMapAddress + 1], a
ldh [hBGMapAddress + 1], a
call WaitBGMap
ld a, $7
ld [hWX], a
ldh [hWX], a
xor a
ld [hWY], a
ldh [hWY], a
call DelayFrame
call WaitTop
ld a, HIGH(vBGMap0)
ld [hBGMapAddress + 1], a
ldh [hBGMapAddress + 1], a
call ClearTileMap
call TradeAnim_IncrementJumptableIndex
ret
TradeAnim_ScrollOutRight2:
ld a, [hWX]
ldh a, [hWX]
cp $a1
jr nc, .done
add $4
ld [hWX], a
ldh [hWX], a
ret
.done
ld a, HIGH(vBGMap1)
ld [hBGMapAddress + 1], a
ldh [hBGMapAddress + 1], a
call WaitBGMap
ld a, $7
ld [hWX], a
ldh [hWX], a
ld a, $90
ld [hWY], a
ldh [hWY], a
ld a, HIGH(vBGMap0)
ld [hBGMapAddress + 1], a
ldh [hBGMapAddress + 1], a
call TradeAnim_AdvanceScriptPointer
ret
@@ -843,7 +843,7 @@ TradeAnim_ShowFrontpic:
call TradeAnim_BlankTileMap
hlcoord 7, 2
xor a
ld [hGraphicStartTile], a
ldh [hGraphicStartTile], a
lb bc, 7, 7
predef PlaceGraphic
call WaitBGMap
@@ -927,7 +927,7 @@ TrademonStats_MonTemplate:
call WaitTop
call TradeAnim_BlankTileMap
ld a, HIGH(vBGMap1)
ld [hBGMapAddress + 1], a
ldh [hBGMapAddress + 1], a
hlcoord 3, 0
ld b, $6
ld c, $d
@@ -947,7 +947,7 @@ TrademonStats_Egg:
call WaitTop
call TradeAnim_BlankTileMap
ld a, HIGH(vBGMap1)
ld [hBGMapAddress + 1], a
ldh [hBGMapAddress + 1], a
hlcoord 3, 0
ld b, 6
ld c, 13
@@ -967,7 +967,7 @@ TrademonStats_WaitBGMap:
call WaitBGMap
call WaitTop
ld a, HIGH(vBGMap0)
ld [hBGMapAddress + 1], a
ldh [hBGMapAddress + 1], a
ret
TrademonStats_PrintSpeciesNumber:
@@ -1312,7 +1312,7 @@ TradeAnim_CopyBoxFromDEtoHL:
ret
TradeAnim_NormalPals:
ld a, [hSGB]
ldh a, [hSGB]
and a
ld a, %11100100 ; 3,2,1,0
jr z, .not_sgb
@@ -1346,7 +1346,7 @@ TradeAnim_FlashBGPals:
ld a, [wcf65]
and $7
ret nz
ld a, [rBGP]
ldh a, [rBGP]
xor %00111100
call DmgToCgbBGPals
ret

View File

@@ -5,7 +5,7 @@ UnusedTitleScreen:
; Turn BG Map update off
xor a
ld [hBGMapMode], a
ldh [hBGMapMode], a
; Reset timing variables
ld hl, wJumptableIndex
@@ -34,11 +34,11 @@ UnusedTitleScreen:
ld bc, BG_MAP_WIDTH * BG_MAP_HEIGHT
.copy
ld a, 0
ld [rVBK], a
ldh [rVBK], a
ld a, [hli]
ld [de], a
ld a, 1
ld [rVBK], a
ldh [rVBK], a
ld a, [hli]
ld [de], a
inc de
@@ -53,17 +53,17 @@ UnusedTitleScreen:
call CopyBytes
call EnableLCD
ld a, [rLCDC]
ldh a, [rLCDC]
set rLCDC_SPRITES_ENABLE, a
set rLCDC_SPRITE_SIZE, a
ld [rLCDC], a
ldh [rLCDC], a
call DelayFrame
ld a, [rSVBK]
ldh a, [rSVBK]
push af
ld a, BANK(wBGPals1)
ld [rSVBK], a
ldh [rSVBK], a
ld hl, UnusedTitleBG_Palettes
ld de, wBGPals1
@@ -86,10 +86,10 @@ UnusedTitleScreen:
call CopyBytes
pop af
ld [rSVBK], a
ldh [rSVBK], a
ld a, $1
ld [hCGBPalUpdate], a
ldh [hCGBPalUpdate], a
ld de, MUSIC_TITLE
call PlayMusic
@@ -158,7 +158,7 @@ Function10ed51:
call _TitleScreen
.loop
call JoyTextDelay
ld a, [hJoyLast]
ldh a, [hJoyLast]
ld b, a
and 1
jr nz, .done