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

@@ -25,18 +25,18 @@
ColorTest:
; A debug menu to test monster and trainer palettes at runtime.
ld a, [hCGB]
ldh a, [hCGB]
and a
jr nz, .asm_818b5
ld a, [hSGB]
ldh a, [hSGB]
and a
ret z
.asm_818b5
ld a, [hInMenu]
ldh a, [hInMenu]
push af
ld a, $1
ld [hInMenu], a
ldh [hInMenu], a
call DisableLCD
call Function81948
call Function8197c
@@ -60,7 +60,7 @@ ColorTest:
.asm_818f0
pop af
ld [hInMenu], a
ldh [hInMenu], a
ret
Function818f4:
@@ -124,13 +124,13 @@ Function81928:
Function81948:
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
ld hl, vTiles0
ld bc, sScratch - vTiles0
xor a
@@ -169,33 +169,33 @@ Function8197c:
ret
Function819a7:
ld a, [hCGB]
ldh a, [hCGB]
and a
ret z
ld a, [rSVBK]
ldh a, [rSVBK]
push af
ld a, BANK(wBGPals2)
ld [rSVBK], a
ldh [rSVBK], a
ld hl, Palette_DebugBG
ld de, wBGPals2
ld bc, 16 palettes
call CopyBytes
ld a, 1 << rBGPI_AUTO_INCREMENT
ld [rBGPI], a
ldh [rBGPI], a
ld hl, Palette_DebugBG
ld c, 8 palettes
xor a
.asm_819c8
ld [rBGPD], a
ldh [rBGPD], a
dec c
jr nz, .asm_819c8
ld a, 1 << rOBPI_AUTO_INCREMENT
ld [rOBPI], a
ldh [rOBPI], a
ld hl, Palette_DebugOB
ld c, 8 palettes
.asm_819d6
ld a, [hli]
ld [rOBPD], a
ldh [rOBPD], a
dec c
jr nz, .asm_819d6
ld a, $94
@@ -207,7 +207,7 @@ Function819a7:
ld a, $29
ld [wc608 + 3], a
pop af
ld [rSVBK], a
ldh [rSVBK], a
ret
Palette_DebugBG:
@@ -289,7 +289,7 @@ Jumptable_81acf:
Function81adb:
xor a
ld [hBGMapMode], a
ldh [hBGMapMode], a
hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
ld a, DEBUGTEST_BLACK
@@ -331,7 +331,7 @@ Function81adb:
ld de, vTiles2 tile $31
predef GetMonBackpic
ld a, $31
ld [hGraphicStartTile], a
ldh [hGraphicStartTile], a
hlcoord 2, 4
lb bc, 6, 6
predef PlaceGraphic
@@ -363,7 +363,7 @@ Function81adb:
callfar GetTrainerPic
xor a
ld [wTempEnemyMonSpecies], a
ld [hGraphicStartTile], a
ldh [hGraphicStartTile], a
hlcoord 2, 3
lb bc, 7, 7
predef PlaceGraphic
@@ -424,11 +424,11 @@ Function81bf4:
ret
Function81c18:
ld a, [hCGB]
ldh a, [hCGB]
and a
jr z, .asm_81c2a
ld a, $2
ld [hBGMapMode], a
ldh [hBGMapMode], a
call DelayFrame
call DelayFrame
call DelayFrame
@@ -440,13 +440,13 @@ Function81c18:
ret
Function81c33:
ld a, [hCGB]
ldh a, [hCGB]
and a
jr z, .asm_81c69
ld a, [rSVBK]
ldh a, [rSVBK]
push af
ld a, BANK(wBGPals2)
ld [rSVBK], a
ldh [rSVBK], a
ld hl, wBGPals2
ld de, wc608
ld c, $1
@@ -458,11 +458,11 @@ Function81c33:
ld de, wc608 + 2
call Function81ca7
ld a, $1
ld [hCGBPalUpdate], a
ldh [hCGBPalUpdate], a
ld a, $3
ld [wJumptableIndex], a
pop af
ld [rSVBK], a
ldh [rSVBK], a
ret
.asm_81c69
@@ -519,10 +519,10 @@ Function81cbc:
ret
Function81cc2:
ld a, [hJoyLast]
ldh a, [hJoyLast]
and B_BUTTON
jr nz, .asm_81cdf
ld a, [hJoyLast]
ldh a, [hJoyLast]
and A_BUTTON
jr nz, .asm_81ce5
ld a, [wcf64]
@@ -621,10 +621,10 @@ Function81d58:
ld hl, wc608 + 12
Function81d63:
ld a, [hJoyLast]
ldh a, [hJoyLast]
and D_RIGHT
jr nz, Function81d70
ld a, [hJoyLast]
ldh a, [hJoyLast]
and D_LEFT
jr nz, Function81d77
ret
@@ -915,9 +915,9 @@ Function81f1d:
.asm_81f22
push bc
xor a
ld [rJOYP], a
ldh [rJOYP], a
ld a, $30
ld [rJOYP], a
ldh [rJOYP], a
ld b, $10
.asm_81f2c
ld e, $8
@@ -930,18 +930,18 @@ Function81f1d:
ld a, $20
.asm_81f38
ld [rJOYP], a
ldh [rJOYP], a
ld a, $30
ld [rJOYP], a
ldh [rJOYP], a
rr d
dec e
jr nz, .asm_81f30
dec b
jr nz, .asm_81f2c
ld a, $20
ld [rJOYP], a
ldh [rJOYP], a
ld a, $30
ld [rJOYP], a
ldh [rJOYP], a
ld de, 7000
.asm_81f51
nop
@@ -1041,12 +1041,12 @@ TilesetColorTest:
ld [wcf64], a
ld [wcf65], a
ld [wcf66], a
ld [hMapAnims], a
ldh [hMapAnims], a
call ClearSprites
call OverworldTextModeSwitch
call WaitBGMap2
xor a
ld [hBGMapMode], a
ldh [hBGMapMode], a
ld de, DebugColorTestGFX + 1 tiles
ld hl, vTiles2 tile DEBUGTEST_UP_ARROW
lb bc, BANK(DebugColorTestGFX), 22
@@ -1056,7 +1056,7 @@ TilesetColorTest:
lb bc, BANK(DebugColorTestGFX), 1
call Request2bpp
ld a, HIGH(vBGMap1)
ld [hBGMapAddress + 1], a
ldh [hBGMapAddress + 1], a
hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
ld a, DEBUGTEST_BLACK
@@ -1082,7 +1082,7 @@ TilesetColorTest:
call WaitBGMap2
ld [wJumptableIndex], a
ld a, $40
ld [hWY], a
ldh [hWY], a
ret
Function821d2:
@@ -1126,10 +1126,10 @@ Function82203:
ret
Function8220f:
ld a, [rSVBK]
ldh a, [rSVBK]
push af
ld a, BANK(wBGPals1)
ld [rSVBK], a
ldh [rSVBK], a
ld a, [wcf64]
ld l, a
ld h, $0
@@ -1144,7 +1144,7 @@ Function8220f:
ld de, wc608
call Function81ea5
pop af
ld [rSVBK], a
ldh [rSVBK], a
ret
Function82236:
@@ -1177,10 +1177,10 @@ Function82236:
call Function821d8
ld de, $24
call Function821d8
ld a, [rSVBK]
ldh a, [rSVBK]
push af
ld a, BANK(wBGPals2)
ld [rSVBK], a
ldh [rSVBK], a
ld hl, wBGPals2
ld a, [wcf64]
ld bc, 1 palettes
@@ -1189,27 +1189,27 @@ Function82236:
ld bc, 1 palettes
call CopyBytes
pop af
ld [rSVBK], a
ldh [rSVBK], a
ld a, $2
ld [hBGMapMode], a
ldh [hBGMapMode], a
ld c, 3
call DelayFrames
ld a, $1
ld [hBGMapMode], a
ldh [hBGMapMode], a
ret
.asm_82299
call ClearSprites
ld a, [hWY]
ldh a, [hWY]
xor $d0
ld [hWY], a
ldh [hWY], a
ret
Function822a3:
ld a, [rSVBK]
ldh a, [rSVBK]
push af
ld a, BANK(wBGPals2)
ld [rSVBK], a
ldh [rSVBK], a
ld hl, wBGPals2
ld a, [wcf64]
ld bc, 1 palettes
@@ -1232,9 +1232,9 @@ Function822a3:
ld de, wc608 + 6
call Function81ca7
pop af
ld [rSVBK], a
ldh [rSVBK], a
ld a, $1
ld [hCGBPalUpdate], a
ldh [hCGBPalUpdate], a
call DelayFrame
ret
@@ -1322,10 +1322,10 @@ Function8235d:
ld hl, wc608 + 12
Function82368:
ld a, [hJoyLast]
ldh a, [hJoyLast]
and D_RIGHT
jr nz, .asm_82375
ld a, [hJoyLast]
ldh a, [hJoyLast]
and D_LEFT
jr nz, .asm_8237c
ret

