summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Höglund <firefly@firefly.nu>2014-07-22 20:30:46 +0200
committerJonas Höglund <firefly@firefly.nu>2014-07-22 20:30:46 +0200
commit24fd45099664e2b6dab105cebfea118a1605efc3 (patch)
treee5758397ce51c32417739534382589b012c4de92
parentcba16f0deebc86037ff34d450b2f4dd6fc230e87 (diff)
Move address constants to wram/hram files
-rw-r--r--constants/misc_constants.asm40
-rwxr-xr-xengine/bank1c.asm8
-rwxr-xr-xengine/bank2.asm4
-rwxr-xr-xengine/bank3.asm10
-rwxr-xr-xengine/home.asm220
-rwxr-xr-xengine/music1.asm4
-rwxr-xr-xengine/music2.asm4
-rw-r--r--hram.asm16
-rwxr-xr-xmain.asm1
-rwxr-xr-xwram.asm57
10 files changed, 201 insertions, 163 deletions
diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm
index 92313ee..d985e77 100644
--- a/constants/misc_constants.asm
+++ b/constants/misc_constants.asm
@@ -1,42 +1,4 @@
-
-; WRAM addresses $Cxxx
-DATA_INITIAL_A EQU $CAB3
-DATA_CONSOLE EQU $CAB4
+; console types (for wConsole)
CONSOLE_DMG EQU $00
CONSOLE_SGB EQU $01
CONSOLE_CGB EQU $02
-DATA_TILE_MAP_FILL EQU $CAB6
-CURR_IE EQU $CAB7
-DATA_VBLANK_COUNTER EQU $CAB8
-CURR_LCDC EQU $CABB
-CURR_BGP EQU $CABC
-CURR_OBP0 EQU $CABD
-CURR_OBP1 EQU $CABE
-
-COUNTER_ENABLE EQU $CAC4
-COUNTER_FIELD0 EQU $CAC5
-COUNTER_FIELD1 EQU $CAC6
-COUNTER_FIELD2 EQU $CAC7
-COUNTER_FIELD3 EQU $CAC8
-COUNTER_FIELD4 EQU $CAC9
-
-BUF_PALETTE EQU $CAF0
-BUF_SERIAL EQU $CB74
-
-; HRAM addresses
-CURR_ROM_BANK EQU $FF80
-CURR_RAM_BANK EQU $FF81
-CURR_DEST_VRAM_BANK EQU $FF82
-
-DMA_FUNCTION EQU $FF83
-
-DPAD_REPEAT_CTR EQU $FF8D
-BUTTONS_RELEASED EQU $FF8E
-BUTTONS_PRESSED_2 EQU $FF8F
-BUTTONS_HELD EQU $FF90
-BUTTONS_PRESSED EQU $FF91
-
-CURR_SCX EQU $FF92
-CURR_SCY EQU $FF93
-CURR_WX EQU $FF94
-CURR_WY EQU $FF95
diff --git a/engine/bank1c.asm b/engine/bank1c.asm
index 3c43f3a..e11aaef 100755
--- a/engine/bank1c.asm
+++ b/engine/bank1c.asm
@@ -166,9 +166,9 @@ Func_70136: ; 70136 (1c:4136)
ld [rBGP], a
call Func_040c
xor a
- ld [CURR_SCX], a
+ ld [hSCX], a
ld [rSCX], a
- ld [CURR_SCY], a
+ ld [hSCY], a
ld [rSCY], a
pop de
pop bc
@@ -184,9 +184,9 @@ Func_70177: ; 70177 (1c:4177)
pop hl
call SendSGB
ld a, [$d41d]
- ld [CURR_SCX], a
+ ld [hSCX], a
ld a, [$d41e]
- ld [CURR_SCY], a
+ ld [hSCY], a
ld a, [$d41f]
call Func_040c
ld a, [$d420]
diff --git a/engine/bank2.asm b/engine/bank2.asm
index 9392206..1c82b47 100755
--- a/engine/bank2.asm
+++ b/engine/bank2.asm
@@ -100,7 +100,7 @@ Unknown_8de2: ; 8de2 (2:4de2)
INCBIN "baserom.gbc",$8de2,$8dea - $8de2
Func_8dea: ; 8dea (2:4dea)
- ld a, [BUTTONS_PRESSED_2]
+ ld a, [hButtonsPressed2]
and $8
ret z
ld a, [$cd10]
@@ -418,7 +418,7 @@ Func_9065: ; 9065 (2:5065)
ld d, a
ld a, [$ceb0]
ld e, a
- ld a, [BUTTONS_PRESSED_2]
+ ld a, [hButtonsPressed2]
or a
jr z, .asm_90a6
bit 5, a
diff --git a/engine/bank3.asm b/engine/bank3.asm
index 52113cb..e212969 100755
--- a/engine/bank3.asm
+++ b/engine/bank3.asm
@@ -242,11 +242,11 @@ Func_c1b1: ; c1b1 (3:41b1)
farcall Func_1c82e
farcall Func_131b3
xor a
- ld [COUNTER_FIELD0], a
- ld [COUNTER_FIELD1], a
- ld [COUNTER_FIELD2], a
- ld [COUNTER_FIELD3], a
- ld [COUNTER_FIELD4], a
+ ld [wCounter0], a
+ ld [wCounter1], a
+ ld [wCounter2], a
+ ld [wCounter3], a
+ ld [wCounter4], a
ret
Func_c1ed: ; c1ed (3:41ed)
diff --git a/engine/home.asm b/engine/home.asm
index f6b0d6e..79c52f7 100755
--- a/engine/home.asm
+++ b/engine/home.asm
@@ -49,10 +49,10 @@ Start: ; 0150 (0:0150)
call BankswitchVRAM_0
call DisableLCD
pop af
- ld [DATA_INITIAL_A], a
+ ld [wInitialA], a
call DetectConsole
ld a, $20
- ld [DATA_TILE_MAP_FILL], a
+ ld [wTileMapFill], a
call SetupVRAM
call SetupLCD
call SetupPalettes
@@ -71,7 +71,7 @@ VBlankHandler: ; 019b (0:019b)
push bc
push de
push hl
- ld a, [CURR_ROM_BANK]
+ ld a, [hBankROM]
push af
ld hl, $caba
bit 0, [hl]
@@ -80,24 +80,24 @@ VBlankHandler: ; 019b (0:019b)
ld a, [$cac0]
or a
jr z, .asm_1b8
- call DMA_FUNCTION
+ call hDMAFunction
xor a
ld [$cac0], a
.asm_1b8
- ld a, [CURR_SCX]
+ ld a, [hSCX]
ld [rSCX], a
- ld a, [CURR_SCY]
+ ld a, [hSCY]
ld [rSCY], a
- ld a, [CURR_WX]
+ ld a, [hWX]
ld [rWX], a
- ld a, [CURR_WY]
+ ld a, [hWY]
ld [rWY], a
- ld a, [CURR_LCDC]
+ ld a, [wLCDC]
ld [rLCDC], a
ei
call $cad0
call Func_042d
- ld hl, DATA_VBLANK_COUNTER
+ ld hl, wVBlankCtr
inc [hl]
ld hl, $caba
res 0, [hl]
@@ -127,7 +127,7 @@ TimerHandler: ; 01e6 (0:01e6)
bit 1, [hl]
jr nz, .asm_217
set 1, [hl]
- ld a, [CURR_ROM_BANK]
+ ld a, [hBankROM]
push af
ld a, BANK(Func_f4003)
call BankswitchHome
@@ -146,10 +146,10 @@ TimerHandler: ; 01e6 (0:01e6)
; increment timer counter by a tick
; the counter consists of three fields 0..60 and two fields 0..255
IncrementCounter: ; 021c (0:021c)
- ld a, [COUNTER_ENABLE]
+ ld a, [wCounterEnable]
or a
ret z
- ld hl, COUNTER_FIELD0
+ ld hl, wCounter0
inc [hl]
ld a, [hl]
cp 60
@@ -194,7 +194,7 @@ SetupTimer: ; 0241 (0:0241)
; carry flag: 0 if CGB
CheckForCGB: ; 025c (0:025c)
- ld a, [DATA_CONSOLE]
+ ld a, [wConsole]
cp CONSOLE_CGB
ret z
scf
@@ -203,10 +203,10 @@ CheckForCGB: ; 025c (0:025c)
; wait for vblank
WaitForVBlank: ; 0264 (0:0264)
push hl
- ld a, [CURR_LCDC]
+ ld a, [wLCDC]
bit 7, a
jr z, .asm_275
- ld hl, DATA_VBLANK_COUNTER
+ ld hl, wVBlankCtr
ld a, [hl]
.asm_270
halt
@@ -218,11 +218,11 @@ WaitForVBlank: ; 0264 (0:0264)
; turn LCD on
EnableLCD: ; 0277 (0:0277)
- ld a, [CURR_LCDC] ;
+ ld a, [wLCDC] ;
bit 7, a ;
ret nz ; assert that LCD is off
or $80 ;
- ld [CURR_LCDC], a ;
+ ld [wLCDC], a ;
ld [rLCDC], a ; turn LCD on
ld a, $c0
ld [$cabf], a
@@ -234,7 +234,7 @@ DisableLCD: ; 028a (0:028a)
bit 7, a ;
ret z ; assert that LCD is on
ld a, [rIE]
- ld [CURR_IE], a
+ ld [wIE], a
res 0, a ;
ld [rIE], a ; disable vblank interrupt
.asm_298
@@ -244,29 +244,29 @@ DisableLCD: ; 028a (0:028a)
ld a, [rLCDC] ;
and $7f ;
ld [rLCDC], a ;
- ld a, [CURR_LCDC] ;
+ ld a, [wLCDC] ;
and $7f ;
- ld [CURR_LCDC], a ; turn LCD off
+ ld [wLCDC], a ; turn LCD off
xor a
ld [rBGP], a
ld [rOBP0], a
ld [rOBP1], a
- ld a, [CURR_IE]
+ ld a, [wIE]
ld [rIE], a
ret
; set OBJ size: 8x8 (in [$CABB])
Set_OBJ_8x8: ; 02b9 (0:02b9)
- ld a, [CURR_LCDC]
+ ld a, [wLCDC]
and $fb
- ld [CURR_LCDC], a
+ ld [wLCDC], a
ret
; set OBJ size: 8x16 (in [$CABB])
Set_OBJ_8x16: ; 02c2 (0:02c2)
- ld a, [CURR_LCDC]
+ ld a, [wLCDC]
or $4
- ld [CURR_LCDC], a
+ ld [wLCDC], a
ret
; 0x2cb
@@ -298,10 +298,10 @@ SetupLCD: ; 030b (0:030b)
ld [$cab0], a
ld [$cab1], a
ld [$cab2], a
- ld [CURR_SCX], a
- ld [CURR_SCY], a
- ld [CURR_WX], a
- ld [CURR_WY], a
+ ld [hSCX], a
+ ld [hSCY], a
+ ld [hWX], a
+ ld [hWY], a
xor a
ld [$caba], a
ld a, $c3
@@ -312,7 +312,7 @@ SetupLCD: ; 030b (0:030b)
inc hl
ld [hl], NopF >> $8
ld a, $47
- ld [CURR_LCDC], a
+ ld [wLCDC], a
ld a, $1
ld [MBC3LatchClock], a
ld a, $a
@@ -331,7 +331,7 @@ DetectConsole: ; 0349 (0:0349)
ld b, CONSOLE_SGB
.asm_35b
ld a, b
- ld [DATA_CONSOLE], a
+ ld [wConsole], a
cp CONSOLE_CGB
ret nz
ld a, CONSOLE_SGB
@@ -341,7 +341,7 @@ DetectConsole: ; 0349 (0:0349)
; initialize the palettes (both monochrome and color)
SetupPalettes: ; 036a (0:036a)
- ld hl, CURR_BGP
+ ld hl, wBGP
ld a, $e4
ld [rBGP], a
ld [hli], a
@@ -351,10 +351,10 @@ SetupPalettes: ; 036a (0:036a)
ld [hl], a
xor a
ld [$cabf], a
- ld a, [DATA_CONSOLE]
+ ld a, [wConsole]
cp CONSOLE_CGB
ret nz
- ld de, BUF_PALETTE
+ ld de, wBufPalette
ld c, $10
.asm_387
ld hl, InitialPalette
@@ -395,19 +395,19 @@ SetupVRAM: ; 03a1 (0:03a1)
jr nz, .asm_3b8
ret
-; fill VARM tile map banks with [DATA_TILE_MAP_FILL]
+; fill VARM tile map banks with [wTileMapFill]
FillTileMap: ; 03c0 (0:03c0)
call BankswitchVRAM_0
ld hl, $9800
ld bc, $0400
.asm_3c9
- ld a, [DATA_TILE_MAP_FILL]
+ ld a, [wTileMapFill]
ld [hli], a
dec bc
ld a, c
or b
jr nz, .asm_3c9
- ld a, [DATA_CONSOLE]
+ ld a, [wConsole]
cp CONSOLE_CGB
ret nz
call BankswitchVRAM_1
@@ -453,12 +453,12 @@ Func_0408: ; 0408 (0:0408)
jr asm_411
Func_040c: ; 040c (0:040c)
- ld [CURR_BGP], a
+ ld [wBGP], a
asm_40f
ld a, $80
asm_411
ld [$cabf], a
- ld a, [CURR_LCDC]
+ ld a, [wLCDC]
rla
ret c
push hl
@@ -471,25 +471,25 @@ asm_411
ret
Set_OBP0: ; 0423 (0:0423)
- ld [CURR_OBP0], a
+ ld [wOBP0], a
jr asm_40f
Set_OBP1: ; 0428 (0:0428)
- ld [CURR_OBP1], a
+ ld [wOBP1], a
jr asm_40f
Func_042d: ; 042d (0:042d)
ld a, [$cabf]
or a
ret z
- ld hl, CURR_BGP
+ ld hl, wBGP
ld a, [hli]
ld [rBGP], a
ld a, [hli]
ld [rOBP0], a
ld a, [hl]
ld [rOBP1], a
- ld a, [DATA_CONSOLE]
+ ld a, [wConsole]
cp CONSOLE_CGB
jr z, asm_44a
asm_445
@@ -556,7 +556,7 @@ Func_04a2: ; 04a2 (0:04a2)
call FillTileMap
xor a
ld [$cac2], a
- ld a, [DATA_CONSOLE]
+ ld a, [wConsole]
cp CONSOLE_SGB
ret nz
call EnableLCD
@@ -607,27 +607,27 @@ ReadJoypad: ; 04de (0:04de)
ld c, a ; joypad data
cpl
ld b, a
- ld a, [BUTTONS_HELD]
+ ld a, [hButtonsHeld]
xor c
and b
- ld [BUTTONS_RELEASED], a
- ld a, [BUTTONS_HELD]
+ ld [hButtonsReleased], a
+ ld a, [hButtonsHeld]
xor c
and c
ld b, a
- ld [BUTTONS_PRESSED], a
- ld a, [BUTTONS_HELD]
+ ld [hButtonsPressed], a
+ ld a, [hButtonsHeld]
and $f
cp $f
jr nz, asm_522 ; handle reset
call ResetSerial
Reset: ; 051b (0:051b)
- ld a, [DATA_INITIAL_A]
+ ld a, [wInitialA]
di
jp Start
asm_522
ld a, c
- ld [BUTTONS_HELD], a
+ ld [hButtonsHeld], a
ld a, $30
ld [rJOYP], a
ret
@@ -641,21 +641,21 @@ Func_053f: ; 053f (0:053f)
push de
push bc
ld hl, $cad3
- call Func_05b6
+ call CallIndirect
call WaitForVBlank
call ReadJoypad
call HandleDPadRepeat
ld a, [$cad5]
or a
jr z, .asm_56d
- ld a, [BUTTONS_PRESSED]
+ ld a, [hButtonsPressed]
and $4
jr z, .asm_56d
.asm_55e
call WaitForVBlank
call ReadJoypad
call HandleDPadRepeat
- ld a, [BUTTONS_PRESSED]
+ ld a, [hButtonsPressed]
and $4
jr z, .asm_55e
.asm_56d
@@ -667,12 +667,12 @@ Func_053f: ; 053f (0:053f)
; handle D-pad repeatcounter
HandleDPadRepeat: ; 0572 (0:0572)
- ld a, [BUTTONS_HELD]
- ld [BUTTONS_PRESSED_2], a
+ ld a, [hButtonsHeld]
+ ld [hButtonsPressed2], a
and $f0
jr z, .asm_58c
- ld hl, DPAD_REPEAT_CTR
- ld a, [BUTTONS_PRESSED]
+ ld hl, hDPadRepeat
+ ld a, [hButtonsPressed]
and $f0
jr z, .asm_586
ld [hl], 24
@@ -683,9 +683,9 @@ HandleDPadRepeat: ; 0572 (0:0572)
ld [hl], 6
ret
.asm_58c
- ld a, [BUTTONS_PRESSED]
+ ld a, [hButtonsPressed]
and $f
- ld [BUTTONS_PRESSED_2], a
+ ld [hButtonsPressed2], a
ret
CopyDMAFunction: ; 0593 (0:0593)
@@ -723,7 +723,8 @@ JumpToFunctionInTable: ; 05ab (0:05ab)
ld l, a
jp [hl]
-Func_05b6: ; 05b6 (0:05b6)
+; call function at [hl] if non-NULL
+CallIndirect: ; 05b6 (0:05b6)
push af
ld a, [hli]
or [hl]
@@ -735,7 +736,8 @@ Func_05b6: ; 05b6 (0:05b6)
ld l, [hl]
ld h, a
pop af
-Func_05c1: ; 05c1 (0:05c1)
+ ; fallthrough
+CallF: ; 05c1 (0:05c1)
jp [hl]
; 0x5c2
@@ -779,7 +781,7 @@ INCBIN "baserom.gbc",$0695,$06c3 - $0695
Func_06c3: ; 06c3 (0:06c3)
push af
- ld a, [CURR_LCDC]
+ ld a, [wLCDC]
rla
jr c, .asm_6d8
pop af
@@ -818,7 +820,7 @@ Func_0709: ; 0709 (0:0709)
jp MemcpyHLDE_hblank
CopyGfxData: ; 070c (0:070c)
- ld a, [CURR_LCDC]
+ ld a, [wLCDC]
rla
jr nc, .asm_726
.asm_712
@@ -891,7 +893,7 @@ BankpushHome: ; 0745 (0:0745)
dec hl
ld [hl], c
ld hl, [sp+$9]
- ld a, [CURR_ROM_BANK]
+ ld a, [hBankROM]
ld [hld], a
ld [hl], $0
ld a, d
@@ -936,14 +938,14 @@ BankpopHome: ; 078e (0:078e)
; switch ROM bank
BankswitchHome: ; 07a3 (0:07a3)
- ld [CURR_ROM_BANK], a
+ ld [hBankROM], a
ld [MBC3RomBank], a
ret
; switch RAM bank
BankswitchRAM: ; 07a9 (0:07a9)
push af
- ld [CURR_RAM_BANK], a
+ ld [hBankRAM], a
ld [MBC3SRamBank], a
ld a, $a
ld [MBC3SRamEnable], a
@@ -970,7 +972,7 @@ DisableExtRAM: ; 07be (0:07be)
BankswitchVRAM_0: ; 07c5 (0:07c5)
push af
xor a
- ld [CURR_DEST_VRAM_BANK], a
+ ld [hBankVRAM], a
ld [rVBK], a
pop af
ret
@@ -979,7 +981,7 @@ BankswitchVRAM_0: ; 07c5 (0:07c5)
BankswitchVRAM_1: ; 07cd (0:07cd)
push af
ld a, $1
- ld [CURR_DEST_VRAM_BANK], a
+ ld [hBankVRAM], a
ld [rVBK], a
pop af
ret
@@ -987,7 +989,7 @@ BankswitchVRAM_1: ; 07cd (0:07cd)
; set current dest VRAM bank
; a: value to write
BankswitchVRAM: ; 07d6 (0:07d6)
- ld [CURR_DEST_VRAM_BANK], a
+ ld [hBankVRAM], a
ld [rVBK], a
ret
; 0x7db
@@ -1300,7 +1302,7 @@ RST18: ; 09ae (0:09ae)
dec hl
ld [hl], $0
dec hl
- ld a, [CURR_ROM_BANK]
+ ld a, [hBankROM]
ld [hld], a
ld [hl], $9
dec hl
@@ -1346,7 +1348,7 @@ RST28: ; 09e9 (0:09e9)
dec hl
ld [hl], $0
dec hl
- ld a, [CURR_ROM_BANK]
+ ld a, [hBankROM]
ld [hld], a
ld [hl], $9
dec hl
@@ -1773,7 +1775,7 @@ ResetSerial: ; 0ea6 (0:0ea6)
xor a
ld [rSB], a
ld [rSC], a
- ld hl, BUF_SERIAL
+ ld hl, wBufSerial
ld bc, $0051
.asm_eb7
xor a
@@ -1926,7 +1928,7 @@ Func_1deb: ; 1deb (0:1deb)
INCBIN "baserom.gbc",$1e00,$1e7c - $1e00
Func_1e7c: ; 1e7c (0:1e7c)
- ld a, [DATA_CONSOLE]
+ ld a, [wConsole]
cp CONSOLE_CGB
jr z, asm_1ec9
cp CONSOLE_SGB
@@ -2110,7 +2112,7 @@ INCBIN "baserom.gbc",$1f96,$20b0 - $1f96
Func_20b0: ; 20b0 (0:20b0)
ld hl, $2fe8
- ld a, [DATA_CONSOLE]
+ ld a, [wConsole]
cp CONSOLE_CGB
jr nz, .asm_20bd
ld hl, $37f8
@@ -2121,7 +2123,7 @@ Func_20b0: ; 20b0 (0:20b0)
Func_20c4: ; 20c4 (0:20c4)
ld hl, $3028
- ld a, [DATA_CONSOLE]
+ ld a, [wConsole]
cp CONSOLE_CGB
jr nz, .asm_20d1
ld hl, $3838
@@ -2138,7 +2140,7 @@ Func_20dc: ; 20dc (0:20dc)
ld b, $24
asm_20de
ld hl, $32e8
- ld a, [DATA_CONSOLE]
+ ld a, [wConsole]
cp CONSOLE_CGB
jr nz, .asm_20eb
ld hl, $3af8
@@ -2152,7 +2154,7 @@ Func_20f0: ; 20f0 (0:20f0)
ld b, $d
call asm_2121
ld hl, $3528
- ld a, [DATA_CONSOLE]
+ ld a, [wConsole]
cp CONSOLE_CGB
jr nz, .asm_2108
ld hl, $3d38
@@ -2663,7 +2665,7 @@ Func_24ac: ; 24ac (0:24ac)
Func_24ca: ; 24ca (0:24ca)
push bc
- ld a, [CURR_ROM_BANK]
+ ld a, [hBankROM]
push af
ld a, BANK(VWF)
call BankswitchHome
@@ -2824,7 +2826,7 @@ Func_2636: ; 2636 (0:2636)
Func_264b: ; 264b (0:264b)
xor a
ld [$cd99], a
- ld a, [BUTTONS_PRESSED_2]
+ ld a, [hButtonsPressed2]
or a
jr z, .asm_2685
ld b, a
@@ -2866,7 +2868,7 @@ Func_264b: ; 264b (0:264b)
ld l, [hl]
ld h, a
ld a, [$ffb1]
- call Func_05c1
+ call CallF
jr nc, asm_26d1
.asm_269b
call Func_270b
@@ -2877,7 +2879,7 @@ Func_264b: ; 264b (0:264b)
scf
ret
.asm_26a9
- ld a, [BUTTONS_PRESSED]
+ ld a, [hButtonsPressed]
and $3
jr z, asm_26d1
and $1
@@ -3020,7 +3022,7 @@ Func_2aab: ; 2aab (0:2aab)
.asm_2ab8
call Func_053f
call Func_26da
- ld a, [BUTTONS_PRESSED]
+ ld a, [hButtonsPressed]
and $3
jr z, .asm_2ab8
call Func_26e9
@@ -3051,10 +3053,10 @@ Func_2af0: ; 2af0 (0:2af0)
.asm_2b1f
call Func_053f
call Func_26da
- ld a, [BUTTONS_PRESSED]
+ ld a, [hButtonsPressed]
bit 0, a
jr nz, .asm_2b50
- ld a, [BUTTONS_PRESSED_2]
+ ld a, [hButtonsPressed2]
and $30
jr z, .asm_2b1f
ld a, $1
@@ -3127,7 +3129,7 @@ Func_2c23: ; 2c23 (0:2c23)
ld l, [hl]
ld h, a
Func_2c29: ; 2c29 (0:2c29)
- ld a, [CURR_ROM_BANK]
+ ld a, [hBankROM]
push af
call ReadTextOffset
call Func_21c5
@@ -3155,7 +3157,7 @@ Func_2cd7: ; 2cd7 (0:2cd7)
ld [hli], a
ld a, [$cd0a]
ld [hli], a
- ld a, [CURR_ROM_BANK]
+ ld a, [hBankROM]
ld [hli], a
ld [hl], c
inc hl
@@ -3360,7 +3362,7 @@ Func_2e41: ; 2e41 (0:2e41)
ld a, l
or h
jr z, .asm_2e53
- ld a, [CURR_ROM_BANK]
+ ld a, [hBankROM]
push af
call ReadTextOffset
call .asm_2e56
@@ -3392,7 +3394,7 @@ Func_2e41: ; 2e41 (0:2e41)
ret
Func_2e76: ; 2e76 (0:2e76)
- ld a, [CURR_ROM_BANK]
+ ld a, [hBankROM]
push af
call ReadTextOffset
call Func_2cc8
@@ -3407,7 +3409,7 @@ Func_2e89: ; 2e89 (0:2e89)
ld a, l
or h
jr z, .asm_2e9f
- ld a, [CURR_ROM_BANK]
+ ld a, [hBankROM]
push af
call ReadTextOffset
.asm_2e93
@@ -3430,7 +3432,7 @@ Func_2e89: ; 2e89 (0:2e89)
INCBIN "baserom.gbc",$2ea9,$2fa0 - $2ea9
LoadCardGfx: ; 2fa0 (0:2fa0)
- ld a, [CURR_ROM_BANK]
+ ld a, [hBankROM]
push af
push hl
srl h
@@ -3467,7 +3469,7 @@ LoadDeck: ; 302c (0:302c)
push hl
ld l, a
ld h, $0
- ld a, [CURR_ROM_BANK]
+ ld a, [hBankROM]
push af
ld a, BANK(DeckPointers)
call BankswitchHome
@@ -3650,7 +3652,7 @@ Func_380e: ; 380e (0:380e)
ld a, [$d0c1]
bit 7, a
ret nz
- ld a, [CURR_ROM_BANK]
+ ld a, [hBankROM]
push af
ld a, BANK(Func_c484)
call BankswitchHome
@@ -3670,8 +3672,8 @@ Func_380e: ; 380e (0:380e)
Func_383d: ; 383d (0:383d)
ld a, $1
- ld [COUNTER_ENABLE], a
- ld a, [CURR_ROM_BANK]
+ ld [wCounterEnable], a
+ ld a, [hBankROM]
push af
.asm_3845
call Func_3855
@@ -3707,7 +3709,7 @@ Func_3874: ; 3874 (0:3874)
ret
Func_3876: ; 3876 (0:3876)
- ld a, [CURR_ROM_BANK]
+ ld a, [hBankROM]
push af
call Func_379b
ld a, MUSIC_CARDPOP
@@ -3818,7 +3820,7 @@ Func_3946: ; 3946 (0:3946)
ret
Func_395a: ; 395a (0:395a)
- ld a, [CURR_ROM_BANK]
+ ld a, [hBankROM]
push af
ld a, [$d4c6]
call BankswitchHome
@@ -3837,7 +3839,7 @@ Unknown_397b: ; 397b (0:397b)
INCBIN "baserom.gbc",$397b,$3997 - $397b
Func_3997: ; 3997 (0:3997)
- ld a, [CURR_ROM_BANK]
+ ld a, [hBankROM]
push af
ld a, BANK(Func_1c056)
call BankswitchHome
@@ -3956,7 +3958,7 @@ Func_3a40: ; 3a40 (0:3a40)
INCBIN "baserom.gbc",$3a45,$3a5e - $3a45
Func_3a5e: ; 3a5e (0:3a5e)
- ld a, [CURR_ROM_BANK]
+ ld a, [hBankROM]
push af
ld l, $4
call Func_3abd
@@ -4028,7 +4030,7 @@ Func_3abd: ; 3abd (0:3abd)
pop bc
ld b, $0
add hl, bc
- ld a, [CURR_ROM_BANK]
+ ld a, [hBankROM]
push af
ld a, BANK(MapScripts)
call BankswitchHome
@@ -4064,7 +4066,7 @@ Func_3aed: ; 3aed (0:3aed)
ld b, $0
ld hl, Unknown_1217b
add hl, bc
- ld a, [CURR_ROM_BANK]
+ ld a, [hBankROM]
push af
ld a, BANK(Unknown_1217b)
call BankswitchHome
@@ -4097,7 +4099,7 @@ Func_3bdb: ; 3bdb (0:3bdb)
INCBIN "baserom.gbc",$3be4,$3bf5 - $3be4
Func_3bf5: ; 3bf5 (0:3bf5)
- ld a, [CURR_ROM_BANK]
+ ld a, [hBankROM]
push af
push hl
ld a, [$d4c6]
@@ -4174,7 +4176,7 @@ INCBIN "baserom.gbc",$3c83,$3ca0 - $3c83
Func_3ca0: ; 3ca0 (0:3ca0)
xor a
ld [$d5d7], a
- ld a, [CURR_ROM_BANK]
+ ld a, [hBankROM]
push af
ld a, BANK(Func_1296e)
call BankswitchHome
@@ -4184,7 +4186,7 @@ Func_3ca0: ; 3ca0 (0:3ca0)
ret
Func_3cb4: ; 3cb4 (0:3cb4)
- ld a, [CURR_ROM_BANK]
+ ld a, [hBankROM]
push af
ld a, BANK(Func_12a21)
call BankswitchHome
@@ -4197,7 +4199,7 @@ Func_3cb4: ; 3cb4 (0:3cb4)
INCBIN "baserom.gbc",$3cc4,$3d72 - $3cc4
Func_3d72: ; 3d72 (0:3d72)
- ld a, [CURR_ROM_BANK]
+ ld a, [hBankROM]
push af
push hl
push hl
@@ -4276,7 +4278,7 @@ INCBIN "baserom.gbc",$3ddb,$3df3 - $3ddb
Func_3df3: ; 3df3 (0:3df3)
push af
- ld a, [CURR_ROM_BANK]
+ ld a, [hBankROM]
push af
push hl
ld a, BANK(Func_12c7f)
@@ -4299,7 +4301,7 @@ INCBIN "baserom.gbc",$3e10,$3fe0 - $3e10
Bankswitch3dTo3f: ; 3fe0 (0:3fe0)
push af
ld a, $3f
- ld [CURR_ROM_BANK], a
+ ld [hBankROM], a
ld [MBC3RomBank], a
pop af
ld bc, Bankswitch3d
@@ -4308,7 +4310,7 @@ Bankswitch3dTo3f: ; 3fe0 (0:3fe0)
Bankswitch3d: ; 3fe0 (0:3fe0)
ld a, $3d
- ld [CURR_ROM_BANK], a
+ ld [hBankROM], a
ld [MBC3RomBank], a
ret
diff --git a/engine/music1.asm b/engine/music1.asm
index 8130ddf..22392bb 100755
--- a/engine/music1.asm
+++ b/engine/music1.asm
@@ -168,7 +168,7 @@ Func_f40e9: ; f40e9 (3d:40e9)
ld hl, Func_fc003
call Bankswitch3dTo3f
ld a, [$dd81]
- ld [CURR_ROM_BANK], a
+ ld [hBankROM], a
ld [MBC3RomBank], a
ld a, [$ddf2]
cp $0
@@ -256,7 +256,7 @@ Music1_PlaySong: ; f418c (3d:418c)
add hl, bc
ld a, [hl]
ld [$dd81], a
- ld [CURR_ROM_BANK], a
+ ld [hBankROM], a
ld [MBC3RomBank], a
pop af
add a
diff --git a/engine/music2.asm b/engine/music2.asm
index bb30bf2..db44d1d 100755
--- a/engine/music2.asm
+++ b/engine/music2.asm
@@ -168,7 +168,7 @@ Func_f80e9: ; f80e9 (3e:40e9)
ld hl, Func_fc003
call Bankswitch3dTo3f
ld a, [$dd81]
- ld [CURR_ROM_BANK], a
+ ld [hBankROM], a
ld [MBC3RomBank], a
ld a, [$ddf2]
cp $0
@@ -256,7 +256,7 @@ Music2_PlaySong: ; f818c (3e:418c)
add hl, bc
ld a, [hl]
ld [$dd81], a
- ld [CURR_ROM_BANK], a
+ ld [hBankROM], a
ld [MBC3RomBank], a
pop af
add a
diff --git a/hram.asm b/hram.asm
new file mode 100644
index 0000000..ebac5a9
--- /dev/null
+++ b/hram.asm
@@ -0,0 +1,16 @@
+hBankROM EQU $FF80
+hBankRAM EQU $FF81
+hBankVRAM EQU $FF82
+
+hDMAFunction EQU $FF83
+
+hDPadRepeat EQU $FF8D
+hButtonsReleased EQU $FF8E
+hButtonsPressed2 EQU $FF8F
+hButtonsHeld EQU $FF90
+hButtonsPressed EQU $FF91
+
+hSCX EQU $FF92
+hSCY EQU $FF93
+hWX EQU $FF94
+hWY EQU $FF95
diff --git a/main.asm b/main.asm
index b92a488..f896aea 100755
--- a/main.asm
+++ b/main.asm
@@ -1,6 +1,7 @@
INCLUDE "constants.asm"
INCLUDE "macros.asm"
INCLUDE "wram.asm"
+INCLUDE "hram.asm"
INCLUDE "engine/home.asm"
diff --git a/wram.asm b/wram.asm
index d6ffc86..12f66a7 100755
--- a/wram.asm
+++ b/wram.asm
@@ -1,3 +1,60 @@
+;--- Bank 0: $Cxxx ----------------------------------------
+SECTION "WRAM0", WRAM0
+ ds $ab3
+
+wInitialA: ; cab3
+ ds $1
+
+wConsole: ; cab4
+ ds $2
+
+wTileMapFill: ; cab6
+ ds $1
+
+wIE: ; cab7
+ ds $1
+
+wVBlankCtr: ; cab8
+ ds $3
+
+wLCDC: ; cabb
+ ds $1
+
+wBGP: ; cabc
+ ds $1
+
+wOBP0: ; cabd
+ ds $1
+
+wOBP1: ; cabe
+ ds $6
+
+wCounterEnable: ; cac4
+ ds $1
+
+wCounter0: ; cac5
+ ds $1
+
+wCounter1: ; cac6
+ ds $1
+
+wCounter2: ; cac7
+ ds $1
+
+wCounter3: ; cac8
+ ds $1
+
+wCounter4: ; cac9
+ ds $27
+
+wBufPalette: ; caf0
+ ds $84
+
+wBufSerial: ; cb74
+ ds $1
+
+
+;--- Bank 1: $Dxxx ----------------------------------------
SECTION "WRAM1", WRAMX, BANK[1]
ds $32f