summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/constants/map_constants.asm13
-rw-r--r--src/data/map_headers.asm68
-rw-r--r--src/engine/bank07.asm5
-rw-r--r--src/engine/bank1c.asm102
-rw-r--r--src/engine/bank20.asm52
-rw-r--r--src/wram.asm2
6 files changed, 185 insertions, 57 deletions
diff --git a/src/constants/map_constants.asm b/src/constants/map_constants.asm
index d8637d6..74ec7d7 100644
--- a/src/constants/map_constants.asm
+++ b/src/constants/map_constants.asm
@@ -50,3 +50,16 @@ MAP_SCRIPT_LOAD_MAP EQU $08
MAP_SCRIPT_AFTER_DUEL EQU $0a
MAP_SCRIPT_MOVED_PLAYER EQU $0c
MAP_SCRIPT_CLOSE_TEXTBOX EQU $0e
+
+; map palettes for use in SGB mode
+ const_def 1
+ const MAP_SGB_PALETTE_1 ; $1
+ const MAP_SGB_PALETTE_2 ; $2
+ const MAP_SGB_PALETTE_3 ; $3
+ const MAP_SGB_PALETTE_4 ; $4
+ const MAP_SGB_PALETTE_5 ; $5
+ const MAP_SGB_PALETTE_6 ; $6
+ const MAP_SGB_PALETTE_7 ; $7
+ const MAP_SGB_PALETTE_8 ; $8
+ const MAP_SGB_PALETTE_9 ; $9
+ const MAP_SGB_PALETTE_10 ; $a
diff --git a/src/data/map_headers.asm b/src/data/map_headers.asm
index 3204bbf..cf91df2 100644
--- a/src/data/map_headers.asm
+++ b/src/data/map_headers.asm
@@ -1,37 +1,37 @@
; TODO: figure out the rest of the data for each map
; related to the table at 20:4e5d
MapHeaders: ; 1c374 (7:4374)
- db TILEMAP_OVERWORLD_MAP, TILEMAP_OVERWORLD_MAP_CGB, $00, $01, $01, MUSIC_OVERWORLD ; OVERWORLD_MAP
- db TILEMAP_MASON_LABORATORY, TILEMAP_MASON_LABORATORY_CGB, $00, $02, $02, MUSIC_OVERWORLD ; MASON_LABORATORY
- db TILEMAP_DECK_MACHINE_ROOM, TILEMAP_DECK_MACHINE_ROOM_CGB, $00, $02, $02, MUSIC_OVERWORLD ; DECK_MACHINE_ROOM
- db TILEMAP_ISHIHARA, TILEMAP_ISHIHARA_CGB, $00, $03, $03, MUSIC_OVERWORLD ; ISHIHARAS_HOUSE
- db TILEMAP_FIGHTING_CLUB_ENTRANCE, TILEMAP_FIGHTING_CLUB_ENTRANCE_CGB, $00, $03, $04, MUSIC_OVERWORLD ; FIGHTING_CLUB_ENTRANCE
- db TILEMAP_CLUB_LOBBY, TILEMAP_CLUB_LOBBY_CGB, $00, $03, $0c, MUSIC_OVERWORLD ; FIGHTING_CLUB_LOBBY
- db TILEMAP_FIGHTING_CLUB, TILEMAP_FIGHTING_CLUB_CGB, $00, $04, $0d, MUSIC_CLUB_3 ; FIGHTING_CLUB
- db TILEMAP_ROCK_CLUB_ENTRANCE, TILEMAP_ROCK_CLUB_ENTRANCE_CGB, $00, $03, $05, MUSIC_OVERWORLD ; ROCK_CLUB_ENTRANCE
- db TILEMAP_CLUB_LOBBY, TILEMAP_CLUB_LOBBY_CGB, $00, $03, $0c, MUSIC_OVERWORLD ; ROCK_CLUB_LOBBY
- db TILEMAP_ROCK_CLUB, TILEMAP_ROCK_CLUB_CGB, $00, $04, $0e, MUSIC_CLUB_2 ; ROCK_CLUB
- db TILEMAP_WATER_CLUB_ENTRANCE, TILEMAP_WATER_CLUB_ENTRANCE_CGB, $00, $03, $06, MUSIC_OVERWORLD ; WATER_CLUB_ENTRANCE
- db TILEMAP_CLUB_LOBBY, TILEMAP_CLUB_LOBBY_CGB, $00, $03, $0c, MUSIC_OVERWORLD ; WATER_CLUB_LOBBY
- db TILEMAP_WATER_CLUB, TILEMAP_WATER_CLUB_CGB, $00, $02, $0f, MUSIC_CLUB_2 ; WATER_CLUB
- db TILEMAP_LIGHTNING_CLUB_ENTRANCE, TILEMAP_LIGHTNING_CLUB_ENTRANCE_CGB, $00, $03, $07, MUSIC_OVERWORLD ; LIGHTNING_CLUB_ENTRANCE
- db TILEMAP_CLUB_LOBBY, TILEMAP_CLUB_LOBBY_CGB, $00, $03, $0c, MUSIC_OVERWORLD ; LIGHTNING_CLUB_LOBBY
- db TILEMAP_LIGHTNING_CLUB, TILEMAP_LIGHTNING_CLUB_CGB, $00, $05, $10, MUSIC_CLUB_1 ; LIGHTNING_CLUB
- db TILEMAP_GRASS_CLUB_ENTRANCE, TILEMAP_GRASS_CLUB_ENTRANCE_CGB, $00, $03, $08, MUSIC_OVERWORLD ; GRASS_CLUB_ENTRANCE
- db TILEMAP_CLUB_LOBBY, TILEMAP_CLUB_LOBBY_CGB, $00, $03, $0c, MUSIC_OVERWORLD ; GRASS_CLUB_LOBBY
- db TILEMAP_GRASS_CLUB, TILEMAP_GRASS_CLUB_CGB, $00, $06, $11, MUSIC_CLUB_1 ; GRASS_CLUB
- db TILEMAP_PSYCHIC_CLUB_ENTRANCE, TILEMAP_PSYCHIC_CLUB_ENTRANCE_CGB, $00, $03, $09, MUSIC_OVERWORLD ; PSYCHIC_CLUB_ENTRANCE
- db TILEMAP_CLUB_LOBBY, TILEMAP_CLUB_LOBBY_CGB, $00, $03, $0c, MUSIC_OVERWORLD ; PSYCHIC_CLUB_LOBBY
- db TILEMAP_PSYCHIC_CLUB, TILEMAP_PSYCHIC_CLUB_CGB, $00, $07, $12, MUSIC_CLUB_2 ; PSYCHIC_CLUB
- db TILEMAP_SCIENCE_CLUB_ENTRANCE, TILEMAP_SCIENCE_CLUB_ENTRANCE_CGB, $00, $03, $0a, MUSIC_OVERWORLD ; SCIENCE_CLUB_ENTRANCE
- db TILEMAP_CLUB_LOBBY, TILEMAP_CLUB_LOBBY_CGB, $00, $03, $0c, MUSIC_OVERWORLD ; SCIENCE_CLUB_LOBBY
- db TILEMAP_SCIENCE_CLUB, TILEMAP_SCIENCE_CLUB_CGB, $00, $06, $13, MUSIC_CLUB_3 ; SCIENCE_CLUB
- db TILEMAP_FIRE_CLUB_ENTRANCE, TILEMAP_FIRE_CLUB_ENTRANCE_CGB, $00, $03, $0b, MUSIC_OVERWORLD ; FIRE_CLUB_ENTRANCE
- db TILEMAP_CLUB_LOBBY, TILEMAP_CLUB_LOBBY_CGB, $00, $03, $0c, MUSIC_OVERWORLD ; FIRE_CLUB_LOBBY
- db TILEMAP_FIRE_CLUB, TILEMAP_FIRE_CLUB_CGB, $00, $08, $14, MUSIC_CLUB_3 ; FIRE_CLUB
- db TILEMAP_CHALLENGE_HALL_ENTRANCE, TILEMAP_CHALLENGE_HALL_ENTRANCE_CGB, $00, $03, $04, MUSIC_OVERWORLD ; CHALLENGE_HALL_ENTRANCE
- db TILEMAP_CLUB_LOBBY, TILEMAP_CLUB_LOBBY_CGB, $00, $03, $0c, MUSIC_OVERWORLD ; CHALLENGE_HALL_LOBBY
- db TILEMAP_CHALLENGE_HALL, TILEMAP_CHALLENGE_HALL_CGB, $00, $09, $15, MUSIC_OVERWORLD ; CHALLENGE_HALL
- db TILEMAP_POKEMON_DOME_ENTRANCE, TILEMAP_POKEMON_DOME_ENTRANCE_CGB, $00, $0a, $16, MUSIC_OVERWORLD ; POKEMON_DOME_ENTRANCE
- db TILEMAP_POKEMON_DOME, TILEMAP_POKEMON_DOME_CGB, $00, $0a, $17, MUSIC_POKEMON_DOME ; POKEMON_DOME
- db TILEMAP_HALL_OF_HONOR, TILEMAP_HALL_OF_HONOR_CGB, $00, $0a, $18, MUSIC_HALL_OF_HONOR ; HALL_OF_HONOR
+ db TILEMAP_OVERWORLD_MAP, TILEMAP_OVERWORLD_MAP_CGB, $00, MAP_SGB_PALETTE_1, $01, MUSIC_OVERWORLD ; OVERWORLD_MAP
+ db TILEMAP_MASON_LABORATORY, TILEMAP_MASON_LABORATORY_CGB, $00, MAP_SGB_PALETTE_2, $02, MUSIC_OVERWORLD ; MASON_LABORATORY
+ db TILEMAP_DECK_MACHINE_ROOM, TILEMAP_DECK_MACHINE_ROOM_CGB, $00, MAP_SGB_PALETTE_2, $02, MUSIC_OVERWORLD ; DECK_MACHINE_ROOM
+ db TILEMAP_ISHIHARA, TILEMAP_ISHIHARA_CGB, $00, MAP_SGB_PALETTE_3, $03, MUSIC_OVERWORLD ; ISHIHARAS_HOUSE
+ db TILEMAP_FIGHTING_CLUB_ENTRANCE, TILEMAP_FIGHTING_CLUB_ENTRANCE_CGB, $00, MAP_SGB_PALETTE_3, $04, MUSIC_OVERWORLD ; FIGHTING_CLUB_ENTRANCE
+ db TILEMAP_CLUB_LOBBY, TILEMAP_CLUB_LOBBY_CGB, $00, MAP_SGB_PALETTE_3, $0c, MUSIC_OVERWORLD ; FIGHTING_CLUB_LOBBY
+ db TILEMAP_FIGHTING_CLUB, TILEMAP_FIGHTING_CLUB_CGB, $00, MAP_SGB_PALETTE_4, $0d, MUSIC_CLUB_3 ; FIGHTING_CLUB
+ db TILEMAP_ROCK_CLUB_ENTRANCE, TILEMAP_ROCK_CLUB_ENTRANCE_CGB, $00, MAP_SGB_PALETTE_3, $05, MUSIC_OVERWORLD ; ROCK_CLUB_ENTRANCE
+ db TILEMAP_CLUB_LOBBY, TILEMAP_CLUB_LOBBY_CGB, $00, MAP_SGB_PALETTE_3, $0c, MUSIC_OVERWORLD ; ROCK_CLUB_LOBBY
+ db TILEMAP_ROCK_CLUB, TILEMAP_ROCK_CLUB_CGB, $00, MAP_SGB_PALETTE_4, $0e, MUSIC_CLUB_2 ; ROCK_CLUB
+ db TILEMAP_WATER_CLUB_ENTRANCE, TILEMAP_WATER_CLUB_ENTRANCE_CGB, $00, MAP_SGB_PALETTE_3, $06, MUSIC_OVERWORLD ; WATER_CLUB_ENTRANCE
+ db TILEMAP_CLUB_LOBBY, TILEMAP_CLUB_LOBBY_CGB, $00, MAP_SGB_PALETTE_3, $0c, MUSIC_OVERWORLD ; WATER_CLUB_LOBBY
+ db TILEMAP_WATER_CLUB, TILEMAP_WATER_CLUB_CGB, $00, MAP_SGB_PALETTE_2, $0f, MUSIC_CLUB_2 ; WATER_CLUB
+ db TILEMAP_LIGHTNING_CLUB_ENTRANCE, TILEMAP_LIGHTNING_CLUB_ENTRANCE_CGB, $00, MAP_SGB_PALETTE_3, $07, MUSIC_OVERWORLD ; LIGHTNING_CLUB_ENTRANCE
+ db TILEMAP_CLUB_LOBBY, TILEMAP_CLUB_LOBBY_CGB, $00, MAP_SGB_PALETTE_3, $0c, MUSIC_OVERWORLD ; LIGHTNING_CLUB_LOBBY
+ db TILEMAP_LIGHTNING_CLUB, TILEMAP_LIGHTNING_CLUB_CGB, $00, MAP_SGB_PALETTE_5, $10, MUSIC_CLUB_1 ; LIGHTNING_CLUB
+ db TILEMAP_GRASS_CLUB_ENTRANCE, TILEMAP_GRASS_CLUB_ENTRANCE_CGB, $00, MAP_SGB_PALETTE_3, $08, MUSIC_OVERWORLD ; GRASS_CLUB_ENTRANCE
+ db TILEMAP_CLUB_LOBBY, TILEMAP_CLUB_LOBBY_CGB, $00, MAP_SGB_PALETTE_3, $0c, MUSIC_OVERWORLD ; GRASS_CLUB_LOBBY
+ db TILEMAP_GRASS_CLUB, TILEMAP_GRASS_CLUB_CGB, $00, MAP_SGB_PALETTE_6, $11, MUSIC_CLUB_1 ; GRASS_CLUB
+ db TILEMAP_PSYCHIC_CLUB_ENTRANCE, TILEMAP_PSYCHIC_CLUB_ENTRANCE_CGB, $00, MAP_SGB_PALETTE_3, $09, MUSIC_OVERWORLD ; PSYCHIC_CLUB_ENTRANCE
+ db TILEMAP_CLUB_LOBBY, TILEMAP_CLUB_LOBBY_CGB, $00, MAP_SGB_PALETTE_3, $0c, MUSIC_OVERWORLD ; PSYCHIC_CLUB_LOBBY
+ db TILEMAP_PSYCHIC_CLUB, TILEMAP_PSYCHIC_CLUB_CGB, $00, MAP_SGB_PALETTE_7, $12, MUSIC_CLUB_2 ; PSYCHIC_CLUB
+ db TILEMAP_SCIENCE_CLUB_ENTRANCE, TILEMAP_SCIENCE_CLUB_ENTRANCE_CGB, $00, MAP_SGB_PALETTE_3, $0a, MUSIC_OVERWORLD ; SCIENCE_CLUB_ENTRANCE
+ db TILEMAP_CLUB_LOBBY, TILEMAP_CLUB_LOBBY_CGB, $00, MAP_SGB_PALETTE_3, $0c, MUSIC_OVERWORLD ; SCIENCE_CLUB_LOBBY
+ db TILEMAP_SCIENCE_CLUB, TILEMAP_SCIENCE_CLUB_CGB, $00, MAP_SGB_PALETTE_6, $13, MUSIC_CLUB_3 ; SCIENCE_CLUB
+ db TILEMAP_FIRE_CLUB_ENTRANCE, TILEMAP_FIRE_CLUB_ENTRANCE_CGB, $00, MAP_SGB_PALETTE_3, $0b, MUSIC_OVERWORLD ; FIRE_CLUB_ENTRANCE
+ db TILEMAP_CLUB_LOBBY, TILEMAP_CLUB_LOBBY_CGB, $00, MAP_SGB_PALETTE_3, $0c, MUSIC_OVERWORLD ; FIRE_CLUB_LOBBY
+ db TILEMAP_FIRE_CLUB, TILEMAP_FIRE_CLUB_CGB, $00, MAP_SGB_PALETTE_8, $14, MUSIC_CLUB_3 ; FIRE_CLUB
+ db TILEMAP_CHALLENGE_HALL_ENTRANCE, TILEMAP_CHALLENGE_HALL_ENTRANCE_CGB, $00, MAP_SGB_PALETTE_3, $04, MUSIC_OVERWORLD ; CHALLENGE_HALL_ENTRANCE
+ db TILEMAP_CLUB_LOBBY, TILEMAP_CLUB_LOBBY_CGB, $00, MAP_SGB_PALETTE_3, $0c, MUSIC_OVERWORLD ; CHALLENGE_HALL_LOBBY
+ db TILEMAP_CHALLENGE_HALL, TILEMAP_CHALLENGE_HALL_CGB, $00, MAP_SGB_PALETTE_9, $15, MUSIC_OVERWORLD ; CHALLENGE_HALL
+ db TILEMAP_POKEMON_DOME_ENTRANCE, TILEMAP_POKEMON_DOME_ENTRANCE_CGB, $00, MAP_SGB_PALETTE_10, $16, MUSIC_OVERWORLD ; POKEMON_DOME_ENTRANCE
+ db TILEMAP_POKEMON_DOME, TILEMAP_POKEMON_DOME_CGB, $00, MAP_SGB_PALETTE_10, $17, MUSIC_POKEMON_DOME ; POKEMON_DOME
+ db TILEMAP_HALL_OF_HONOR, TILEMAP_HALL_OF_HONOR_CGB, $00, MAP_SGB_PALETTE_10, $18, MUSIC_HALL_OF_HONOR ; HALL_OF_HONOR
diff --git a/src/engine/bank07.asm b/src/engine/bank07.asm
index e2922bb..ed87acc 100644
--- a/src/engine/bank07.asm
+++ b/src/engine/bank07.asm
@@ -50,7 +50,8 @@ Func_1c056: ; 1c056 (7:4056)
INCLUDE "data/warps.asm"
-Func_1c33b: ; 1c33b (7:433b)
+; loads data from the map header of wCurMap
+LoadCurMapHeaderData: ; 1c33b (7:433b)
push hl
push bc
push de
@@ -66,7 +67,7 @@ Func_1c33b: ; 1c33b (7:433b)
ld a, [hli]
ld [wCurTilemap], a
ld a, [hli]
- ld c, a
+ ld c, a ; CGB tilemap variant
ld a, [hli]
ld [wd28f], a
ld a, [hli]
diff --git a/src/engine/bank1c.asm b/src/engine/bank1c.asm
index 15a4647..b94729a 100644
--- a/src/engine/bank1c.asm
+++ b/src/engine/bank1c.asm
@@ -330,5 +330,103 @@ Func_70214: ; 70214 (1c:4214)
Unknown_7024a: ; 7024a (1c:424a)
INCROM $7024a, $7036a
-Func_7036a: ; 7036a (1c:436a)
- INCROM $7036a, $74000
+; decompresses palette data depending on wd132
+; then sends it as SGB packet
+SetSGB2AndSGB3MapPalette: ; 7036a (1c:436a)
+ ld a, [wConsole]
+ cp CONSOLE_SGB
+ ret nz ; return if not SGB
+ ld a, [wd132]
+ or a
+ ret z ; not valid
+
+ push hl
+ push bc
+ push de
+ ld a, [wd132]
+ add a
+ ld c, a
+ ld b, $0
+ ld hl, .pal_data_pointers
+ add hl, bc
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ call DecompressSGBPalette
+
+ ; load palettes to wTempSGBPacket
+ ld hl, wBGMapBuffer
+ ld de, wTempSGBPacket + 1 ; PAL Packet color #0 (PAL23's SGB2)
+ ld bc, 8 ; pal size
+ call CopyDataHLtoDE
+ ld hl, wBGMapBuffer + 34
+ ld de, wTempSGBPacket + 9 ; PAL Packet color #4 (PAL23's SGB3)
+ ld bc, 6
+ call CopyDataHLtoDE
+
+ xor a
+ ld [wTempSGBPacket + 15], a
+ ld hl, wTempSGBPacket
+ ld a, $1
+ ld [hl], a
+ call Func_704c7
+ call SendSGB
+ pop de
+ pop bc
+ pop hl
+ ret
+
+.pal_data_pointers
+ dw $722f ; unused
+ dw $722f ; MAP_SGB_PALETTE_1
+ dw $7253 ; MAP_SGB_PALETTE_2
+ dw $7277 ; MAP_SGB_PALETTE_3
+ dw $729a ; MAP_SGB_PALETTE_4
+ dw $72bd ; MAP_SGB_PALETTE_5
+ dw $72e0 ; MAP_SGB_PALETTE_6
+ dw $7304 ; MAP_SGB_PALETTE_7
+ dw $7328 ; MAP_SGB_PALETTE_8
+ dw $734b ; MAP_SGB_PALETTE_9
+ dw $736f ; MAP_SGB_PALETTE_10
+
+ INCROM $703cb, $70403
+
+DecompressSGBPalette: ; 70403 (1c:4403)
+ push hl
+ push bc
+ push de
+ ld c, [hl]
+ inc hl
+ ld b, [hl]
+ inc hl
+ push bc
+ ld e, l
+ ld d, h
+ ld b, HIGH(wc000)
+ call InitBGMapDecompression
+ pop bc
+ ld de, wBGMapBuffer
+ call DecompressBGMap
+ pop de
+ pop bc
+ pop hl
+ ret
+; 0x7041d
+
+ INCROM $7041d, $704c7
+
+; load some values to wTempSGBPacket
+Func_704c7: ; 704c7 (1c:44c7)
+ push af
+ push hl
+ inc hl
+ ld a, $9c
+ ld [hli], a
+ ld a, $63
+ ld [hl], a
+ pop hl
+ pop af
+ ret
+; 0x704d3
+
+ INCROM $704d3, $74000
diff --git a/src/engine/bank20.asm b/src/engine/bank20.asm
index 5b4de83..639f31a 100644
--- a/src/engine/bank20.asm
+++ b/src/engine/bank20.asm
@@ -1,8 +1,22 @@
Func_80000: ; 80000 (20:4000)
- INCROM $80000, $80028
+ call ClearSRAMBGMaps
+ xor a
+ ld [wTextBoxFrameType], a
+ call Func_8003d
+ farcall Func_c37a
+ farcall Func_c9c7
+ call Func_801a1
+ farcall Func_c3ff
+ ld a, [wCurMap]
+ cp $00
+ ret nz
+ farcall Func_10f2e
+ farcall Func_10fbc
+ ret
+; 0x80028
Func_80028: ; 80028 (20:4028)
- call Func_801f1
+ call ClearSRAMBGMaps
ld bc, $0000
call Func_80077
farcall Func_c9c7
@@ -12,8 +26,8 @@ Func_80028: ; 80028 (20:4028)
; 0x8003d
Func_8003d: ; 8003d (20:403d)
- farcall Func_1c33b
- farcall Func_7036a
+ farcall LoadCurMapHeaderData
+ farcall SetSGB2AndSGB3MapPalette
ld bc, $0
call Func_80077
ld a, $80
@@ -38,12 +52,12 @@ Func_8003d: ; 8003d (20:403d)
; 0x80077
Func_80077: ; 80077 (20:4077)
- ld a, $1
- ld [wBGMapCopyMode], a
+ ld a, TRUE
+ ld [wWriteBGMapToSRAM], a
jr Func_80082
xor a
- ld [wBGMapCopyMode], a
+ ld [wWriteBGMapToSRAM], a
; fallthrough
Func_80082: ; 80082 (20:4082)
@@ -213,13 +227,13 @@ Func_80148: ; 80148 (20:4148)
ret
; copies BG Map data pointed by hl
-; to either VRAM or SRAM, depending on wBGMapCopyMode
+; to either VRAM or SRAM, depending on wWriteBGMapToSRAM
; de is the target address in VRAM,
; if SRAM is the target address to copy,
; copies data to s0BGMap or s1BGMap
; for VRAM0 or VRAM1 respectively
CopyBGDataToVRAMOrSRAM: ; 8016e (20:416e)
- ld a, [wBGMapCopyMode]
+ ld a, [wWriteBGMapToSRAM]
or a
jp z, SafeCopyDataHLtoDE
@@ -307,16 +321,16 @@ Func_801a1: ; 801a1 (20:41a1)
pop hl
ret
-; Clears the first x800 bytes of S1:a000
-Func_801f1: ; 801f1 (20:41f1)
+; clears s0BGMap and s1BGMap
+ClearSRAMBGMaps: ; 801f1 (20:41f1)
push hl
push bc
ldh a, [hBankSRAM]
push af
- ld a, $1
+ ld a, BANK(s0BGMap) ; SRAM 1
call BankswitchSRAM
- ld hl, $a000
- ld bc, $0800
+ ld hl, s0BGMap
+ ld bc, $800 ; s0BGMap + s1BGMap
xor a
call FillMemoryWithA
pop af
@@ -1110,8 +1124,8 @@ Func_80b89: ; 80b89 (20:4b89)
push bc
push af
ld c, a
- ld a, $01
- ld [wBGMapCopyMode], a
+ ld a, TRUE
+ ld [wWriteBGMapToSRAM], a
ld b, $00
ld hl, wd323
add hl, bc
@@ -1129,9 +1143,9 @@ Func_80b89: ; 80b89 (20:4b89)
Func_80ba4: ; 80ba4 (20:4ba4)
push af
xor a
- ld [wBGMapCopyMode], a
+ ld [wWriteBGMapToSRAM], a
pop af
-; Fallthrough
+; fallthrough
Func_80baa: ; 80baa (20:4baa)
push hl
@@ -1150,11 +1164,13 @@ Func_80baa: ; 80baa (20:4baa)
push af
ld a, [wd23a + 1]
push af
+
ld b, $0
ld hl, wd323
add hl, bc
ld a, $1
ld [hl], a
+
ld a, c
add a
ld c, a
diff --git a/src/wram.asm b/src/wram.asm
index dc0e91d..074b9c2 100644
--- a/src/wram.asm
+++ b/src/wram.asm
@@ -2168,7 +2168,7 @@ wd291:: ; d291
; determines where to copy BG Map data
; $0 = copies to VRAM
; $1 = copies to SRAM
-wBGMapCopyMode:: ; d292
+wWriteBGMapToSRAM:: ; d292
ds $1
ds $4