View File

@@ -41,7 +41,7 @@ PrintDayOfWeek:
NewGame_ClearTileMapEtc:
xor a
ld [hMapAnims], a
ldh [hMapAnims], a
call ClearTileMap
call LoadFontsExtra
call LoadStandardFont
@@ -73,7 +73,7 @@ NewGame:
ld [wDefaultSpawnpoint], a
ld a, MAPSETUP_WARP
ld [hMapEntryMethod], a
ldh [hMapEntryMethod], a
jp FinishContinueFunction
AreYouABoyOrAreYouAGirl:
@@ -89,7 +89,7 @@ AreYouABoyOrAreYouAGirl:
ResetWRAM:
xor a
ld [hBGMapMode], a
ldh [hBGMapMode], a
call _ResetWRAM
ret
@@ -109,16 +109,16 @@ _ResetWRAM:
xor a
call ByteFill
ld a, [rLY]
ld [hSecondsBackup], a
ldh a, [rLY]
ldh [hSecondsBackup], a
call DelayFrame
ld a, [hRandomSub]
ldh a, [hRandomSub]
ld [wPlayerID], a
ld a, [rLY]
ld [hSecondsBackup], a
ldh a, [rLY]
ldh [hSecondsBackup], a
call DelayFrame
ld a, [hRandomAdd]
ldh a, [hRandomAdd]
ld [wPlayerID + 1], a
call Random
@@ -335,7 +335,7 @@ Continue:
call LoadStandardMenuHeader
call DisplaySaveInfoOnContinue
ld a, $1
ld [hBGMapMode], a
ldh [hBGMapMode], a
ld c, 20
call DelayFrames
call ConfirmContinue
@@ -369,7 +369,7 @@ Continue:
cp SPAWN_LANCE
jr z, .SpawnAfterE4
ld a, MAPSETUP_CONTINUE
ld [hMapEntryMethod], a
ldh [hMapEntryMethod], a
jp FinishContinueFunction
.FailToLoad:
@@ -389,7 +389,7 @@ PostCreditsSpawn:
xor a
ld [wSpawnAfterChampion], a
ld a, MAPSETUP_WARP
ld [hMapEntryMethod], a
ldh [hMapEntryMethod], a
ret
Continue_MobileAdapterMenu:
@@ -507,7 +507,7 @@ DisplayContinueDataWithRTCError:
Continue_LoadMenuHeader:
xor a
ld [hBGMapMode], a
ldh [hBGMapMode], a
ld hl, .MenuHeader_Dex
ld a, [wStatusFlags]
bit STATUSFLAGS_POKEDEX_F, a
@@ -800,7 +800,7 @@ StorePlayerName:
ret
ShrinkPlayer:
ld a, [hROMBank]
ldh a, [hROMBank]
push af
ld a, 32 ; fade time
@@ -874,24 +874,24 @@ IntroFadePalettes:
Intro_WipeInFrontpic:
ld a, $77
ld [hWX], a
ldh [hWX], a
call DelayFrame
ld a, %11100100
call DmgToCgbBGPals
.loop
call DelayFrame
ld a, [hWX]
ldh a, [hWX]
sub $8
cp -1
ret z
ld [hWX], a
ldh [hWX], a
jr .loop
Intro_PrepTrainerPic:
ld de, vTiles2
farcall GetTrainerPic
xor a
ld [hGraphicStartTile], a
ldh [hGraphicStartTile], a
hlcoord 6, 4
lb bc, 7, 7
predef PlaceGraphic
@@ -902,7 +902,7 @@ ShrinkFrame:
ld c, 7 * 7
predef DecompressGet2bpp
xor a
ld [hGraphicStartTile], a
ldh [hGraphicStartTile], a
hlcoord 6, 4
lb bc, 7, 7
predef PlaceGraphic
@@ -958,10 +958,10 @@ CrystalIntroSequence:
farcall CrystalIntro
StartTitleScreen:
ld a, [rSVBK]
ldh a, [rSVBK]
push af
ld a, BANK(wBGPals1)
ld [rSVBK], a
ldh [rSVBK], a
call .TitleScreen
call DelayFrame
@@ -973,20 +973,20 @@ StartTitleScreen:
call ClearBGPalettes
pop af
ld [rSVBK], a
ldh [rSVBK], a
ld hl, rLCDC
res rLCDC_SPRITE_SIZE, [hl] ; 8x8
call ClearScreen
call WaitBGMap2
xor a
ld [hLCDCPointer], a
ld [hSCX], a
ld [hSCY], a
ldh [hLCDCPointer], 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
ld b, SCGB_DIPLOMA
call GetSGBLayout
call UpdateTimePals
@@ -1031,7 +1031,7 @@ RunTitleScreen:
ret
Unreferenced_Function6292:
ld a, [hVBlankCounter]
ldh a, [hVBlankCounter]
and $7
ret nz
ld hl, wLYOverrides + $5f
@@ -1066,11 +1066,11 @@ TitleScreenScene:
TitleScreenEntrance:
; Animate the logo:
; Move each line by 4 pixels until our count hits 0.
ld a, [hSCX]
ldh a, [hSCX]
and a
jr z, .done
sub 4
ld [hSCX], a
ldh [hSCX], a
; Lay out a base (all lines scrolling together).
ld e, a
@@ -1100,14 +1100,14 @@ TitleScreenEntrance:
ld hl, wJumptableIndex
inc [hl]
xor a
ld [hLCDCPointer], a
ldh [hLCDCPointer], a
; Play the title screen music.
ld de, MUSIC_TITLE
call PlayMusic
ld a, $88
ld [hWY], a
ldh [hWY], a
ret
TitleScreenTimer:
@@ -1149,7 +1149,7 @@ TitleScreenMain:
; To bring up the clock reset dialog:
; Hold Down + B + Select to initiate the sequence.
ld a, [hClockResetTrigger]
ldh a, [hClockResetTrigger]
cp $34
jr z, .check_clock_reset
@@ -1159,7 +1159,7 @@ TitleScreenMain:
jr nz, .check_start
ld a, $34
ld [hClockResetTrigger], a
ldh [hClockResetTrigger], a
jr .check_start
; Keep Select pressed, and hold Left + Up.
@@ -1169,7 +1169,7 @@ TitleScreenMain:
jr nz, .check_start
xor a
ld [hClockResetTrigger], a
ldh [hClockResetTrigger], a
ld a, [hl]
and D_LEFT + D_UP
@@ -1322,13 +1322,13 @@ GameInit::
call ClearBGPalettes
call ClearTileMap
ld a, HIGH(vBGMap0)
ld [hBGMapAddress + 1], a
ldh [hBGMapAddress + 1], a
xor a ; LOW(vBGMap0)
ld [hBGMapAddress], a
ld [hJoyDown], a
ld [hSCX], a
ld [hSCY], a
ldh [hBGMapAddress], a
ldh [hJoyDown], a
ldh [hSCX], a
ldh [hSCY], a
ld a, $90
ld [hWY], a
ldh [hWY], a
call WaitBGMap
jp CrystalIntroSequence

