diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/engine/bank01.asm | 2 | ||||
-rw-r--r-- | src/engine/bank03.asm | 12 | ||||
-rw-r--r-- | src/engine/bank04.asm | 121 | ||||
-rw-r--r-- | src/engine/bank06.asm | 2 | ||||
-rw-r--r-- | src/engine/bank07.asm | 2 | ||||
-rw-r--r-- | src/engine/bank20.asm | 593 | ||||
-rw-r--r-- | src/sram.asm | 105 | ||||
-rw-r--r-- | src/wram.asm | 39 |
8 files changed, 839 insertions, 37 deletions
diff --git a/src/engine/bank01.asm b/src/engine/bank01.asm index 8bf9ab2..02e2682 100644 --- a/src/engine/bank01.asm +++ b/src/engine/bank01.asm @@ -7,7 +7,7 @@ GameLoop: ; 4000 (1:4000) call EnableInt_VBlank call EnableInt_Timer call EnableSRAM - ld a, [s0a006] + ld a, [sTextSpeed] ld [wTextSpeed], a ld a, [s0a009] ld [wSkipDelayAllowed], a diff --git a/src/engine/bank03.asm b/src/engine/bank03.asm index ed9a8cc..4013cd4 100644 --- a/src/engine/bank03.asm +++ b/src/engine/bank03.asm @@ -270,7 +270,7 @@ Func_c1f8: ; c1f8 (3:41f8) call EnableSRAM ld a, [sAnimationsDisabled] ld [wAnimationsDisabled], a - ld a, [s0a006] + ld a, [sTextSpeed] ld [wTextSpeed], a call DisableSRAM farcall Func_10756 @@ -464,7 +464,7 @@ Func_c36a: ; c36a (3:436a) cp POKEMON_DOME_ENTRANCE jr nz, .asm_c379 xor a - ld [wd324], a + ld [wd323 + 1], a .asm_c379 ret @@ -8329,10 +8329,10 @@ Func_f5d4: ; f5d4 (3:75d4) Func_f5db: ; f5db (3:75db) xor a - ld [wd698], a - ld [wd699], a - ld [wd69a], a - ld [wd69b], a + ld [wd698 + 0], a + ld [wd698 + 1], a + ld [wd698 + 2], a + ld [wd698 + 3], a ret Func_f5e9: ; f5e9 (3:75e9) diff --git a/src/engine/bank04.asm b/src/engine/bank04.asm index 7cff830..c8625fc 100644 --- a/src/engine/bank04.asm +++ b/src/engine/bank04.asm @@ -854,7 +854,124 @@ Func_11416: ; 11416 (4:5416) INCROM $11416, $11430 Func_11430: ; 11430 (4:5430) - INCROM $11430, $1157c + push de + ld de, sb800 + call .Func_11439 + pop de + ret + +.Func_11439 + push hl + push bc + call EnableSRAM + call .Func_11447 + call DisableSRAM + pop bc + pop hl + ret + +.Func_11447 + push hl + push bc + push de + ld a, e + add $08 + ld [wTempPointer], a + ld a, d + adc 0 + ld [wTempPointer + 1], a + ld hl, .data_11498 +.asm_11459 + ld a, [hli] + ld e, a + ld d, [hl] + or d + jr z, .done_copy + inc hl + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + +; copy bc bytes from wTempPointer to de + push hl + ld a, [wTempPointer] + ld l, a + ld a, [wTempPointer + 1] + ld h, a +.loop_copy + ld a, [hli] + ld [de], a + inc de + dec bc + ld a, c + or b + jr nz, .loop_copy + + ld a, l + ld [wTempPointer], a + ld a, h + ld [wTempPointer + 1], a + pop hl + inc hl + inc hl + jr .asm_11459 + +.done_copy + call EnableSRAM + ld a, [sAnimationsDisabled] + ld [wAnimationsDisabled], a + ld a, [sTextSpeed] + ld [wTextSpeed], a + call DisableSRAM + pop de + pop bc + pop hl + ret + +.data_11498 +; pointer, number of bytes, unknown + dw wd3cc, 1, $ff00 + dw wd3cb, 1, $ff00 + dw wPlayTimeCounter + 0, 1, $ff00 + dw wPlayTimeCounter + 1, 1, $ff00 + dw wPlayTimeCounter + 2, 1, $ff00 + dw wPlayTimeCounter + 3, 2, $ff00 + dw wd32e, 1, $ff00 + dw wTempMap, 1, $ff00 + dw wTempPlayerXCoord, 1, $ff00 + dw wTempPlayerYCoord, 1, $ff00 + dw wTempPlayerDirection, 1, $ff00 + dw wd0c2, 1, $ff00 + dw wDuelResult, 1, $ff00 + dw wd0c4, 1, $ff00 + dw wd696, 1, $ff00 + dw wd698, 4, $ff00 + dw wd323, 11, $ff00 + dw Data_1156c, 1, $ff00 + dw wd0b8, 1, $ff00 + dw wd0b9, 1, $ff00 + dw wd11b, 1, $ff00 + dw wd0ba, 1, $ff00 + dw wPCPackSelection, 1, $0e00 + dw wPCPacks, 15, $ff00 + dw wd111, 1, $ff00 + dw wcad5, 1, $ff00 + dw wd3b8, 1, $ff00 + dw wd3bb, 10, $ff00 + dw wd0c5, 1, $ff00 + dw wMultichoiceTextboxResult_ChooseDeckToDuelAgainst, 1, $ff00 + dw wd10e, 1, $ff00 + dw Data_1156c, 15, $ff00 + dw Data_1156c, 16, $ff00 + dw Data_1156c, 16, $ff00 + dw wEventFlags, 64, $ff00 + dw NULL +; 0x1156c + +Data_1156c: ; 1156c (4:556c) + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 +; 0x1157c Func_1157c: ; 1157c (4:557c) ld a, c @@ -1223,7 +1340,7 @@ MainMenu_NewGame: ; 12704 (4:6704) call EnableSRAM ld a, [sAnimationsDisabled] ld [wAnimationsDisabled], a - ld a, [s0a006] + ld a, [sTextSpeed] ld [wTextSpeed], a call DisableSRAM ld a, MUSIC_STOP diff --git a/src/engine/bank06.asm b/src/engine/bank06.asm index fb5b6b6..f756533 100644 --- a/src/engine/bank06.asm +++ b/src/engine/bank06.asm @@ -1501,7 +1501,7 @@ Func_1996e: ; 1996e (6:596e) ld a, $2 ld [s0a003], a ld a, $2 - ld [s0a006], a + ld [sTextSpeed], a ld [wTextSpeed], a xor a ld [sAnimationsDisabled], a diff --git a/src/engine/bank07.asm b/src/engine/bank07.asm index 02590a8..e2922bb 100644 --- a/src/engine/bank07.asm +++ b/src/engine/bank07.asm @@ -1709,7 +1709,7 @@ Credits_1d6ad: ; 1d6ad (7:56ad) call Func_1d705 call Func_1c858 xor a - ld [wd324], a + ld [wd323 + 1], a ld a, MUSIC_CREDITS call PlaySong farcall Func_10031 diff --git a/src/engine/bank20.asm b/src/engine/bank20.asm index 078d4b2..2ff90f4 100644 --- a/src/engine/bank20.asm +++ b/src/engine/bank20.asm @@ -804,13 +804,553 @@ CopyPaletteDataToBuffer: ; 80456 (20:4456) INCROM $8047b, $80480 Func_80480: ; 80480 (20:4480) - INCROM $80480, $804d8 + push hl + push bc + ld a, [wCurMap] + add a + add a ; *4 + ld c, a + ld a, [wConsole] + cp CONSOLE_CGB + jr nz, .not_cgb + ld a, c + add 2 + ld c, a +.not_cgb + ld b, $00 + ld hl, Data_805d6 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + call Func_804a2 + pop bc + pop hl + ret +; 0x804a2 + +; hl written to wd318 +Func_804a2: ; 804a2 (20:44a2) + push hl + push bc + ld a, l + ld [wd318], a + ld a, h + ld [wd318 + 1], a + xor a + ld [wd322], a + call Func_8059a + ld c, 0 +.asm_804b5 + call Func_805aa + call Func_804f3 + ld a, [wd320] + cp $ff + jr z, .asm_804cf + ld a, [wd322] + inc a + ld [wd322], a + call Func_8050c + call Func_805c1 +.asm_804cf + inc c + ld a, c + cp 3 + jr c, .asm_804b5 + pop bc + pop hl + ret +; 0x804d8 Func_804d8: ; 804d8 (20:44d8) - INCROM $804d8, $80b7a + ld a, [wd322] + or a + ret z + ld c, $00 +.asm_804df + call Func_805aa + cp $ff + jr z, .asm_804ec + call Func_8050c + call Func_805c1 +.asm_804ec + inc c + ld a, c + cp $03 + jr c, .asm_804df + ret +; 0x804f3 +; c added to hl +Func_804f3: ; 804f3 (20:44f3) + push hl + push bc + push hl + ld b, $00 + add hl, bc + ld c, [hl] + pop hl + add hl, bc + ld a, [hl] + cp $ff + jr z, .asm_80509 + ld a, c + ld [wd320], a + xor a + ld [wd321], a +.asm_80509 + pop bc + pop hl + ret +; 0x8050c + +Func_8050c: ; 8050c (20:450c) + ld a, [wd321] + or a + jr z, .asm_80517 + dec a + ld [wd321], a + ret + +.asm_80517 + push hl + push de + push bc + ; add wd320 to pointer in wd318 + ld a, [wd320] + ld c, a + ld a, [wd318] + add c + ld l, a + ld a, [wd318 + 1] + adc 0 + ld h, a + + ld a, [hl] + ld [wd321], a +.asm_8052d + call .Func_8055c + ld de, $8 + add hl, de + ld a, c + add e + ld c, a + ld a, [hl] + or a + jr z, .asm_8052d + + cp -1 + ld a, c + ld [wd320], a + jr nz, .asm_80558 + pop bc + push bc + ld a, [wd321] + push af + ld a, [wd318] + ld l, a + ld a, [wd318 + 1] + ld h, a + call Func_804f3 + pop af + ld [wd321], a +.asm_80558 + pop bc + pop de + pop hl + ret + +.Func_8055c + push hl + push bc + push de + ldh a, [hBankVRAM] + push af + inc hl + ld a, [hli] + xor $80 + ld e, a + ld a, [hli] + +; get tile offset of register e +; and load its address in de + push hl + call BankswitchVRAM + ld h, $00 + ld l, e + add hl, hl ; *2 + add hl, hl ; *4 + add hl, hl ; *8 + add hl, hl ; *16 + ld de, v0Tiles1 + add hl, de + ld e, l + ld d, h + pop hl + + ld a, [hli] + add $20 + ld [wTempPointerBank], a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hli] + ld h, [hl] + ld l, a + add hl, hl ; *2 + add hl, hl ; *4 + add hl, hl ; *8 + add hl, hl ; *16 + add hl, bc + lb bc, 1, TILE_SIZE + call CopyGfxDataFromTempBank + pop af + call BankswitchVRAM + pop de + pop bc + pop hl + ret +; 0x8059a + +; fills wd31a with $ff +Func_8059a: ; 8059a (20:459a) + push hl + push bc + ld hl, wd31a + ld c, 3 * 2 + ld a, $ff +.loop + ld [hli], a + dec c + jr nz, .loop + pop bc + pop hl + ret +; 0x805aa + +; copies wd31a + 2*c +; to wd320 and wd321 +Func_805aa: ; 805aa (20:45aa) + push hl + push bc + ld hl, wd31a + sla c + ld b, $00 + add hl, bc + ld a, [hli] + ld [wd320], a + push af + ld a, [hl] + ld [wd321], a + pop af + pop bc + pop hl + ret +; 0x805c1 + +; copies wd320 and wd321 +; to wd31a + 2*c +Func_805c1: ; 805c1 (20:45c1) + push hl + push bc + ld hl, wd31a + sla c + ld b, $00 + add hl, bc + ld a, [wd320] + ld [hli], a + ld a, [wd321] + ld [hl], a + pop bc + pop hl + ret +; 0x805d6 + +Data_805d6: ; 805d6 (20:45d6) +; non-cgb, cgb + dw Data_80662, Data_80696 ; OVERWORLD_MAP + dw Data_80742, Data_80742 ; MASON_LABORATORY + dw Data_80786, Data_8080a ; DECK_MACHINE_ROOM + dw Data_8055e, Data_8055e ; ISHIHARAS_HOUSE + dw Data_8055e, Data_8055e ; FIGHTING_CLUB_ENTRANCE + dw Data_8055e, Data_8055e ; FIGHTING_CLUB_LOBBY + dw Data_8055e, Data_8055e ; FIGHTING_CLUB + dw Data_8055e, Data_8055e ; ROCK_CLUB_ENTRANCE + dw Data_8055e, Data_8055e ; ROCK_CLUB_LOBBY + dw Data_8055e, Data_8055e ; ROCK_CLUB + dw Data_8055e, Data_8055e ; WATER_CLUB_ENTRANCE + dw Data_8055e, Data_8055e ; WATER_CLUB_LOBBY + dw Data_80996, Data_80996 ; WATER_CLUB + dw Data_8055e, Data_8055e ; LIGHTNING_CLUB_ENTRANCE + dw Data_8055e, Data_8055e ; LIGHTNING_CLUB_LOBBY + dw Data_80a5a, Data_80a5a ; LIGHTNING_CLUB + dw Data_8055e, Data_8055e ; GRASS_CLUB_ENTRANCE + dw Data_8055e, Data_8055e ; GRASS_CLUB_LOBBY + dw Data_8055e, Data_8055e ; GRASS_CLUB + dw Data_8055e, Data_8055e ; PSYCHIC_CLUB_ENTRANCE + dw Data_8055e, Data_8055e ; PSYCHIC_CLUB_LOBBY + dw Data_8055e, Data_8055e ; PSYCHIC_CLUB + dw Data_8055e, Data_8055e ; SCIENCE_CLUB_ENTRANCE + dw Data_8055e, Data_8055e ; SCIENCE_CLUB_LOBBY + dw Data_80b1e, Data_80b1e ; SCIENCE_CLUB + dw Data_8055e, Data_8055e ; FIRE_CLUB_ENTRANCE + dw Data_8055e, Data_8055e ; FIRE_CLUB_LOBBY + dw Data_8088e, Data_80912 ; FIRE_CLUB + dw Data_8055e, Data_8055e ; CHALLENGE_HALL_ENTRANCE + dw Data_8055e, Data_8055e ; CHALLENGE_HALL_LOBBY + dw Data_80b32, Data_80b32 ; CHALLENGE_HALL + dw Data_8055e, Data_8055e ; POKEMON_DOME_ENTRANCE + dw Data_8055e, Data_8055e ; POKEMON_DOME + dw Data_80b36, Data_80b36 ; HALL_OF_HONOR +; 0x8065e + +; \1 = unknown +; \2 = VRAM tile offset +; \3 = VRAM +; \4 = tileset +; \5 = tileset offset +macro_8055e: MACRO + db \1 + db \2 + db \3 + dbw BANK(\4) - BANK(Data_805d6), \4 + $2 + dw \5 +ENDM + +Data_8055e: ; 8055e (20:455e) + db $3, $3, $3 + db -1 ; end + +Data_80662: ; 80662 (20:4662) + db $3, $33, $33 + + macro_8055e 7, $f3, 0, OverworldMapTiles, $73 + macro_8055e 7, $f4, 0, OverworldMapTiles, $74 + macro_8055e 7, $f3, 0, OverworldMapTiles, $74 + macro_8055e 7, $f4, 0, OverworldMapTiles, $75 + macro_8055e 7, $f3, 0, OverworldMapTiles, $75 + macro_8055e 7, $f4, 0, OverworldMapTiles, $73 + db -1 ; end + +Data_80696: ; 80696 (20:4696) + db $3, $ab, $ab + + macro_8055e 4, $f3, 0, OverworldMapTiles, $73 + macro_8055e 4, $f4, 0, OverworldMapTiles, $74 + macro_8055e 4, $18, 1, OverworldMapTiles, $98 + macro_8055e 0, $19, 1, OverworldMapTiles, $99 + macro_8055e 0, $1a, 1, OverworldMapTiles, $9a + macro_8055e 0, $1b, 1, OverworldMapTiles, $9b + macro_8055e 0, $1c, 1, OverworldMapTiles, $9c + macro_8055e 4, $f3, 0, OverworldMapTiles, $74 + macro_8055e 4, $f4, 0, OverworldMapTiles, $75 + macro_8055e 4, $18, 1, OverworldMapTiles, $9d + macro_8055e 0, $19, 1, OverworldMapTiles, $9e + macro_8055e 0, $1a, 1, OverworldMapTiles, $9f + macro_8055e 0, $1b, 1, OverworldMapTiles, $a0 + macro_8055e 0, $1c, 1, OverworldMapTiles, $a1 + macro_8055e 7, $f3, 0, OverworldMapTiles, $75 + macro_8055e 7, $f4, 0, OverworldMapTiles, $73 + macro_8055e 4, $18, 1, OverworldMapTiles, $a2 + macro_8055e 0, $19, 1, OverworldMapTiles, $a3 + macro_8055e 0, $1a, 1, OverworldMapTiles, $a4 + macro_8055e 0, $1b, 1, OverworldMapTiles, $a5 + macro_8055e 0, $1c, 1, OverworldMapTiles, $a6 + db -1 ; end + +Data_80742: ; 80742 (20:4742) + db $3, $43, $43 + + macro_8055e 3, $dc, 0, MasonLaboratoryTilesetGfx, $5c + macro_8055e 0, $dd, 0, MasonLaboratoryTilesetGfx, $5d + macro_8055e 3, $de, 0, MasonLaboratoryTilesetGfx, $5e + macro_8055e 0, $df, 0, MasonLaboratoryTilesetGfx, $5f + macro_8055e 3, $dc, 0, MasonLaboratoryTilesetGfx, $60 + macro_8055e 0, $dd, 0, MasonLaboratoryTilesetGfx, $61 + macro_8055e 3, $de, 0, MasonLaboratoryTilesetGfx, $62 + macro_8055e 0, $df, 0, MasonLaboratoryTilesetGfx, $63 + db -1 ; end + +Data_80786: ; 80786 (20:4786) + db $3, $83, $83 + + macro_8055e 3, $dc, 0, MasonLaboratoryTilesetGfx, $5c + macro_8055e 0, $dd, 0, MasonLaboratoryTilesetGfx, $5d + macro_8055e 3, $de, 0, MasonLaboratoryTilesetGfx, $5e + macro_8055e 0, $df, 0, MasonLaboratoryTilesetGfx, $5f + macro_8055e 5, $e4, 0, MasonLaboratoryTilesetGfx, $64 + macro_8055e 0, $e5, 0, MasonLaboratoryTilesetGfx, $65 + macro_8055e 0, $e6, 0, MasonLaboratoryTilesetGfx, $66 + macro_8055e 0, $e7, 0, MasonLaboratoryTilesetGfx, $67 + macro_8055e 3, $dc, 0, MasonLaboratoryTilesetGfx, $60 + macro_8055e 0, $dd, 0, MasonLaboratoryTilesetGfx, $61 + macro_8055e 3, $de, 0, MasonLaboratoryTilesetGfx, $62 + macro_8055e 0, $df, 0, MasonLaboratoryTilesetGfx, $63 + macro_8055e 5, $e4, 0, MasonLaboratoryTilesetGfx, $68 + macro_8055e 0, $e5, 0, MasonLaboratoryTilesetGfx, $69 + macro_8055e 0, $e6, 0, MasonLaboratoryTilesetGfx, $6a + macro_8055e 0, $e7, 0, MasonLaboratoryTilesetGfx, $6b + db -1 ; end + +Data_8080a: ; 8080a (20:480a) + db $3, $83, $83 + + macro_8055e 3, $dc, 0, MasonLaboratoryTilesetGfx, $5c + macro_8055e 0, $dd, 0, MasonLaboratoryTilesetGfx, $5d + macro_8055e 3, $de, 0, MasonLaboratoryTilesetGfx, $5e + macro_8055e 0, $df, 0, MasonLaboratoryTilesetGfx, $5f + macro_8055e 5, $03, 1, MasonLaboratoryTilesetGfx, $83 + macro_8055e 0, $04, 1, MasonLaboratoryTilesetGfx, $84 + macro_8055e 0, $05, 1, MasonLaboratoryTilesetGfx, $85 + macro_8055e 0, $06, 1, MasonLaboratoryTilesetGfx, $86 + macro_8055e 3, $dc, 0, MasonLaboratoryTilesetGfx, $60 + macro_8055e 0, $dd, 0, MasonLaboratoryTilesetGfx, $61 + macro_8055e 3, $de, 0, MasonLaboratoryTilesetGfx, $62 + macro_8055e 0, $df, 0, MasonLaboratoryTilesetGfx, $63 + macro_8055e 5, $03, 1, MasonLaboratoryTilesetGfx, $87 + macro_8055e 0, $04, 1, MasonLaboratoryTilesetGfx, $88 + macro_8055e 0, $05, 1, MasonLaboratoryTilesetGfx, $89 + macro_8055e 0, $06, 1, MasonLaboratoryTilesetGfx, $8a + db -1 ; end + +Data_8088e: ; 8088e (20:488e) + db $3, $83, $83 + + macro_8055e 5, $9f, 0, FireClubTilesetGfx, $1f + macro_8055e 0, $a0, 0, FireClubTilesetGfx, $20 + macro_8055e 0, $a1, 0, FireClubTilesetGfx, $21 + macro_8055e 0, $a2, 0, FireClubTilesetGfx, $22 + macro_8055e 6, $a3, 0, FireClubTilesetGfx, $23 + macro_8055e 0, $a4, 0, FireClubTilesetGfx, $24 + macro_8055e 0, $a5, 0, FireClubTilesetGfx, $25 + macro_8055e 0, $a6, 0, FireClubTilesetGfx, $26 + macro_8055e 5, $9f, 0, FireClubTilesetGfx, $27 + macro_8055e 0, $a0, 0, FireClubTilesetGfx, $28 + macro_8055e 0, $a1, 0, FireClubTilesetGfx, $29 + macro_8055e 0, $a2, 0, FireClubTilesetGfx, $2a + macro_8055e 6, $a3, 0, FireClubTilesetGfx, $2b + macro_8055e 0, $a4, 0, FireClubTilesetGfx, $2c + macro_8055e 0, $a5, 0, FireClubTilesetGfx, $2d + macro_8055e 0, $a6, 0, FireClubTilesetGfx, $2e + db -1 ; end + +Data_80912: ; 80912 (20:4912) + db $3, $83, $83 + + macro_8055e 5, $bb, 0, FireClubTilesetGfx, $3b + macro_8055e 0, $bc, 0, FireClubTilesetGfx, $3c + macro_8055e 0, $bd, 0, FireClubTilesetGfx, $3d + macro_8055e 0, $be, 0, FireClubTilesetGfx, $3e + macro_8055e 6, $bf, 0, FireClubTilesetGfx, $3f + macro_8055e 0, $c0, 0, FireClubTilesetGfx, $40 + macro_8055e 0, $c1, 0, FireClubTilesetGfx, $41 + macro_8055e 0, $c2, 0, FireClubTilesetGfx, $42 + macro_8055e 5, $bb, 0, FireClubTilesetGfx, $43 + macro_8055e 0, $bc, 0, FireClubTilesetGfx, $44 + macro_8055e 0, $bd, 0, FireClubTilesetGfx, $45 + macro_8055e 0, $be, 0, FireClubTilesetGfx, $46 + macro_8055e 6, $bf, 0, FireClubTilesetGfx, $47 + macro_8055e 0, $c0, 0, FireClubTilesetGfx, $48 + macro_8055e 0, $c1, 0, FireClubTilesetGfx, $49 + macro_8055e 0, $c2, 0, FireClubTilesetGfx, $4a + db -1 ; end + +Data_80996: ; 80996 (20:4996) + db $3, $c3, $c3 + + macro_8055e 1, $e2, 0, WaterClubTilesetGfx, $62 + macro_8055e 1, $e3, 0, WaterClubTilesetGfx, $63 + macro_8055e 3, $e4, 0, WaterClubTilesetGfx, $64 + macro_8055e 0, $e5, 0, WaterClubTilesetGfx, $65 + macro_8055e 3, $e6, 0, WaterClubTilesetGfx, $66 + macro_8055e 0, $e7, 0, WaterClubTilesetGfx, $67 + macro_8055e 1, $e2, 0, WaterClubTilesetGfx, $68 + macro_8055e 1, $e3, 0, WaterClubTilesetGfx, $69 + macro_8055e 3, $e4, 0, WaterClubTilesetGfx, $6a + macro_8055e 0, $e5, 0, WaterClubTilesetGfx, $6b + macro_8055e 3, $e6, 0, WaterClubTilesetGfx, $6c + macro_8055e 0, $e7, 0, WaterClubTilesetGfx, $6d + macro_8055e 1, $e2, 0, WaterClubTilesetGfx, $62 + macro_8055e 1, $e3, 0, WaterClubTilesetGfx, $63 + macro_8055e 3, $e4, 0, WaterClubTilesetGfx, $64 + macro_8055e 0, $e5, 0, WaterClubTilesetGfx, $65 + macro_8055e 3, $e6, 0, WaterClubTilesetGfx, $66 + macro_8055e 0, $e7, 0, WaterClubTilesetGfx, $67 + macro_8055e 1, $e2, 0, WaterClubTilesetGfx, $6e + macro_8055e 1, $e3, 0, WaterClubTilesetGfx, $6f + macro_8055e 3, $e4, 0, WaterClubTilesetGfx, $70 + macro_8055e 0, $e5, 0, WaterClubTilesetGfx, $71 + macro_8055e 3, $e6, 0, WaterClubTilesetGfx, $72 + macro_8055e 0, $e7, 0, WaterClubTilesetGfx, $73 + db -1 ; end + +Data_80a5a: ; 80a5a (20:4a5a) + db $3, $c3, $c3 + + macro_8055e 10, $a2, 0, LightningClubTilesetGfx, $22 + macro_8055e 0, $a3, 0, LightningClubTilesetGfx, $23 + macro_8055e 0, $aa, 0, LightningClubTilesetGfx, $2a + macro_8055e 0, $ab, 0, LightningClubTilesetGfx, $2b + macro_8055e 4, $a5, 0, LightningClubTilesetGfx, $25 + macro_8055e 0, $a6, 0, LightningClubTilesetGfx, $26 + macro_8055e 0, $ac, 0, LightningClubTilesetGfx, $2c + macro_8055e 0, $ad, 0, LightningClubTilesetGfx, $2d + macro_8055e 4, $a7, 0, LightningClubTilesetGfx, $27 + macro_8055e 0, $a8, 0, LightningClubTilesetGfx, $28 + macro_8055e 0, $b0, 0, LightningClubTilesetGfx, $30 + macro_8055e 0, $b1, 0, LightningClubTilesetGfx, $31 + macro_8055e 10, $a2, 0, LightningClubTilesetGfx, $2a + macro_8055e 0, $a3, 0, LightningClubTilesetGfx, $2b + macro_8055e 0, $aa, 0, LightningClubTilesetGfx, $22 + macro_8055e 0, $ab, 0, LightningClubTilesetGfx, $23 + macro_8055e 4, $a5, 0, LightningClubTilesetGfx, $2d + macro_8055e 0, $a6, 0, LightningClubTilesetGfx, $2e + macro_8055e 0, $ac, 0, LightningClubTilesetGfx, $24 + macro_8055e 0, $ad, 0, LightningClubTilesetGfx, $25 + macro_8055e 4, $a7, 0, LightningClubTilesetGfx, $2f + macro_8055e 0, $a8, 0, LightningClubTilesetGfx, $30 + macro_8055e 0, $b0, 0, LightningClubTilesetGfx, $28 + macro_8055e 0, $b1, 0, LightningClubTilesetGfx, $29 + db -1 ; end + +Data_80b1e: ; 80b1e (20:4b1e) + db $3, $13, $13 + macro_8055e 11, $c7, 0, ScienceClubTilesetGfx, $47 + macro_8055e 11, $c7, 0, ScienceClubTilesetGfx, $48 + db -1 ; end + +Data_80b32: ; 80b32 (20:4b32) + db $3, $3, $3 + db -1 ; end + +Data_80b36: ; 80b36 (20:4b36) + db $3, $43, $43 + macro_8055e 11, $a4, 0, HallOfHonorTilesetGfx, $28 + macro_8055e 0, $a5, 0, HallOfHonorTilesetGfx, $29 + macro_8055e 0, $a6, 0, HallOfHonorTilesetGfx, $2a + macro_8055e 0, $a7, 0, HallOfHonorTilesetGfx, $2b + macro_8055e 11, $a4, 0, HallOfHonorTilesetGfx, $2c + macro_8055e 0, $a5, 0, HallOfHonorTilesetGfx, $2d + macro_8055e 0, $a6, 0, HallOfHonorTilesetGfx, $2e + macro_8055e 0, $a7, 0, HallOfHonorTilesetGfx, $2f + db -1 ; end + +; clears wd323 Func_80b7a: ; 80b7a (20:4b7a) - INCROM $80b7a, $80b89 + push hl + push bc + ld c, $b + ld hl, wd323 + xor a +.loop + ld [hli], a + dec c + jr nz, .loop + pop bc + pop hl + ret +; 0x80b89 Func_80b89: ; 80b89 (20:4b89) push hl @@ -866,7 +1406,7 @@ Func_80baa: ; 80baa (20:4baa) add a ld c, a ld b, $0 - ld hl, Unknown_80c21 + ld hl, .unknown_80c21 add hl, bc ld a, [hli] ld h, [hl] @@ -884,13 +1424,13 @@ Func_80baa: ; 80baa (20:4baa) ld a, [hl] ld [wCurTilemap], a push bc - farcall Func_80082 + farcall Func_80082 ; unnecessary farcall pop bc srl b ld a, c rrca - and $f - swap a + and $0f + swap a ; * $10 add b ld c, a ld b, $0 @@ -914,8 +1454,43 @@ Func_80baa: ; 80baa (20:4baa) pop hl ret -Unknown_80c21: ; 80c21 (20:4c21) - INCROM $80c21, $80e5a +.unknown_80c21 + dw .data_1 + dw .data_2 + dw .data_3 + dw .data_4 + dw .data_5 + dw .data_6 + dw .data_7 + dw .data_8 + dw .data_9 + dw .data_10 + dw .data_11 + +.data_1 + db $16, $00, TILEMAP_UNUSED_5, TILEMAP_UNUSED_6 +.data_2 + db $0e, $00, TILEMAP_UNUSED_7, TILEMAP_UNUSED_8 +.data_3 + db $06, $02, TILEMAP_UNUSED_3, TILEMAP_UNUSED_4 +.data_4 + db $0a, $02, TILEMAP_UNUSED_3, TILEMAP_UNUSED_4 +.data_5 + db $0e, $02, TILEMAP_UNUSED_3, TILEMAP_UNUSED_4 +.data_6 + db $12, $02, TILEMAP_UNUSED_3, TILEMAP_UNUSED_4 +.data_7 + db $0e, $0a, TILEMAP_UNUSED_3, TILEMAP_UNUSED_4 +.data_8 + db $12, $0a, TILEMAP_UNUSED_3, TILEMAP_UNUSED_4 +.data_9 + db $0e, $12, TILEMAP_UNUSED_3, TILEMAP_UNUSED_4 +.data_10 + db $12, $12, TILEMAP_UNUSED_3, TILEMAP_UNUSED_4 +.data_11 + db $0a, $00, TILEMAP_UNUSED_1, TILEMAP_UNUSED_2 + + INCROM $80c63, $80e5a SpriteNullAnimationPointer: ; 80e5a (20:4e5a) dw SpriteNullAnimationFrame diff --git a/src/sram.asm b/src/sram.asm index 512d96a..fc044c2 100644 --- a/src/sram.asm +++ b/src/sram.asm @@ -9,7 +9,7 @@ s0a004:: ; a004 ds $1 s0a005:: ; a005 ds $1 -s0a006:: ; a006 +sTextSpeed:: ; a006 ds $1 ; store settings for animation enabled/disabled @@ -78,7 +78,108 @@ sb701:: ; b701 sb703:: ; b703 ds $1 - ds $340 + ds $fc + +sb800:: ; b800 + ds $8 + +sb808:: ; b808 + ds $1 + +sb809:: ; b809 + ds $1 + +sPlayTimeCounter:: ; b80a + ds $5 + +sb80f:: ; b80f + ds $1 + +sTempMap:: ; b810 + ds $1 + +sTempPlayerXCoord:: ; b811 + ds $1 + +sTempPlayerYCoord:: ; b812 + ds $1 + +sTempPlayerDirection:: ; b813 + ds $1 + +sb814:: ; b814 + ds $1 + +sDuelResult:: ; b815 + ds $1 + +sb816:: ; b816 + ds $1 + +sb817:: ; b817 + ds $1 + +sb818:: ; b818 + ds $4 + +sb81c:: ; b81c + ds $b + +sb827:: ; b827 + ds $1 + +sb828:: ; b828 + ds $1 + +sb829:: ; b829 + ds $1 + +sb82a:: ; b82a + ds $1 + +sb82b:: ; b82b + ds $1 + +sPCPackSelection:: ; b82c + ds $1 + +sPCPacks:: ; b82d + ds $f + +sb83c:: ; b83c + ds $1 + +sb83d:: ; b83d + ds $1 + +sb83e:: ; b83e + ds $1 + +sb83f:: ; b83f + ds $a + +sb849:: ; b849 + ds $1 + +sMultichoiceTextboxResult_ChooseDeckToDuelAgainst:: ; b84a + ds $1 + +sb84b:: ; b84b + ds $1 + +sb84c:: ; b84c + ds $f + +sb85b:: ; b85b + ds $10 + +sb86b:: ; b86b + ds $10 + +sEventFlags:: ; b87b + ds $40 + + ds $189 sba44:: ; ba44 ds $1 diff --git a/src/wram.asm b/src/wram.asm index 0e10d26..8ce82ae 100644 --- a/src/wram.asm +++ b/src/wram.asm @@ -2178,15 +2178,25 @@ wBGMapCopyMode:: ; d292 wTempBackgroundPalettesCGB:: ; d297 ds 8 palettes - ds $4c + ds $41 -wd323:: ; d323 +wd318:: ; d318 + ds $2 + +wd31a:: ; d31a + ds 3 * $2 + +wd320:: ; d320 ds $1 -wd324:: ; d324 +wd321:: ; d321 ds $1 - ds $9 +wd322:: ; d322 + ds $1 + +wd323:: ; d323 + ds $b wd32e:: ; d32e ds $1 @@ -2328,7 +2338,15 @@ wd3b9:: ; d3b9 wd3bb:: ; d3bb ds $a - ds $b + ds $6 + +wd3cb:: ; d3cb + ds $1 + +wd3cc:: ; d3cc + ds $1 + + ds $3 wd3d0:: ; d3d0 ds $1 @@ -2727,16 +2745,7 @@ wd697:: ; d697 ds $1 wd698:: ; d698 - ds $1 - -wd699:: ; d699 - ds $1 - -wd69a:: ; d69a - ds $1 - -wd69b:: ; d69b - ds $1 + ds $4 ds $6e4 |