diff options
57 files changed, 1262 insertions, 1205 deletions
@@ -43,10 +43,10 @@ $(foreach obj, $(gold_obj), $(eval $(call DEP,$(obj),$(obj:_gold.o=.asm)))) $(foreach obj, $(silver_obj), $(eval $(call DEP,$(obj),$(obj:_silver.o=.asm)))) $(gold_obj): %_gold.o: %.asm $$(dep) - rgbasm -D GOLD -o $@ $< + rgbasm -D GOLD -L -o $@ $< $(silver_obj): %_silver.o: %.asm $$(dep) - rgbasm -D SILVER -o $@ $< + rgbasm -D SILVER -L -o $@ $< pokegold.gbc: $(gold_obj) rgblink -n pokegold.sym -m pokegold.map -l pokegold.link -o $@ $^ diff --git a/constants.asm b/constants.asm index 4b3402e9..0dd77e29 100644 --- a/constants.asm +++ b/constants.asm @@ -2,8 +2,6 @@ INCLUDE "charmap.asm" INCLUDE "macros.asm" -INCLUDE "hram.asm" - INCLUDE "constants/hardware_constants.asm" INCLUDE "constants/wram_constants.asm" INCLUDE "constants/sram_constants.asm" diff --git a/engine/anim_hp_bar.asm b/engine/anim_hp_bar.asm index 29afa8ed..561cba42 100755 --- a/engine/anim_hp_bar.asm +++ b/engine/anim_hp_bar.asm @@ -277,7 +277,7 @@ Functiond78a: ; d78a (3:578a) ret Functiond7ba: ; d7ba (3:57ba) - ld a, [hCGB] + ldh a, [hCGB] and a ret z ld hl, wCurHPAnimPal @@ -290,7 +290,7 @@ Functiond7ba: ; d7ba (3:57ba) ret Functiond7cf: ; d7cf (3:57cf) - ld a, [hCGB] + ldh a, [hCGB] and a jr nz, .asm_d7db call DelayFrame @@ -318,15 +318,15 @@ Functiond7cf: ; d7cf (3:57cf) cp $5 jr z, .asm_d805 ld a, $2 - ld [hBGMapMode], a + ldh [hBGMapMode], a ld a, c - ld [hBGMapThird], a + ldh [hBGMapThird], a call DelayFrame .asm_d805 ld a, $1 - ld [hBGMapMode], a + ldh [hBGMapMode], a ld a, c - ld [hBGMapThird], a + ldh [hBGMapThird], a call DelayFrame pop af cp $2 @@ -338,14 +338,14 @@ Functiond7cf: ; d7cf (3:57cf) .asm_d819 inc c ld a, $2 - ld [hBGMapMode], a + ldh [hBGMapMode], a ld a, c - ld [hBGMapThird], a + ldh [hBGMapThird], a call DelayFrame ld a, $1 - ld [hBGMapMode], a + ldh [hBGMapMode], a ld a, c - ld [hBGMapThird], a + ldh [hBGMapThird], a call DelayFrame ret @@ -358,7 +358,7 @@ Functiond7cf: ; d7cf (3:57cf) .asm_d835 call DelayFrame ld a, c - ld [hBGMapThird], a + ldh [hBGMapThird], a call DelayFrame ret diff --git a/engine/billspctop.asm b/engine/billspctop.asm index 65403656..f323d906 100644 --- a/engine/billspctop.asm +++ b/engine/billspctop.asm @@ -20,7 +20,7 @@ Text_GottaHavePokemon: BillsPC_LogIn: ; e3f7 (3:63f7) xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a call LoadStandardMenuDataHeader call Functione566 ld hl, wOptions @@ -51,7 +51,7 @@ BillsPC_UsePC: ; e41e (3:641e) call SetPalettes xor a ld [wWhichIndexSet], a - ld [hBGMapMode], a + ldh [hBGMapMode], a call DoNthMenu jr c, .asm_e446 ld a, [wMenuCursorBuffer] @@ -226,7 +226,7 @@ BillsPC_ChangeBoxMenu: Functione566: ; e566 (3:6566) call DisableSpriteUpdates xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a call ClearBGPalettes call ClearSprites hlcoord 0, 0 diff --git a/engine/color.asm b/engine/color.asm index 25f7179b..fa041873 100755 --- a/engine/color.asm +++ b/engine/color.asm @@ -130,7 +130,7 @@ Function9102: call CopyBytes call Function9b28 ld a, $1 - ld [hCGBPalUpdate], a + ldh [hCGBPalUpdate], a ret .BGPal: @@ -148,7 +148,7 @@ Function9102: Function9136: call CheckCGB ret nz - ld a, [hSGB] + ldh a, [hSGB] and a ret z ld hl, BlkPacket_9ee5 @@ -157,7 +157,7 @@ Function9136: Function9144: call CheckCGB jr nz, .asm_9153 - ld a, [hSGB] + ldh a, [hSGB] and a ret z ld hl, PalPacket_a095 @@ -172,7 +172,7 @@ Function9144: Function915e: call CheckCGB jr nz, .asm_916d - ld a, [hSGB] + ldh a, [hSGB] and a ret z ld hl, PalPacket_a0a5 @@ -187,7 +187,7 @@ Function915e: Function9178: call CheckCGB jr nz, .asm_91a9 - ld a, [hSGB] + ldh a, [hSGB] and a ret z ld a, c @@ -217,7 +217,7 @@ Function9178: ret Function91b4: - ld a, [hCGB] + ldh a, [hCGB] and a jr nz, .asm_91bf ld hl, wc602 @@ -293,7 +293,7 @@ ApplyHPBarPals: ld bc, $4 call CopyBytes ld a, $1 - ld [hCGBPalUpdate], a + ldh [hCGBPalUpdate], a ret .asm_9236 @@ -331,7 +331,7 @@ LoadStatsScreenPals: ld [wTempBGPals + $11], a call Function9b28 ld a, $1 - ld [hCGBPalUpdate], a + ldh [hCGBPalUpdate], a ret LoadMailPalettes: @@ -557,19 +557,19 @@ Function9b28: ; 9b28 (2:5b28) ret Function9b35: ; 9b35 (2:5b35) - ld a, [rLCDC] + ldh a, [rLCDC] bit 7, a jr z, .asm_9b52 - ld a, [hBGMapMode] + ldh a, [hBGMapMode] push af ld a, $2 - ld [hBGMapMode], a + ldh [hBGMapMode], a call DelayFrame call DelayFrame call DelayFrame call DelayFrame pop af - ld [hBGMapMode], a + ldh [hBGMapMode], a ret .asm_9b52 @@ -577,7 +577,7 @@ Function9b35: ; 9b35 (2:5b35) ld de, $9800 ld b, $12 ld a, $1 - ld [rVBK], a + ldh [rVBK], a .asm_9b5e ld c, $14 .asm_9b60 @@ -595,7 +595,7 @@ Function9b35: ; 9b35 (2:5b35) dec b jr nz, .asm_9b5e ld a, $0 - ld [rVBK], a + ldh [rVBK], a ret Function9b75: ; 9b75 (2:5b75) @@ -683,11 +683,11 @@ Function9be9: ret z ld hl, Palettes_9c09 ld a, $90 - ld [rOBPI], a + ldh [rOBPI], a ld c, $30 .asm_9bf6 ld a, [hli] - ld [rOBPD], a + ldh [rOBPD], a dec c jr nz, .asm_9bf6 ld hl, Palettes_9c09 @@ -731,7 +731,7 @@ Function9c39: call CheckCGB ret z ld a, $90 - ld [rOBPI], a + ldh [rOBPI], a ld a, $1c call Function9ac7 call Function9c52 @@ -744,7 +744,7 @@ Function9c52: ; 9c52 (2:5c52) ld c, $8 .asm_9c54 ld a, [hli] - ld [rOBPD], a + ldh [rOBPD], a dec c jr nz, .asm_9c54 ret @@ -791,9 +791,9 @@ Function9c87: ; 9c87 (2:5c87) .asm_9c8c push bc xor a - ld [rJOYP], a + ldh [rJOYP], a ld a, $30 - ld [rJOYP], a + ldh [rJOYP], a ld b, $10 .asm_9c96 ld e, $8 @@ -805,18 +805,18 @@ Function9c87: ; 9c87 (2:5c87) jr nz, .asm_9ca2 ld a, $20 .asm_9ca2 - ld [rJOYP], a + ldh [rJOYP], a ld a, $30 - ld [rJOYP], a + ldh [rJOYP], a rr d dec e jr nz, .asm_9c9a dec b jr nz, .asm_9c96 ld a, $20 - ld [rJOYP], a + ldh [rJOYP], a ld a, $30 - ld [rJOYP], a + ldh [rJOYP], a call Function9ed9 pop bc dec b @@ -832,12 +832,12 @@ InitSGBBorder: ; 9cc0 (2:5cc0) set 7, a ld [wd8ba], a xor a - ld [rJOYP], a - ld [hSGB], a + ldh [rJOYP], a + ldh [hSGB], a call Function9da9 jr nc, .asm_9cf7 ld a, $1 - ld [hSGB], a + ldh [hSGB], a call Function9d4a call Function9e13 call Function9ed9 @@ -857,31 +857,31 @@ InitCGBPals:: ; 9cfd (2:5cfd) call CheckCGB ret z ld a, $1 - ld [rVBK], a + ldh [rVBK], a ld hl, $8000 ld bc, $2000 xor a call ByteFill ld a, $0 - ld [rVBK], a + ldh [rVBK], a ld a, $80 - ld [rBGPI], a + ldh [rBGPI], a ld c, $20 .asm_9d19 ld a, $ff - ld [rBGPD], a + ldh [rBGPD], a ld a, $7f - ld [rBGPD], a + ldh [rBGPD], a dec c jr nz, .asm_9d19 ld a, $80 - ld [rOBPI], a + ldh [rOBPI], a ld c, $20 .asm_9d2a ld a, $ff - ld [rOBPD], a + ldh [rOBPD], a ld a, $7f - ld [rOBPD], a + ldh [rOBPD], a dec c jr nz, .asm_9d2a ld hl, wTempBGPals @@ -929,7 +929,7 @@ Function9d4a: ; 9d4a (2:5d4a) Function9d70: di xor a - ld [rJOYP], a + ldh [rJOYP], a ld hl, PalPacket_a1c5 call Function9c87 call Function9d8b @@ -964,38 +964,38 @@ Function9da9: ; 9da9 (2:5da9) ld hl, PalPacket_a195 call Function9c87 call Function9ed9 - ld a, [rJOYP] + ldh a, [rJOYP] and $3 cp $3 jr nz, .asm_9e05 ld a, $20 - ld [rJOYP], a - ld a, [rJOYP] - ld a, [rJOYP] + ldh [rJOYP], a + ldh a, [rJOYP] + ldh a, [rJOYP] call Function9ed9 call Function9ed9 ld a, $30 - ld [rJOYP], a + ldh [rJOYP], a call Function9ed9 call Function9ed9 ld a, $10 - ld [rJOYP], a - ld a, [rJOYP] - ld a, [rJOYP] - ld a, [rJOYP] - ld a, [rJOYP] - ld a, [rJOYP] - ld a, [rJOYP] + ldh [rJOYP], a + ldh a, [rJOYP] + ldh a, [rJOYP] + ldh a, [rJOYP] + ldh a, [rJOYP] + ldh a, [rJOYP] + ldh a, [rJOYP] call Function9ed9 call Function9ed9 ld a, $30 - ld [rJOYP], a - ld a, [rJOYP] - ld a, [rJOYP] - ld a, [rJOYP] + ldh [rJOYP], a + ldh a, [rJOYP] + ldh a, [rJOYP] + ldh a, [rJOYP] call Function9ed9 call Function9ed9 - ld a, [rJOYP] + ldh a, [rJOYP] and $3 cp $3 jr nz, .asm_9e05 @@ -1016,24 +1016,24 @@ Function9e0a: ; 9e0a (2:5e0a) Function9e13: ; 9e13 (2:5e13) call DisableLCD ld a, $e4 - ld [rBGP], a + ldh [rBGP], a ld hl, Palettes_a265 ld de, $8800 ld bc, $1000 call Function9eb1 call Function9ec3 ld a, $e3 - ld [rLCDC], a + ldh [rLCDC], a ld hl, PalPacket_a175 call Function9c87 xor a - ld [rBGP], a + ldh [rBGP], a ret Function9e37: ; 9e37 (2:5e37) call DisableLCD ld a, $e4 - ld [rBGP], a + ldh [rBGP], a ld de, $8800 ld bc, $140 call Function9eb1 @@ -1057,17 +1057,17 @@ Function9e37: ; 9e37 (2:5e37) call Function9eb1 call Function9ec3 ld a, $e3 - ld [rLCDC], a + ldh [rLCDC], a ld hl, PalPacket_a1b5 call Function9c87 xor a - ld [rBGP], a + ldh [rBGP], a ret Function9e83: ; 9e83 (2:5e83) call DisableLCD ld a, $e4 - ld [rBGP], a + ldh [rBGP], a ld de, $8800 ld b, $80 .asm_9e8f @@ -1081,11 +1081,11 @@ Function9e83: ; 9e83 (2:5e83) jr nz, .asm_9e8f call Function9ec3 ld a, $e3 - ld [rLCDC], a + ldh [rLCDC], a ld hl, PalPacket_a1a5 call Function9c87 xor a - ld [rBGP], a + ldh [rBGP], a ret Function9eb1: ; 9eb1 (2:5eb1) diff --git a/engine/events/overworld.asm b/engine/events/overworld.asm index 16ba1044..a00f35aa 100755 --- a/engine/events/overworld.asm +++ b/engine/events/overworld.asm @@ -206,7 +206,7 @@ CutDownTreeOrGrass: ld a, [wBuffer5] ld [hl], a xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a call OverworldTextModeSwitch call UpdateSprites call DelayFrame @@ -542,7 +542,7 @@ TryToFly: .asm_ca83 xor a - ld [hMapAnims], a + ldh [hMapAnims], a call LoadStandardMenuDataHeader call ClearSprites ld a, $24 @@ -1134,7 +1134,7 @@ DisappearWhirlpool: ; 4e20 ld a, [wBuffer5] ld [hl], a xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a call OverworldTextModeSwitch ld a, [wBuffer6] ld e, a @@ -1285,12 +1285,12 @@ TryRockSmashFromMenu: ; cef7 (3:4ef7) GetFacingObject: ; cf10 (3:4f10) farcall CheckFacingObject jr nc, .asm_cf2f - ld a, [hObjectStructIndexBuffer] + ldh a, [hObjectStructIndexBuffer] call GetObjectStruct ld hl, $1 add hl, bc ld a, [hl] - ld [hLastTalked], a + ldh [hLastTalked], a call GetMapObject ld hl, $4 add hl, bc @@ -1547,7 +1547,7 @@ PutTheRodAway: ; d096 call ClearBox call WaitBGMap xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a ld a, $1 ld [wPlayerAction], a call UpdateSprites diff --git a/engine/health.asm b/engine/health.asm index 506d5a9d..a94a3ec3 100755 --- a/engine/health.asm +++ b/engine/health.asm @@ -44,43 +44,46 @@ Functionc6bc: ; c6bc (3:46bc) farcall Functionf900 ret -ComputeHPBarPixels: ; c6de (3:46de) +ComputeHPBarPixels: +; e = bc * (6 * 8) / de ld a, b or c jr z, .asm_c722 push hl xor a - ld [hPrintNum2], a + ldh [hMultiplicand + 0], a ld a, b - ld [hPrintNum3], a + ldh [hMultiplicand + 1], a ld a, c - ld [hPrintNum4], a - ld a, $30 - ld [hPrintNum5], a + ldh [hMultiplicand + 2], a + ld a, 6 * 8 + ldh [hMultiplier], a call Multiply + ; We need de to be under 256 because hDivisor is only 1 byte. ld a, d and a jr z, .asm_c711 + ; divide de and hProduct by 4 srl d rr e srl d rr e - ld a, [hStringCmpString2] + ldh a, [hProduct + 2] ld b, a - ld a, [hPrintNum4] + ldh a, [hProduct + 3] srl b rr a srl b rr a - ld [hPrintNum4], a + ldh [hDividend + 3], a ld a, b - ld [hPrintNum3], a + ldh [hDividend + 2], a .asm_c711 ld a, e - ld [hPrintNum5], a + ldh [hPrintNum5], a ld b, $4 call Divide - ld a, [hPrintNum4] + ldh a, [hPrintNum4] ld e, a pop hl and a diff --git a/engine/main_menu.asm b/engine/main_menu.asm index 7e22a02e..0dd1804b 100755 --- a/engine/main_menu.asm +++ b/engine/main_menu.asm @@ -92,7 +92,7 @@ Function5ae4: ; 5ae4 (1:5ae4) ret .asm_5af0 - ld a, [hCGB] + ldh a, [hCGB] cp $1 ld a, $1 ret nz @@ -132,7 +132,7 @@ Function5b27: ; 5b27 (1:5b27) and a ret z xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a call Function5b45 ld hl, wOptions ld a, [hl] @@ -142,7 +142,7 @@ Function5b27: ; 5b27 (1:5b27) pop af ld [wOptions], a ld a, $1 - ld [hBGMapMode], a + ldh [hBGMapMode], a ret Function5b45: ; 5b45 (1:5b45) @@ -175,7 +175,7 @@ Function5b5b: ; 5b5b (1:5b5b) decoord 1, 14 call Function5bb8 decoord 4, 16 - ld a, [hHours] + ldh a, [hHours] ld c, a farcall PrintHour ld [hl], $9c @@ -229,7 +229,7 @@ Function5bb8: ; 5bb8 (1:5bb8) Function5bf7: ; 5bf7 (1:5bf7) xor a - ld [hMapAnims], a + ldh [hMapAnims], a call ClearTileMap call LoadFontsExtra call Functiond9e @@ -256,12 +256,12 @@ MainMenu_NewGame: ld a, $0 ld [wceec], a ld a, $f1 - ld [hMapEntryMethod], a + ldh [hMapEntryMethod], a jp FinishContinueFunction Function5c3a: ; 5c3a (1:5c3a) xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a call Function5c41 ret @@ -276,16 +276,16 @@ Function5c41: ; 5c41 (1:5c41) 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 ld hl, wPartyCount @@ -481,7 +481,7 @@ MainMenu_Continue: call LoadStandardMenuDataHeader call DisplaySaveInfoOnContinue ld a, $1 - ld [hBGMapMode], a + ldh [hBGMapMode], a ld c, 20 call DelayFrames call ConfirmContinue @@ -514,7 +514,7 @@ MainMenu_Continue: cp $1 jr z, .asm_5e42 ld a, $f2 - ld [hMapEntryMethod], a + ldh [hMapEntryMethod], a jp FinishContinueFunction .asm_5e41 @@ -533,7 +533,7 @@ PostCreditsSpawn: ; 5e52 (1:5e52) xor a ld [wd1db], a ld a, $f1 - ld [hMapEntryMethod], a + ldh [hMapEntryMethod], a ret ConfirmContinue: ; 5e5b (1:5e5b) @@ -613,7 +613,7 @@ DisplayContinueDataWithRTCError: ; 5ec7 (1:5ec7) Continue_LoadMenuHeader: ; 5ed7 (1:5ed7) xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a ld hl, .MenuDataHeader_Dex CheckFlag ENGINE_POKEDEX jr nz, .asm_5ee7 @@ -920,7 +920,7 @@ StorePlayerName: ; 6119 (1:6119) ret ShrinkPlayer: ; 6123 (1:6123) - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, 0 << 7 | 32 ; fade out @@ -986,11 +986,11 @@ MovePlayerPic push hl push de xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a lb bc, 7, 7 predef PlaceGraphic xor a - ld [hBGMapThird], a + ldh [hBGMapThird], a call WaitBGMap call DelayFrame pop de @@ -1023,17 +1023,17 @@ IntroFadePalettes: Intro_WipeInFrontpic: ; 61c5 (1:61c5) ld a, $77 - ld [hWX], a + ldh [hWX], a call DelayFrame ld a, $e4 call DmgToCgbBGPals .asm_61d1 call DelayFrame - ld a, [hWX] + ldh a, [hWX] sub $8 cp $ff ret z - ld [hWX], a + ldh [hWX], a jr .asm_61d1 Intro_PrepTrainerPic: ; 61df, 61e0 (1:61df, 1:61e0) @@ -1042,7 +1042,7 @@ Intro_PrepTrainerPic: ; 61df, 61e0 (1:61df, 1:61e0) ld hl, $58a0 rst FarCall xor a - ld [hGraphicStartTile], a + ldh [hGraphicStartTile], a hlcoord 6, 4 lb bc, 7, 7 predef PlaceGraphic @@ -1053,7 +1053,7 @@ ShrinkFrame: ; 61f7 (1:61f7) ld c, $31 predef DecompressGet2bpp xor a - ld [hGraphicStartTile], a + ldh [hGraphicStartTile], a hlcoord 6, 4 lb bc, 7, 7 predef PlaceGraphic diff --git a/engine/math.asm b/engine/math.asm index 6f584edf..cdac2d37 100755 --- a/engine/math.asm +++ b/engine/math.asm @@ -5,41 +5,41 @@ _Multiply:: ; 67bd ld b, a xor a - ld [hProduct], a - ld [hMathBuffer + 1], a - ld [hMathBuffer + 2], a - ld [hMathBuffer + 3], a - ld [hMathBuffer + 4], a + ldh [hProduct], a + ldh [hMathBuffer + 1], a + ldh [hMathBuffer + 2], a + ldh [hMathBuffer + 3], a + ldh [hMathBuffer + 4], a .loop - ld a, [hMultiplier] + ldh a, [hMultiplier] srl a - ld [hMultiplier], a + ldh [hMultiplier], a jr nc, .next - ld a, [hMathBuffer + 4] + ldh a, [hMathBuffer + 4] ld c, a - ld a, [hMultiplicand + 2] + ldh a, [hMultiplicand + 2] add c - ld [hMathBuffer + 4], a + ldh [hMathBuffer + 4], a - ld a, [hMathBuffer + 3] + ldh a, [hMathBuffer + 3] ld c, a - ld a, [hMultiplicand + 1] + ldh a, [hMultiplicand + 1] adc c - ld [hMathBuffer + 3], a + ldh [hMathBuffer + 3], a - ld a, [hMathBuffer + 2] + ldh a, [hMathBuffer + 2] ld c, a - ld a, [hMultiplicand + 0] + ldh a, [hMultiplicand + 0] adc c - ld [hMathBuffer + 2], a + ldh [hMathBuffer + 2], a - ld a, [hMathBuffer + 1] + ldh a, [hMathBuffer + 1] ld c, a - ld a, [hProduct] + ldh a, [hProduct] adc c - ld [hMathBuffer + 1], a + ldh [hMathBuffer + 1], a .next dec b @@ -47,71 +47,71 @@ _Multiply:: ; 67bd ; hMultiplicand <<= 1 - ld a, [hMultiplicand + 2] + ldh a, [hMultiplicand + 2] add a - ld [hMultiplicand + 2], a + ldh [hMultiplicand + 2], a - ld a, [hMultiplicand + 1] + ldh a, [hMultiplicand + 1] rla - ld [hMultiplicand + 1], a + ldh [hMultiplicand + 1], a - ld a, [hMultiplicand + 0] + ldh a, [hMultiplicand + 0] rla - ld [hMultiplicand + 0], a + ldh [hMultiplicand + 0], a - ld a, [hProduct] + ldh a, [hProduct] rla - ld [hProduct], a + ldh [hProduct], a jr .loop .done - ld a, [hMathBuffer + 4] - ld [hProduct + 3], a + ldh a, [hMathBuffer + 4] + ldh [hProduct + 3], a - ld a, [hMathBuffer + 3] - ld [hProduct + 2], a + ldh a, [hMathBuffer + 3] + ldh [hProduct + 2], a - ld a, [hMathBuffer + 2] - ld [hProduct + 1], a + ldh a, [hMathBuffer + 2] + ldh [hProduct + 1], a - ld a, [hMathBuffer + 1] - ld [hProduct + 0], a + ldh a, [hMathBuffer + 1] + ldh [hProduct + 0], a ret _Divide:: ; 681d xor a - ld [hMathBuffer + 0], a - ld [hMathBuffer + 1], a - ld [hMathBuffer + 2], a - ld [hMathBuffer + 3], a - ld [hMathBuffer + 4], a + ldh [hMathBuffer + 0], a + ldh [hMathBuffer + 1], a + ldh [hMathBuffer + 2], a + ldh [hMathBuffer + 3], a + ldh [hMathBuffer + 4], a ld a, 9 ld e, a .loop - ld a, [hMathBuffer + 0] + ldh a, [hMathBuffer + 0] ld c, a - ld a, [hDividend + 1] + ldh a, [hDividend + 1] sub c ld d, a - ld a, [hDivisor] + ldh a, [hDivisor] ld c, a - ld a, [hDividend + 0] + ldh a, [hDividend + 0] sbc c jr c, .next - ld [hDividend + 0], a + ldh [hDividend + 0], a ld a, d - ld [hDividend + 1], a + ldh [hDividend + 1], a - ld a, [hMathBuffer + 4] + ldh a, [hMathBuffer + 4] inc a - ld [hMathBuffer + 4], a + ldh [hMathBuffer + 4], a jr .loop @@ -120,39 +120,39 @@ _Divide:: ; 681d cp 1 jr z, .done - ld a, [hMathBuffer + 4] + ldh a, [hMathBuffer + 4] add a - ld [hMathBuffer + 4], a + ldh [hMathBuffer + 4], a - ld a, [hMathBuffer + 3] + ldh a, [hMathBuffer + 3] rla - ld [hMathBuffer + 3], a + ldh [hMathBuffer + 3], a - ld a, [hMathBuffer + 2] + ldh a, [hMathBuffer + 2] rla - ld [hMathBuffer + 2], a + ldh [hMathBuffer + 2], a - ld a, [hMathBuffer + 1] + ldh a, [hMathBuffer + 1] rla - ld [hMathBuffer + 1], a + ldh [hMathBuffer + 1], a dec e jr nz, .next2 ld e, 8 - ld a, [hMathBuffer + 0] - ld [hDivisor], a + ldh a, [hMathBuffer + 0] + ldh [hDivisor], a xor a - ld [hMathBuffer + 0], a + ldh [hMathBuffer + 0], a - ld a, [hDividend + 1] - ld [hDividend + 0], a + ldh a, [hDividend + 1] + ldh [hDividend + 0], a - ld a, [hDividend + 2] - ld [hDividend + 1], a + ldh a, [hDividend + 2] + ldh [hDividend + 1], a - ld a, [hDividend + 3] - ld [hDividend + 2], a + ldh a, [hDividend + 3] + ldh [hDividend + 2], a .next2 ld a, e @@ -161,30 +161,30 @@ _Divide:: ; 681d dec b .okay - ld a, [hDivisor] + ldh a, [hDivisor] srl a - ld [hDivisor], a + ldh [hDivisor], a - ld a, [hMathBuffer + 0] + ldh a, [hMathBuffer + 0] rr a - ld [hMathBuffer + 0], a + ldh [hMathBuffer + 0], a jr .loop .done - ld a, [hDividend + 1] - ld [hDivisor], a + ldh a, [hDividend + 1] + ldh [hDivisor], a - ld a, [hMathBuffer + 4] - ld [hDividend + 3], a + ldh a, [hMathBuffer + 4] + ldh [hDividend + 3], a - ld a, [hMathBuffer + 3] - ld [hDividend + 2], a + ldh a, [hMathBuffer + 3] + ldh [hDividend + 2], a - ld a, [hMathBuffer + 2] - ld [hDividend + 1], a + ldh a, [hMathBuffer + 2] + ldh [hDividend + 1], a - ld a, [hMathBuffer + 1] - ld [hDividend + 0], a + ldh a, [hMathBuffer + 1] + ldh [hDividend + 0], a ret diff --git a/engine/move_mon.asm b/engine/move_mon.asm index aae1390b..dfa51a8e 100755 --- a/engine/move_mon.asm +++ b/engine/move_mon.asm @@ -11,7 +11,7 @@ TryAddMonToParty:: ; d892 (3:5892) ret nc ld [de], a ld a, [de] - ld [hMoveMon], a + ldh [hMoveMon], a add e ld e, a jr nc, .asm_d8ad @@ -28,7 +28,7 @@ TryAddMonToParty:: ; d892 (3:5892) jr z, .asm_d8c2 ld hl, wOTPartyMonOT .asm_d8c2 - ld a, [hMoveMon] + ldh a, [hMoveMon] dec a call SkipNames ld d, h @@ -43,7 +43,7 @@ TryAddMonToParty:: ; d892 (3:5892) ld [wd151], a call GetPokemonName ld hl, wPartyMonNicknames - ld a, [hMoveMon] + ldh a, [hMoveMon] dec a call SkipNames ld d, h @@ -58,7 +58,7 @@ TryAddMonToParty:: ; d892 (3:5892) jr z, .asm_d903 ld hl, wOTPartyMon1 .asm_d903 - ld a, [hMoveMon] + ldh a, [hMoveMon] dec a ld bc, PARTYMON_STRUCT_LENGTH call AddNTimes @@ -117,28 +117,34 @@ GeneratePartyMonStats: inc de inc de inc de + + ; Initialize ID. ld a, [wPlayerID] ld [de], a inc de ld a, [wPlayerID + 1] ld [de], a inc de + + ; Initialize Exp. push de ld a, [wCurPartyLevel] ld d, a - callfar CalcExpAtLevel ; 14:5550 + callfar CalcExpAtLevel pop de - ld a, [hPrintNum2] + ldh a, [hProduct + 1] ld [de], a inc de - ld a, [hStringCmpString2] + ldh a, [hProduct + 2] ld [de], a inc de - ld a, [hPrintNum4] + ldh a, [hProduct + 3] ld [de], a inc de + + ; Initialize stat experience. xor a - ld b, $a + ld b, MON_DVS - MON_STAT_EXP .asm_d980 ld [de], a inc de @@ -215,10 +221,10 @@ GeneratePartyMonStats: ld c, a ld b, $0 call CalcMonStatC - ld a, [hStringCmpString2] + ldh a, [hProduct + 2] ld [de], a inc de - ld a, [hPrintNum4] + ldh a, [hProduct + 3] ld [de], a inc de jr .asm_da2f @@ -787,11 +793,11 @@ Functiondd6a: ; dd6a (3:5d6a) pop bc ld hl, $8 add hl, bc - ld a, [hQuotient] + ldh a, [hQuotient] ld [hli], a - ld a, [hPrintNum3] + ldh a, [hPrintNum3] ld [hli], a - ld a, [hPrintNum4] + ldh a, [hPrintNum4] ld [hl], a and a ret @@ -886,13 +892,13 @@ SendMonIntoBox: ; de74 (3:5e74) ld d, a callfar CalcExpAtLevel pop de - ld a, [hQuotient] + ldh a, [hQuotient] ld [de], a inc de - ld a, [hPrintNum3] + ldh a, [hPrintNum3] ld [de], a inc de - ld a, [hPrintNum4] + ldh a, [hPrintNum4] ld [de], a inc de xor a @@ -1256,10 +1262,10 @@ CalcMonStats: ; e16d .loop inc c call CalcMonStatC - ld a, [hMultiplicand + 1] + ldh a, [hMultiplicand + 1] ld [de], a inc de - ld a, [hMultiplicand + 2] + ldh a, [hMultiplicand + 2] ld [de], a inc de ld a, c @@ -1304,22 +1310,22 @@ CalcMonStatC: ; e181 add hl, bc .sqrt_loop xor a - ld [hMultiplicand], a - ld [hMultiplicand + 1], a + ldh [hMultiplicand], a + ldh [hMultiplicand + 1], a inc b ld a, b cp $ff jr z, .no_stat_exp - ld [hMultiplicand + 2], a - ld [hMultiplier], a + ldh [hMultiplicand + 2], a + ldh [hMultiplier], a call Multiply ld a, [hld] ld d, a - ld a, [hProduct + 3] + ldh a, [hProduct + 3] sub d ld a, [hli] ld d, a - ld a, [hProduct + 2] + ldh a, [hProduct + 2] sbc d jr c, .sqrt_loop .no_stat_exp @@ -1408,22 +1414,22 @@ CalcMonStatC: ; e181 inc d .no_overflow_2 - ld [hMultiplicand + 2], a + ldh [hMultiplicand + 2], a ld a, d - ld [hMultiplicand + 1], a + ldh [hMultiplicand + 1], a xor a - ld [hMultiplicand + 0], a + ldh [hMultiplicand + 0], a ld a, [wCurPartyLevel] - ld [hMultiplier], a + ldh [hMultiplier], a call Multiply - ld a, [hProduct + 1] - ld [hDividend + 0], a - ld a, [hProduct + 2] - ld [hDividend + 1], a - ld a, [hProduct + 3] - ld [hDividend + 2], a + ldh a, [hProduct + 1] + ldh [hDividend + 0], a + ldh a, [hProduct + 2] + ldh [hDividend + 1], a + ldh a, [hProduct + 3] + ldh [hDividend + 2], a ld a, 100 - ld [hDivisor], a + ldh [hDivisor], a ld a, 3 ld b, a call Divide @@ -1433,42 +1439,42 @@ CalcMonStatC: ; e181 jr nz, .not_hp ld a, [wCurPartyLevel] ld b, a - ld a, [hQuotient + 2] + ldh a, [hQuotient + 2] add b - ld [hMultiplicand + 2], a + ldh [hMultiplicand + 2], a jr nc, .no_overflow_3 - ld a, [hQuotient + 1] + ldh a, [hQuotient + 1] inc a - ld [hMultiplicand + 1], a + ldh [hMultiplicand + 1], a .no_overflow_3 ld a, 10 .not_hp ld b, a - ld a, [hQuotient + 2] + ldh a, [hQuotient + 2] add b - ld [hMultiplicand + 2], a + ldh [hMultiplicand + 2], a jr nc, .no_overflow_4 - ld a, [hQuotient + 1] + ldh a, [hQuotient + 1] inc a - ld [hMultiplicand + 1], a + ldh [hMultiplicand + 1], a .no_overflow_4 - ld a, [hQuotient + 1] + ldh a, [hQuotient + 1] cp (1000 / $100) + 1 jr nc, .max_stat cp 1000 / $100 jr c, .stat_value_okay - ld a, [hQuotient + 2] + ldh a, [hQuotient + 2] cp 1000 % $100 jr c, .stat_value_okay .max_stat ld a, 999 / $100 - ld [hMultiplicand + 1], a + ldh [hMultiplicand + 1], a ld a, 999 % $100 - ld [hMultiplicand + 2], a + ldh [hMultiplicand + 2], a .stat_value_okay pop bc diff --git a/engine/movement_pattern.asm b/engine/movement_pattern.asm index 0b7617ca..1909f480 100755 --- a/engine/movement_pattern.asm +++ b/engine/movement_pattern.asm @@ -137,26 +137,26 @@ Function47fa: Function47fb: ; 47fb (1:47fb) call Random - ld a, [hRandom] + ldh a, [hRandom] and $1 jp Function4ac9 Function4805: ; 4805 (1:4805) call Random - ld a, [hRandom] + ldh a, [hRandom] and $1 or $2 jp Function4ac9 Function4811: ; 4811 (1:4811) call Random - ld a, [hRandom] + ldh a, [hRandom] and $3 jp Function4ac9 Function481b: ; 481b (1:481b) call Random - ld a, [hRandom] + ldh a, [hRandom] and $c ld hl, $8 add hl, bc @@ -170,7 +170,7 @@ Function482a: ; 482a (1:482a) and $c ld d, a call Random - ld a, [hRandom] + ldh a, [hRandom] and $c cp d jr nz, .asm_483e @@ -608,7 +608,7 @@ Function4ac9: ; 4ac9 (1:4ac9) add hl, bc ld [hl], $2 ld hl, wCenteredObject - ld a, [hConnectionStripLength] + ldh a, [hConnectionStripLength] cp [hl] jr z, .asm_4ae9 ld hl, $9 @@ -627,13 +627,13 @@ Function4ac9: ; 4ac9 (1:4ac9) call Function4603 Function4af6: ; 4af6 (1:4af6) call Random - ld a, [hRandom] + ldh a, [hRandom] and $7f jr asm_4b06 Function4aff: ; 4aff (1:4aff) call Random - ld a, [hRandomAdd] + ldh a, [hRandomAdd] and $1f asm_4b06 ld hl, $a diff --git a/engine/movie/gamefreak_presents.asm b/engine/movie/gamefreak_presents.asm index 6b15472f..a52413c4 100644 --- a/engine/movie/gamefreak_presents.asm +++ b/engine/movie/gamefreak_presents.asm @@ -6,16 +6,16 @@ Copyright_GFPresents: ; e49a8 (39:49a8) call ClearTileMap ld a, HIGH(vBGMap0) - ld [hBGMapAddress + 1], a + ldh [hBGMapAddress + 1], a xor a ; LOW(vBGMap0) - ld [hBGMapAddress], a + ldh [hBGMapAddress], a - ld [hJoyDown], a - ld [hSCX], a - ld [hSCY], a + ldh [hJoyDown], a + ldh [hSCX], a + ldh [hSCY], a ld a, SCREEN_HEIGHT_PX - ld [hWY], a + ldh [hWY], a call WaitBGMap @@ -80,14 +80,14 @@ GFPresents_Init: ; e49f3 (39:49f3) ld [wJumpTableIndex], a ld [$ce64], a ld [wIntroSceneTimer], a - ld [hSCX], a - ld [hSCY], a + ldh [hSCX], a + ldh [hSCY], a ld a, 1 - ld [hBGMapMode], a + ldh [hBGMapMode], a ld a, SCREEN_HEIGHT_PX - ld [hWY], a + ldh [hWY], a lb de, %00100100, %11111000 call DmgToCgbObjPals @@ -98,7 +98,7 @@ GFPresents_PlayFrame: ; e4a37 (39:4a37) ; Return carry when the sequence completes or is canceled. call JoyTextDelay - ld a, [hJoyLast] + ldh a, [hJoyLast] and BUTTONS jr nz, .pressed_button @@ -279,7 +279,7 @@ GFPresents_UpdateLogoPal: ; e4b20 (39:4b20) ; OBP1 was initialized at end of GFPresents_Init ; once we reached the final state, leave it alone - ld a, [rOBP1] + ldh a, [rOBP1] cp %10010000 ret z @@ -291,7 +291,7 @@ GFPresents_UpdateLogoPal: ; e4b20 (39:4b20) ; rotate OBP1 by one color slot (2 bits) ; DMG: logo is white, then light gray, then dark gray ; CGB: logo is white, then yellow - ld a, [rOBP1] + ldh a, [rOBP1] rrca rrca call DmgToCgbObjPal1 diff --git a/engine/namingscreen.asm b/engine/namingscreen.asm index 52cc06c7..3a68626d 100644 --- a/engine/namingscreen.asm +++ b/engine/namingscreen.asm @@ -15,23 +15,23 @@ NamingScreen: ; 11aad (4:5aad) 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 Function11ae4 call DelayFrame .asm_11ad1 call Function11cd4 jr nc, .asm_11ad1 pop af - ld [hInMenu], a + ldh [hInMenu], a pop af - ld [hMapAnims], a + ldh [hMapAnims], a pop af ld [wOptions], a call ClearJoypad @@ -45,7 +45,7 @@ Function11ae4: ; 11ae4 (4:5ae4) call Function1201e call Function11c67 ld a, $e3 - ld [rLCDC], a + ldh [rLCDC], a call Function11b09 call WaitBGMap call WaitTop @@ -300,14 +300,14 @@ Function11cd4: ; 11cd4 (4:5cd4) callfar ClearAnimatedObjectBuffer call ClearSprites xor a - ld [hSCX], a - ld [hSCY], a + ldh [hSCX], a + ldh [hSCY], a scf ret Function11cff: ; 11cff (4:5cff) xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a hlcoord 1, 5 call Function11c5b jr nz, .asm_11d0d @@ -325,7 +325,7 @@ Function11cff: ; 11cff (4:5cff) ld l, a call PlaceString ld a, $1 - ld [hBGMapMode], a + ldh [hBGMapMode], a ret Function11d27: ; 11d27 (4:5d27) @@ -843,16 +843,16 @@ Function1201e: ; 1201e (4:601e) ld [hli], a ld [hl], $7e xor a - ld [hSCY], a + ldh [hSCY], a ld [wGlobalAnimYOffset], a - ld [hSCX], a + ldh [hSCX], a ld [wGlobalAnimXOffset], a ld [wce63], a ld [wce64], a - ld [hBGMapMode], a + ldh [hBGMapMode], a ld [wc5d2], a ld a, $7 - ld [hWX], a + ldh [hWX], a ret NamingScreenGFX_Border: INCBIN "gfx/namingscreen/border.2bpp" @@ -897,23 +897,23 @@ 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 Function12267 call DelayFrame .asm_1225b call Function1238d jr nc, .asm_1225b pop af - ld [hInMenu], a + ldh [hInMenu], a pop af - ld [hMapAnims], a + ldh [hMapAnims], a ret Function12267: ; 12267 (4:6267) @@ -937,7 +937,7 @@ Function12267: ; 12267 (4:6267) ld [hl], $0 call Function12351 ld a, $e3 - ld [rLCDC], a + ldh [rLCDC], a call Function12341 ld b, $8 call GetSGBLayout @@ -1015,14 +1015,14 @@ Function1238d: ; 1238d (4:638d) callfar ClearAnimatedObjectBuffer call ClearSprites xor a - ld [hSCX], a - ld [hSCY], a + ldh [hSCX], a + ldh [hSCY], a scf ret Function123b8: ; 123b8 (4:63b8) xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a hlcoord 1, 1 lb bc, 4, 18 call ClearBox @@ -1033,7 +1033,7 @@ Function123b8: ; 123b8 (4:63b8) hlcoord 2, 2 call PlaceString ld a, $1 - ld [hBGMapMode], a + ldh [hBGMapMode], a ret Function123d5: ; 123d5 (4:63d5) diff --git a/engine/overworld/map_objects.asm b/engine/overworld/map_objects.asm index 593a1d75..6c344d31 100755 --- a/engine/overworld/map_objects.asm +++ b/engine/overworld/map_objects.asm @@ -415,7 +415,7 @@ Function5429: ; 5429 (1:5429) ld [hl], $2 call Function54c8 ld hl, wCenteredObject - ld a, [hMapObjectIndexBuffer] + ldh a, [hMapObjectIndexBuffer] cp [hl] jr z, .asm_5450 ld hl, $9 @@ -435,7 +435,7 @@ Function5457: ; 5457 (1:5457) ret z ld a, [wObjectFollow_Leader] ld d, a - ld a, [hMapObjectIndexBuffer] + ldh a, [hMapObjectIndexBuffer] cp d ret nz ld a, e @@ -565,7 +565,7 @@ Function5504: ; 5504 (1:5504) Function5518: ; 5518 (1:5518) push bc - ld a, [hMapObjectIndexBuffer] + ldh a, [hMapObjectIndexBuffer] ld c, a call Function5521 pop bc @@ -622,7 +622,7 @@ Function5558: ; 5558 (1:5558) ld [hli], a ld a, [de] ld [hli], a - ld a, [hMapObjectIndexBuffer] + ldh a, [hMapObjectIndexBuffer] ld [hli], a push hl ld hl, $10 @@ -646,7 +646,7 @@ Function557f:: ; 557f (1:557f) ld bc, wPlayerStruct xor a .asm_5589 - ld [hConnectionStripLength], a + ldh [hConnectionStripLength], a call DoesObjectHaveASprite jr z, .asm_5593 call Function55ef @@ -655,7 +655,7 @@ Function557f:: ; 557f (1:557f) add hl, bc ld b, h ld c, l - ld a, [hMapObjectIndexBuffer] + ldh a, [hMapObjectIndexBuffer] inc a cp $d jr nz, .asm_5589 @@ -668,7 +668,7 @@ Function55a1 ld a, [wd180] bit 7, a jr z, .asm_55b8 - ld a, [hLastTalked] + ldh a, [hLastTalked] and a jr z, .asm_55b8 call Function55bc @@ -697,13 +697,13 @@ Function55d8: ; 55d8 (1:55d8) xor a ld bc, wPlayerStruct .asm_55dc - ld [hMapObjectIndexBuffer], a + ldh [hMapObjectIndexBuffer], a call Function5613 ld hl, $28 add hl, bc ld b, h ld c, l - ld a, [hConnectionStripLength] + ldh a, [hConnectionStripLength] inc a cp $d jr nz, .asm_55dc @@ -812,7 +812,7 @@ Function5660: ; 5660 (1:5660) jr c, .asm_568f sub $20 .asm_568f - ld [hUsedSpriteIndex], a + ldh [hUsedSpriteIndex], a ld a, [wce82] ld e, a ld hl, $1a @@ -841,7 +841,7 @@ Function5660: ; 5660 (1:5660) jr c, .asm_56bf sub $20 .asm_56bf - ld [hUsedSpriteTile], a + ldh [hUsedSpriteTile], a ld hl, $6 add hl, bc bit 7, [hl] @@ -854,18 +854,18 @@ Function5660: ; 5660 (1:5660) ld e, a .asm_56d1 ld a, d - ld [hFFC1], a + ldh [hFFC1], a .asm_56d4 - ld a, [hFFC1] + ldh a, [hFFC1] ld d, a - ld a, [hUsedSpriteTile] + ldh a, [hUsedSpriteTile] add e dec a cp $12 jr nc, .asm_56f6 ld b, a .asm_56e0 - ld a, [hUsedSpriteIndex] + ldh a, [hUsedSpriteIndex] add d dec a cp $14 @@ -908,7 +908,7 @@ Function5714: ; 5714 (1:5714) ld bc, wPlayerSprite xor a .asm_5718 - ld [hMapObjectIndexBuffer], a + ldh [hMapObjectIndexBuffer], a call DoesObjectHaveASprite jr z, .asm_5722 call Function437c @@ -917,7 +917,7 @@ Function5714: ; 5714 (1:5714) add hl, bc ld b, h ld c, l - ld a, [hConnectionStripLength] + ldh a, [hConnectionStripLength] inc a cp $d jr nz, .asm_5718 @@ -980,7 +980,7 @@ StartFollow:: Function578b: ; 578b (1:578b) call CheckObjectVisibility ret c - ld a, [hObjectStructIndexBuffer] + ldh a, [hObjectStructIndexBuffer] ld [wObjectFollow_Leader], a ret @@ -1006,7 +1006,7 @@ Function57a2: ; 57a2 (1:57a2) ld hl, $9 add hl, bc ld [hl], $0 - ld a, [hConnectedMapWidth] + ldh a, [hConnectedMapWidth] ld [wObjectFollow_Follower], a ret @@ -1159,20 +1159,20 @@ UpdateSprites_:: ; 5896 (1:5896) bit 0, a ret z xor a - ld [hUsedSpriteIndex], a - ld a, [hOAMUpdate] + ldh [hUsedSpriteIndex], a + ldh a, [hOAMUpdate] push af ld a, $1 - ld [hOAMUpdate], a + ldh [hOAMUpdate], a call Function58fe call Function58b0 pop af - ld [hOAMUpdate], a + ldh [hOAMUpdate], a ret Function58b0: ; 58b0 (1:58b0) ld b, $a0 - ld a, [hUsedSpriteIndex] + ldh a, [hUsedSpriteIndex] cp b ret nc ld l, a @@ -1333,11 +1333,11 @@ Function597a: ; 597a (1:597a) jr z, .asm_599d or $80 .asm_599d - ld [hFFC4], a + ldh [hFFC4], a ld hl, $2 add hl, bc ld a, [hl] - ld [hFFC3], a + ldh [hFFC3], a ld hl, $17 add hl, bc ld a, [hl] @@ -1348,7 +1348,7 @@ Function597a: ; 597a (1:597a) ld e, a ld a, [wce81] add e - ld [hFFC1], a + ldh [hFFC1], a ld hl, $18 add hl, bc ld a, [hl] @@ -1359,7 +1359,7 @@ Function597a: ; 597a (1:597a) ld e, a ld a, [wce82] add e - ld [hFFC2], a + ldh [hFFC2], a ld hl, $d add hl, bc ld a, [hl] @@ -1375,28 +1375,28 @@ Function597a: ; 597a (1:597a) ld a, [hli] ld h, [hl] ld l, a - ld a, [hUsedSpriteIndex] + ldh a, [hUsedSpriteIndex] ld c, a ld b, $c3 ld a, [hli] - ld [hUsedSpriteTile], a + ldh [hUsedSpriteTile], a add c cp $a0 jr nc, .asm_5a25 .asm_59f3 - ld a, [hFFC2] + ldh a, [hFFC2] add [hl] inc hl ld [bc], a inc c - ld a, [hFFC1] + ldh a, [hFFC1] add [hl] inc hl ld [bc], a inc c ld e, [hl] inc hl - ld a, [hFFC3] + ldh a, [hFFC3] bit 2, e jr z, .asm_5a08 xor a @@ -1408,19 +1408,19 @@ Function597a: ; 597a (1:597a) ld a, e bit 1, a jr z, .asm_5a14 - ld a, [hFFC4] + ldh a, [hFFC4] or e .asm_5a14 and $f0 or d ld [bc], a inc c - ld a, [hUsedSpriteTile] + ldh a, [hUsedSpriteTile] dec a - ld [hUsedSpriteTile], a + ldh [hUsedSpriteTile], a jr nz, .asm_59f3 ld a, c - ld [hUsedSpriteIndex], a + ldh [hUsedSpriteIndex], a .asm_5a23 xor a ret diff --git a/engine/overworld/movement.asm b/engine/overworld/movement.asm index 74e44cd3..5a299571 100755 --- a/engine/overworld/movement.asm +++ b/engine/overworld/movement.asm @@ -302,7 +302,7 @@ Function517a: ; 517a (1:517a) Function519c: ; 519c (1:519c) call DeleteMapObject ld hl, wObjectFollow_Leader - ld a, [hMapObjectIndexBuffer] + ldh a, [hMapObjectIndexBuffer] cp [hl] jr nz, .asm_51a9 ld [hl], $ff @@ -719,7 +719,7 @@ Function53b1: ; 53b1 (1:53b1) call Function54f5 .asm_53cf ld hl, wCenteredObject - ld a, [hConnectionStripLength] + ldh a, [hConnectionStripLength] cp [hl] jr z, .asm_53de ld hl, $9 @@ -740,7 +740,7 @@ Function53e5: ; 53e5 (1:53e5) add hl, bc ld [hl], $4 ld hl, wCenteredObject - ld a, [hMapObjectIndexBuffer] + ldh a, [hMapObjectIndexBuffer] cp [hl] jr z, .asm_5400 ld hl, $9 @@ -761,7 +761,7 @@ Function5407: ; 5407 (1:5407) add hl, bc ld [hl], $1 ld hl, wCenteredObject - ld a, [hConnectionStripLength] + ldh a, [hConnectionStripLength] cp [hl] jr z, .asm_5422 ld hl, $9 diff --git a/engine/overworld/npc_movement.asm b/engine/overworld/npc_movement.asm index e776402a..84235570 100755 --- a/engine/overworld/npc_movement.asm +++ b/engine/overworld/npc_movement.asm @@ -224,7 +224,7 @@ CheckFacingObject: .asm_70d0 ld bc, wObjectStructs ld a, $0 - ld [hMapObjectIndexBuffer], a + ldh [hMapObjectIndexBuffer], a call Function7120 ret nc ld hl, $7 @@ -249,7 +249,7 @@ WillPersonBumpIntoSomeoneElse: ; 70e8 (1:70e8) jr Function7120 Function70f4: - ld a, [hMapObjectIndexBuffer] + ldh a, [hMapObjectIndexBuffer] call GetObjectStruct call Function7100 call Function7120 @@ -288,7 +288,7 @@ Function7120: ; 7120 (1:7120) ld bc, wPlayerStruct xor a .asm_7124 - ld [hObjectStructIndexBuffer], a + ldh [hObjectStructIndexBuffer], a call DoesObjectHaveASprite jr z, .asm_7172 ld hl, $4 @@ -315,9 +315,9 @@ Function7120: ; 7120 (1:7120) cp e jr nz, .asm_715a .asm_7152 - ld a, [hMapObjectIndexBuffer] + ldh a, [hMapObjectIndexBuffer] ld l, a - ld a, [hConnectedMapWidth] + ldh a, [hConnectedMapWidth] cp l jr nz, .asm_7181 .asm_715a @@ -331,9 +331,9 @@ Function7120: ; 7120 (1:7120) ld a, [hl] cp e jr nz, .asm_7172 - ld a, [hConnectionStripLength] + ldh a, [hConnectionStripLength] ld l, a - ld a, [hObjectStructIndexBuffer] + ldh a, [hObjectStructIndexBuffer] cp l jr nz, .asm_7181 .asm_7172 @@ -341,7 +341,7 @@ Function7120: ; 7120 (1:7120) add hl, bc ld b, h ld c, l - ld a, [hConnectedMapWidth] + ldh a, [hConnectedMapWidth] inc a cp $d jr nz, .asm_7124 @@ -445,7 +445,7 @@ Function71f2 ld bc, wObjectStructs xor a .asm_71fe - ld [hConnectedMapWidth], a + ldh [hConnectedMapWidth], a call DoesObjectHaveASprite jr z, .asm_723f ld hl, $3 @@ -468,7 +468,7 @@ Function71f2 ld a, [hl] cp d jr nz, .asm_722d - ld a, [hObjectStructIndexBuffer] + ldh a, [hObjectStructIndexBuffer] cp $0 jr z, .asm_723f jr .asm_724e @@ -491,7 +491,7 @@ Function71f2 add hl, bc ld b, h ld c, l - ld a, [hConnectedMapWidth] + ldh a, [hConnectedMapWidth] inc a cp $d jr nz, .asm_71fe diff --git a/engine/overworld/player_movement.asm b/engine/overworld/player_movement.asm index 8af7c726..c919f000 100755 --- a/engine/overworld/player_movement.asm +++ b/engine/overworld/player_movement.asm @@ -11,7 +11,7 @@ DoPlayerMovement:: ; 10000 (4:4000) ret Function10017: ; 10017 (4:4017) - ld a, [hJoyDown] + ldh a, [hJoyDown] ld [wcf29], a CheckFlagHL ENGINE_DOWNHILL ret z @@ -564,7 +564,7 @@ Function102ec: ; 102ec (4:42ec) Function10341: ; 10341 (4:4341) ld a, 0 - ld [hMapObjectIndexBuffer], a + ldh [hMapObjectIndexBuffer], a ld a, [wPlayerStandingMapX] ld d, a ld a, [wcf30] diff --git a/engine/overworld/player_object.asm b/engine/overworld/player_object.asm index 64977b97..a706f8aa 100755 --- a/engine/overworld/player_object.asm +++ b/engine/overworld/player_object.asm @@ -1,7 +1,7 @@ BlankScreen: call DisableSpriteUpdates xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a call ClearBGPalettes call ClearSprites ld hl, wTileMap @@ -26,10 +26,10 @@ SpawnPlayer: ; 861a (2:461a) ld b, $0 call PlayerSpawn_ConvertCoords ld a, $0 - ld [hObjectStructIndexBuffer], a + ldh [hObjectStructIndexBuffer], a ld de, wObjectStructs ld a, $0 - ld [hMapObjectIndexBuffer], a + ldh [hMapObjectIndexBuffer], a ld bc, wMapObjects call CopyMapObjectToObjectStruct ld a, $0 @@ -77,7 +77,7 @@ WritePersonXY: ld hl, $11 add hl, bc ld e, [hl] - ld a, [hConnectionStripLength] + ldh a, [hConnectionStripLength] ld b, a call CopyDECoordsToMapObject and a @@ -130,12 +130,12 @@ CopyObjectStruct_:: ; 86d7 (2:46d7) ld a, $1 ld de, $28 .asm_86e4 - ld [hObjectStructIndexBuffer], a + ldh [hObjectStructIndexBuffer], a ld a, [hl] and a jr z, .asm_86f4 add hl, de - ld a, [hConnectedMapWidth] + ldh a, [hConnectedMapWidth] inc a cp $d jr nz, .asm_86e4 @@ -160,11 +160,11 @@ CopyMapObjectToObjectStruct: ; 8706 (2:4706) ret CopyMapObjectToTempObject: ; 870d (2:470d) - ld a, [hConnectedMapWidth] + ldh a, [hConnectedMapWidth] ld hl, $0 add hl, bc ld [hl], a - ld a, [hMapObjectIndexBuffer] + ldh a, [hMapObjectIndexBuffer] ld [wce99], a ld hl, $1 add hl, bc @@ -210,7 +210,7 @@ InitializeVariableSprites: ld bc, wMap2Object ld a, $2 .asm_876c - ld [hConnectionStripLength], a + ldh [hConnectionStripLength], a ld hl, $1 add hl, bc ld a, [hl] @@ -250,7 +250,7 @@ InitializeVariableSprites: add hl, bc ld b, h ld c, l - ld a, [hMapObjectIndexBuffer] + ldh a, [hMapObjectIndexBuffer] inc a cp $10 jr nz, .asm_876c @@ -289,7 +289,7 @@ asm_87da ld bc, wMap2Object ld a, $2 .asm_87e4 - ld [hConnectionStripLength], a + ldh [hConnectionStripLength], a ld hl, $1 add hl, bc ld a, [hl] @@ -323,7 +323,7 @@ asm_87da add hl, bc ld b, h ld c, l - ld a, [hMapObjectIndexBuffer] + ldh a, [hMapObjectIndexBuffer] inc a cp $10 jr nz, .asm_87e4 @@ -344,7 +344,7 @@ asm_882e ld bc, wMap2Object ld a, $2 .asm_8838 - ld [hConnectionStripLength], a + ldh [hConnectionStripLength], a ld hl, $1 add hl, bc ld a, [hl] @@ -378,7 +378,7 @@ asm_882e add hl, bc ld b, h ld c, l - ld a, [hConnectionStripLength] + ldh a, [hConnectionStripLength] inc a cp $10 jr nz, .asm_8838 @@ -474,14 +474,14 @@ InitTempObjectRadius: ; 88fd (2:48fd) ret TrainerWalkToPlayer: - ld a, [hLastTalked] + ldh a, [hLastTalked] call InitMovementBuffer ld a, movement_step_sleep call AppendToMovementBuffer ld a, [wcf2a] dec a jr z, .asm_892b - ld a, [hLastTalked] + ldh a, [hLastTalked] ld b, a ld c, PLAYER ld d, $1 @@ -624,7 +624,7 @@ FollowNotExact: ld hl, $18 add hl, de ld [hl], a - ld a, [hObjectStructIndexBuffer] + ldh a, [hObjectStructIndexBuffer] ld hl, $20 add hl, de ld [hl], a diff --git a/engine/overworld/player_step.asm b/engine/overworld/player_step.asm index 70947346..36698ed8 100755 --- a/engine/overworld/player_step.asm +++ b/engine/overworld/player_step.asm @@ -39,12 +39,12 @@ ScrollScreen:: ld d, a ld a, [wPlayerStepVectorY] ld e, a - ld a, [hSCX] + ldh a, [hSCX] add d - ld [hSCX], a - ld a, [hSCY] + ldh [hSCX], a + ldh a, [hSCY] add e - ld [hSCY], a + ldh [hSCY], a ret Functiond4f2: ; d4f2 (3:54f2) diff --git a/engine/overworld/time.asm b/engine/overworld/time.asm index ce847b18..01273a75 100755 --- a/engine/overworld/time.asm +++ b/engine/overworld/time.asm @@ -305,7 +305,7 @@ CalcSecsMinsHoursDaysSince: ; 119c7 (4:59c7) inc hl inc hl inc hl - ld a, [hSeconds] + ldh a, [hSeconds] ld c, a sub [hl] jr nc, .asm_119d2 @@ -315,7 +315,7 @@ CalcSecsMinsHoursDaysSince: ; 119c7 (4:59c7) dec hl ld [wSecsSince], a CalcMinsHoursDaysSince_ - ld a, [hMinutes] + ldh a, [hMinutes] ld c, a sbc [hl] jr nc, .asm_119df @@ -325,7 +325,7 @@ CalcMinsHoursDaysSince_ dec hl ld [wMinsSince], a CalcHoursDaysSince_ - ld a, [hHours] + ldh a, [hHours] ld c, a sbc [hl] jr nc, .asm_119ec @@ -348,11 +348,11 @@ CalcDaysSince_: CopyDayHourMinSecToHL: ; 119ff (4:59ff) ld a, [wCurDay] ld [hli], a - ld a, [hHours] + ldh a, [hHours] ld [hli], a - ld a, [hMinutes] + ldh a, [hMinutes] ld [hli], a - ld a, [hSeconds] + ldh a, [hSeconds] ld [hli], a ret @@ -364,15 +364,15 @@ CopyDayToHL: ; 11a0d (4:5a0d) CopyDayHourToHL: ld a, [wCurDay] ld [hli], a - ld a, [hHours] + ldh a, [hHours] ld [hli], a ret CopyDayHourMinToHL: ; 11a1a (4:5a1a) ld a, [wCurDay] ld [hli], a - ld a, [hHours] + ldh a, [hHours] ld [hli], a - ld a, [hMinutes] + ldh a, [hMinutes] ld [hli], a ret diff --git a/engine/pack.asm b/engine/pack.asm index 959c6e19..05d4952e 100755 --- a/engine/pack.asm +++ b/engine/pack.asm @@ -39,7 +39,7 @@ Function10456: ; 10456 (4:4456) Pack_InitGFX: xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a call Function10d70 ld a, [wce64] ld [wce63], a @@ -109,7 +109,7 @@ Pack_InitTMHMPocket: call Function10e51 call Function10dd6 xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a call Function10cca call Function10c96 ret @@ -193,7 +193,7 @@ UseTMorHM: ld [wOptions], a .asm_105a9 xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a call Function10d70 call Function10cca call Function10e5b @@ -447,7 +447,7 @@ UseItem: jr z, .no_pokemon call DoItemEffect xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a call Function10d70 call Function10cca call Function10e5b @@ -597,7 +597,7 @@ GiveItem: pop af ld [wOptions], a xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a call Function10d70 call Function10cca call Function10e5b @@ -656,7 +656,7 @@ Function108e9: ; 108e9 (4:48e9) BattlePack_InitGFX: xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a call Function10d70 ld a, [wce64] ld [wce63], a @@ -725,7 +725,7 @@ BattlePack_InitTMHMPocket: call Function10e51 call Function10dd6 xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a call Function10cca ld hl, Text_PackEmptyString call Function10cb9 @@ -860,7 +860,7 @@ Function10a86: and a jr nz, asm_10aae xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a call Function10d70 call Function10cca call Function10e5b @@ -908,7 +908,7 @@ Function10aba: ; 10aba (4:4aba) Function10ad5: ; 10ad5 (4:4ad5) xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a ld [wce63], a ld [wce64], a ld [wce65], a diff --git a/engine/specials.asm b/engine/specials.asm index aa8aefdd..c6ccef66 100755 --- a/engine/specials.asm +++ b/engine/specials.asm @@ -524,10 +524,10 @@ PlayCurMonCry: ; c60b (3:460b) jp PlayMonCry GameboyCheck: ; c611 (3:4611) - ld a, [hCGB] + ldh a, [hCGB] and a jr nz, .asm_c622 - ld a, [hSGB] + ldh a, [hSGB] and a jr nz, .asm_c61e xor a diff --git a/engine/title.asm b/engine/title.asm index 8427dfc9..16737cc4 100755 --- a/engine/title.asm +++ b/engine/title.asm @@ -14,7 +14,7 @@ StartTitleScreen: res 2, [hl] call ClearTileMap xor a - ld [hLCDCPointer], a + ldh [hLCDCPointer], a ld b, $8 call GetSGBLayout call UpdateTimePals @@ -50,10 +50,10 @@ InitTitleScreen: ; 6291 (1:6291) call DisableLCD call ClearSprites xor a - ld [hBGMapMode], a - ld [hMapAnims], a - ld [hSCY], a - ld [hSCX], a + ldh [hBGMapMode], a + ldh [hMapAnims], a + ldh [hSCY], a + ldh [hSCX], a ld hl, $8000 ld bc, $2000 xor a @@ -110,7 +110,7 @@ InitTitleScreen: ; 6291 (1:6291) xor a call ByteFill ld a, $43 - ld [hLCDCPointer], a + ldh [hLCDCPointer], a ld b, $c call GetSGBLayout call Function6341 @@ -119,41 +119,41 @@ InitTitleScreen: ; 6291 (1:6291) ret Function6341: ; 6341 (1:6341) - ld a, [hCGB] + ldh a, [hCGB] and a jr nz, .asm_6365 - ld a, [hSGB] + ldh a, [hSGB] and a jr nz, .asm_6358 ld a, $d8 - ld [rBGP], a + ldh [rBGP], a IF DEF(GOLD) ld a, $ff - ld [rOBP0], a + ldh [rOBP0], a ld a, $f8 ENDC IF DEF(SILVER) ld a, $f0 - ld [rOBP0], a + ldh [rOBP0], a ld a, $f0 ENDC - ld [rOBP1], a + ldh [rOBP1], a ret .asm_6358 ld a, $e4 - ld [rBGP], a + ldh [rBGP], a IF DEF(GOLD) ld a, $ff - ld [rOBP0], a + ldh [rOBP0], a ld a, $e4 ENDC IF DEF(SILVER) ld a, $f0 - ld [rOBP0], a + ldh [rOBP0], a ld a, $e0 ENDC - ld [rOBP1], a + ldh [rOBP1], a ret .asm_6365 @@ -166,11 +166,11 @@ ENDC ret Function636e: ; 636e (1:636e) - ld a, [hCGB] + ldh a, [hCGB] and a ret z ld a, $1 - ld [rVBK], a + ldh [rVBK], a ld hl, $9800 ld bc, $240 xor a @@ -188,7 +188,7 @@ Function636e: ; 636e (1:636e) ld a, $4 call ByteFill ld a, $0 - ld [rVBK], a + ldh [rVBK], a ret Function63a6: ; 63a6 (1:63a6) @@ -220,7 +220,7 @@ Function63b6: ; 63b6 (1:63b6) jr .asm_63bc .asm_63ca - ld a, [hCGB] + ldh a, [hCGB] and a ret nz ld hl, $9960 @@ -236,10 +236,10 @@ TitleScreenFrame: ; 63da (1:63da) jr nz, .asm_63fc call Function640f ld a, $1 - ld [hOAMUpdate], a + ldh [hOAMUpdate], a farcall AnimatedObjects_PlayFrame xor a - ld [hOAMUpdate], a + ldh [hOAMUpdate], a call Function64b1 call DelayFrame and a @@ -251,7 +251,7 @@ TitleScreenFrame: ; 63da (1:63da) Function63fe: ; 63fe (1:63fe) IF DEF(GOLD) - ld a, [hVBlankCounter] + ldh a, [hVBlankCounter] and $7 ret nz ENDC diff --git a/gfx/pics/animation.asm b/gfx/pics/animation.asm index e26592fd..5470793e 100644 --- a/gfx/pics/animation.asm +++ b/gfx/pics/animation.asm @@ -121,10 +121,10 @@ LoadMonAnimation: ; d00a3 ; d00b4 SetUpPokeAnim: ; d00b4 - ld a, [rSVBK] + ldh a, [rSVBK] push af ld a, $2 - ld [rSVBK], a + ldh [rSVBK], a ld a, [wPokeAnimSceneIndex] ld c, a ld b, 0 @@ -139,7 +139,7 @@ SetUpPokeAnim: ; d00b4 ld a, [wPokeAnimSceneIndex] ld c, a pop af - ld [rSVBK], a + ldh [rSVBK], a ld a, c and $80 ret z @@ -283,16 +283,16 @@ PokeAnim_StereoCry: ; d0196 ; d01a9 PokeAnim_DeinitFrames: ; d01a9 - ld a, [rSVBK] + ldh a, [rSVBK] push af ld a, $2 - ld [rSVBK], a + ldh [rSVBK], a call PokeAnim_PlaceGraphic callba HDMATransferTileMapToWRAMBank3 call PokeAnim_SetVBank0 callba HDMATransferAttrMapToWRAMBank3 pop af - ld [rSVBK], a + ldh [rSVBK], a ret ; d01c6 @@ -311,10 +311,10 @@ AnimateMon_CheckIfPokemon: ; d01c6 ; d01d6 PokeAnim_InitPicAttributes: ; d01d6 - ld a, [rSVBK] + ldh a, [rSVBK] push af ld a, $2 - ld [rSVBK], a + ldh [rSVBK], a push bc push de @@ -359,15 +359,15 @@ PokeAnim_InitPicAttributes: ; d01d6 ld [wPokeAnimFrontpicHeight], a pop af - ld [rSVBK], a + ldh [rSVBK], a ret ; d0228 PokeAnim_InitAnim: ; d0228 - ld a, [rSVBK] + ldh a, [rSVBK] push af ld a, $2 - ld [rSVBK], a + ldh [rSVBK], a push bc ld hl, wPokeAnimExtraFlag ld bc, wPokeAnimStructEnd - wPokeAnimExtraFlag @@ -382,13 +382,13 @@ PokeAnim_InitAnim: ; d0228 call GetMonFramesPointer call GetMonBitmaskPointer pop af - ld [rSVBK], a + ldh [rSVBK], a ret ; d0250 PokeAnim_DoAnimScript: ; d0250 xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a .loop ld a, [wPokeAnimJumptableIndex] and $7f @@ -880,16 +880,16 @@ PokeAnim_PlaceGraphic: ; d04bd ; d0504 PokeAnim_SetVBank1: ; d0504 - ld a, [rSVBK] + ldh a, [rSVBK] push af ld a, $2 - ld [rSVBK], a + ldh [rSVBK], a xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a call .SetFlag callba HDMATransferAttrMapToWRAMBank3 pop af - ld [rSVBK], a + ldh [rSVBK], a ret ; d051b @@ -1005,10 +1005,10 @@ GetMonAnimPointer: ; d055c ; d05b4 PokeAnim_GetFrontpicDims: ; d05b4 - ld a, [rSVBK] + ldh a, [rSVBK] push af ld a, $1 - ld [rSVBK], a + ldh [rSVBK], a ld a, [CurPartySpecies] ld [CurSpecies], a call GetBaseData @@ -1016,7 +1016,7 @@ PokeAnim_GetFrontpicDims: ; d05b4 and $f ld c, a pop af - ld [rSVBK], a + ldh [rSVBK], a ret ; d05ce @@ -53,7 +53,7 @@ Unreferenced_CheckBPressedDebug:: bit 1, a ret z - ld a, [hJoyDown] + ldh a, [hJoyDown] bit 1, a ret @@ -91,7 +91,7 @@ Function2ffe:: ; 2ffe (0:2ffe) ld h, a or l jr z, .quit - ld a, [hROMBank] + ldh a, [hROMBank] push af call SwitchToMapScriptHeaderBank ld a, [wPlayerStandingMapX] @@ -195,7 +195,7 @@ INCLUDE "home/math.asm" INCLUDE "home/print_text.asm" Function3414:: - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, [hli] rst Bankswitch @@ -209,7 +209,7 @@ Function3414:: ret QueueScript:: - ld a, [hROMBank] + ldh a, [hROMBank] Function3425:: ld [wcfd8], a ld a, l @@ -251,94 +251,94 @@ ClearBGPalettes:: call ClearPalettes WaitBGMap:: ; 344c (0:344c) ld a, $1 - ld [hBGMapMode], a + ldh [hBGMapMode], a ld c, $4 call DelayFrames ret Function3456:: ; 3456 (0:3456) - ld a, [hCGB] + ldh a, [hCGB] and a jr z, .asm_3464 ld a, $2 - ld [hBGMapMode], a + ldh [hBGMapMode], a ld c, $4 call DelayFrames .asm_3464 ld a, $1 - ld [hBGMapMode], a + ldh [hBGMapMode], a ld c, $4 call DelayFrames ret IsCGB:: - ld a, [hCGB] + ldh a, [hCGB] and a ret ApplyTilemap:: ; 3472 (0:3472) - ld a, [hCGB] + ldh a, [hCGB] and a jr z, .asm_3484 ld a, [wSpriteUpdatesEnabled] cp $0 jr z, .asm_3484 ld a, $1 - ld [hBGMapMode], a + ldh [hBGMapMode], a jr LoadEDTile .asm_3484 ld a, $1 - ld [hBGMapMode], a + ldh [hBGMapMode], a ld c, $4 call DelayFrames ret CGBOnly_LoadEDTile:: ; 348e (0:348e) - ld a, [hCGB] + ldh a, [hCGB] and a jr z, WaitBGMap LoadEDTile:: - 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 .asm_349f - ld a, [rLY] + ldh a, [rLY] cp $7f jr c, .asm_349f di ld a, $1 - ld [rVBK], a + ldh [rVBK], a ld hl, wAttrMap call Function34c8 ld a, $0 - ld [rVBK], a + ldh [rVBK], a ld hl, wTileMap call Function34c8 .asm_34ba - ld a, [rLY] + ldh a, [rLY] cp $7f jr c, .asm_34ba ei pop af - ld [hMapAnims], a + ldh [hMapAnims], a pop af - ld [hBGMapMode], a + ldh [hBGMapMode], a ret Function34c8:: ; 34c8 (0:34c8) ld [hSPBuffer], sp ld sp, hl - ld a, [hBGMapAddress + 1] + ldh a, [hBGMapAddress + 1] ld h, a ld l, $0 ld a, $12 - ld [hTilesPerCycle], a + ldh [hTilesPerCycle], a ld b, $2 ld c, rSTAT % $100 .asm_34d9 @@ -355,26 +355,26 @@ rept 10 endr ld de, $c add hl, de - ld a, [hTilesPerCycle] + ldh a, [hTilesPerCycle] dec a - ld [hTilesPerCycle], a + ldh [hTilesPerCycle], a jr nz, .asm_34d9 - ld a, [hSPBuffer] + ldh a, [hSPBuffer] ld l, a - ld a, [hSPBuffer + 1] + ldh a, [hSPBuffer + 1] ld h, a ld sp, hl ret SetPalettes:: - ld a, [hCGB] + ldh a, [hCGB] and a jr nz, .asm_3556 ld a, $e4 - ld [rBGP], a + ldh [rBGP], a ld a, $d0 - ld [rOBP0], a - ld [rOBP1], a + ldh [rOBP0], a + ldh [rOBP1], a ret .asm_3556 @@ -387,13 +387,13 @@ SetPalettes:: ret ClearPalettes:: ; 3564 (0:3564) - ld a, [hCGB] + ldh a, [hCGB] and a jr nz, .asm_3571 xor a - ld [rBGP], a - ld [rOBP0], a - ld [rOBP1], a + ldh [rBGP], a + ldh [rOBP0], a + ldh [rOBP1], a ret .asm_3571 @@ -402,16 +402,16 @@ ClearPalettes:: ; 3564 (0:3564) ld a, $ff call ByteFill ld a, $1 - ld [hCGBPalUpdate], a + ldh [hCGBPalUpdate], a ret GetMemSGBLayout:: ld b, $ff GetSGBLayout:: ; 3583 (0:3583) - ld a, [hCGB] + ldh a, [hCGB] and a jr nz, .asm_358c - ld a, [hSGB] + ldh a, [hSGB] and a ret z .asm_358c @@ -473,7 +473,7 @@ NamesPointers:: ; 35ee (0:35ee) dba DoPlayerMovement GetName:: ; 3606 - ld a, [hROMBank] + ldh a, [hROMBank] push af push hl push bc @@ -557,7 +557,7 @@ GetBasePokemonName:: ret GetPokemonName:: ; 367e (0:367e) - ld a, [hROMBank] + ldh a, [hROMBank] push af push hl ld a, BANK(PokemonNames) @@ -692,7 +692,7 @@ GetMoveName:: ScrollingMenu:: call CopyMenuData2 - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, BANK(ScrollingMenu_) rst Bankswitch @@ -730,24 +730,24 @@ DrawScrollingMenu:: ScrollingMenuJoyTextDelay:: call DelayFrame - ld a, [hInMenu] + ldh a, [hInMenu] push af ld a, $1 - ld [hInMenu], a + ldh [hInMenu], a call JoyTextDelay pop af - ld [hInMenu], a - ld a, [hJoyLast] + ldh [hInMenu], a + ldh a, [hJoyLast] and $f0 ld c, a - ld a, [hJoyPressed] + ldh a, [hJoyPressed] and $f or c ld c, a ret HandleStoneQueue:: - ld a, [hROMBank] + ldh a, [hROMBank] push af call SwitchToMapScriptHeaderBank call StoneQueueWarpAction @@ -875,7 +875,7 @@ IsThisObjectInTheStoneTable:: ; 3823 (0:3823) ret CheckTrainerBattle2:: - ld a, [hROMBank] + ldh a, [hROMBank] push af call SwitchToMapScriptHeaderBank call CheckTrainerBattle @@ -947,7 +947,7 @@ CheckTrainerBattle:: ; 3851 (0:3851) .asm_38aa pop de pop af - ld [hLastTalked], a + ldh [hLastTalked], a ld a, b ld [wcf2a], a ld a, c @@ -962,7 +962,7 @@ TalkToTrainer:: continue_trainer_function call GetMapScriptHeaderBank ld [wcf29], a - ld a, [hLastTalked] + ldh a, [hLastTalked] call GetMapObject ld hl, $a add hl, bc @@ -1155,7 +1155,7 @@ PrepMonFrontpic_:: predef GetMonFrontpic pop hl xor a - ld [hGraphicStartTile], a + ldh [hGraphicStartTile], a lb bc, 7, 7 predef PlaceGraphic xor a @@ -1204,7 +1204,7 @@ GetBaseData:: push bc push de push hl - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, BANK(BaseData) ; $14 rst Bankswitch @@ -1361,7 +1361,7 @@ Function3b51:: INCLUDE "home/battle.asm" PushLYOverrides:: ; 3d0d - ld a, [hLCDCPointer] + ldh a, [hLCDCPointer] and a ret z ld a, wLYOverridesBuffer % $100 @@ -1378,7 +1378,7 @@ PushLYOverrides:: ; 3d0d InitAnimatedObjectStruct:: ld [wAnimatedObjectStructIDBuffer], a - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, BANK(InitAnimatedObjectStruct_) ; $23 rst Bankswitch @@ -1390,7 +1390,7 @@ InitAnimatedObjectStruct:: ReinitAnimatedObjectFrame:: ld [wAnimatedObjectStructIDBuffer], a - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, BANK(ReinitAnimatedObjectFrame_) ; $23 rst Bankswitch diff --git a/home/battle.asm b/home/battle.asm index a29db60f..a7f7a558 100644 --- a/home/battle.asm +++ b/home/battle.asm @@ -1,6 +1,6 @@ UserPartyAttr:: ; 3b69 push af - ld a, [hBattleTurn] + ldh a, [hBattleTurn] and a jr nz, .asm_3b72 pop af @@ -12,7 +12,7 @@ UserPartyAttr:: ; 3b69 OpponentPartyAttr:: push af - ld a, [hBattleTurn] + ldh a, [hBattleTurn] and a jr z, .asm_3b7e pop af @@ -52,21 +52,21 @@ ResetDamage:: SetPlayerTurn:: xor a - ld [hBattleTurn], a + ldh [hBattleTurn], a ret SetEnemyTurn:: ld a, $1 - ld [hBattleTurn], a + ldh [hBattleTurn], a ret UpdateOpponentInParty:: - ld a, [hBattleTurn] + ldh a, [hBattleTurn] and a jr z, UpdateEnemyMonInParty jr UpdateBattleMonInParty - ld a, [hBattleTurn] + ldh a, [hBattleTurn] and a jr z, UpdateBattleMonInParty jr UpdateEnemyMonInParty @@ -121,7 +121,7 @@ GetBattleVarAddr:: ; 3c0b (0:3c0b) ld a, [hli] ld h, [hl] ld l, a - ld a, [hBattleTurn] + ldh a, [hBattleTurn] and a jr z, .asm_3c1d inc hl @@ -186,14 +186,14 @@ GetBattleVarAddr:: ; 3c0b (0:3c0b) db $23 ; ??? FarCopyRadioText:: - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, [hli] ld e, a ld a, [hli] ld d, a ld a, [hli] - ld [hROMBank], a + ldh [hROMBank], a ld [MBC3RomBank], a ld a, e ld l, a @@ -203,13 +203,13 @@ FarCopyRadioText:: ld bc, $28 call CopyBytes pop af - ld [hROMBank], a + ldh [hROMBank], a ld [MBC3RomBank], a ret StdBattleTextBox:: GLOBAL BattleText - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, BANK(BattleText) ; $40 rst Bankswitch diff --git a/home/copy.asm b/home/copy.asm index 50f25e15..0067c85f 100644 --- a/home/copy.asm +++ b/home/copy.asm @@ -1,6 +1,6 @@ Functiond70:: ; d70 (0:0d70) ld b, a - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, b rst Bankswitch @@ -60,7 +60,7 @@ DecompressRequest2bpp:: FarCopyBytes:: ; dcd (0:0dcd) ld [wBuffer], a - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, [wBuffer] rst Bankswitch @@ -71,7 +71,7 @@ FarCopyBytes:: ; dcd (0:0dcd) FarCopyBytesDouble:: ; ddd (0:0ddd) ld [wBuffer], a - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, [wBuffer] rst Bankswitch @@ -100,11 +100,11 @@ FarCopyBytesDouble:: ; ddd (0:0ddd) ret Request2bpp:: ; dfe (0:0dfe) - ld a, [hBGMapMode] + ldh a, [hBGMapMode] push af xor a - ld [hBGMapMode], a - ld a, [hROMBank] + ldh [hBGMapMode], a + ldh a, [hROMBank] push af ld a, b rst Bankswitch @@ -125,7 +125,7 @@ Request2bpp:: ; dfe (0:0dfe) pop af rst Bankswitch pop af - ld [hBGMapMode], a + ldh [hBGMapMode], a ret .cycle @@ -138,11 +138,11 @@ Request2bpp:: ; dfe (0:0dfe) jr .check Request1bpp:: ; e38 (0:0e38) - ld a, [hBGMapMode] + ldh a, [hBGMapMode] push af xor a - ld [hBGMapMode], a - ld a, [hROMBank] + ldh [hBGMapMode], a + ldh a, [hROMBank] push af ld a, b rst Bankswitch @@ -163,7 +163,7 @@ Request1bpp:: ; e38 (0:0e38) pop af rst Bankswitch pop af - ld [hBGMapMode], a + ldh [hBGMapMode], a ret .cycle @@ -176,7 +176,7 @@ Request1bpp:: ; e38 (0:0e38) jr .check Get2bpp:: - ld a, [rLCDC] + ldh a, [rLCDC] bit 7, a jp nz, Request2bpp Copy2bpp:: @@ -197,7 +197,7 @@ Copy2bpp:: jp FarCopyBytes Get1bpp:: - ld a, [rLCDC] + ldh a, [rLCDC] bit 7, a jp nz, Request1bpp Copy1bpp:: @@ -218,7 +218,7 @@ Copy1bpp:: jp FarCopyBytesDouble Functionea6:: - ld a, [rLCDC] + ldh a, [rLCDC] add a jp c, Request2bpp Functioneac:: diff --git a/home/copy2.asm b/home/copy2.asm index 3ba05db9..e319cd6b 100644 --- a/home/copy2.asm +++ b/home/copy2.asm @@ -15,7 +15,7 @@ CopyBytes:: ; 311a (0:311a) GetFarByte:: ; 3128 (0:3128) ld [wBuffer], a - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, [wBuffer] rst Bankswitch @@ -28,7 +28,7 @@ GetFarByte:: ; 3128 (0:3128) GetFarHalfword:: ; 313c (0:313c) ld [wBuffer], a - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, [wBuffer] rst Bankswitch diff --git a/home/cry.asm b/home/cry.asm index 3fcda0c3..6b96df91 100644 --- a/home/cry.asm +++ b/home/cry.asm @@ -31,7 +31,7 @@ _PlayMonCry:: LoadCryHeader:: call GetCryIndex ret c - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, $3c rst Bankswitch diff --git a/home/decompress.asm b/home/decompress.asm index 11283966..5e36d828 100644 --- a/home/decompress.asm +++ b/home/decompress.asm @@ -2,7 +2,7 @@ FarDecompress:: ; b40 ; Decompress graphics data from a:hl to de. ld [wLZBank], a - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, [wLZBank] rst Bankswitch diff --git a/home/fade.asm b/home/fade.asm index 7b11604c..3d0afdce 100644 --- a/home/fade.asm +++ b/home/fade.asm @@ -11,15 +11,15 @@ Function360:: ; 360 (0:0360) dec h .okay ld a, [hli] - ld [rBGP], a + ldh [rBGP], a ld a, [hli] - ld [rOBP0], a + ldh [rOBP0], a ld a, [hli] - ld [rOBP1], a + ldh [rOBP1], a ret RotateFourPalettesRight:: - ld a, [hCGB] + ldh a, [hCGB] and a jr z, .dmg ld hl, IncGradGBPalTable_00 @@ -32,7 +32,7 @@ RotateFourPalettesRight:: jr RotatePalettesRight RotateThreePalettesRight:: - ld a, [hCGB] + ldh a, [hCGB] and a jr z, .dmg ld hl, IncGradGBPalTable_05 @@ -60,7 +60,7 @@ RotatePalettesRight:: ret RotateFourPalettesLeft:: - ld a, [hCGB] + ldh a, [hCGB] and a jr z, .dmg ld hl, IncGradGBPalTable_04 - 1 @@ -73,7 +73,7 @@ RotateFourPalettesLeft:: jr RotatePalettesLeft RotateThreePalettesLeft:: - ld a, [hCGB] + ldh a, [hCGB] and a jr z, .dmg ld hl, IncGradGBPalTable_07 - 1 diff --git a/home/farcall.asm b/home/farcall.asm index e1d46449..f42133b3 100644 --- a/home/farcall.asm +++ b/home/farcall.asm @@ -1,6 +1,6 @@ FarCall_hl:: ; 2e27 (0:2e27) ld [wBuffer], a - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, [wBuffer] rst Bankswitch diff --git a/home/handshake.asm b/home/handshake.asm index c49bca22..f4e8c7d3 100644 --- a/home/handshake.asm +++ b/home/handshake.asm @@ -28,14 +28,14 @@ AskSerial:: ; 1ebf (0:1ebf) ; handshake ld a, $88 - ld [rSB], a + ldh [rSB], a ; switch to internal clock ld a, %00000001 - ld [rSC], a + ldh [rSC], a ; start transfer ld a, %10000001 - ld [rSC], a + ldh [rSC], a ret diff --git a/home/init.asm b/home/init.asm index 747d7817..b06820f0 100644 --- a/home/init.asm +++ b/home/init.asm @@ -1,7 +1,7 @@ Reset:: ; 5b0 (0:05b0) call MapSetup_Sound_Off xor a - ld [hMapAnims], a + ldh [hMapAnims], a call ClearPalettes ei ld hl, wd8ba @@ -17,34 +17,34 @@ _Start:: ; 5c6 (0:05c6) .cgb ld a, $1 .load - ld [hCGB], a + ldh [hCGB], a Init:: ; 5d1 (0:05d1) di xor a - ld [rIF], a - ld [rIE], a - ld [rRP], a - ld [rSCX], a - ld [rSCY], a - ld [rSB], a - ld [rSC], a - ld [rWX], a - ld [rWY], a - ld [rBGP], a - ld [rOBP0], a - ld [rOBP1], a - ld [rTMA], a - ld [rTAC], a + ldh [rIF], a + ldh [rIE], a + ldh [rRP], a + ldh [rSCX], a + ldh [rSCY], a + ldh [rSB], a + ldh [rSC], a + ldh [rWX], a + ldh [rWY], a + ldh [rBGP], a + ldh [rOBP0], a + ldh [rOBP1], a + ldh [rTMA], a + ldh [rTAC], a ld [wceeb], a ld a, $4 - ld [rTAC], a + ldh [rTAC], a .wait - ld a, [rLY] + ldh a, [rLY] cp 145 jr nz, .wait xor a - ld [rLCDC], a + ldh [rLCDC], a ; Clear WRAM ld hl, wMusicPlaying @@ -60,14 +60,14 @@ Init:: ; 5d1 (0:05d1) ld sp, wStackTop call ClearVRAM - ld a, [hCGB] + ldh a, [hCGB] push af xor a - ld hl, HRAM_START - ld bc, HRAM_END - HRAM_START + ld hl, HRAM_Begin + ld bc, HRAM_End - HRAM_Begin call ByteFill pop af - ld [hCGB], a + ldh [hCGB], a call ClearSprites @@ -77,24 +77,24 @@ Init:: ; 5d1 (0:05d1) call LoadPushOAM xor a - ld [hMapAnims], a - ld [hSCX], a - ld [hSCY], a - ld [rJOYP], a + ldh [hMapAnims], a + ldh [hSCX], a + ldh [hSCY], a + ldh [rJOYP], a ld a, $8 ; HBlank int enable - ld [rSTAT], a + ldh [rSTAT], a ld a, $90 - ld [hWY], a - ld [rWY], a + ldh [hWY], a + ldh [rWY], a ld a, $7 - ld [hWX], a - ld [rWX], a + ldh [hWX], a + ldh [rWX], a ld a, -1 - ld [hLinkPlayerNumber], a + ldh [hLinkPlayerNumber], a ld h, $98 call BlankBGMap @@ -104,9 +104,9 @@ Init:: ; 5d1 (0:05d1) callfar InitCGBPals ld a, $9c - ld [hBGMapAddress + 1], a + ldh [hBGMapAddress + 1], a xor a - ld [hBGMapAddress], a + ldh [hBGMapAddress], a farcall StartClock @@ -125,10 +125,10 @@ Init:: ; 5d1 (0:05d1) ; OBJ 8x8 ; OBJ on ; BG on - ld [rLCDC], a + ldh [rLCDC], a ld a, $1f - ld [rIE], a + ldh [rIE], a ei call DelayFrame diff --git a/home/item.asm b/home/item.asm index abad27f2..d443c281 100644 --- a/home/item.asm +++ b/home/item.asm @@ -16,7 +16,7 @@ TossItem:: push hl push de push bc - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, BANK(TossItem_) rst Bankswitch @@ -31,7 +31,7 @@ TossItem:: ReceiveItem:: push bc - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, BANK(ReceiveItem_) rst Bankswitch @@ -50,7 +50,7 @@ CheckItem:: push hl push de push bc - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, BANK(CheckItem_) rst Bankswitch diff --git a/home/joypad.asm b/home/joypad.asm index 4f629a9f..317413d0 100644 --- a/home/joypad.asm +++ b/home/joypad.asm @@ -3,8 +3,8 @@ JoypadInt:: ; 8df (0:08df) ClearJoypad:: xor a - ld [hJoyPressed], a - ld [hJoyDown], a + ldh [hJoyPressed], a + ldh [hJoyDown], a ret Joypad:: ; 8e6 (0:08e6) @@ -15,42 +15,42 @@ Joypad:: ; 8e6 (0:08e6) and a ret nz ld a, $20 - ld [rJOYP], a - ld a, [rJOYP] - ld a, [rJOYP] + ldh [rJOYP], a + ldh a, [rJOYP] + ldh a, [rJOYP] cpl and $f swap a ld b, a ld a, $10 - ld [rJOYP], a - ld a, [rJOYP] - ld a, [rJOYP] - ld a, [rJOYP] - ld a, [rJOYP] - ld a, [rJOYP] - ld a, [rJOYP] + ldh [rJOYP], a + ldh a, [rJOYP] + ldh a, [rJOYP] + ldh a, [rJOYP] + ldh a, [rJOYP] + ldh a, [rJOYP] + ldh a, [rJOYP] cpl and $f or b ld b, a ld a, $30 - ld [rJOYP], a - ld a, [hJoypadDown] + ldh [rJOYP], a + ldh a, [hJoypadDown] ld e, a xor b ld d, a and e - ld [hJoypadReleased], a + ldh [hJoypadReleased], a ld a, d and b - ld [hJoypadPressed], a + ldh [hJoypadPressed], a ld c, a - ld a, [hJoypadSum] + ldh a, [hJoypadSum] or c - ld [hJoypadSum], a + ldh [hJoypadSum], a ld a, b - ld [hJoypadDown], a + ldh [hJoypadDown], a and $f cp $f jp z, Reset @@ -64,20 +64,20 @@ GetJoypad:: ; 935 (0:0935) ld a, [wInputType] cp $ff jr z, .auto - ld a, [hJoypadDown] + ldh a, [hJoypadDown] ld b, a - ld a, [hJoyDown] + ldh a, [hJoyDown] ld e, a xor b ld d, a and e - ld [hJoyReleased], a + ldh [hJoyReleased], a ld a, d and b - ld [hJoyPressed], a + ldh [hJoyPressed], a ld c, a ld a, b - ld [hJoyDown], a + ldh [hJoyDown], a .quit pop bc pop de @@ -86,7 +86,7 @@ GetJoypad:: ; 935 (0:0935) ret .auto - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, [wAutoInputBank] rst Bankswitch @@ -131,8 +131,8 @@ GetJoypad:: ; 935 (0:0935) pop af rst Bankswitch ld a, b - ld [hJoyPressed], a - ld [hJoyDown], a + ldh [hJoyPressed], a + ldh [hJoyDown], a jr .quit StartAutoInput:: @@ -144,9 +144,9 @@ StartAutoInput:: xor a ld [wAutoInputLength], a xor a - ld [hJoyPressed], a - ld [hJoyReleased], a - ld [hJoyDown], a + ldh [hJoyPressed], a + ldh [hJoyReleased], a + ldh [hJoyDown], a ld a, $ff ld [wInputType], a ret @@ -167,11 +167,11 @@ JoyTitleScreenInput:: call JoyTextDelay pop bc - ld a, [hJoyDown] + ldh a, [hJoyDown] cp D_UP | SELECT | B_BUTTON jr z, .keycombo - ld a, [hJoyLast] + ldh a, [hJoyLast] and START | A_BUTTON jr nz, .keycombo @@ -188,33 +188,33 @@ JoyTitleScreenInput:: JoyWaitAorB:: call DelayFrame call GetJoypad - ld a, [hJoyPressed] + ldh a, [hJoyPressed] and A_BUTTON | B_BUTTON ret nz call RTC jr JoyWaitAorB WaitButton:: - ld a, [hOAMUpdate] + ldh a, [hOAMUpdate] push af ld a, $1 - ld [hOAMUpdate], a + ldh [hOAMUpdate], a call WaitBGMap call JoyWaitAorB pop af - ld [hOAMUpdate], a + ldh [hOAMUpdate], a ret JoyTextDelay:: ; a08 (0:0a08) call GetJoypad - ld a, [hInMenu] + ldh a, [hInMenu] and a - ld a, [hJoyPressed] + ldh a, [hJoyPressed] jr z, .ok - ld a, [hJoyDown] + ldh a, [hJoyDown] .ok - ld [hJoyLast], a - ld a, [hJoyPressed] + ldh [hJoyLast], a + ldh a, [hJoyPressed] and a jr z, .checkframedelay ld a, 15 @@ -226,7 +226,7 @@ JoyTextDelay:: ; a08 (0:0a08) and a jr z, .restartframedelay xor a - ld [hJoyLast], a + ldh [hJoyLast], a ret .restartframedelay @@ -235,33 +235,33 @@ JoyTextDelay:: ; a08 (0:0a08) ret WaitPressAorB_BlinkCursor:: - ld a, [hMapObjectIndexBuffer] + ldh a, [hMapObjectIndexBuffer] push af - ld a, [hObjectStructIndexBuffer] + ldh a, [hObjectStructIndexBuffer] push af xor a - ld [hMapObjectIndexBuffer], a + ldh [hMapObjectIndexBuffer], a ld a, $6 - ld [hObjectStructIndexBuffer], a + ldh [hObjectStructIndexBuffer], a .loop push hl hlcoord 18, 17 call BlinkCursor pop hl call JoyTextDelay - ld a, [hJoyLast] + ldh a, [hJoyLast] and A_BUTTON | B_BUTTON jr z, .loop pop af - ld [hObjectStructIndexBuffer], a + ldh [hObjectStructIndexBuffer], a pop af - ld [hMapObjectIndexBuffer], a + ldh [hMapObjectIndexBuffer], a ret SimpleWaitPressAorB:: .loop call JoyTextDelay - ld a, [hJoyLast] + ldh a, [hJoyLast] and A_BUTTON | B_BUTTON jr z, .loop ret @@ -282,10 +282,10 @@ ButtonSound:: jp DelayFrames JoyWaitInput:: ; a77 (0:0a77) - ld a, [hOAMUpdate] + ldh a, [hOAMUpdate] push af ld a, $1 - ld [hOAMUpdate], a + ldh [hOAMUpdate], a ld a, [wInputType] or a jr z, .wait_loop @@ -294,22 +294,22 @@ JoyWaitInput:: ; a77 (0:0a77) .wait_loop call JoyBlinkCursor call JoyTextDelay - ld a, [hJoyPressed] + ldh a, [hJoyPressed] and A_BUTTON | B_BUTTON jr nz, .received_input call RTC ld a, $1 - ld [hBGMapMode], a + ldh [hBGMapMode], a call DelayFrame jr .wait_loop .received_input pop af - ld [hOAMUpdate], a + ldh [hOAMUpdate], a ret JoyBlinkCursor:: ; aa6 (0:0aa6) - ld a, [hVBlankCounter] + ldh a, [hVBlankCounter] and $10 jr z, .cursor_off ld a, "▼" @@ -329,37 +329,37 @@ BlinkCursor:: ; ab6 (0:0ab6) cp b pop bc jr nz, .place_arrow - ld a, [hMapObjectIndexBuffer] + ldh a, [hMapObjectIndexBuffer] dec a - ld [hMapObjectIndexBuffer], a + ldh [hMapObjectIndexBuffer], a ret nz - ld a, [hObjectStructIndexBuffer] + ldh a, [hObjectStructIndexBuffer] dec a - ld [hObjectStructIndexBuffer], a + ldh [hObjectStructIndexBuffer], a ret nz ld a, "─" ld [hl], a ld a, -1 - ld [hMapObjectIndexBuffer], a + ldh [hMapObjectIndexBuffer], a ld a, 6 - ld [hObjectStructIndexBuffer], a + ldh [hObjectStructIndexBuffer], a ret .place_arrow - ld a, [hMapObjectIndexBuffer] + ldh a, [hMapObjectIndexBuffer] and a ret z dec a - ld [hMapObjectIndexBuffer], a + ldh [hMapObjectIndexBuffer], a ret nz dec a - ld [hMapObjectIndexBuffer], a - ld a, [hObjectStructIndexBuffer] + ldh [hMapObjectIndexBuffer], a + ldh a, [hObjectStructIndexBuffer] dec a - ld [hObjectStructIndexBuffer], a + ldh [hObjectStructIndexBuffer], a ret nz ld a, 6 - ld [hObjectStructIndexBuffer], a + ldh [hObjectStructIndexBuffer], a ld a, "▼" ld [hl], a ret diff --git a/home/lcd.asm b/home/lcd.asm index b488cbec..6ccfaece 100644 --- a/home/lcd.asm +++ b/home/lcd.asm @@ -1,14 +1,14 @@ LCD:: ; 41b (0:041b) push af - ld a, [hLCDCPointer] + ldh a, [hLCDCPointer] and a jr z, .done push hl - ld a, [rLY] + ldh a, [rLY] ld l, a ld h, wLYOverrides >> 8 ld h, [hl] - ld a, [hLCDCPointer] + ldh a, [hLCDCPointer] ld l, a ld a, h ld h, rSCY >> 8 @@ -22,37 +22,37 @@ DisableLCD:: ; Turn the LCD off ; Don't need to do anything if the LCD is already off - ld a, [rLCDC] + ldh a, [rLCDC] bit 7, a ret z xor a - ld [rIF], a - ld a, [rIE] + ldh [rIF], a + ldh a, [rIE] ld b, a ; Disable VBlank res 0, a - ld [rIE], a + ldh [rIE], a .wait ; Wait until VBlank would normally happen - ld a, [rLY] + ldh a, [rLY] cp 145 jr nz, .wait - ld a, [rLCDC] + ldh a, [rLCDC] and %01111111 - ld [rLCDC], a + ldh [rLCDC], a xor a - ld [rIF], a + ldh [rIF], a ld a, b - ld [rIE], a + ldh [rIE], a ret EnableLCD:: - ld a, [rLCDC] + ldh a, [rLCDC] set 7, a - ld [rLCDC], a + ldh [rLCDC], a ret diff --git a/home/map.asm b/home/map.asm index 53b4c295..7aeda60e 100644 --- a/home/map.asm +++ b/home/map.asm @@ -38,7 +38,7 @@ GetCurrentMapTrigger:: ; 1f78 (0:1f78) GetMapTrigger:: ; 1f95 (0:1f95) push bc - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, BANK(MapTriggers) rst Bankswitch @@ -83,7 +83,7 @@ OverworldTextModeSwitch:: ; 1fc1 (0:1fc1) ret LoadMapPart:: ; 1fc8 (0:1fc8) - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, [wTilesetBlocksBank] rst Bankswitch @@ -186,10 +186,10 @@ endr ReturnToMapFromSubmenu:: ld a, $fa - ld [hMapEntryMethod], a + ldh [hMapEntryMethod], a farcall RunMapSetupScript xor a - ld [hMapEntryMethod], a + ldh [hMapEntryMethod], a ret Function2086:: @@ -222,8 +222,8 @@ Function20c7:: ; 20c7 (0:20c7) ld [wd05c], a xor a ld [wd05b], a - ld [hSCY], a - ld [hSCX], a + ldh [hSCY], a + ldh [hSCX], a farcall ApplyBGMapAnchorToObjects ld a, $60 ld bc, $400 @@ -234,12 +234,12 @@ Function20c7:: ; 20c7 (0:20c7) Function20e6:: ; 20e6 (0:20e6) decoord 0, 0 call Function20f7 - ld a, [hCGB] + ldh a, [hCGB] and a ret z decoord 0, 0, wAttrMap ld a, $1 - ld [rVBK], a + ldh [rVBK], a Function20f7:: ; 20f7 (0:20f7) ld hl, $9800 ld c, $14 @@ -258,16 +258,16 @@ Function20f7:: ; 20f7 (0:20f7) dec b jr nz, .asm_20fe ld a, $0 - ld [rVBK], a + ldh [rVBK], a ret Function2112:: call LoadTilesetHeader call LoadTileset xor a - ld [hMapAnims], a + ldh [hMapAnims], a xor a - ld [hTileAnimFrame], a + ldh [hTileAnimFrame], a farcall Function1416d call LoadFontsExtra ret @@ -500,7 +500,7 @@ Function22a5:: Function22ad:: ; 22ad (0:22ad) farcall Function14a18 ret nc - ld a, [hROMBank] + ldh a, [hROMBank] push af call SwitchToMapScriptHeaderBank call Function22c1 @@ -565,7 +565,7 @@ Function22fe:: ; 22fe (0:22fe) ret Function2302:: ; 2302 (0:2302) - ld a, [hROMBank] + ldh a, [hROMBank] push af call SwitchToMapScriptHeaderBank call Function230f @@ -1039,13 +1039,13 @@ LoadBlockData:: ret ChangeMap:: ; 260d (0:260d) - ld a, [hROMBank] + ldh a, [hROMBank] push af ld hl, wc700 ld a, [wMapWidth] - ld [hObjectStructIndexBuffer], a + ldh [hObjectStructIndexBuffer], a add $6 - ld [hConnectionStripLength], a + ldh [hConnectionStripLength], a ld c, a ld b, $0 add hl, bc @@ -1063,7 +1063,7 @@ ChangeMap:: ; 260d (0:260d) ld b, a .asm_2635 push hl - ld a, [hObjectStructIndexBuffer] + ldh a, [hObjectStructIndexBuffer] ld c, a .asm_2639 ld a, [de] @@ -1072,7 +1072,7 @@ ChangeMap:: ; 260d (0:260d) dec c jr nz, .asm_2639 pop hl - ld a, [hMapObjectIndexBuffer] + ldh a, [hMapObjectIndexBuffer] add l ld l, a jr nc, .asm_2647 @@ -1101,9 +1101,9 @@ FillMapConnections:: ; 264d (0:264d) ld a, [wd097] ld d, a ld a, [wd098] - ld [hConnectionStripLength], a + ldh [hConnectionStripLength], a ld a, [wd099] - ld [hObjectStructIndexBuffer], a + ldh [hObjectStructIndexBuffer], a call FillNorthConnectionStrip .asm_2679 ld a, [wd09e] @@ -1122,9 +1122,9 @@ FillMapConnections:: ; 264d (0:264d) ld a, [wd0a3] ld d, a ld a, [wd0a4] - ld [hConnectionStripLength], a + ldh [hConnectionStripLength], a ld a, [wd0a5] - ld [hObjectStructIndexBuffer], a + ldh [hObjectStructIndexBuffer], a call FillSouthConnectionStrip .asm_26a5 ld a, [wd0aa] @@ -1145,7 +1145,7 @@ FillMapConnections:: ; 264d (0:264d) ld a, [wd0b0] ld b, a ld a, [wd0b1] - ld [hConnectionStripLength], a + ldh [hConnectionStripLength], a call FillWestConnectionStrip .asm_26d0 ld a, [wd0b6] @@ -1166,7 +1166,7 @@ FillMapConnections:: ; 264d (0:264d) ld a, [wd0bc] ld b, a ld a, [wd0bd] - ld [hConnectionStripLength], a + ldh [hConnectionStripLength], a call FillEastConnectionStrip .asm_26fb ret @@ -1177,7 +1177,7 @@ FillSouthConnectionStrip:: ; 26fc (0:26fc) .asm_26fe push de push hl - ld a, [hMapObjectIndexBuffer] + ldh a, [hMapObjectIndexBuffer] ld b, a .asm_2703 ld a, [hli] @@ -1186,7 +1186,7 @@ FillSouthConnectionStrip:: ; 26fc (0:26fc) dec b jr nz, .asm_2703 pop hl - ld a, [hObjectStructIndexBuffer] + ldh a, [hObjectStructIndexBuffer] ld e, a ld d, $0 add hl, de @@ -1206,7 +1206,7 @@ FillWestConnectionStrip:: ; 271f (0:271f) FillEastConnectionStrip:: ; 271f (0:271f) ld a, [wMapWidth] add $6 - ld [hConnectedMapWidth], a + ldh [hConnectedMapWidth], a push de push hl ld a, [hli] @@ -1219,12 +1219,12 @@ FillEastConnectionStrip:: ; 271f (0:271f) ld [de], a inc de pop hl - ld a, [hMapObjectIndexBuffer] + ldh a, [hMapObjectIndexBuffer] ld e, a ld d, $0 add hl, de pop de - ld a, [hConnectedMapWidth] + ldh a, [hConnectedMapWidth] add e ld e, a jr nc, .asm_2740 @@ -1258,7 +1258,7 @@ CallMapScript:: RunMapCallback:: ; 2764 (0:2764) ld b, a - ld a, [hROMBank] + ldh a, [hROMBank] push af call SwitchToMapScriptHeaderBank call FindCallback @@ -1320,23 +1320,23 @@ ExecuteCallbackScript:: ; 279d (0:279d) ret MapTextbox:: - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, b rst Bankswitch call SetUpTextbox ld a, $1 - ld [hOAMUpdate], a + ldh [hOAMUpdate], a call PrintTextboxText xor a - ld [hOAMUpdate], a + ldh [hOAMUpdate], a pop af rst Bankswitch ret Call_a_de:: ld [wBuffer], a - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, [wBuffer] rst Bankswitch @@ -1350,7 +1350,7 @@ Call_a_de:: ret GetMovementData:: - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, b rst Bankswitch @@ -1364,7 +1364,7 @@ GetMovementData:: GetScriptByte:: push hl push bc - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, [wScriptBank] rst Bankswitch @@ -1407,7 +1407,7 @@ CoordinatesEventText:: db "@" CheckObjectMask:: - ld a, [hMapObjectIndexBuffer] + ldh a, [hMapObjectIndexBuffer] .asm_282c ld e, a ld d, $0 @@ -1418,7 +1418,7 @@ CheckObjectMask:: ret MaskObject:: ; 2835 (0:2835) - ld a, [hConnectionStripLength] + ldh a, [hConnectionStripLength] ld e, a ld d, $0 ld hl, wd545 @@ -1428,7 +1428,7 @@ MaskObject:: ; 2835 (0:2835) ret UnmaskObject:: ; 2841 (0:2841) - ld a, [hMapObjectIndexBuffer] + ldh a, [hMapObjectIndexBuffer] ld e, a ld d, $0 ld hl, wMapObjectsEnd @@ -1448,7 +1448,7 @@ ScrollMapDown:: ld d, a call UpdateBGMapRow ld a, $1 - ld [hBGMapUpdate], a + ldh [hBGMapUpdate], a ret ScrollMapUp:: @@ -1470,7 +1470,7 @@ ScrollMapUp:: ld d, a call UpdateBGMapRow ld a, $1 - ld [hBGMapUpdate], a + ldh [hBGMapUpdate], a ret ScrollMapRight:: @@ -1485,7 +1485,7 @@ ScrollMapRight:: ld d, a call UpdateBGMapColumn ld a, $1 - ld [hBGMapUpdate], a + ldh [hBGMapUpdate], a ret ScrollMapLeft:: @@ -1507,7 +1507,7 @@ ScrollMapLeft:: ld d, a call UpdateBGMapColumn ld a, $1 - ld [hBGMapUpdate], a + ldh [hBGMapUpdate], a ret BackupBGMapRow:: ; 28da (0:28da) @@ -1566,7 +1566,7 @@ UpdateBGMapRow:: ; 28f6 (0:28f6) dec c jr nz, .asm_2904 ld a, $14 - ld [hFFDE], a + ldh [hFFDE], a ret UpdateBGMapColumn:: ; 291b (0:291b) @@ -1590,7 +1590,7 @@ UpdateBGMapColumn:: ; 291b (0:291b) dec c jr nz, .asm_2920 ld a, $12 - ld [hFFDE], a + ldh [hFFDE], a ret Function2939:: @@ -1619,7 +1619,7 @@ LoadTileset:: ; 2944 (0:2944) farcall LoadMapGroupRoof .asm_2966 xor a - ld [hTileAnimFrame], a + ldh [hTileAnimFrame], a ret BufferScreen:: @@ -1658,7 +1658,7 @@ SaveScreen:: ld de, wda04 ld a, [wMapWidth] add $6 - ld [hConnectionStripLength], a + ldh [hConnectionStripLength], a ld a, [wPlayerStepDirection] and a jr z, .asm_29bc @@ -1672,7 +1672,7 @@ SaveScreen:: .asm_29b1 ld de, wda0a - ld a, [hConnectionStripLength] + ldh a, [hConnectionStripLength] ld c, a ld b, $0 add hl, bc @@ -1704,7 +1704,7 @@ LoadNeighboringBlockData:: ld l, a ld a, [wMapWidth] add $6 - ld [hMapObjectIndexBuffer], a + ldh [hMapObjectIndexBuffer], a ld de, wda04 ld b, $6 ld c, $5 @@ -1726,7 +1726,7 @@ SaveScreen_LoadNeighbor:: inc d .asm_29f9 pop hl - ld a, [hConnectionStripLength] + ldh a, [hConnectionStripLength] ld c, a ld b, $0 add hl, bc @@ -1985,7 +1985,7 @@ CheckFacingSign:: and a ret z ld c, a - ld a, [hROMBank] + ldh a, [hROMBank] push af call SwitchToMapScriptHeaderBank call CheckIfFacingTileCoordIsSign @@ -2035,7 +2035,7 @@ CheckCurrentMapXYTriggers:: and a ret z ld c, a - ld a, [hROMBank] + ldh a, [hROMBank] push af call SwitchToMapScriptHeaderBank call .TriggerCheck @@ -2096,7 +2096,7 @@ CheckCurrentMapXYTriggers:: FadeToMenu:: xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a call LoadStandardMenuDataHeader farcall FadeOutPalettes call ClearSprites @@ -2144,7 +2144,7 @@ ReturnToMapWithSpeechTextbox:: call UpdateTimePals call DelayFrame ld a, $1 - ld [hMapAnims], a + ldh [hMapAnims], a pop af ret @@ -2154,7 +2154,7 @@ ReloadTilesetAndPalettes:: ; 2c87 (0:2c87) farcall RefreshSprites call Functiond9e call LoadFontsExtra - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, [wMapGroup] ld b, a @@ -2200,7 +2200,7 @@ GetMapHeaderMember:: ; 2cdd (0:2cdd) ld a, [wMapNumber] ld c, a GetAnyMapHeaderMember:: ; 2ce5 (0:2ce5) - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, BANK(MapGroupPointers) rst Bankswitch @@ -2239,7 +2239,7 @@ GetAnyMapBank:: ; 2d0a (0:2d0a) ret PartiallyCopyMapHeader:: ; 2d16 (0:2d16) - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, BANK(MapGroupPointers) rst Bankswitch diff --git a/home/map_objects.asm b/home/map_objects.asm index 8742ed5e..874346f5 100644 --- a/home/map_objects.asm +++ b/home/map_objects.asm @@ -16,7 +16,7 @@ GetSpriteVTile:: ld hl, wUsedSprites + 2 ld c, $b ld b, a - ld a, [hMapObjectIndexBuffer] + ldh a, [hMapObjectIndexBuffer] cp $0 jr z, .asm_16c8 ld a, b @@ -48,7 +48,7 @@ DoesSpriteHaveFacings:: push de push hl ld b, a - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, BANK(DoesSpriteHaveFacings_) rst Bankswitch @@ -83,7 +83,7 @@ GetTileCollision:: ; 16fa (0:16fa) ld e, a ld d, $0 add hl, de - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, BANK(TileCollisionTable) rst Bankswitch @@ -193,14 +193,14 @@ GetMapObject:: ; 176f (0:176f) ret CheckObjectVisibility:: ; 177b (0:177b) - ld [hConnectionStripLength], a + ldh [hConnectionStripLength], a call GetMapObject ld hl, 0 add hl, bc ld a, [hl] cp $ff jr z, .asm_1790 - ld [hObjectStructIndexBuffer], a + ldh [hObjectStructIndexBuffer], a call GetObjectStruct and a ret @@ -282,21 +282,21 @@ CheckObjectTime:: ret Function17ea:: - ld [hMapObjectIndexBuffer], a + ldh [hMapObjectIndexBuffer], a call GetMapObject call CopyObjectStruct_ ret CopyObjectStruct:: - ld [hMapObjectIndexBuffer], a + ldh [hMapObjectIndexBuffer], a call UnmaskObject - ld a, [hConnectionStripLength] + ldh a, [hConnectionStripLength] call GetMapObject farcall CopyObjectStruct_ ret ApplyDeletionToMapObject:: ; 1804 (0:1804) - ld [hConnectionStripLength], a + ldh [hConnectionStripLength], a call GetMapObject ld hl, 0 add hl, bc @@ -373,7 +373,7 @@ Function1855:: LoadMovementDataPointer:: ld [wMovementPerson], a - ld a, [hROMBank] + ldh a, [hROMBank] ld [wMovementDataPointerBank], a ld a, l ld [wMovementDataPointerAddr], a @@ -461,7 +461,7 @@ GetInitialFacing:: CopySpriteMovementData:: ld l, a - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, BANK(SpriteMovementData) rst Bankswitch @@ -521,7 +521,7 @@ CopySpriteMovementData:: ret GetMovementByte_:: - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, [hli] rst Bankswitch diff --git a/home/menu.asm b/home/menu.asm index ed5660af..a418baab 100644 --- a/home/menu.asm +++ b/home/menu.asm @@ -57,7 +57,7 @@ Call_ExitMenu:: VerticalMenu:: ; 1bf3 (0:1bf3) xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a call MenuBox call UpdateSprites call PlaceVerticalMenuItems @@ -213,17 +213,17 @@ DrawVariableLengthMenuBox:: ; 1ce9 (0:1ce9) MenuWriteText:: ; 1cf6 (0:1cf6) xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a call GetMenuIndexSet call RunMenuItemPrintingFunction call SafeUpdateSprites - ld a, [hOAMUpdate] + ldh a, [hOAMUpdate] push af ld a, $1 - ld [hOAMUpdate], a + ldh [hOAMUpdate], a call ApplyTilemap pop af - ld [hOAMUpdate], a + ldh [hOAMUpdate], a ret AutomaticGetMenuBottomCoord:: ; 1d10 (0:1d10) @@ -474,7 +474,7 @@ MenuTextBoxWaitButton:: Place2DMenuItemName:: ld [wBuffer], a - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, [wBuffer] rst Bankswitch @@ -485,7 +485,7 @@ Place2DMenuItemName:: _2DMenu:: call CopyMenuData2 - ld a, [hROMBank] + ldh a, [hROMBank] ld [wMenuDataBank], a push af ld a, BANK(_2DMenu_) @@ -499,8 +499,8 @@ _2DMenu:: ResetBGWindow:: xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a ld a, $90 - ld [rWY], a - ld [hWY], a + ldh [rWY], a + ldh [hWY], a ret diff --git a/home/palettes.asm b/home/palettes.asm index 9762c124..df80d14e 100644 --- a/home/palettes.asm +++ b/home/palettes.asm @@ -1,42 +1,42 @@ UpdatePalsIfCGB:: ; bdf (0:0bdf) - ld a, [hCGB] + ldh a, [hCGB] and a ret z UpdateCGBPals:: ; be3 (0:0be3) - ld a, [hCGBPalUpdate] + ldh a, [hCGBPalUpdate] and a ret z ForceUpdateCGBPals:: ld hl, wBGPals ld a, $80 - ld [rBGPI], a + ldh [rBGPI], a ld c, 8 / 2 .bgp rept 2 palettes ld a, [hli] - ld [rBGPD], a + ldh [rBGPD], a endr dec c jr nz, .bgp ld a, $80 - ld [rOBPI], a + ldh [rOBPI], a ld c, 8 / 2 .obp rept 2 palettes ld a, [hli] - ld [rOBPD], a + ldh [rOBPD], a endr dec c jr nz, .obp xor a - ld [hCGBPalUpdate], a + ldh [hCGBPalUpdate], a scf ret DmgToCgbBGPals:: ; c61 (0:0c61) - ld [rBGP], a + ldh [rBGP], a push af - ld a, [hCGB] + ldh a, [hCGB] and a jr z, .end push hl @@ -44,12 +44,12 @@ DmgToCgbBGPals:: ; c61 (0:0c61) push bc ld hl, wBGPals ld de, wTempBGPals - ld a, [rBGP] + ldh a, [rBGP] ld b, a ld c, $8 call CopyPals ld a, $1 - ld [hCGBPalUpdate], a + ldh [hCGBPalUpdate], a pop bc pop de pop hl @@ -59,10 +59,10 @@ DmgToCgbBGPals:: ; c61 (0:0c61) DmgToCgbObjPals:: ; c83 (0:0c83) ld a, e - ld [rOBP0], a + ldh [rOBP0], a ld a, d - ld [rOBP1], a - ld a, [hCGB] + ldh [rOBP1], a + ldh a, [hCGB] and a ret z push hl @@ -70,21 +70,21 @@ DmgToCgbObjPals:: ; c83 (0:0c83) push bc ld hl, wOBPals ld de, wTempOBPals - ld a, [rOBP0] + ldh a, [rOBP0] ld b, a ld c, $8 call CopyPals ld a, $1 - ld [hCGBPalUpdate], a + ldh [hCGBPalUpdate], a pop bc pop de pop hl ret DmgToCgbObjPal0:: - ld [rOBP0], a + ldh [rOBP0], a push af - ld a, [hCGB] + ldh a, [hCGB] and a jr z, .end push hl @@ -92,12 +92,12 @@ DmgToCgbObjPal0:: push bc ld hl, wOBPals ld de, wTempOBPals - ld a, [rOBP0] + ldh a, [rOBP0] ld b, a ld c, $1 call CopyPals ld a, $1 - ld [hCGBPalUpdate], a + ldh [hCGBPalUpdate], a pop bc pop de pop hl @@ -106,9 +106,9 @@ DmgToCgbObjPal0:: ret DmgToCgbObjPal1:: - ld [rOBP1], a + ldh [rOBP1], a push af - ld a, [hCGB] + ldh a, [hCGB] and a jr z, .end push hl @@ -116,12 +116,12 @@ DmgToCgbObjPal1:: push bc ld hl, wOBPals + 1 palettes ld de, wTempOBPals + 1 palettes - ld a, [rOBP1] + ldh a, [rOBP1] ld b, a ld c, $1 call CopyPals ld a, $1 - ld [hCGBPalUpdate], a + ldh [hCGBPalUpdate], a pop bc pop de pop hl @@ -166,17 +166,17 @@ CopyPals:: ; cea (0:0cea) ret ClearVBank1:: - ld a, [hCGB] + ldh a, [hCGB] and a ret z ld a, $1 - ld [rVBK], a + ldh [rVBK], a ld hl, $8000 ld bc, $2000 xor a call ByteFill ld a, $0 - ld [rVBK], a + ldh [rVBK], a ret Functiond2a:: @@ -198,7 +198,7 @@ Functiond2a:: ret ReloadSpritesNoPalettes:: - ld a, [hCGB] + ldh a, [hCGB] and a ret z ld hl, wBGPals @@ -206,7 +206,7 @@ ReloadSpritesNoPalettes:: xor a call ByteFill ld a, $1 - ld [hCGBPalUpdate], a + ldh [hCGBPalUpdate], a call DelayFrame ret diff --git a/home/print_num.asm b/home/print_num.asm index 70f07607..6fba0071 100755 --- a/home/print_num.asm +++ b/home/print_num.asm @@ -34,6 +34,7 @@ PrintNum:: jr z, .byte cp 2 jr z, .word + ; maximum 3 bytes .long ld a, [de] diff --git a/home/print_text.asm b/home/print_text.asm index 31cbd744..b140b0de 100755 --- a/home/print_text.asm +++ b/home/print_text.asm @@ -137,7 +137,7 @@ Function33e9:: ; 33e9 (0:33e9) FarPrintText:: ld [wBuffer], a - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, [wBuffer] rst Bankswitch diff --git a/home/random.asm b/home/random.asm index 3c2972af..5b2f4933 100644 --- a/home/random.asm +++ b/home/random.asm @@ -1,20 +1,20 @@ Random:: ; 30a2 (0:30a2) push bc - ld a, [rDIV] + ldh a, [rDIV] ld b, a - ld a, [hRandom] + ldh a, [hRandom] adc b - ld [hRandom], a - ld a, [rDIV] + ldh [hRandom], a + ldh a, [rDIV] ld b, a - ld a, [hRandomSub] + ldh a, [hRandomSub] sbc b - ld [hRandomSub], a + ldh [hRandomSub], a pop bc ret BattleRandom:: - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, BANK(BattleRandom_) rst Bankswitch @@ -38,7 +38,7 @@ RandomRange:: push bc .asm_30d1 call Random - ld a, [hRandom] + ldh a, [hRandom] ld c, a add b jr c, .asm_30d1 diff --git a/home/rst.asm b/home/rst.asm index 1c9b5f6e..7da45ddd 100644 --- a/home/rst.asm +++ b/home/rst.asm @@ -8,7 +8,7 @@ SECTION "rst8",ROM0 jp FarCall_hl SECTION "rst10",ROM0 - ld [hROMBank], a + ldh [hROMBank], a ld [MBC3RomBank], a ret diff --git a/home/serial.asm b/home/serial.asm index 262d7ad9..bd51084e 100644 --- a/home/serial.asm +++ b/home/serial.asm @@ -8,20 +8,20 @@ Serial:: ; 6aa (0:06aa) bit 0, a jr nz, .printer - ld a, [hLinkPlayerNumber] + ldh a, [hLinkPlayerNumber] inc a jr z, .init_player_number - ld a, [rSB] - ld [hSerialReceive], a - ld a, [hSerialSend] - ld [rSB], a - ld a, [hLinkPlayerNumber] + ldh a, [rSB] + ldh [hSerialReceive], a + ldh a, [hSerialSend] + ldh [rSB], a + ldh a, [hLinkPlayerNumber] cp $2 jr z, .player2 ld a, 0 << rSC_ON - ld [rSC], a + ldh [rSC], a ld a, 1 << rSC_ON - ld [rSC], a + ldh [rSC], a jr .player2 .printer @@ -29,43 +29,43 @@ Serial:: ; 6aa (0:06aa) jr .end .init_player_number - ld a, [rSB] + ldh a, [rSB] cp $1 jr z, .player1 cp $2 jr nz, .player2 .player1 - ld [hSerialReceive], a - ld [hLinkPlayerNumber], a + ldh [hSerialReceive], a + ldh [hLinkPlayerNumber], a cp $2 jr z, ._player2 xor a - ld [rSB], a + ldh [rSB], a ld a, $3 - ld [rDIV], a + ldh [rDIV], a .wait_bit_7 - ld a, [rDIV] + ldh a, [rDIV] bit 7, a jr nz, .wait_bit_7 ; cycle the serial controller ld a, 0 << rSC_ON - ld [rSC], a + ldh [rSC], a ld a, 1 << rSC_ON - ld [rSC], a + ldh [rSC], a jr .player2 ._player2 xor a - ld [rSB], a + ldh [rSB], a .player2 ld a, $1 - ld [hFFCC], a + ldh [hFFCC], a ld a, SERIAL_NO_DATA_BYTE - ld [hSerialSend], a + ldh [hSerialSend], a .end pop hl @@ -76,10 +76,10 @@ Serial:: ; 6aa (0:06aa) Function710:: ; 710 ld a, $1 - ld [hFFCE], a + ldh [hFFCE], a .loop ld a, [hl] - ld [hSerialSend], a + ldh [hSerialSend], a call Function73b push bc ld b, a @@ -88,7 +88,7 @@ Function710:: ; 710 .wait dec a jr nz, .wait - ld a, [hFFCE] + ldh a, [hFFCE] and a ld a, b pop bc @@ -97,7 +97,7 @@ Function710:: ; 710 cp SERIAL_PREAMBLE_BYTE jr nz, .loop xor a - ld [hFFCE], a + ldh [hFFCE], a jr .loop .load @@ -112,19 +112,19 @@ Function710:: ; 710 Function73b:: ; 73b (0:073b) .loop xor a - ld [hFFCC], a - ld a, [hLinkPlayerNumber] + ldh [hFFCC], a + ldh a, [hLinkPlayerNumber] cp $2 jr nz, .loop2 ld a, (1 << rSC_CLOCK) | (0 << rSC_ON) - ld [rSC], a + ldh [rSC], a ld a, (1 << rSC_CLOCK) | (1 << rSC_ON) - ld [rSC], a + ldh [rSC], a .loop2 - ld a, [hFFCC] + ldh a, [hFFCC] and a jr nz, .reset_ffcc - ld a, [hLinkPlayerNumber] + ldh a, [hLinkPlayerNumber] cp $1 jr nz, .not_player_1_or_wLinkTimeoutFrames_zero call CheckLinkTimeout @@ -144,7 +144,7 @@ Function73b:: ; 73b (0:073b) jp SerialDisconnected .not_player_1_or_wLinkTimeoutFrames_zero - ld a, [rIE] + ldh a, [rIE] and $f cp $8 jr nz, .loop2 @@ -156,7 +156,7 @@ Function73b:: ; 73b (0:073b) dec a ld [wce5d + 1], a jr nz, .loop2 - ld a, [hLinkPlayerNumber] + ldh a, [hLinkPlayerNumber] cp $1 jr z, .reset_ffcc @@ -167,8 +167,8 @@ Function73b:: ; 73b (0:073b) .reset_ffcc xor a - ld [hFFCC], a - ld a, [rIE] + ldh [hFFCC], a + ldh a, [rIE] and $f sub $8 jr nz, .rIE_not_equal_8 @@ -178,7 +178,7 @@ Function73b:: ; 73b (0:073b) ld [wce5d + 1], a .rIE_not_equal_8 - ld a, [hSerialReceive] + ldh a, [hSerialReceive] cp SERIAL_NO_DATA_BYTE ret nz call CheckLinkTimeout @@ -198,13 +198,13 @@ Function73b:: ; 73b (0:073b) jr z, SerialDisconnected .link_timed_out - ld a, [rIE] + ldh a, [rIE] and $f cp $8 ld a, SERIAL_NO_DATA_BYTE ret z ld a, [hl] - ld [hSerialSend], a + ldh [hSerialSend], a call DelayFrame jp .loop @@ -234,18 +234,18 @@ Function7ec:: ; 7ec ld de, wOtherPlayerLinkMode ld c, $2 ld a, $1 - ld [hFFCE], a + ldh [hFFCE], a .asm_7f8 call DelayFrame ld a, [hl] - ld [hSerialSend], a + ldh [hSerialSend], a call Function73b ld b, a inc hl - ld a, [hFFCE] + ldh a, [hFFCE] and a ld a, $0 - ld [hFFCE], a + ldh [hFFCE], a jr nz, .asm_7f8 ld a, b ld [de], a @@ -329,27 +329,27 @@ LinkTransfer:: ; 872 (0:0872) call LinkTransferReceive ld a, [wPlayerLinkAction] add b - ld [hSerialSend], a - ld a, [hLinkPlayerNumber] + ldh [hSerialSend], a + ldh a, [hLinkPlayerNumber] cp $2 jr nz, .asm_89f ld a, $1 - ld [rSC], a + ldh [rSC], a ld a, $81 - ld [rSC], a + ldh [rSC], a .asm_89f call LinkTransferReceive pop bc ret LinkTransferReceive:: ; 8a4 (0:08a4) - ld a, [hSerialReceive] + ldh a, [hSerialReceive] ld [wOtherPlayerLinkMode], a and $f0 cp b ret nz xor a - ld [hSerialReceive], a + ldh [hSerialReceive], a ld a, [wOtherPlayerLinkMode] and $f ld [wOtherPlayerLinkAction], a @@ -357,14 +357,14 @@ LinkTransferReceive:: ; 8a4 (0:08a4) LinkDataReceived:: ; 8b9 (0:08b9) xor a - ld [hSerialSend], a - ld a, [hLinkPlayerNumber] + ldh [hSerialSend], a + ldh a, [hLinkPlayerNumber] cp $2 ret nz ld a, $1 - ld [rSC], a + ldh [rSC], a ld a, $81 - ld [rSC], a + ldh [rSC], a ret Function8ca:: ; 8ca @@ -372,11 +372,11 @@ Function8ca:: ; 8ca and a ret nz ld a, $2 - ld [rSB], a + ldh [rSB], a xor a - ld [hSerialReceive], a + ldh [hSerialReceive], a ld a, $0 - ld [rSC], a + ldh [rSC], a ld a, $80 - ld [rSC], a + ldh [rSC], a ret diff --git a/home/text.asm b/home/text.asm index d1cee382..9c1104f5 100644 --- a/home/text.asm +++ b/home/text.asm @@ -23,7 +23,7 @@ ClearTileMap:: ld a, " " ld bc, SCREEN_WIDTH * SCREEN_HEIGHT call ByteFill - ld a, [rLCDC] + ldh a, [rLCDC] bit 7, a ret z jp WaitBGMap @@ -276,12 +276,12 @@ Char36:: print_name Char36Text ; 10cf (0:10cf) Char37:: print_name Char37Text ; 10d6 (0:10d6) PlaceMoveTargetsName:: ; 10dd (0:10dd) - ld a, [hBattleTurn] + ldh a, [hBattleTurn] xor $1 jr PlaceMonsName PlaceMoveUsersName:: ; 10e3 (0:10e3) - ld a, [hBattleTurn] + ldh a, [hBattleTurn] PlaceMonsName:: push de and a @@ -502,13 +502,13 @@ TextScroll:: ; 121d (0:121d) Text_WaitBGMap:: ; 123a (0:123a) push bc - 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 pop bc ret @@ -535,7 +535,7 @@ UnloadBlinkingCursor:: ; 125b (0:125b) FarString:: ld b, a - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, b rst Bankswitch @@ -634,14 +634,14 @@ Text_TX_RAM:: ; 12d6 (0:12d6) ret Text_TX_FAR:: ; 12e2 (0:12e2) - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, [hli] ld e, a ld a, [hli] ld d, a ld a, [hli] - ld [hROMBank], a + ldh [hROMBank], a ld [MBC3RomBank], a push hl ld h, d @@ -649,7 +649,7 @@ Text_TX_FAR:: ; 12e2 (0:12e2) call DoTextUntilTerminator pop hl pop af - ld [hROMBank], a + ldh [hROMBank], a ld [MBC3RomBank], a ret @@ -751,7 +751,7 @@ Text_TX_EXIT:: ; 136d (0:136d) push hl push bc call GetJoypad - ld a, [hJoyDown] + ldh a, [hJoyDown] and A_BUTTON | B_BUTTON jr nz, .skip ld c, 30 @@ -823,7 +823,7 @@ Text_TX_DOTS:: ; 13c3 (0:13c3) ld a, "…" ld [hli], a call GetJoypad - ld a, [hJoyDown] + ldh a, [hJoyDown] and A_BUTTON | B_BUTTON jr nz, .next ld c, 10 diff --git a/home/tilemap.asm b/home/tilemap.asm index 4cccbb61..ecced960 100755 --- a/home/tilemap.asm +++ b/home/tilemap.asm @@ -33,10 +33,10 @@ ScrollingMenuJoypad:: ; 1a70 (0:1a70) GetMenuJoypad:: ; 1a7a (0:1a7a) push bc push af - ld a, [hJoyLast] + ldh a, [hJoyLast] and D_PAD ld b, a - ld a, [hJoyPressed] + ldh a, [hJoyPressed] and BUTTONS or b ld b, a diff --git a/home/time.asm b/home/time.asm index 8acc72d9..ab03e930 100644 --- a/home/time.asm +++ b/home/time.asm @@ -24,31 +24,31 @@ GetClock:: ; 477 (0:0477) ld [hl], RTC_S ld a, [de] and $3f - ld [hRTCSeconds], a + ldh [hRTCSeconds], a ld [hl], RTC_M ld a, [de] and $3f - ld [hRTCMinutes], a + ldh [hRTCMinutes], a ld [hl], RTC_H ld a, [de] and $1f - ld [hRTCHours], a + ldh [hRTCHours], a ld [hl], RTC_DL ld a, [de] - ld [hRTCDayLo], a + ldh [hRTCDayLo], a ld [hl], RTC_DH ld a, [de] - ld [hRTCDayHi], a + ldh [hRTCDayHi], a call CloseSRAM ret FixDays:: ; 4a8 (0:04a8) - ld a, [hRTCDayHi] + ldh a, [hRTCDayHi] bit 0, a jr z, .daylo res 0, a - ld [hRTCDayHi], a - ld a, [hRTCDayLo] + ldh [hRTCDayHi], a + ldh a, [hRTCDayLo] .modh sub 140 jr nc, .modh @@ -56,18 +56,18 @@ FixDays:: ; 4a8 (0:04a8) sub 140 jr nc, .modl add 140 - ld [hRTCDayLo], a + ldh [hRTCDayLo], a ld a, $40 jr .set .daylo - ld a, [hRTCDayLo] + ldh a, [hRTCDayLo] cp 140 jr c, .quit .mod sub 140 jr nc, .mod add 140 - ld [hRTCDayLo], a + ldh [hRTCDayLo], a ld a, $20 .set push af @@ -81,7 +81,7 @@ FixDays:: ; 4a8 (0:04a8) ret FixTime:: ; 4de (0:04de) - ld a, [hRTCSeconds] + ldh a, [hRTCSeconds] ld c, a ld a, [wd1df] add c @@ -89,9 +89,9 @@ FixTime:: ; 4de (0:04de) jr nc, .asm_4eb add 60 .asm_4eb - ld [hSeconds], a + ldh [hSeconds], a ccf - ld a, [hRTCMinutes] + ldh a, [hRTCMinutes] ld c, a ld a, [wd1de] adc c @@ -99,9 +99,9 @@ FixTime:: ; 4de (0:04de) jr nc, .asm_4fb add 60 .asm_4fb - ld [hMinutes], a + ldh [hMinutes], a ccf - ld a, [hRTCHours] + ldh a, [hRTCHours] ld c, a ld a, [wd1dd] adc c @@ -109,9 +109,9 @@ FixTime:: ; 4de (0:04de) jr nc, .asm_50b add 24 .asm_50b - ld [hHours], a + ldh [hHours], a ccf - ld a, [hRTCDayLo] + ldh a, [hRTCDayLo] ld c, a ld a, [wd1dc] adc c @@ -127,11 +127,11 @@ SetTimeOfDay:: SetDayOfWeek:: call UpdateTime - ld a, [hHours] + ldh a, [hHours] ld [wStringBuffer2 + 1], a - ld a, [hMinutes] + ldh a, [hMinutes] ld [wStringBuffer2 + 2], a - ld a, [hSeconds] + ldh a, [hSeconds] ld [wStringBuffer2 + 3], a jr InitTime @@ -146,11 +146,11 @@ PanicResetClock:: ClearhRTC:: ; 546 (0:0546) xor a - ld [hRTCSeconds], a - ld [hRTCMinutes], a - ld [hRTCHours], a - ld [hRTCDayLo], a - ld [hRTCDayHi], a + ldh [hRTCSeconds], a + ldh [hRTCMinutes], a + ldh [hRTCHours], a + ldh [hRTCDayLo], a + ldh [hRTCDayHi], a ret SetClock:: ; 552 (0:0552) @@ -164,19 +164,19 @@ SetClock:: ; 552 (0:0552) bit 6, a ld [de], a ld [hl], RTC_S - ld a, [hRTCSeconds] + ldh a, [hRTCSeconds] ld [de], a ld [hl], RTC_M - ld a, [hRTCMinutes] + ldh a, [hRTCMinutes] ld [de], a ld [hl], RTC_H - ld a, [hRTCHours] + ldh a, [hRTCHours] ld [de], a ld [hl], RTC_DL - ld a, [hRTCDayLo] + ldh a, [hRTCDayLo] ld [de], a ld [hl], RTC_DH - ld a, [hRTCDayHi] + ldh a, [hRTCDayHi] res 6, a ld [de], a call CloseSRAM diff --git a/home/vblank.asm b/home/vblank.asm index 485b875c..9c360586 100644 --- a/home/vblank.asm +++ b/home/vblank.asm @@ -3,7 +3,7 @@ VBlank:: push bc push de push hl - ld a, [hVBlank] + ldh a, [hVBlank] and $7 ld e, a ld d, $0 @@ -54,29 +54,29 @@ VBlank0:: ; 180 inc [hl] ; advance random variables - ld a, [rDIV] + ldh a, [rDIV] ld b, a - ld a, [hRandomAdd] + ldh a, [hRandomAdd] adc b - ld [hRandomAdd], a + ldh [hRandomAdd], a - ld a, [rDIV] + ldh a, [rDIV] ld b, a - ld a, [hRandomSub] + ldh a, [hRandomSub] sbc b - ld [hRandomSub], a + ldh [hRandomSub], a - ld a, [hROMBank] + ldh a, [hROMBank] ld [wROMBankBackup], a - ld a, [hSCX] - ld [rSCX], a - ld a, [hSCY] - ld [rSCY], a - ld a, [hWY] - ld [rWY], a - ld a, [hWX] - ld [rWX], a + ldh a, [hSCX] + ldh [rSCX], a + ldh a, [hSCY] + ldh [rSCY], a + ldh a, [hWY] + ldh [rWY], a + ldh a, [hWX] + ldh [rWX], a ; There's only time to call one of these in one vblank. ; Calls are in order of priority. @@ -96,10 +96,10 @@ VBlank0:: ; 180 .done - ld a, [hOAMUpdate] + ldh a, [hOAMUpdate] and a jr nz, .done_oam - call hPushOAM + call hTransferVirtualOAM .done_oam @@ -129,8 +129,8 @@ VBlank0:: ; 180 call _UpdateSound ld a, [wROMBankBackup] rst Bankswitch - ld a, [hSeconds] - ld [hSecondsBackup], a + ldh a, [hSeconds] + ldh [hSecondsBackup], a ret VBlank1:: ; 1f4 @@ -140,21 +140,21 @@ VBlank1:: ; 1f4 ; tiles ; oam ; sound / lcd stat - ld a, [hROMBank] + ldh a, [hROMBank] ld [wROMBankBackup], a - ld a, [hSCX] - ld [rSCX], a - ld a, [hSCY] - ld [rSCY], a + ldh a, [hSCX] + ldh [rSCX], a + ldh a, [hSCY] + ldh [rSCY], a call UpdatePals jr c, .done call UpdateBGMap call Serve2bppRequest - call hPushOAM + call hTransferVirtualOAM .done - ld a, [hLCDCPointer] + ldh a, [hLCDCPointer] or a jr z, .skip_lcd ld c, a @@ -165,20 +165,20 @@ VBlank1:: ; 1f4 ld [wVBlankOccurred], a ; get requested ints - ld a, [rIF] + ldh a, [rIF] ld b, a ; discard requested ints xor a - ld [rIF], a + ldh [rIF], a ; enable lcd stat ld a, %10 ; lcd stat - ld [rIE], a + ldh [rIE], a ; rerequest serial int if applicable (still disabled) ; request lcd stat ld a, b and %1000 ; serial or %10 ; lcd stat - ld [rIF], a + ldh [rIF], a ei ld a, BANK(_UpdateSound) @@ -188,22 +188,22 @@ VBlank1:: ; 1f4 rst Bankswitch ; enable ints ld a, %11111 - ld [rIE], a + ldh [rIE], a ret UpdatePals:: ; 23e ; update pals for either dmg or cgb - ld a, [hCGB] + ldh a, [hCGB] and a jp nz, UpdateCGBPals ; update gb pals ld a, [wBGP] - ld [rBGP], a + ldh [rBGP], a ld a, [wOBP0] - ld [rOBP0], a + ldh [rOBP0], a ld a, [wOPB1] - ld [rOBP1], a + ldh [rOBP1], a and a ret @@ -215,13 +215,13 @@ VBlank4:: ; 255 ; serial ; sound - ld a, [hROMBank] + ldh a, [hROMBank] ld [wROMBankBackup], a call UpdateBGMap call Serve2bppRequest - call hPushOAM + call hTransferVirtualOAM call Joypad @@ -245,11 +245,11 @@ VBlank5:: ; 278 ; tiles ; joypad - ld a, [hROMBank] + ldh a, [hROMBank] ld [wROMBankBackup], a - ld a, [hSCX] - ld [rSCX], a + ldh a, [hSCX] + ldh [rSCX], a call UpdatePalsIfCGB jr c, .done @@ -264,11 +264,11 @@ VBlank5:: ; 278 call Joypad xor a - ld [rIF], a + ldh [rIF], a ld a, %10 ; lcd stat - ld [rIE], a + ldh [rIE], a ; request lcd stat - ld [rIF], a + ldh [rIF], a ei ld a, BANK(_UpdateSound) @@ -279,16 +279,16 @@ VBlank5:: ; 278 di xor a - ld [rIF], a + ldh [rIF], a ; enable ints ld a, %11111 - ld [rIE], a + ldh [rIE], a ret VBlank2:: ; 2b0 ; sound only - ld a, [hROMBank] + ldh a, [hROMBank] ld [wROMBankBackup], a ld a, BANK(_UpdateSound) @@ -310,36 +310,36 @@ VBlank3:: ; 2c4 ; oam ; sound / lcd stat - ld a, [hVBlankCounter] + ldh a, [hVBlankCounter] inc a - ld [hVBlankCounter], a + ldh [hVBlankCounter], a - ld a, [rDIV] + ldh a, [rDIV] ld b, a - ld a, [hRandomAdd] + ldh a, [hRandomAdd] adc b - ld [hRandomAdd], a + ldh [hRandomAdd], a - ld a, [rDIV] + ldh a, [rDIV] ld b, a - ld a, [hRandomSub] + ldh a, [hRandomSub] sbc b - ld [hRandomSub], a + ldh [hRandomSub], a call Joypad - ld a, [hROMBank] + ldh a, [hROMBank] ld [wROMBankBackup], a - ld a, [hSCX] - ld [rSCX], a - ld a, [hSCY] - ld [rSCY], a + ldh a, [hSCX] + ldh [rSCX], a + ldh a, [hSCY] + ldh [rSCY], a - ld a, [hWY] - ld [rWY], a - ld a, [hWX] - ld [rWX], a + ldh a, [hWY] + ldh [rWY], a + ldh a, [hWX] + ldh [rWX], a call UpdateBGMap call UpdateBGMapBuffer @@ -349,7 +349,7 @@ VBlank3:: ; 2c4 call Serve1bppRequest call AnimateTileset - call hPushOAM + call hTransferVirtualOAM xor a ld [wVBlankOccurred], a @@ -362,11 +362,11 @@ VBlank3:: ; 2c4 .okay xor a - ld [rIF], a + ldh [rIF], a ld a, %10 ; lcd stat - ld [rIE], a + ldh [rIE], a ; request lcd stat - ld [rIF], a + ldh [rIF], a ei ld a, BANK(_UpdateSound) @@ -377,8 +377,8 @@ VBlank3:: ; 2c4 di xor a - ld [rIF], a + ldh [rIF], a ; enable ints ld a, %11111 - ld [rIE], a + ldh [rIE], a ret diff --git a/home/video.asm b/home/video.asm index 0d105791..aca44d2d 100644 --- a/home/video.asm +++ b/home/video.asm @@ -1,5 +1,5 @@ UpdateBGMapBuffer:: ; 1458 (0:1458) - ld a, [hBGMapUpdate] + ldh a, [hBGMapUpdate] and a ret z @@ -15,7 +15,7 @@ UpdateBGMapBuffer:: ; 1458 (0:1458) rept 2 pop bc ld a, $1 - ld [rVBK], a + ldh [rVBK], a ld a, [hli] ld [bc], a inc c @@ -23,7 +23,7 @@ rept 2 ld [bc], a dec c ld a, $0 - ld [rVBK], a + ldh [rVBK], a ld a, [de] inc de ld [bc], a @@ -33,29 +33,29 @@ rept 2 ld [bc], a endr - ld a, [hFFDE] + ldh a, [hFFDE] dec a dec a - ld [hFFDE], a + ldh [hFFDE], a jr nz, .next - ld a, [hSPBuffer] + ldh a, [hSPBuffer] ld l, a - ld a, [hSPBuffer + 1] + ldh a, [hSPBuffer + 1] ld h, a ld sp, hl xor a - ld [hBGMapUpdate], a + ldh [hBGMapUpdate], a scf ret WaitTop:: - ld a, [hBGMapMode] + ldh a, [hBGMapMode] and a ret z - ld a, [hBGMapThird] + ldh a, [hBGMapThird] and a jr z, .done call DelayFrame @@ -63,11 +63,11 @@ WaitTop:: .done xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a ret UpdateBGMap:: ; 14bb (0:14bb) - ld a, [hBGMapMode] + ldh a, [hBGMapMode] and a ret z @@ -78,18 +78,18 @@ UpdateBGMap:: ; 14bb (0:14bb) dec a - ld a, [hBGMapAddress] + ldh a, [hBGMapAddress] ld l, a - ld a, [hBGMapAddress + 1] + ldh a, [hBGMapAddress + 1] ld h, a push hl xor a - ld [hBGMapAddress], a + ldh [hBGMapAddress], a ld a, $9c - ld [hBGMapAddress + 1], a + ldh [hBGMapAddress + 1], a - ld a, [hBGMapMode] + ldh a, [hBGMapMode] push af cp $3 call z, .Tiles @@ -99,19 +99,19 @@ UpdateBGMap:: ; 14bb (0:14bb) pop hl ld a, l - ld [hBGMapAddress], a + ldh [hBGMapAddress], a ld a, h - ld [hBGMapAddress + 1], a + ldh [hBGMapAddress + 1], a ret .Attr ld a, $1 - ld [rVBK], a + ldh [rVBK], a hlcoord 0, 0, wAttrMap call .update ld a, $0 - ld [rVBK], a + ldh [rVBK], a ret .Tiles @@ -119,7 +119,7 @@ UpdateBGMap:: ; 14bb (0:14bb) .update ld [hSPBuffer], sp - ld a, [hBGMapThird] + ldh a, [hBGMapThird] and a jr z, .top dec a @@ -130,9 +130,9 @@ THIRD_HEIGHT EQU SCREEN_HEIGHT / 3 add hl, de ld sp, hl - ld a, [hBGMapAddress + 1] + ldh a, [hBGMapAddress + 1] ld h, a - ld a, [hBGMapAddress] + ldh a, [hBGMapAddress] ld l, a ld de, 2 * THIRD_HEIGHT * BG_MAP_WIDTH @@ -146,9 +146,9 @@ THIRD_HEIGHT EQU SCREEN_HEIGHT / 3 add hl, de ld sp, hl - ld a, [hBGMapAddress + 1] + ldh a, [hBGMapAddress + 1] ld h, a - ld a, [hBGMapAddress] + ldh a, [hBGMapAddress] ld l, a ld de, THIRD_HEIGHT * BG_MAP_WIDTH @@ -160,15 +160,15 @@ THIRD_HEIGHT EQU SCREEN_HEIGHT / 3 .top ld sp, hl - ld a, [hBGMapAddress + 1] + ldh a, [hBGMapAddress + 1] ld h, a - ld a, [hBGMapAddress] + ldh a, [hBGMapAddress] ld l, a ld a, $1 .start - ld [hBGMapThird], a + ldh [hBGMapThird], a ld a, SCREEN_HEIGHT / 3 ; Discrepancy between TileMap and BGMap @@ -191,9 +191,9 @@ endr dec a jr nz, .row - ld a, [hSPBuffer] + ldh a, [hSPBuffer] ld l, a - ld a, [hSPBuffer + 1] + ldh a, [hSPBuffer + 1] ld h, a ld sp, hl ret @@ -254,9 +254,9 @@ endr ld [wRequested1bppSource], sp - ld a, [hSPBuffer] + ldh a, [hSPBuffer] ld l, a - ld a, [hSPBuffer + 1] + ldh a, [hSPBuffer + 1] ld h, a ld sp, hl ret @@ -303,18 +303,18 @@ endr ld [wRequested2bppSource], sp - ld a, [hSPBuffer] + ldh a, [hSPBuffer] ld l, a - ld a, [hSPBuffer + 1] + ldh a, [hSPBuffer + 1] ld h, a ld sp, hl ret AnimateTileset:: ; 162b (0:162b) - ld a, [hMapAnims] + ldh a, [hMapAnims] and a ret z - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, $3f rst Bankswitch @@ -329,7 +329,7 @@ AnimateTileset:: ; 162b (0:162b) Function1642:: ; 1642 (0:1642) nop - ld a, [hFF9E] + ldh a, [hVBlankCounter + 1] and a ret z dec a @@ -337,7 +337,7 @@ Function1642:: ; 1642 (0:1642) dec a jr z, .two ld a, $2 - ld [hFF9E], a + ldh [hVBlankCounter + 1], a ld hl, hBGMapAddress ld a, [hli] ld h, [hl] @@ -364,7 +364,7 @@ endr xor a ld de, $320 .go - ld [hFF9E], a + ldh [hVBlankCounter + 1], a ld hl, hBGMapAddress ld a, [hli] ld h, [hl] diff --git a/home/window.asm b/home/window.asm index 67326091..d3272f07 100644 --- a/home/window.asm +++ b/home/window.asm @@ -1,6 +1,6 @@ Function2e80:: ; 2e80 (0:2e80) call ClearWindowData - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, BANK(ReanchorBGMap_NoOAMUpdate) ; and BANK(LoadFonts_NoOAMUpdate) rst Bankswitch @@ -12,26 +12,26 @@ Function2e80:: ; 2e80 (0:2e80) ret CloseText - ld a, [hOAMUpdate] + ldh a, [hOAMUpdate] push af ld a, $1 - ld [hOAMUpdate], a + ldh [hOAMUpdate], a call .CloseText pop af - ld [hOAMUpdate], a + ldh [hOAMUpdate], a ret .CloseText: call ClearWindowData xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a call OverworldTextModeSwitch call _OpenAndCloseMenu_HDMATransferTileMapAndAttrMap xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a call SafeUpdateSprites ld a, $90 - ld [hWY], a + ldh [hWY], a farcall Function1415c call ReplacePlayerSprite ld hl, wd565 @@ -41,7 +41,7 @@ CloseText OpenText:: call ClearWindowData - ld a, [hROMBank] + ldh a, [hROMBank] push af ld a, BANK(ReanchorBGMap_NoOAMUpdate) ; and BANK(LoadFonts_NoOAMUpdate) rst Bankswitch @@ -54,32 +54,32 @@ OpenText:: ret _OpenAndCloseMenu_HDMATransferTileMapAndAttrMap:: ; 2ee3 (0:2ee3) - ld a, [hOAMUpdate] + ldh a, [hOAMUpdate] push af ld a, $1 - ld [hOAMUpdate], a + ldh [hOAMUpdate], a call CGBOnly_LoadEDTile pop af - ld [hOAMUpdate], a + ldh [hOAMUpdate], a ret SafeUpdateSprites:: ; 2ef1 (0:2ef1) - ld a, [hOAMUpdate] + ldh a, [hOAMUpdate] push af - ld a, [hBGMapMode] + ldh a, [hBGMapMode] push af xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a ld a, $1 - ld [hOAMUpdate], a + ldh [hOAMUpdate], a call UpdateSprites xor a - ld [hOAMUpdate], a + ldh [hOAMUpdate], a call DelayFrame pop af - ld [hBGMapMode], a + ldh [hBGMapMode], a pop af - ld [hOAMUpdate], a + ldh [hOAMUpdate], a ret Function2f0e:: @@ -1,128 +1,169 @@ -HRAM_START EQU $ff80 -hPushOAM EQU $ff80 ; 10 bytes - -hROMBankBackup EQU $ff8c -hBuffer EQU $ff8d -hFF8E EQU $ff8e -hRTCDayHi EQU $ff8f -hRTCDayLo EQU $ff90 -hRTCHours EQU $ff91 -hRTCMinutes EQU $ff92 -hRTCSeconds EQU $ff93 - -hHours EQU $ff96 - -hMinutes EQU $ff98 - -hSeconds EQU $ff9a - -hVBlankCounter EQU $ff9d -hFF9E EQU $ff9e -hROMBank EQU $ff9f -hVBlank EQU $ffa0 -hMapEntryMethod EQU $ffa1 -hMenuReturn EQU $ffa2 - -hJoypadReleased EQU $ffa4 -hJoypadPressed EQU $ffa5 -hJoypadDown EQU $ffa6 -hJoypadSum EQU $ffa7 -hJoyReleased EQU $ffa8 -hJoyPressed EQU $ffa9 -hJoyDown EQU $ffaa -hJoyLast EQU $ffab -hInMenu EQU $ffac - -hPrinter EQU $ffae -hGraphicStartTile EQU $ffaf -hMoveMon EQU $ffb0 -hMapObjectIndexBuffer EQU $ffb1 -hObjectStructIndexBuffer EQU $ffb2 - -hConnectionStripLength EQU $ffb1 -hConnectedMapWidth EQU $ffb2 - -hPastLeadingZeroes EQU $ffb5 - -hStringCmpString1 EQU $ffb3 -hStringCmpString2 EQU $ffb7 - -hDividend EQU $ffb5 ; length in b register, before 'call Divide' (max 4 bytes) -hDivisor EQU $ffb9 ; 1 byte long -hQuotient EQU $ffb6 ; result (3 bytes long) -hRemainder EQU $ffb9 - -hMultiplicand EQU $ffb6 ; 3 bytes long -hMultiplier EQU $ffb9 ; 1 byte long -hProduct EQU $ffb5 ; result (4 bytes long) - -hMathBuffer EQU $ffba - -hPrintNum1 EQU $ffb5 -hPrintNum2 EQU $ffb6 -hPrintNum3 EQU $ffb7 -hPrintNum4 EQU $ffb8 -hPrintNum5 EQU $ffb9 -hPrintNum6 EQU $ffba -hPrintNum7 EQU $ffbb -hPrintNum8 EQU $ffbc -hPrintNum9 EQU $ffbd -hPrintNum10 EQU $ffbe - -hMGStatusFlags EQU $ffbe - -hUsedSpriteIndex EQU $ffbf -hUsedSpriteTile EQU $ffc0 -hFFC1 EQU $ffc1 -hFFC2 EQU $ffc2 -hFFC3 EQU $ffc3 -hFFC4 EQU $ffc4 -hMoneyTemp EQU $ffc5 - -hMGJoypadPressed EQU $ffc5 -hMGJoypadReleased EQU $ffc6 - -hLCDCPointer EQU $ffc8 -hLYOverrideStart EQU $ffc9 -hLYOverrideEnd EQU $ffca -hMobileReceive EQU $ffcb -hFFCC EQU $ffcc -hLinkPlayerNumber EQU $ffcd -hFFCE EQU $ffce -hSerialSend EQU $ffcf -hSerialReceive EQU $ffd0 - -hSCX EQU $ffd1 -hSCY EQU $ffd2 -hWX EQU $ffd3 -hWY EQU $ffd4 -hTilesPerCycle EQU $ffd5 -hBGMapMode EQU $ffd6 -hBGMapThird EQU $ffd7 -hBGMapAddress EQU $ffd8 - -hOAMUpdate EQU $ffda -hSPBuffer EQU $ffdb - -hBGMapUpdate EQU $ffdd -hFFDE EQU $ffde - -hMapAnims EQU $ffe0 -hTileAnimFrame EQU $ffe1 - -hLastTalked EQU $ffe2 - -hRandom EQU $ffe3 -hRandomAdd EQU $ffe3 -hRandomSub EQU $ffe4 -hSecondsBackup EQU $ffe5 -hBattleTurn EQU $ffe6 ; Which trainers turn is it? 0: Player, 1: Opponent Trainer -hCGBPalUpdate EQU $ffe7 -hCGB EQU $ffe8 -hSGB EQU $ffe9 -hDMATransfer EQU $ffea -hMobile EQU $ffeb -hFFEC EQU $ffec -hClockResetTrigger EQU $ffed - -HRAM_END EQU $ffff +SECTION "HRAM", HRAM + +hTransferVirtualOAM:: ds 12 ; ff80 + +hROMBankBackup:: db ; ff8c +hBuffer:: db ; ff8d +hFF8E:: db ; ff8e + +hRTCDayHi:: db ; ff8f +hRTCDayLo:: db ; ff90 +hRTCHours:: db ; ff91 +hRTCMinutes:: db ; ff92 +hRTCSeconds:: db ; ff93 + ds 2 + +hHours:: db ; ff96 + ds 1 +hMinutes:: db ; ff98 + ds 1 +hSeconds:: db ; ff9a + ds 1 + ds 1 + +hVBlankCounter:: db ; ff9d + ds 1 + +hROMBank:: db ; ff9f +hVBlank :: db ; ffa0 +hMapEntryMethod:: db ; ffa1 +hMenuReturn:: db ; ffa2 + ds 1 + +hJoypadReleased:: db ; ffa4 +hJoypadPressed:: db ; ffa5 +hJoypadDown:: db ; ffa6 +hJoypadSum:: db ; ffa7 +hJoyReleased:: db ; ffa8 +hJoyPressed:: db ; ffa9 +hJoyDown:: db ; ffaa +hJoyLast:: db ; ffab + +hInMenu:: db ; ffac + ds 1 + +hPrinter:: db ; ffae +hGraphicStartTile:: db ; ffaf +hMoveMon:: db ; ffb0 + +UNION ; ffb1 +hMapObjectIndexBuffer:: db ; ffb1 +hObjectStructIndexBuffer:: db ; ffb2 + +NEXTU ; ffb1 +hConnectionStripLength:: db ; ffb1 +hConnectedMapWidth:: db ; ffb2 +ENDU ;ffb3 + +hEnemyMonSpeed:: dw ; ffb3 + +UNION ; ffb5 + ds 2 +hPartyMon1Speed:: dw ; ffb7 + +NEXTU ; ffb5 + +UNION ; ffb5 +hDividend:: ds 4 ; ffb5 ; length in b register, before 'call Divide' (max 4 bytes) +hDivisor:: db ; ffb9 ; 1 byte long +NEXTU ; ffb5 + ds 1 +hQuotient:: ds 3 ; ffb6 ; result (3 bytes long) +hRemainder:: db ; ffb9 +NEXTU ; ffb5 + ds 1 +hMultiplicand:: ds 3 ; ffb6 ; 3 bytes long +hMultiplier:: db ; ffb9 ; 1 byte long +NEXTU ; ffb5 +hProduct:: ds 4 ; ffb5 ; result (4 bytes long) +ENDU ; ffba + +hMathBuffer:: ds 5 ; ffba + +NEXTU ; ffb5 + +hPrintNum1:: db ; ffb5 +hPrintNum2:: db ; ffb6 +hPrintNum3:: db ; ffb7 +hPrintNum4:: db ; ffb8 +hPrintNum5:: db ; ffb9 +hPrintNum6:: db ; ffba +hPrintNum7:: db ; ffbb +hPrintNum8:: db ; ffbc +hPrintNum9:: db ; ffbd +hPrintNum10:: db ; ffbe + +NEXTU ; ffb5 + + ds 9 +hMGStatusFlags:: db ; ffbe +ENDU ; ffbf + +hUsedSpriteIndex:: db ; ffbf +hUsedSpriteTile:: db ; ffc0 +hFFC1:: db ; ffc1 +hFFC2:: db ; ffc2 +hFFC3:: db ; ffc3 +hFFC4:: db ; ffc4 + +UNION ; ffc5 +hMoneyTemp:: ds 3 ; ffc5 +NEXTU ; ffc5 +hMGJoypadPressed:: db ; ffc5 +hMGJoypadReleased:: db ; ffc6 +ENDU ; ffc8 + +hLCDCPointer:: db ; ffc8 +hLYOverrideStart:: db ; ffc9 +hLYOverrideEnd:: db ; ffca + +hMobileReceive:: db ; ffcb +hFFCC:: db ; ffcc +hLinkPlayerNumber:: db ; ffcd +hFFCE:: db ; ffce +hSerialSend:: db ; ffcf +hSerialReceive:: db ; ffd0 + +hSCX:: db ; ffd1 +hSCY:: db ; ffd2 +hWX:: db ; ffd3 +hWY:: db ; ffd4 +hTilesPerCycle:: db ; ffd5 +hBGMapMode:: db ; ffd6 +hBGMapThird:: db ; ffd7 +hBGMapAddress:: db ; ffd8 + + ds 1 + +hOAMUpdate :: db ; ffda + +hSPBuffer:: dw ; ffdb + +hBGMapUpdate:: db ; ffdd +hFFDE:: db ; ffde + + ds 1 + +hMapAnims:: db ; ffe0 +hTileAnimFrame:: db ; ffe1 + +hLastTalked:: db ; ffe2 + +hRandom:: +hRandomAdd:: db ; ffe3 +hRandomSub:: db ; ffe4 + +hSecondsBackup:: db ; ffe5 + +hBattleTurn:: ; ffe6 +;Which trainers turn is it? 0: Player, 1: Opponent Trainer + db + +hCGBPalUpdate:: db ; ffe7 +hCGB:: db ; ffe8 +hSGB:: db ; ffe9 + +hDMATransfer:: db ; ffea +hMobile:: db ; ffeb +hFFEC:: db ; ffec +hClockResetTrigger:: db ; ffed diff --git a/items/item_effects.asm b/items/item_effects.asm index 3d17cc63..51a9ef1a 100755 --- a/items/item_effects.asm +++ b/items/item_effects.asm @@ -261,7 +261,7 @@ UltraBall: ; e926 ld a, b jp z, .skip_hp_calc ld a, b - ld [hPrintNum4], a + ldh [hPrintNum4], a ld hl, wEnemyMonHP ld b, [hl] inc hl @@ -302,24 +302,27 @@ UltraBall: ; e926 ld c, $1 .okay_hp_div ld b, e + push bc ld a, b sub c - ld [hRemainder], a + ldh [hMultiplier], a xor a - ld [hDividend], a - ld [hQuotient], a - ld [hStringCmpString2], a + ldh [hDividend + 0], a + ldh [hMultiplicand + 0], a + ldh [hMultiplicand + 1], a call Multiply pop bc + ld a, b - ld [hRemainder], a + ldh [hDivisor], a ld b, $4 call Divide - ld a, [hPrintNum4] + + ldh a, [hQuotient + 2] and a jr nz, .statuscheck - ld a, $1 + ld a, 1 .statuscheck ; This routine is buggy. It was intended that SLP and FRZ provide a higher ; catch rate than BRN/PSN/PAR, which in turn provide a higher catch rate than @@ -391,7 +394,7 @@ UltraBall: ; e926 ld a, d ld [wcf3f], a xor a - ld [hBattleTurn], a + ldh [hBattleTurn], a ld [wBuffer2], a ld [wcf46], a predef PlayBattleAnim @@ -1163,11 +1166,11 @@ RareCandy: ; ef68 (3:6f68) pop de ld a, $8 call GetPartyParamLocation - ld a, [hQuotient] + ldh a, [hQuotient] ld [hli], a - ld a, [hPrintNum3] + ldh a, [hPrintNum3] ld [hli], a - ld a, [hPrintNum4] + ldh a, [hPrintNum4] ld [hl], a ld a, $24 call GetPartyParamLocation @@ -1475,7 +1478,7 @@ BitterBerry: ; f1c0 jr z, .asm_f1d9 res 7, [hl] xor a - ld [hBattleTurn], a + ldh [hBattleTurn], a call Functionf7d0 ld hl, ConfusedNoMoreText call StdBattleTextBox @@ -1617,7 +1620,7 @@ Functionf2a0: ; f2a0 (3:72a0) Functionf2cf: ; f2cf (3:72cf) xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a hlcoord 0, 0 ld bc, SCREEN_HEIGHT * SCREEN_WIDTH ld a, " " @@ -1625,7 +1628,7 @@ Functionf2cf: ; f2cf (3:72cf) ld a, [wPartyMenuActionText] call Functionf2a0 ld a, $1 - ld [hBGMapMode], a + ldh [hBGMapMode], a ld c, 50 call DelayFrames jp WaitPressAorB_BlinkCursor @@ -1803,16 +1806,16 @@ GetOneFifthMaxHP: ; f3ce (3:73ce) ld a, MON_MAXHP call GetPartyParamLocation ld a, [hli] - ld [hDividend], a + ldh [hDividend + 0], a ld a, [hl] - ld [hPrintNum2], a - ld a, $5 - ld [hMultiplier], a - ld b, $2 + ldh [hDividend + 1], a + ld a, 5 + ldh [hDivisor], a + ld b, 2 call Divide - ld a, [hStringCmpString2] + ldh a, [hQuotient + 1] ld d, a - ld a, [hPrintNum4] + ldh a, [hQuotient + 2] ld e, a pop bc ret @@ -2011,7 +2014,7 @@ XSpeed: ; f515 inc hl ld b, [hl] xor a - ld [hBattleTurn], a + ldh [hBattleTurn], a ld [wcb45], a ld [wcbeb], a farcall CheckIfStatCanBeRaised @@ -2528,7 +2531,7 @@ Functionf7e7: ; f7e7 (3:77e7) ld [wcf3f], a xor a ld [wcb67], a - ld [hBattleTurn], a + ldh [hBattleTurn], a ld [wcf46], a predef PlayBattleAnim ld hl, Text_BlockedTheBall @@ -2669,16 +2672,18 @@ Functionf893: ; f893 (3:7893) Functionf8c8: ; f8c8 (3:78c8) push bc + ; Divide the base PP by 5. ld a, [de] - ld [hPrintNum4], a + ldh [hDividend + 3], a xor a - ld [hPastLeadingZeroes], a - ld [hQuotient], a - ld [hPrintNum3], a - ld a, $5 - ld [hRemainder], a - ld b, $4 + ldh [hDividend], a + ldh [hDividend + 1], a + ldh [hDividend + 2], a + ld a, 5 + ldh [hDivisor], a + ld b, 4 call Divide + ; Get the number of PP, which are bits 6 and 7 of the PP value stored in RAM. ld a, [hl] ld b, a swap a @@ -2686,10 +2691,11 @@ Functionf8c8: ; f8c8 (3:78c8) srl a srl a ld c, a + ; If this value is 0, we are done and a jr z, .asm_f8fd .asm_f8ea - ld a, [hPrintNum4] + ldh a, [hPrintNum4] cp $8 jr c, .asm_f8f2 ld a, $7 @@ -10,7 +10,7 @@ DummyPredef1: ret LoadPushOAM:: ; 4032 (1:4032) - ld c, hPushOAM - $ff00 + ld c, hTransferVirtualOAM - $ff00 ld b, PushOAMEnd - PushOAM ld hl, PushOAM .asm_4039 @@ -23,7 +23,7 @@ LoadPushOAM:: ; 4032 (1:4032) PushOAM: ld a, wVirtualOAM / $100 - ld [rDMA], a + ldh [rDMA], a ld a, $28 .asm_4046 dec a @@ -38,37 +38,37 @@ INCLUDE "engine/title.asm" ReanchorBGMap_NoOAMUpdate:: ; 6551 (1:6551) call DelayFrame - ld a, [hOAMUpdate] + ldh a, [hOAMUpdate] push af ld a, $1 - ld [hOAMUpdate], a - ld a, [hBGMapMode] + ldh [hOAMUpdate], a + ldh a, [hBGMapMode] push af xor a - ld [hBGMapMode], a + ldh [hBGMapMode], a call Function656b pop af - ld [hBGMapMode], a + ldh [hBGMapMode], a pop af - ld [hOAMUpdate], a + ldh [hOAMUpdate], a ret Function656b: ; 656b (1:656b) xor a - ld [hLCDCPointer], a - ld [hBGMapMode], a + ldh [hLCDCPointer], a + ldh [hBGMapMode], a ld hl, wd565 set 7, [hl] res 2, [hl] ld a, $90 - ld [hWY], a + ldh [hWY], a call OverworldTextModeSwitch ld a, $9c call .LoadBGMapAddrIntoHRAM call _OpenAndCloseMenu_HDMATransferTileMapAndAttrMap xor a - ld [hBGMapMode], a - ld [hWY], a + ldh [hBGMapMode], a + ldh [hWY], a ld a, $98 call .LoadBGMapAddrIntoHRAM call .WaitTransfer @@ -77,53 +77,53 @@ Function656b: ; 656b (1:656b) ld a, $98 ld [wd05c], a xor a - ld [hSCX], a - ld [hSCY], a + ldh [hSCX], a + ldh [hSCY], a call ApplyBGMapAnchorToObjects ret .LoadBGMapAddrIntoHRAM: ; 65a5 (1:65a5) - ld [hBGMapAddress + 1], a + ldh [hBGMapAddress + 1], a xor a - ld [hBGMapAddress], a + ldh [hBGMapAddress], a ret .WaitTransfer: ; 65ab (1:65ab) - ld a, [hBGMapMode] + ldh a, [hBGMapMode] push af xor a - ld [hBGMapMode], a - ld a, [hOAMUpdate] + ldh [hBGMapMode], a + ldh a, [hOAMUpdate] push af ld a, $1 - ld [hOAMUpdate], a + ldh [hOAMUpdate], a ld a, $3 - ld [hFF9E], a + ldh [hVBlankCounter + 1], a .asm_65bc call DelayFrame - ld a, [hFF9E] + ldh a, [hVBlankCounter + 1] and a jr nz, .asm_65bc pop af - ld [hOAMUpdate], a + ldh [hOAMUpdate], a pop af - ld [hBGMapMode], a + ldh [hBGMapMode], a ret LoadFonts_NoOAMUpdate:: ; 65cb (1:65cb) - ld a, [hOAMUpdate] + ldh a, [hOAMUpdate] push af ld a, $1 - ld [hOAMUpdate], a + ldh [hOAMUpdate], a call .LoadGFX pop af - ld [hOAMUpdate], a + ldh [hOAMUpdate], a ret .LoadGFX: ; 65d9 (1:65d9) call LoadFontsExtra ld a, $90 - ld [hWY], a + ldh [hWY], a call SafeUpdateSprites call Functiond9e ret diff --git a/predef/cgb.asm b/predef/cgb.asm index 748c3f15..a0652401 100755 --- a/predef/cgb.asm +++ b/predef/cgb.asm @@ -1,5 +1,5 @@ CheckCGB: - ld a, [hCGB] + ldh a, [hCGB] and a ret @@ -157,7 +157,7 @@ Function944a: ; 944a (2:544a) call CopyBytes call Function9b28 ld a, $1 - ld [hCGBPalUpdate], a + ldh [hCGBPalUpdate], a ret Function945e: ; 945e (2:545e) @@ -204,7 +204,7 @@ Function945e: ; 945e (2:545e) call Function9b35 call Function9b28 ld a, $1 - ld [hCGBPalUpdate], a + ldh [hCGBPalUpdate], a ret Palettes_94d3: @@ -274,7 +274,7 @@ Function9537: ; 9537 (2:5537) call Function9b35 call Function9b28 ld a, $1 - ld [hCGBPalUpdate], a + ldh [hCGBPalUpdate], a ret Palettes_9551: @@ -315,7 +315,7 @@ Function9561: ; 9561 (2:5561) call Function9b35 call Function9b28 ld a, $1 - ld [hCGBPalUpdate], a + ldh [hCGBPalUpdate], a ret Function95a0: @@ -337,7 +337,7 @@ asm_95b1 call Function9b35 call Function9b28 ld a, $1 - ld [hCGBPalUpdate], a + ldh [hCGBPalUpdate], a ret Palettes_95cd: @@ -363,7 +363,7 @@ Function95d5: ; 95d5 (2:55d5) call Function9b35 call Function9b28 ld a, $1 - ld [hCGBPalUpdate], a + ldh [hCGBPalUpdate], a ret Function9605: ; 9605 (2:5605) @@ -415,7 +415,7 @@ Function9605: ; 9605 (2:5605) call Function9b35 call Function9b28 ld a, $1 - ld [hCGBPalUpdate], a + ldh [hCGBPalUpdate], a ret Function968d: ; 968d (2:568d) @@ -433,7 +433,7 @@ Function968d: ; 968d (2:568d) call Function9b35 call Function9b28 ld a, $1 - ld [hCGBPalUpdate], a + ldh [hCGBPalUpdate], a ret Function96b7: ; 96b7 (2:56b7) @@ -565,7 +565,7 @@ Function976d: ; 976d (2:576d) call Function9b35 call Function9b28 ld a, $1 - ld [hCGBPalUpdate], a + ldh [hCGBPalUpdate], a ret Function97af: ; 97af (2:57af) @@ -581,7 +581,7 @@ Function97af: ; 97af (2:57af) ld [wColorLayoutPredefID], a call Function9b28 ld a, $1 - ld [hCGBPalUpdate], a + ldh [hCGBPalUpdate], a ret Function97d4: ; 97d4 (2:57d4) @@ -677,7 +677,7 @@ Function9802: ; 9802 (2:5802) call Function9b35 call Function9b28 ld a, $1 - ld [hCGBPalUpdate], a + ldh [hCGBPalUpdate], a ret Function98be: ; 98be (2:58be) @@ -701,7 +701,7 @@ Function98be: ; 98be (2:58be) call Function9b35 call Function9b28 ld a, $1 - ld [hCGBPalUpdate], a + ldh [hCGBPalUpdate], a ret Function98f1: ; 98f1 (2:58f1) @@ -711,7 +711,7 @@ Function98f1: ; 98f1 (2:58f1) call Function9b35 call Function9b28 ld a, $1 - ld [hCGBPalUpdate], a + ldh [hCGBPalUpdate], a ret Function9905: ; 9905 (2:5905) @@ -723,7 +723,7 @@ Function9905: ; 9905 (2:5905) call Function9b35 call Function9b28 ld a, $1 - ld [hCGBPalUpdate], a + ldh [hCGBPalUpdate], a ret Function991e: ; 991e (2:591e) @@ -755,7 +755,7 @@ Function991e: ; 991e (2:591e) call Function9b35 call Function9b28 ld a, $1 - ld [hCGBPalUpdate], a + ldh [hCGBPalUpdate], a ret Palettes_996f: @@ -839,7 +839,7 @@ Function99d9: ; 99d9 (2:59d9) call Function9b35 call Function9b28 ld a, $1 - ld [hCGBPalUpdate], a + ldh [hCGBPalUpdate], a ret Function9a03: ; 9a03 (2:5a03) @@ -3780,3 +3780,5 @@ wStackTop:: ds 1 INCLUDE "sram.asm" + +INCLUDE "hram.asm"
\ No newline at end of file |