View File

@@ -150,7 +150,7 @@ MainMenu_GetWhichMenu:
ret
.next
ld a, [hCGB]
ldh a, [hCGB]
cp $1
ld a, $1
ret nz
@@ -217,7 +217,7 @@ MainMenu_PrintCurrentTimeAndDay:
and a
ret z
xor a
ld [hBGMapMode], a
ldh [hBGMapMode], a
call .PlaceBox
ld hl, wOptions
ld a, [hl]
@@ -227,7 +227,7 @@ MainMenu_PrintCurrentTimeAndDay:
pop af
ld [wOptions], a
ld a, $1
ld [hBGMapMode], a
ldh [hBGMapMode], a
ret
.PlaceBox:
@@ -257,7 +257,7 @@ MainMenu_PrintCurrentTimeAndDay:
decoord 1, 15
call .PlaceCurrentDay
decoord 4, 16
ld a, [hHours]
ldh a, [hHours]
ld c, a
farcall PrintHour
ld [hl], ":"
@@ -313,7 +313,7 @@ MainMenu_PrintCurrentTimeAndDay:
Function49ed0:
xor a
ld [hMapAnims], a
ldh [hMapAnims], a
call ClearTileMap
call LoadFontsExtra
call LoadStandardFont

View File

@@ -57,7 +57,7 @@ _InterpretMobileMenu::
Draw2DMenu:
xor a
ld [hBGMapMode], a
ldh [hBGMapMode], a
call MenuBox
call Place2DMenuItemStrings
ret
@@ -249,17 +249,17 @@ _StaticMenuJoypad::
_ScrollingMenuJoypad::
ld hl, w2DMenuFlags2
res 7, [hl]
ld a, [hBGMapMode]
ldh a, [hBGMapMode]
push af
call MenuJoypadLoop
pop af
ld [hBGMapMode], a
ldh [hBGMapMode], a
ret
MobileMenuJoypad:
ld hl, w2DMenuFlags2
res 7, [hl]
ld a, [hBGMapMode]
ldh a, [hBGMapMode]
push af
call Move2DMenuCursor
call Do2DMenuRTCJoypad
@@ -267,7 +267,7 @@ MobileMenuJoypad:
call _2DMenuInterpretJoypad
.skip_joypad
pop af
ld [hBGMapMode], a
ldh [hBGMapMode], a
call GetMenuJoypad
ld c, a
ret
@@ -331,15 +331,15 @@ MenuJoypadLoop:
ret
.BGMap_OAM:
ld a, [hOAMUpdate]
ldh a, [hOAMUpdate]
push af
ld a, $1
ld [hOAMUpdate], a
ldh [hOAMUpdate], a
call WaitBGMap
pop af
ld [hOAMUpdate], a
ldh [hOAMUpdate], a
xor a
ld [hBGMapMode], a
ldh [hBGMapMode], a
ret
Do2DMenuRTCJoypad:
@@ -555,10 +555,10 @@ Place2DMenuCursor:
ret
_PushWindow::
ld a, [rSVBK]
ldh a, [rSVBK]
push af
ld a, BANK(wWindowStack)
ld [rSVBK], a
ldh [rSVBK], a
ld hl, wWindowStackPointer
ld e, [hl]
@@ -619,7 +619,7 @@ _PushWindow::
ld [hl], d
pop af
ld [rSVBK], a
ldh [rSVBK], a
ld hl, wWindowStackSize
inc [hl]
ret
@@ -655,12 +655,12 @@ _PushWindow::
_ExitMenu::
xor a
ld [hBGMapMode], a
ldh [hBGMapMode], a
ld a, [rSVBK]
ldh a, [rSVBK]
push af
ld a, BANK(wWindowStack)
ld [rSVBK], a
ldh [rSVBK], a
call GetWindowStackTop
ld a, l
@@ -687,7 +687,7 @@ _ExitMenu::
.done
pop af
ld [rSVBK], a
ldh [rSVBK], a
ld hl, wWindowStackSize
dec [hl]
ret

