diff options
Diffstat (limited to 'main.asm')
-rwxr-xr-x | main.asm | 378 |
1 files changed, 332 insertions, 46 deletions
@@ -4382,10 +4382,10 @@ Func_206d: ; 0x206d Func_208c: ; 0x208c ld a, [hLoadedROMBank] push af - ld a, $2 + ld a, Bank(Func_8ee0) ld [hLoadedROMBank], a ld [$2000], a - call $4ee0 ; todo + call Func_8ee0 jr c, .asm_20a3 pop af ld [hLoadedROMBank], a @@ -10125,8 +10125,8 @@ Func_8049: ; 0x8049 ld hl, PointerTable_8089 xor a call LoadVideoData - ld a, $2 - ld bc, $4094 ; todo + ld a, Bank(Data_8094) + ld bc, Data_8094 ld de, LoadTileLists call Func_10c5 ret @@ -10142,7 +10142,22 @@ Data_808b: ; 0x808b db $FF, $FF ; terminators -INCBIN "baserom.gbc",$8094,$80b5 - $8094 +Data_8094: ; 0x8094 + db $13 + + dbw $06, $98A3 + db $BC, $AF, $B6, $AF, $AD, $BD + + dbw $06, $98AA + db $BD, $AB, $BB, $B1, $AF, $BD + + dbw $04, $98E3 + db $D0, $AD, $B1, $AC + + dbw $03, $9924 + db $AE, $B7, $B1 + + db $00 ; terminator FillBackgroundsVRAM: ; 0x80b5 ld hl, vBGMap0 @@ -10246,19 +10261,39 @@ Func_8104: ; 0x8104 ld a, [hGameBoyColorFlag] and a jr nz, .asm_812e - ld a, $2 - ld bc, $413a ; todo + ld a, Bank(Data_813a) + ld bc, Data_813a ld de, LoadTileLists ; todo call Func_10c5 ret .asm_812e - ld a, $2 - ld bc, $4144 ; todo + ld a, Bank(Data_8144) + ld bc, Data_8144 ld de, LoadTileLists ; todo call Func_10c5 ret -INCBIN "baserom.gbc",$813a,$814e - $813a +Data_813a: ; 0x813a + db $02 + + dbw $01, $98E3 + db $D1 + + dbw $01, $9923 + db $D0 + + db $00 ; terminator + +Data_8144: ; 0x8144 + db $02 + + dbw $01, $98E3 + db $D0 + + dbw $01, $9923 + db $D1 + + db $00 ; terminator Func_814e: ; 0x414e call Func_cb5 @@ -12185,14 +12220,14 @@ Func_8d17: ; 0x8d17 ld c, a sla c rl b - ld hl, $6000 ; todo + ld hl, PokedexCharactersGfx add hl, bc push hl ld a, [$ff90] and $7 ld c, a ld b, $0 - ld hl, $4df9 ; todo + ld hl, Data_8df9 add hl, bc ld a, [hl] ld [$d85e], a @@ -12279,7 +12314,8 @@ Func_8df7: ; 0x8df7 scf ret -INCBIN "baserom.gbc",$8df9,$8e01 - $8df9 +Data_8df9: ; 0x8df9 + db $FF, $7F, $3F, $1F, $0F, $07, $03, $01 Func_8e01: ; 0x8e01 ld a, [$ff90] @@ -12342,14 +12378,14 @@ Func_8e01: ; 0x8e01 ld c, a sla c rl b - ld hl, $6008 ; todo + ld hl, PokedexCharactersGfx + $8 add hl, bc push hl ld a, [$ff90] and $7 ld c, a ld b, $0 - ld hl, $4ed8 ; todo + ld hl, Data_8ed8 add hl, bc ld a, [hl] ld [$d85e], a @@ -12436,7 +12472,38 @@ Func_8ed6: ; 0x8ed6 scf ret -INCBIN "baserom.gbc",$8ed8,$c000 - $8ed8 +Data_8ed8: ; 0x8ed8 + db $FF, $7F, $3F, $1F, $0F, $07, $03, $01 + +Func_8ee0: ; 0x8ee0 + ld a, [$ff8d] + ld [$ff90], a + ld a, [$ff8e] + ld [$ff91], a + ld a, [$ff8d] + ld c, a + ld a, [$ff8e] + ld b, a + ld a, [$ff8c] + ld l, a + ld h, $0 + add hl, bc + ld a, l + ld [$ff8d], a + ld a, h + ld [$ff8e], a + srl h + rr l + srl h + rr l + ld a, [$ff8f] + cp l + ret + +INCBIN "baserom.gbc",$8f06,$a000 - $8f06 + +PokedexCharactersGfx: ; 0xa000 + INCBIN "gfx/pokedex/characters.interleave.2bpp" SECTION "bank3", ROMX, BANK[$3] @@ -12840,7 +12907,7 @@ TitleScreenPokeballCoordOffsets: ; 0xc2d9 db $7F, $15 Func_c2df: ; 0xc2df - ld bc, $4446 + ld bc, $4446 ; pixel offsets, not data ld a, [$d910] cp $6 jr nz, .asm_c2f0 @@ -12852,7 +12919,7 @@ Func_c2df: ; 0xc2df sla a ld e, a ld d, $0 - ld hl, $432b + ld hl, Data_c32b add hl, de ld a, [hl] .asm_c2fd @@ -12864,7 +12931,7 @@ Func_c2df: ; 0xc2df sla a ld c, a ld b, $0 - ld hl, $432d + ld hl, Data_c32b + 2 add hl, bc ld a, [hl] and a @@ -12876,14 +12943,30 @@ Func_c2df: ; 0xc2df sla a ld c, a ld b, $0 - ld hl, $432c + ld hl, Data_c32b + 1 add hl, bc ld a, [hl] .asm_c327 ld [$d911], a ret -INCBIN "baserom.gbc",$c32b,$c34a - $c32b +Data_c32b: ; 0xc32b + db $52, $02 + db $53, $02 + db $54, $02 + db $55, $02 + db $56, $02 + db $57, $02 + db $57, $02 + db $00, $00 + db $57, $02 + db $56, $02 + db $55, $02 + db $54, $02 + db $53, $02 + db $52, $02 + db $52, $02 + db $00 HandleOptionsScreen: ; 0xc34a ld a, [wScreenState] @@ -13193,7 +13276,7 @@ Func_c55a: ; 0xc55a sla a ld c, a ld b, $0 - ld hl, $465f ; todo + ld hl, PointerTable_c65f add hl, bc ld a, [hli] ld h, [hl] @@ -13281,7 +13364,7 @@ Func_c621: ; 0xc621 sla a ld c, a ld b, $0 - ld hl, $466d ; todo + ld hl, OAMPixelOffsetData_c66d add hl, bc ld a, [hli] ld c, a @@ -13315,14 +13398,40 @@ Func_c644: ; 0xc644 push hl ld d, h ld e, l - ld hl, $4689 ; todo - ld a, $3 + ld hl, Data_c689 + ld a, Bank(Data_c689) ld bc, $0008 call LoadVRAMData pop hl ret -INCBIN "baserom.gbc",$c65f,$c691 - $c65f +PointerTable_c65f: ; 0xc65f + dw $9C6D + dw $9CAD + dw $9CED + dw $9D2D + dw $9D6D + dw $9DAD + dw $9DED + +OAMPixelOffsetData_c66d: ; 0xc66d + dw $6018 + dw $6020 + dw $6028 + dw $6030 + dw $6038 + dw $6040 + dw $6048 + dw $6050 + dw $6058 + dw $6060 + dw $6068 + dw $6070 + dw $6078 + dw $6080 + +Data_c689: ; 0xc689 + db $81, $81, $81, $81, $81, $81, $81, $81 Func_c691: ; 0xc91 call Func_c6bf @@ -13515,7 +13624,7 @@ Func_c7ac: ; 0xc7ac .asm_c7cc sla c ld b, $0 - ld hl, $4806 ; todo + ld hl, Data_c806 add hl, bc ld a, [hl] ld bc, $5050 @@ -13527,7 +13636,7 @@ Func_c7ac: ; 0xc7ac sla a ld c, a ld b, $0 - ld hl, $4808 + ld hl, Data_c806 + 2 add hl, bc ld a, [hl] and a @@ -13539,14 +13648,15 @@ Func_c7ac: ; 0xc7ac sla a ld c, a ld b, $0 - ld hl, $4807 ; todo + ld hl, Data_c806 + 1 add hl, bc ld a, [hl] .asm_c802 ld [$d91d], a ret -INCBIN "baserom.gbc",$c806,$c80b - $c806 +Data_c806: ; 0xc806 + db $7B, $02, $7C, $02, $00 Func_c80b: ; 0xc80b ld c, $0 @@ -13564,7 +13674,7 @@ Func_c80b: ; 0xc80b .asm_c824 sla c ld b, $0 - ld hl, $485e ; todo + ld hl, Data_c85e add hl, bc ld bc, $7870 ld a, [hl] @@ -13576,7 +13686,7 @@ Func_c80b: ; 0xc80b sla a ld c, a ld b, $0 - ld hl, $4860 ; todo + ld hl, Data_c85e + 2 add hl, bc ld a, [hl] and a @@ -13588,14 +13698,15 @@ Func_c80b: ; 0xc80b sla a ld c, a ld b, $0 - ld hl, $485f ; todo + ld hl, Data_c85e + 1 add hl, bc ld a, [hl] .asm_c85a ld [$d91f], a ret -INCBIN "baserom.gbc",$c85e,$c869 - $c85e +Data_c85e: ; 0xc85e + db $77, $09, $78, $09, $79, $09, $7A, $0D, $7A, $01, $00 Func_c869: ; 0xc869 ld a, [$d916] @@ -13621,7 +13732,7 @@ Func_c88a: ; 0xc88a sla a ld c, a ld b, $0 - ld hl, $48eb ; todo + ld hl, Data_c8eb add hl, bc ld a, [hli] ld c, a @@ -13636,7 +13747,7 @@ Func_c88a: ; 0xc88a ld e, a .asm_c8a9 ld d, $0 - ld hl, $48de ; todo + ld hl, Data_c8de add hl, de ld a, [hl] call LoadOAMData @@ -13647,7 +13758,7 @@ Func_c88a: ; 0xc88a sla a ld c, a ld b, $0 - ld hl, $48e0 ; todo + ld hl, Data_c8de + 2 add hl, bc ld a, [hl] and a @@ -13659,14 +13770,18 @@ Func_c88a: ; 0xc88a sla a ld c, a ld b, $0 - ld hl, $48df ; todo + ld hl, Data_c8de + 1 add hl, bc ld a, [hl] .asm_c8da ld [$d921], a ret -INCBIN "baserom.gbc",$c8de,$c8f1 - $c8de +Data_c8de: ; 0xc8de + db $7D, $02, $7E, $06, $7F, $02, $80, $04, $81, $06, $7F, $04, $00 + +Data_c8eb: ; 0xc8eb + db $18, $08, $30, $08, $48, $08 Func_c8f1: ; 0xc8f1 ld c, a @@ -13675,7 +13790,7 @@ Func_c8f1: ; 0xc8f1 add hl, bc ld e, [hl] sla c - ld hl, $4910 ; todo + ld hl, PointerTable_c910 add hl, bc ld a, [hli] ld h, [hl] @@ -13691,14 +13806,35 @@ Func_c8f1: ; 0xc8f1 call LoadOAMData ret -INCBIN "baserom.gbc",$c910,$c92e - $c910 +PointerTable_c910: ; 0xc910 + dw OAMPixelOffsetData_c916 + dw OAMPixelOffsetData_c91a + dw OAMPixelOffsetData_c92a + +OAMPixelOffsetData_c916: ; 0xc916 + dw $5018 + dw $7018 + +OAMPixelOffsetData_c91a: ; 0xc91a + dw $0808 + dw $0818 + dw $0828 + dw $0838 + dw $0848 + dw $0858 + dw $0868 + dw $0878 + +OAMPixelOffsetData_c92a: ; 0xc92a + dw $1058 + dw $1068 Func_c92e: ; 0xc92e ld a, [$d917] sla a ld c, a ld b, $0 - ld hl, $4944 ; todo + ld hl, OAMPixelOffsetData_c944 add hl, bc ld a, [hli] ld c, a @@ -13708,7 +13844,9 @@ Func_c92e: ; 0xc92e call LoadOAMData ret -INCBIN "baserom.gbc",$c944,$c948 - $c944 +OAMPixelOffsetData_c944: ; 0xc944 + dw $5018 + dw $7018 Func_c948: ; 0xc948 ld hl, $9c6d @@ -13743,7 +13881,7 @@ Func_c95f: ; 0xc95f ld [hl], a pop af ld hl, $d922 - ld de, $49ae ; todo + ld de, Data_c9ae ld b, $8 .asm_c979 srl a @@ -13785,7 +13923,8 @@ Func_c9aa: ; 0xc9aa ld [hli], a ret -INCBIN "baserom.gbc",$c9ae,$c9be - $c9ae +Data_c9ae: ; 0xc9ae + db $14, $00, $15, $00, $18, $19, $16, $17, $13, $00, $12, $00, $10, $00, $11, $00 Func_c9be: ; 0xc9be push af @@ -14099,7 +14238,154 @@ Func_cb14: ; 0xcb14 inc [hl] ret -INCBIN "baserom.gbc",$cbe3,$ccac - $cbe3 +PointerTable_cbe3: ; 0xcbe3 + dw VideoData_cbe9 + dw VideoData_cc1c + dw VideoData_cc64 + +VideoData_cbe9: ; 0xcbe9 + dw $5a00 + db $2A + dw $8000 + dw $6000 + + dw $6000 + db $30 + dw $9800 + dw $1000 + + dw $5800 + db $30 + dw $9C00 + dw $1000 + + dw $63C0 + db $30 + dw $9800 + dw $0100 + + dw $6280 + db $30 + dw $9A00 + dw $0100 + + dw $5BC0 + db $30 + dw $9C00 + dw $0100 + + dw $5A80 + db $30 + dw $9E00 + dw $0100 + + db $FF, $FF ; terminators + +VideoData_cc1c: ; 0xcc1c + dw $5A00 + db $2A + dw $8000 + dw $6000 + + dw $6000 + db $30 + dw $9800 + dw $1000 + + dw $5800 + db $30 + dw $9C00 + dw $1000 + + dw $6400 + db $30 + dw $9800 + dw $1002 + + dw $5C00 + db $30 + dw $9C00 + dw $1002 + + dw $63C0 + db $30 + dw $9800 + dw $0100 + + dw $6280 + db $30 + dw $9A00 + dw $0100 + + dw $5BC0 + db $30 + dw $9C00 + dw $0100 + + dw $5A80 + db $30 + dw $9E00 + dw $0100 + + dw $4D80 + db $37 + dw $0000 + dw $0101 + + db $FF, $FF + +VideoData_cc64: ; 0xcc64 + dw $5A00 + db $2A + dw $8000 + dw $6000 + + dw $6000 + db $30 + dw $9800 + dw $1000 + + dw $5800 + db $30 + dw $9C00 + dw $1000 + + dw $6400 + db $30 + dw $9800 + dw $1002 + + dw $5C00 + db $30 + dw $9C00 + dw $1002 + + dw $63c0 + db $30 + dw $9800 + dw $0100 + + dw $6280 + db $30 + dw $9A00 + dw $0100 + + dw $5BC0 + db $30 + dw $9C00 + dw $0100 + + dw $5A80 + db $30 + dw $9E00 + dw $0100 + + dw $4D00 + db $37 + dw $0000 + dw $0101 + + db $FF, $FF ; terminators Func_ccac: ; 0xccac call Func_d18b |