View File

@@ -21,23 +21,23 @@ NamingScreen:
ld a, [hl]
push af
set NO_TEXT_SCROLL, [hl]
ld a, [hMapAnims]
ldh a, [hMapAnims]
push af
xor a
ld [hMapAnims], a
ld a, [hInMenu]
ldh [hMapAnims], a
ldh a, [hInMenu]
push af
ld a, $1
ld [hInMenu], a
ldh [hInMenu], a
call .SetUpNamingScreen
call DelayFrame
.loop
call NamingScreenJoypadLoop
jr nc, .loop
pop af
ld [hInMenu], a
ldh [hInMenu], a
pop af
ld [hMapAnims], a
ldh [hMapAnims], a
pop af
ld [wOptions], a
call ClearJoypad
@@ -51,7 +51,7 @@ NamingScreen:
call LoadNamingScreenGFX
call NamingScreen_InitText
ld a, LCDC_DEFAULT
ld [rLCDC], a
ldh [rLCDC], a
call .GetNamingScreenSetup
call WaitBGMap
call WaitTop
@@ -332,14 +332,14 @@ NamingScreenJoypadLoop:
callfar ClearSpriteAnims
call ClearSprites
xor a
ld [hSCX], a
ld [hSCY], a
ldh [hSCX], a
ldh [hSCY], a
scf
ret
.UpdateStringEntry:
xor a
ld [hBGMapMode], a
ldh [hBGMapMode], a
hlcoord 1, 5
call NamingScreen_IsTargetBox
jr nz, .got_coords
@@ -358,7 +358,7 @@ NamingScreenJoypadLoop:
ld l, a
call PlaceString
ld a, $1
ld [hBGMapMode], a
ldh [hBGMapMode], a
ret
.RunJumptable:
@@ -867,16 +867,16 @@ LoadNamingScreenGFX:
ld [hli], a
ld [hl], NAMINGSCREEN_CURSOR
xor a
ld [hSCY], a
ldh [hSCY], a
ld [wGlobalAnimYOffset], a
ld [hSCX], a
ldh [hSCX], a
ld [wGlobalAnimXOffset], a
ld [wJumptableIndex], a
ld [wNamingScreenLetterCase], a
ld [hBGMapMode], a
ldh [hBGMapMode], a
ld [wNamingScreenCurrNameLength], a
ld a, $7
ld [hWX], a
ldh [hWX], a
ret
NamingScreenGFX_Border:
@@ -901,14 +901,14 @@ _ComposeMailMessage:
ld [hl], e
inc hl
ld [hl], d
ld a, [hMapAnims]
ldh a, [hMapAnims]
push af
xor a
ld [hMapAnims], a
ld a, [hInMenu]
ldh [hMapAnims], a
ldh a, [hInMenu]
push af
ld a, $1
ld [hInMenu], a
ldh [hInMenu], a
call .InitBlankMail
call DelayFrame
@@ -917,9 +917,9 @@ _ComposeMailMessage:
jr nc, .loop
pop af
ld [hInMenu], a
ldh [hInMenu], a
pop af
ld [hMapAnims], a
ldh [hMapAnims], a
ret
.InitBlankMail:
@@ -946,7 +946,7 @@ _ComposeMailMessage:
ld [hl], $0
call .InitCharset
ld a, LCDC_DEFAULT
ld [rLCDC], a
ldh [rLCDC], a
call .initwNamingScreenMaxNameLength
ld b, SCGB_DIPLOMA
call GetSGBLayout
@@ -1027,14 +1027,14 @@ INCBIN "gfx/icons/mail_big.2bpp"
callfar ClearSpriteAnims
call ClearSprites
xor a
ld [hSCX], a
ld [hSCY], a
ldh [hSCX], a
ldh [hSCY], a
scf
ret
.Update:
xor a
ld [hBGMapMode], a
ldh [hBGMapMode], a
hlcoord 1, 1
lb bc, 4, 18
call ClearBox
@@ -1045,7 +1045,7 @@ INCBIN "gfx/icons/mail_big.2bpp"
hlcoord 2, 2
call PlaceString
ld a, $1
ld [hBGMapMode], a
ldh [hBGMapMode], a
ret
.DoJumptable:

View File

@@ -18,7 +18,7 @@ _OptionsMenu:
.print_text_loop ; this next will display the settings of each option when the menu is opened
push bc
xor a
ld [hJoyLast], a
ldh [hJoyLast], a
call GetOptionPointer
pop bc
ld hl, wJumptableIndex
@@ -30,7 +30,7 @@ _OptionsMenu:
xor a
ld [wJumptableIndex], a
inc a
ld [hBGMapMode], a
ldh [hBGMapMode], a
call WaitBGMap
ld b, SCGB_DIPLOMA
call GetSGBLayout
@@ -38,7 +38,7 @@ _OptionsMenu:
.joypad_loop
call JoyTextDelay
ld a, [hJoyPressed]
ldh a, [hJoyPressed]
and START | B_BUTTON
jr nz, .ExitOptions
call OptionsControl
@@ -57,7 +57,7 @@ _OptionsMenu:
call PlaySFX
call WaitSFX
pop af
ld [hInMenu], a
ldh [hInMenu], a
ret
StringOptions:
@@ -106,7 +106,7 @@ GetOptionPointer:
Options_TextSpeed:
call GetTextSpeed
ld a, [hJoyPressed]
ldh a, [hJoyPressed]
bit D_LEFT_F, a
jr nz, .LeftPressed
bit D_RIGHT_F, a
@@ -187,7 +187,7 @@ GetTextSpeed:
Options_BattleScene:
ld hl, wOptions
ld a, [hJoyPressed]
ldh a, [hJoyPressed]
bit D_LEFT_F, a
jr nz, .LeftPressed
bit D_RIGHT_F, a
@@ -226,7 +226,7 @@ Options_BattleScene:
Options_BattleStyle:
ld hl, wOptions
ld a, [hJoyPressed]
ldh a, [hJoyPressed]
bit D_LEFT_F, a
jr nz, .LeftPressed
bit D_RIGHT_F, a
@@ -264,7 +264,7 @@ Options_BattleStyle:
Options_Sound:
ld hl, wOptions
ld a, [hJoyPressed]
ldh a, [hJoyPressed]
bit D_LEFT_F, a
jr nz, .LeftPressed
bit D_RIGHT_F, a
@@ -316,7 +316,7 @@ Options_Sound:
Options_Print:
call GetPrinterSetting
ld a, [hJoyPressed]
ldh a, [hJoyPressed]
bit D_LEFT_F, a
jr nz, .LeftPressed
bit D_RIGHT_F, a
@@ -411,7 +411,7 @@ GetPrinterSetting:
Options_MenuAccount:
ld hl, wOptions2
ld a, [hJoyPressed]
ldh a, [hJoyPressed]
bit D_LEFT_F, a
jr nz, .LeftPressed
bit D_RIGHT_F, a
@@ -449,7 +449,7 @@ Options_MenuAccount:
Options_Frame:
ld hl, wTextBoxFrame
ld a, [hJoyPressed]
ldh a, [hJoyPressed]
bit D_LEFT_F, a
jr nz, .LeftPressed
bit D_RIGHT_F, a
@@ -479,7 +479,7 @@ UpdateFrame:
ret
Options_Cancel:
ld a, [hJoyPressed]
ldh a, [hJoyPressed]
and A_BUTTON
jr nz, .Exit
and a
@@ -491,7 +491,7 @@ Options_Cancel:
OptionsControl:
ld hl, wJumptableIndex
ld a, [hJoyLast]
ldh a, [hJoyLast]
cp D_DOWN
jr z, .DownPressed
cp D_UP

View File

@@ -325,10 +325,10 @@ FindStackTop:
SavingDontTurnOffThePower:
; Prevent joypad interrupts
xor a
ld [hJoypadReleased], a
ld [hJoypadPressed], a
ld [hJoypadSum], a
ld [hJoypadDown], a
ldh [hJoypadReleased], a
ldh [hJoypadPressed], a
ldh [hJoypadSum], a
ldh [hJoypadDown], a
; Save the text speed setting to the stack
ld a, [wOptions]
push af

View File

@@ -1,51 +1,51 @@
SaveMenu_CopyTilemapAtOnce:
ld a, [hCGB]
ldh a, [hCGB]
and a
jp z, WaitBGMap
; The following is a modified version of CopyTilemapAtOnce.
ld a, [hBGMapMode]
ldh a, [hBGMapMode]
push af
xor a
ld [hBGMapMode], a
ld a, [hMapAnims]
ldh [hBGMapMode], a
ldh a, [hMapAnims]
push af
xor a
ld [hMapAnims], a
ldh [hMapAnims], a
.WaitLY:
ld a, [rLY]
ldh a, [rLY]
cp $60
jr c, .WaitLY
di
ld a, BANK(vBGMap2)
ld [rVBK], a
ldh [rVBK], a
hlcoord 0, 0, wAttrMap
call .CopyTilemapAtOnce
ld a, BANK(vBGMap0)
ld [rVBK], a
ldh [rVBK], a
hlcoord 0, 0
call .CopyTilemapAtOnce
.WaitLY2:
ld a, [rLY]
ldh a, [rLY]
cp $60
jr c, .WaitLY2
ei
pop af
ld [hMapAnims], a
ldh [hMapAnims], a
pop af
ld [hBGMapMode], a
ldh [hBGMapMode], a
ret
.CopyTilemapAtOnce:
ld [hSPBuffer], sp ; $ffd9
ld sp, hl
ld a, [hBGMapAddress + 1]
ldh a, [hBGMapAddress + 1]
ld h, a
ld l, 0
ld a, SCREEN_HEIGHT
ld [hTilesPerCycle], a
ldh [hTilesPerCycle], a
ld b, 1 << 1
ld c, LOW(rSTAT)
@@ -64,14 +64,14 @@ endr
ld de, BG_MAP_WIDTH - SCREEN_WIDTH
add hl, de
ld a, [hTilesPerCycle]
ldh a, [hTilesPerCycle]
dec a
ld [hTilesPerCycle], a
ldh [hTilesPerCycle], a
jr nz, .loop
ld a, [hSPBuffer]
ldh a, [hSPBuffer]
ld l, a
ld a, [hSPBuffer + 1]
ldh a, [hSPBuffer + 1]
ld h, a
ld sp, hl
ret

View File

@@ -1,16 +1,16 @@
_InitScrollingMenu::
xor a
ld [wMenuJoypad], a
ld [hBGMapMode], a
ldh [hBGMapMode], a
inc a
ld [hInMenu], a
ldh [hInMenu], a
call InitScrollingMenuCursor
call ScrollingMenu_InitFlags
call ScrollingMenu_ValidateSwitchItem
call ScrollingMenu_InitDisplay
call ApplyTilemap
xor a
ld [hBGMapMode], a
ldh [hBGMapMode], a
ret
_ScrollingMenu::
@@ -24,22 +24,22 @@ _ScrollingMenu::
call MenuClickSound
ld [wMenuJoypad], a
ld a, 0
ld [hInMenu], a
ldh [hInMenu], a
ret
.zero
call ScrollingMenu_InitDisplay
ld a, 1
ld [hBGMapMode], a
ldh [hBGMapMode], a
ld c, 3
call DelayFrames
xor a
ld [hBGMapMode], a
ldh [hBGMapMode], a
ret
ScrollingMenu_InitDisplay:
xor a
ld [hBGMapMode], a
ldh [hBGMapMode], a
ld hl, wOptions
ld a, [hl]
push af
@@ -54,10 +54,10 @@ ScrollingMenu_InitDisplay:
ScrollingMenuJoyAction:
.loop
call ScrollingMenuJoypad
ld a, [hJoyLast]
ldh a, [hJoyLast]
and D_PAD
ld b, a
ld a, [hJoyPressed]
ldh a, [hJoyPressed]
and BUTTONS
or b
bit A_BUTTON_F, a

View File

@@ -78,13 +78,13 @@ StartMenu::
dw .ReturnRedraw
.Exit:
ld a, [hOAMUpdate]
ldh a, [hOAMUpdate]
push af
ld a, 1
ld [hOAMUpdate], a
ldh [hOAMUpdate], a
call LoadFontsExtra
pop af
ld [hOAMUpdate], a
ldh [hOAMUpdate], a
.ReturnEnd:
call ExitMenu
.ReturnEnd2:
@@ -95,7 +95,7 @@ StartMenu::
.GetInput:
; Return carry on exit, and no-carry on selection.
xor a
ld [hBGMapMode], a
ldh [hBGMapMode], a
call ._DrawMenuAccount
call SetUpMenu
ld a, $ff
@@ -120,13 +120,13 @@ StartMenu::
.ExitMenuRunScript:
call ExitMenu
ld a, HMENURETURN_SCRIPT
ld [hMenuReturn], a
ldh [hMenuReturn], a
ret
.ExitMenuRunScriptCloseText:
call ExitMenu
ld a, HMENURETURN_SCRIPT
ld [hMenuReturn], a
ldh [hMenuReturn], a
jr .ReturnEnd2
.ExitMenuCallFuncCloseText:

View File

@@ -24,7 +24,7 @@ TrainerCard:
ld a, [wJumptableIndex]
bit 7, a
jr nz, .quit
ld a, [hJoyLast]
ldh a, [hJoyLast]
and B_BUTTON
jr nz, .quit
call .RunJumptable
@@ -251,7 +251,7 @@ TrainerCard_PrintTopHalfOfCard:
hlcoord 14, 1
lb bc, 5, 7
xor a
ld [hGraphicStartTile], a
ldh [hGraphicStartTile], a
predef PlaceGraphic
ret
@@ -442,7 +442,7 @@ TrainerCard_Page1_PrintGameTime:
ld de, wGameTimeMinutes
lb bc, PRINTNUM_LEADINGZEROS | 1, 2
call PrintNum
ld a, [hVBlankCounter]
ldh a, [hVBlankCounter]
and $1f
ret nz
hlcoord 15, 12
@@ -452,7 +452,7 @@ TrainerCard_Page1_PrintGameTime:
ret
TrainerCard_Page2_3_AnimateBadges:
ld a, [hVBlankCounter]
ldh a, [hVBlankCounter]
and %111
ret nz
ld a, [wTrainerCardBadgeFrameCounter]