From 88f4ca2e14780df42fb703d8c11f5f3940a97a74 Mon Sep 17 00:00:00 2001 From: Hans Bonini Date: Wed, 10 Jul 2024 18:30:32 -0300 Subject: [PATCH] Add palette split and z80 stuff --- Altered Beast.asm | 4367 +++++++----------------- Makefile | 11 +- includes/helpers/load_pcm.asm | 4 +- includes/helpers/write_z80ram_1d03.asm | 6 +- includes/helpers/write_z80ram_1d05.asm | 6 +- includes/helpers/write_z80ram_1d06.asm | 6 +- includes/interrupts.asm | 4 +- includes/interrupts/reset.asm | 18 +- includes/palettes/00008EBE.asm | 2 +- includes/palettes/00008F22.asm | 2 +- includes/palettes/00009D7A.asm | 2 +- includes/palettes/00009F6C.asm | 4 + includes/palettes/00009F94.asm | 4 + includes/palettes/0000AD54.asm | 4 + includes/palettes/0000AD5C.asm | 4 + includes/palettes/0000B7CE.asm | 6 + includes/palettes/0000B7EC.asm | 6 + includes/palettes/0000B80A.asm | 5 + includes/palettes/0000B828.asm | 5 + includes/palettes/0000B846.asm | 5 + includes/palettes/0000B864.asm | 5 + includes/palettes/0000B884.asm | 5 + includes/palettes/0000B8A4.asm | 5 + includes/palettes/0000B8C4.asm | 5 + includes/palettes/0000B8E4.asm | 5 + includes/palettes/0000B904.asm | 5 + includes/palettes/0000B912.asm | 5 + includes/palettes/0000BCB4.asm | 4 + includes/palettes/0000BCC4.asm | 7 + includes/palettes/0000BD06.asm | 4 + includes/palettes/0000BD10.asm | 4 + includes/palettes/0000BD1A.asm | 4 + includes/palettes/0000BD2A.asm | 3 + includes/palettes/0000BD3A.asm | 3 + includes/palettes/0000BD4A.asm | 3 + includes/palettes/0000BD5A.asm | 5 + includes/vdp_setup.asm | 2 +- z80/pcm_driver/pcm_driver1.asm | 383 +++ z80/pcm_driver/pcm_driver1.bin | Bin 0 -> 7232 bytes z80/pcm_driver/pcm_driver1.txt | 386 +++ z80/pcm_driver/pcm_driver2.asm | 383 +++ z80/pcm_driver/pcm_driver2.bin | Bin 0 -> 7816 bytes z80/pcm_driver/pcm_driver2.txt | 385 +++ 43 files changed, 2855 insertions(+), 3227 deletions(-) create mode 100644 includes/palettes/00009F6C.asm create mode 100644 includes/palettes/00009F94.asm create mode 100644 includes/palettes/0000AD54.asm create mode 100644 includes/palettes/0000AD5C.asm create mode 100644 includes/palettes/0000B7CE.asm create mode 100644 includes/palettes/0000B7EC.asm create mode 100644 includes/palettes/0000B80A.asm create mode 100644 includes/palettes/0000B828.asm create mode 100644 includes/palettes/0000B846.asm create mode 100644 includes/palettes/0000B864.asm create mode 100644 includes/palettes/0000B884.asm create mode 100644 includes/palettes/0000B8A4.asm create mode 100644 includes/palettes/0000B8C4.asm create mode 100644 includes/palettes/0000B8E4.asm create mode 100644 includes/palettes/0000B904.asm create mode 100644 includes/palettes/0000B912.asm create mode 100644 includes/palettes/0000BCB4.asm create mode 100644 includes/palettes/0000BCC4.asm create mode 100644 includes/palettes/0000BD06.asm create mode 100644 includes/palettes/0000BD10.asm create mode 100644 includes/palettes/0000BD1A.asm create mode 100644 includes/palettes/0000BD2A.asm create mode 100644 includes/palettes/0000BD3A.asm create mode 100644 includes/palettes/0000BD4A.asm create mode 100644 includes/palettes/0000BD5A.asm create mode 100644 z80/pcm_driver/pcm_driver1.asm create mode 100644 z80/pcm_driver/pcm_driver1.bin create mode 100644 z80/pcm_driver/pcm_driver1.txt create mode 100644 z80/pcm_driver/pcm_driver2.asm create mode 100644 z80/pcm_driver/pcm_driver2.bin create mode 100644 z80/pcm_driver/pcm_driver2.txt diff --git a/Altered Beast.asm b/Altered Beast.asm index f033fe2..a546f2b 100644 --- a/Altered Beast.asm +++ b/Altered Beast.asm @@ -6476,8 +6476,7 @@ init_z80: ; CODE XREF: sub_488E+A p include "includes/helpers/play_sound.asm" ; --------------------------------------------------------------------------- -bgm_list: - dc.b $80 +bgm_list: dc.b $80 dc.b $8A dc.b $8B dc.b $83 @@ -6529,6 +6528,7 @@ sub_4A9A: ; CODE XREF: ROM:loc_9028 p rts ; End of function sub_4A9A + sub_4AA8: ; CODE XREF: ROM:00004EEE p ; DATA XREF: ROM:0000BF26 o move.w #1,(unk_FFFE1E).w @@ -11767,7 +11767,7 @@ loc_8B7A: ; CODE XREF: ROM:00008B4A j ; DO_OPERATION_WITHOUT_DMA lea (gfx_flames).l,a0 bsr.w segard_decomp - lea (stru_58552).l,a6 + lea (pal_58552).l,a6 bsr.w sub_47B6 lea (unk_FFA000).w,a3 lea (unk_59938).l,a0 @@ -11782,14 +11782,14 @@ loc_8B7A: ; CODE XREF: ROM:00008B4A j ; DO_OPERATION_WITHOUT_DMA lea (gfx_trfmtnbg).l,a0 bsr.w segard_decomp - lea (stru_59A64).l,a6 + lea (pal_59A64).l,a6 bsr.w sub_47B6 clr.w (word_FFB080).w move.w #5,d3 lea (unk_FFA000).w,a3 loc_8CA6: ; CODE XREF: ROM:00008CCA j move.w #3,d2 - lea (unk_59E88).l,a1 + lea (word_59E88).l,a1 loc_8CB0: ; CODE XREF: ROM:00008CC6 j move.w #4,d1 loc_8CB4: ; CODE XREF: ROM:00008CC0 j @@ -11831,8 +11831,8 @@ loc_8D1E: ; CODE XREF: sub_8D16+4 j move.b #2,(dword_FFB60A).w addq.b #1,(dword_FFB60A+1).w addq.b #1,(dword_FFB60A+3).w - lea (off_8EA2).l,a1 - move.b byte_8EA0-off_8EA2(a1),d1 + lea (pallist_8EA2).l,a1 + move.b byte_8EA0-pallist_8EA2(a1),d1 cmp.b (dword_FFB60A+1).w,d1 bne.s loc_8D42 move.b #0,(dword_FFB60A+1).w @@ -11843,8 +11843,8 @@ loc_8D42: ; CODE XREF: sub_8D16+24 j adda.l d0,a1 movea.l (a1),a6 bsr.w sub_47B6 - lea (off_8F06).l,a1 - move.b byte_8F04-off_8F06(a1),d1 + lea (pallist_8F06).l,a1 + move.b byte_8F04-pallist_8F06(a1),d1 cmp.b (dword_FFB60A+3).w,d1 bne.s loc_8D68 move.b #0,(dword_FFB60A+3).w @@ -11961,7 +11961,7 @@ loc_8E6A: ; CODE XREF: sub_8DC8+6 j ; --------------------------------------------------------------------------- byte_8EA0: dc.b 7 ; DATA XREF: sub_8D16+1C r dc.b 0 -off_8EA2: dc.l pal_8EBE ; DATA XREF: sub_8D16+16 o +pallist_8EA2: dc.l pal_8EBE ; DATA XREF: sub_8D16+16 o dc.l pal_8ECE dc.l pal_8EDC dc.l pal_8EE8 @@ -11977,7 +11977,7 @@ off_8EA2: dc.l pal_8EBE ; DATA XREF: sub_8D16+16 o include "includes/palettes/00008F00.asm" byte_8F04: dc.b 7 ; DATA XREF: sub_8D16+42 r dc.b 0 -off_8F06: dc.l pal_8F22 ; DATA XREF: sub_8D16+3C o +pallist_8F06: dc.l pal_8F22 ; DATA XREF: sub_8D16+3C o dc.l pal_8F32 dc.l pal_8F42 dc.l pal_8F52 @@ -12208,7 +12208,7 @@ loc_922E: ; CODE XREF: ROM:000091B8 j move.w #$E,d5 lea (unk_FFA000).w,a6 jsr sub_46BA(pc) - lea (unk_9CDC).l,a6 + lea (pal_9CDC).l,a6 bsr.w load_pal cmpi.w #4,(unk_FFFE14).w beq.s loc_92A0 @@ -12239,7 +12239,7 @@ loc_92D6: ; CODE XREF: sub_92B6+6 j ; --------------------------------------------------------------------------- loc_92DE: ; CODE XREF: sub_92B6+24 j move.b #4,(byte_FFB611).w - lea (off_9CE0).l,a1 + lea (pallist_9CE0).l,a1 moveq #0,d0 move.b (byte_FFB610).w,d0 lsl.w #2,d0 @@ -12662,7 +12662,7 @@ loc_9836: ; CODE XREF: ROM:0000975E j bsr.w load_pal lea (pal_9DD6).l,a6 bsr.w load_pal - lea (unk_5FF1C).l,a0 + lea (dword_5FF1C).l,a0 lea (unk_FFA000).w,a3 jsr sub_4B6E(pc) move.l #$45000003,d7 ; DO_WRITE_TO_VRAM_AT_$C500_ADDR @@ -12671,7 +12671,7 @@ loc_9836: ; CODE XREF: ROM:0000975E j move.w #$11,d5 lea (unk_FFA000).w,a6 bsr.w sub_9B4C - lea (unk_60054).l,a0 + lea (dword_60054).l,a0 lea (unk_FFA000).w,a3 jsr sub_4B6E(pc) move.l #$45280003,d7 ; DO_WRITE_TO_VRAM_AT_$C528_ADDR @@ -12680,7 +12680,7 @@ loc_9836: ; CODE XREF: ROM:0000975E j move.w #$11,d5 lea (unk_FFA000).w,a6 bsr.w sub_9B4C - lea (unk_5FDC8).l,a0 + lea (dword_5FDC8).l,a0 lea (unk_FFA000).w,a3 jsr sub_4B6E(pc) move.l #$45500003,d7 ; DO_WRITE_TO_VRAM_AT_$C550_ADDR @@ -12689,7 +12689,7 @@ loc_9836: ; CODE XREF: ROM:0000975E j move.w #$11,d5 lea (unk_FFA000).w,a6 jsr sub_9B4C(pc) - lea (unk_5FE60).l,a0 + lea (dword_5FE60).l,a0 lea (unk_FFA000).w,a3 jsr sub_4B6E(pc) move.l #$45780003,d7 ; DO_WRITE_TO_VRAM_AT_$C578_ADDR @@ -12962,11 +12962,10 @@ byte_9CC0: dc.b $11, $E, $14, $D, 3, $FD, 2, $B, 4, 0, $11, $FD, 1 dc.b $E, $D, $14, $12, $FE, $1D dcb.b 4,$1B dc.b $FD, $F, $13, $12, $FF -unk_9CDC: dc.b 0 ; DATA XREF: ROM:00009288 o +pal_9CDC: dc.b 0 ; DATA XREF: ROM:00009288 o dc.b 0 - dc.b 8 - dc.b $48 ; H -off_9CE0: dc.l pal_9D7A ; DATA XREF: sub_92B6+2E o + dc.w $848 +pallist_9CE0: dc.l pal_9D7A ; DATA XREF: sub_92B6+2E o dc.l pal_9D04 dc.l pal_9D14 dc.l pal_9D22 @@ -13180,14 +13179,8 @@ vdpregs_9F46: dc.w $8004 ; DATA XREF: draw_segalogo+18 o ; MOVE_BY_0_CELLS dc.w $9200 ; MOVE_WINDOW_VERT_LEFT ; MOVE_BY_0_CELLS -pal_9F6C: dc.w $EC0, $EA0, $E80, $E60, $E40, $E20, $E00, $C00, $A00 - ; DATA XREF: draw_segalogo+DC o - dc.w $800, $600, $800, $A00, $C00, $E00, $E20, $E40, $E60 - dc.w $E80, $EA0 -pal_9F94: dc.w 0, $EEE, $EC0, $EA0, $E80, $E60, $E40, $E20, $E00 - ; DATA XREF: draw_segalogo+46 o - dc.w $C00, $A00, $800, $600 - dcb.w 3,0 + include "includes/palettes/00009F6C.asm" + include "includes/palettes/00009F94.asm" gfx_segalogo: incbin "gfx/00009FB4.smd" even @@ -13703,14 +13696,8 @@ loc_AD38: ; CODE XREF: ROM:0000AC44 j move.w #0,$E(a0) jmp (load_animtbl).l ; --------------------------------------------------------------------------- -pal_AD54: dc.b 8 ; index - ; DATA XREF: sub_AB86+40 o - dc.b 2 ; size - dc.w 0, $EE, $E ; colors -pal_AD5C: dc.b $48 ; index - ; DATA XREF: sub_AB86+4A o - dc.b 2 ; size - dc.w 0, $EE, $8E ; colors + include "includes/palettes/0000AD54.asm" + include "includes/palettes/0000AD5C.asm" ; --------------------------------------------------------------------------- loc_AD64: ; CODE XREF: ROM:0000A71A j bset #7,(word_FFB140+1).w @@ -14633,68 +14620,18 @@ assettbl_stage5:dc.l gfx_stage5_elements dc.l word_27726 dc.l off_2743C dc.w $87 -pal_B7CE: dc.b 2 ; index - ; DATA XREF: ROM:0000B5DC o - ; RAM:off_FFB16C o - dc.b $D ; size - dc.w 0, $248, $46A, $68E, $8AE, $AEE, $AAA, 0, $248, $46A; colors - dc.w $68E, $8AE, $AEE, $CCC; colors -pal_B7EC: dc.b 2 ; index - ; DATA XREF: ROM:0000B2BC t - ; ROM:0000B2CA t ... - dc.b $D ; size - dc.w $EEE, $ACC, $688, $466, $EEC, 0, $8C6, $6A4, $482; colors - dc.w $260, $AA, $A68, $806, $EE; colors -pal_B80A: dc.b 2 ; index - ; DATA XREF: ROM:0000B74E o - dc.b $D ; size - dc.w $640, $840, $A60, $C80, $CA0, $EC0, $EE0, 6, 8, $C; colors - dc.w $E, $8E, $AE, $EE ; colors -pal_B828: dc.b 2 ; index - ; DATA XREF: ROM:0000B6CC o - dc.b $D ; size - dc.w $E8E, $CEE, $ACC, $8AA, $688, $466, $244, $AEE, $8CC; colors - dc.w $6AA, $488, $266, $A0A, $C; colors -pal_B846: dc.b 2 ; index - ; DATA XREF: ROM:0000B7C0 o - dc.b $D ; size - dc.w $EEE, $CCC, $AAA, $888, $666, $444, 0, $EE, $CE, $AE; colors - dc.w $6E, $2E, 0, $E ; colors -pal_B864: dc.b 0 ; index - ; DATA XREF: ROM:0000B574 o - dc.b $E ; size - dc.w $E77, $EE, $8C, $48, $A48, $C6A, $E8C, $266, $488; colors - dc.w $8CC, $666, $AAA, $EEE, 0, $BE; colors -pal_B884: dc.b 0 ; index - ; DATA XREF: ROM:0000B5F2 o - dc.b $E ; size - dc.w $22, $EE, $AA, $66, $A48, $C6A, $E8C, $266, $488; colors - dc.w $8CC, $888, $AAA, $EEE, 0, $E; colors -pal_B8A4: dc.b 0 ; index - ; DATA XREF: ROM:0000B664 o - dc.b $E ; size - dc.w 4, $EE, $8C, $48, $A48, $C6A, $E8C, $266, $488, $8CC; colors - dc.w $888, $AAA, $EEE, 0, $E; colors -pal_B8C4: dc.b 0 ; index - ; DATA XREF: ROM:0000B6DE o - dc.b $E ; size - dc.w 0, $EE, $8C, $66, $A48, $C6A, $E8C, $266, $488, $8CC; colors - dc.w $666, $AAA, $EEE, 0, $E; colors -pal_B8E4: dc.b 0 ; index - ; DATA XREF: ROM:0000B760 o - dc.b $E ; size - dc.w $6A6, $EE, $8C, $48, $A48, $C6A, $E8C, $266, $488; colors - dc.w $8CC, $666, $AAA, $EEE, 0, $E; colors -pal_B904: dc.b $34 ; index - ; DATA XREF: ROM:0000B578 o - ; ROM:0000B5F6 o ... - dc.b 5 ; size - dc.w $ECA, $C86, $864, $642, $E, $C00; colors -pal_B912: dc.b $54 ; index - ; DATA XREF: ROM:0000B57C o - ; ROM:0000B5FA o ... - dc.b 4 ; size - dc.w $48C, $26A, $48, $26, $EE; colors + include "includes/palettes/0000B7CE.asm" + include "includes/palettes/0000B7EC.asm" + include "includes/palettes/0000B80A.asm" + include "includes/palettes/0000B828.asm" + include "includes/palettes/0000B846.asm" + include "includes/palettes/0000B864.asm" + include "includes/palettes/0000B884.asm" + include "includes/palettes/0000B8A4.asm" + include "includes/palettes/0000B8C4.asm" + include "includes/palettes/0000B8E4.asm" + include "includes/palettes/0000B904.asm" + include "includes/palettes/0000B912.asm" ; --------------------------------------------------------------------------- screen_titlescreen: ; CODE XREF: ROM:0000A716 j bset #7,(word_FFB140+1).w @@ -14983,43 +14920,15 @@ text_copyright: dc.l $7C380002 ; DATA XREF: ROM:0000BC08 o dc.b '!"#$% 1988' dc.b 0 dc.b 0 -pal_BCB4: dc.b $42 ; index - ; DATA XREF: ROM:0000BC72 o - dc.b 6 ; size - dc.w 0, $EE, $CE, $AE, $8E, $6E, 8; colors -pal_BCC4: dc.b 0 ; index - ; DATA XREF: ROM:0000BC7A o - dc.b $1F ; size - dc.w $686, $686, $686, $686, $686, $686, $686, $686, $686; colors - dc.w $686, $686, $686, $686, $686, $686, $686, 0, $EC0; colors - dc.w $CA0, $C80, $C60, $840, $420, $400, $EC0, $CA0, $C80; colors - dc.w $C60, $840, $420, 0, 0; colors -pal_BD06: dc.b $22 ; index - ; DATA XREF: ROM:0000BAB8 o - dc.b 3 ; size - dc.w $E, $C, $C, $C ; colors -pal_BD10: dc.b $22 ; index - ; DATA XREF: ROM:0000BAC4 o - dc.b 3 ; size - dc.w $EC0, $CA0, $C80, $C60; colors -pal_BD1A: dc.b 2 ; index - ; DATA XREF: sub_BA42+6 o - dc.b 6 ; size - dc.w $888, $686, $686, $686, $686, $686, $686; colors -pal_BD2A: dc.b 2 ; index - dc.b 6 ; size - dc.w $AAA, $8A8, $686, $686, $686, $686, $464; colors -pal_BD3A: dc.b 2 ; index - dc.b 6 ; size - dc.w $CCC, $ACA, $8A8, $686, $686, $464, $242; colors -pal_BD4A: dc.b 2 ; index - dc.b 6 ; size - dc.w $EEE, $CEC, $ACA, $8A8, $464, $242, $20; colors -pal_BD5A: dc.b 2 ; index - ; DATA XREF: ROM:0000BA78 o - dc.b $A ; size - dc.w $EE0, $CE0, $AC0, $8A0, $460, $240, $20, $EA6, $C84; colors - dc.w $A62, $840 ; colors + include "includes/palettes/0000BCB4.asm" + include "includes/palettes/0000BCC4.asm" + include "includes/palettes/0000BD06.asm" + include "includes/palettes/0000BD10.asm" + include "includes/palettes/0000BD1A.asm" + include "includes/palettes/0000BD2A.asm" + include "includes/palettes/0000BD3A.asm" + include "includes/palettes/0000BD4A.asm" + include "includes/palettes/0000BD5A.asm" gfx_copyright: incbin "gfx/0000BD72.smd" even @@ -36550,71 +36459,11 @@ unk_ED80: dc.b 9 dc.b $66 ; f dc.b $B7 dc.b 0 -pcm_1: dc.b $F3,$31,$FF,$1F,$3E, 1,$32,$7F, 1,$21,$80, 1, 1 - ; DATA XREF: ROM:pcm_list o - dc.b $C0,$1A,$3E,$18,$32, $F,$1D,$C3,$68, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0,$ED,$4D, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,$ED,$45 - dc.b $CD,$A6, 0,$C5,$3E,$80, $E,$2B,$CD,$9B, 0,$C1,$3A - dc.b $F,$1D,$C5,$47,$10,$FE,$C1,$F5,$C5,$7E, $E,$2A,$CD - dc.b $9B, 0,$C1,$23, $B,$78,$B1,$28, 3,$F1,$18,$E9,$AF - dc.b $E,$2B,$CD,$9B, 0,$AF,$32,$7F, 1,$C3,$94, 0,$F5 - dc.b $79,$32, 0,$40,$F1, 0,$32, 1,$40,$C9,$E5,$D5,$C5 - dc.b 6, 7,$AF, $E,$28,$CD,$9B, 0,$3C,$10,$FA,$C1,$D1 - dc.b $E1,$C9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0 - incbin "audio/pcm/000138EC.pcm" +pcm_1: + incbin "z80/pcm_driver/pcm_driver1.bin" even -pcm_2: dc.b $F3,$31,$FF,$1F,$3A,$7F, 1,$B7,$CA, 4, 0,$FE, 1 - ; DATA XREF: ROM:pcm_list o - dc.b $CA,$68, 0,$FE, 2,$CA,$76, 0,$FE, 3,$CA,$84, 0 - dc.b $C3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0,$ED,$4D, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,$ED,$45 - dc.b $21,$E0, 1, 1,$78, 5,$3E,$30,$32, $F,$1D,$C3,$92 - dc.b 0,$21,$80, 1, 1,$EB, 9,$3E,$30,$32, $F,$1D,$C3 - dc.b $92, 0,$21,$80, 1, 1, 8,$1D,$3E,$30,$32, $F,$1D - dc.b $C3,$92, 0,$CD,$CF, 0,$C5,$3E,$80, $E,$2B,$CD,$C4 - dc.b 0,$C1,$3A, $F,$1D,$C5,$47,$10,$FE,$C1,$F5,$C5,$7E - dc.b $E,$2A,$CD,$C4, 0,$C1,$23, $B,$78,$B1,$28, 3,$F1 - dc.b $18,$E9,$AF,$32,$7F, 1, $E,$2B,$CD,$C4, 0,$C3, 4 - dc.b 0,$F5,$79,$32, 0,$40,$F1, 0,$32, 1,$40,$C9,$E5 - dc.b $D5,$C5, 6, 7,$AF, $E,$28,$CD,$C4, 0,$3C,$10,$FA - dc.b $C1,$D1,$E1,$C9,$80, 0,$A0, 0,$C0, 0,$FF, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0 - incbin "audio/pcm/0001552C.pcm" +pcm_2: + incbin "z80/pcm_driver/pcm_driver2.bin" even pcm_3: dc.b $F3,$31,$FF,$1F,$3A,$7F, 1,$B7,$CA, 4, 0,$FE, 1 ; DATA XREF: ROM:pcm_list o @@ -37601,6 +37450,7 @@ pcm_5: dc.b $F3, $31, $FF, $1F, $3E, 1, $32, $7F, 1, $21, $80 dc.b $D1, $E1, $C9 dcb.b $C8,0 incbin "audio/pcm/0001EED8.pcm" + even dcb.b $3576,$FF gfx_titlefont: incbin "gfx/00024000.smd" @@ -41525,166 +41375,67 @@ off_3F78A: dc.l unk_3F0D8 ; DATA XREF: ROM:00006EF6 o dc.l unk_3F848 unk_3F79E: dc.b 4 ; DATA XREF: ROM:0003F78E o dc.b 0 - dc.l unk_3F7B0 - dc.l unk_3F7C2 - dc.l unk_3F7D4 - dc.l unk_3F7C2 -unk_3F7B0: dc.b 2 ; DATA XREF: ROM:0003F7A0 o - dc.b $4E ; N - dc.b $4E ; N - dc.b $CD - dc.b $8A - dc.b 2 - dc.b $1E - dc.b $EF - dc.b $E0 - dc.b $8B - dc.b 2 - dc.b $27 ; ' - dc.b $E8 - dc.b $E0 - dc.b $87 - dc.b 2 + dc.l dword_3F7B0 + dc.l dword_3F7C2 + dc.l dword_3F7D4 + dc.l dword_3F7C2 +dword_3F7B0: dc.l $24E4ECD ; DATA XREF: ROM:0003F7A0 o + dc.l $8A021EEF + dc.l $E08B0227 + dc.l $E8E08702 dc.b $33 ; 3 dc.b 0 -unk_3F7C2: dc.b 2 ; DATA XREF: ROM:0003F7A4 o +dword_3F7C2: dc.l $24E4ECD ; DATA XREF: ROM:0003F7A4 o ; ROM:0003F7AC o ... - dc.b $4E ; N - dc.b $4E ; N - dc.b $CD - dc.b $8A - dc.b 2 - dc.b $1E - dc.b $EF - dc.b $E0 - dc.b $8B - dc.b 2 - dc.b $3B ; ; - dc.b $E8 - dc.b $E0 - dc.b $87 - dc.b 2 + dc.l $8A021EEF + dc.l $E08B023B + dc.l $E8E08702 dc.b $47 ; G dc.b 0 -unk_3F7D4: dc.b 2 ; DATA XREF: ROM:0003F7A8 o +dword_3F7D4: dc.l $24E4ECD ; DATA XREF: ROM:0003F7A8 o ; ROM:0003F7F0 o ... - dc.b $4E ; N - dc.b $4E ; N - dc.b $CD - dc.b $8A - dc.b 2 - dc.b $1E - dc.b $EF - dc.b $E0 - dc.b $8B - dc.b 2 - dc.b $4F ; O - dc.b $E8 - dc.b $E0 - dc.b $87 - dc.b 2 + dc.l $8A021EEF + dc.l $E08B024F + dc.l $E8E08702 dc.b $5B ; [ dc.b 0 unk_3F7E6: dc.b 2 ; DATA XREF: ROM:0003F792 o dc.b 0 - dc.l unk_3F7F8 - dc.l unk_3F80A - dc.l unk_3F7D4 - dc.l unk_3F7C2 -unk_3F7F8: dc.b 2 ; DATA XREF: ROM:0003F7E8 o - dc.b $4E ; N - dc.b $4E ; N - dc.b $CD - dc.b $8A - dc.b $A - dc.b $1E - dc.b $F9 - dc.b $E0 - dc.b $87 - dc.b $A - dc.b $33 ; 3 - dc.b $F0 - dc.b $E0 - dc.b $8B - dc.b $A + dc.l dword_3F7F8 + dc.l dword_3F80A + dc.l dword_3F7D4 + dc.l dword_3F7C2 +dword_3F7F8: dc.l $24E4ECD ; DATA XREF: ROM:0003F7E8 o + dc.l $8A0A1EF9 + dc.l $E0870A33 + dc.l $F0E08B0A dc.b $27 ; ' dc.b 0 -unk_3F80A: dc.b 2 ; DATA XREF: ROM:0003F7EC o - dc.b $4E ; N - dc.b $4E ; N - dc.b $CD - dc.b $8A - dc.b $A - dc.b $1E - dc.b $F9 - dc.b $E0 - dc.b $87 - dc.b $A - dc.b $47 ; G - dc.b $F0 - dc.b $E0 - dc.b $8B - dc.b $A - dc.b $3B ; ; - dc.b 0 - dc.b 2 - dc.b $4E ; N - dc.b $4E ; N - dc.b $CD - dc.b $8A - dc.b $A - dc.b $1E - dc.b $F9 - dc.b $E0 - dc.b $87 - dc.b $A - dc.b $5B ; [ - dc.b $F0 - dc.b $E0 - dc.b $8B - dc.b $A - dc.b $4F ; O - dc.b 0 +dword_3F80A: dc.l $24E4ECD ; DATA XREF: ROM:0003F7EC o + dc.l $8A0A1EF9 + dc.l $E0870A47 + dc.l $F0E08B0A + dc.l $3B00024E + dc.l $4ECD8A0A + dc.l $1EF9E087 + dc.l $A5BF0E0 + dc.l $8B0A4F00 unk_3F82E: dc.b 2 ; DATA XREF: ROM:0003F796 o dc.b 0 - dc.l unk_3F838 - dc.l unk_3F840 -unk_3F838: dc.b 0 ; DATA XREF: ROM:0003F830 o - dc.b 0 - dc.b 0 - dc.b $E0 - dc.b $8B - dc.b 2 - dc.b $63 ; c - dc.b $F4 -unk_3F840: dc.b 0 ; DATA XREF: ROM:0003F834 o - dc.b 0 - dc.b 0 - dc.b $E4 - dc.b $8A - dc.b 2 - dc.b $6F ; o - dc.b $F4 + dc.l dword_3F838 + dc.l dword_3F840 +dword_3F838: dc.l $E0 ; DATA XREF: ROM:0003F830 o + dc.l $8B0263F4 +dword_3F840: dc.l $E4 ; DATA XREF: ROM:0003F834 o + dc.l $8A026FF4 unk_3F848: dc.b 2 ; DATA XREF: ROM:0003F79A o dc.b 0 - dc.l unk_3F852 - dc.l unk_3F85A -unk_3F852: dc.b 0 ; DATA XREF: ROM:0003F84A o - dc.b 0 - dc.b 0 - dc.b $E0 - dc.b $8B - dc.b $A - dc.b $63 ; c - dc.b $F4 -unk_3F85A: dc.b 0 ; DATA XREF: ROM:0003F84E o - dc.b 0 - dc.b 0 - dc.b $E4 - dc.b $8A - dc.b $A - dc.b $6F ; o - dc.b $F4 + dc.l dword_3F852 + dc.l dword_3F85A +dword_3F852: dc.l $E0 ; DATA XREF: ROM:0003F84A o + dc.l $8B0A63F4 +dword_3F85A: dc.l $E4 ; DATA XREF: ROM:0003F84E o + dc.l $8A0A6FF4 off_3F862: dc.l unk_3F876 ; DATA XREF: ROM:00007134 o dc.l unk_3F884 dc.l unk_3F8DA @@ -41692,207 +41443,75 @@ off_3F862: dc.l unk_3F876 ; DATA XREF: ROM:00007134 o dc.l unk_3F94C unk_3F876: dc.b 1 ; DATA XREF: ROM:off_3F862 o dc.b 0 - dc.l unk_3F87C -unk_3F87C: dc.b 0 ; DATA XREF: ROM:0003F878 o - dc.b 0 - dc.b 0 - dc.b $F8 - dc.b $85 - dc.b 2 - dc.b $F4 - dc.b $F8 + dc.l dword_3F87C +dword_3F87C: dc.l $F8 ; DATA XREF: ROM:0003F878 o + dc.l $8502F4F8 unk_3F884: dc.b 3 ; DATA XREF: ROM:0003F866 o dc.b 0 - dc.l unk_3F8C2 - dc.l unk_3F8AA - dc.l unk_3F892 -unk_3F892: dc.b 3 ; DATA XREF: ROM:0003F88E o - dc.b $4F ; O - dc.b $4F ; O - dc.b $DC - dc.b $8B - dc.b 2 - dc.b $DC - dc.b $F0 - dc.b $DC - dc.b $8B - dc.b 2 - dc.b $E8 - dc.b 8 - dc.b $E8 - dc.b $8E - dc.b 2 - dc.b $AC - dc.b $E0 - dc.b $F8 - dc.b $8C - dc.b 2 - dc.b $B8 - dc.b 0 - dc.b 0 -unk_3F8AA: dc.b 3 ; DATA XREF: ROM:0003F88A o - dc.b $4F ; O - dc.b $4F ; O - dc.b $DC - dc.b $8B - dc.b 2 - dc.b $DC - dc.b $F0 - dc.b $DC - dc.b $8B - dc.b 2 - dc.b $E8 - dc.b 8 - dc.b $E8 - dc.b $8E - dc.b 2 - dc.b $CC - dc.b $E0 - dc.b $F8 - dc.b $8C - dc.b 2 - dc.b $D8 - dc.b 0 - dc.b 0 -unk_3F8C2: dc.b 3 ; DATA XREF: ROM:0003F886 o - dc.b $4F ; O - dc.b $4F ; O - dc.b $DC - dc.b $8B - dc.b 2 - dc.b $DC - dc.b $F0 - dc.b $DC - dc.b $8B - dc.b 2 - dc.b $E8 - dc.b 8 - dc.b $E8 - dc.b $8E - dc.b 2 - dc.b $BC - dc.b $E0 - dc.b $F8 - dc.b $8C - dc.b 2 - dc.b $C8 - dc.b 0 - dc.b 0 + dc.l dword_3F8C2 + dc.l dword_3F8AA + dc.l dword_3F892 +dword_3F892: dc.l $34F4FDC ; DATA XREF: ROM:0003F88E o + dc.l $8B02DCF0 + dc.l $DC8B02E8 + dc.l $8E88E02 + dc.l $ACE0F88C + dc.l $2B80000 +dword_3F8AA: dc.l $34F4FDC ; DATA XREF: ROM:0003F88A o + dc.l $8B02DCF0 + dc.l $DC8B02E8 + dc.l $8E88E02 + dc.l $CCE0F88C + dc.l $2D80000 +dword_3F8C2: dc.l $34F4FDC ; DATA XREF: ROM:0003F886 o + dc.l $8B02DCF0 + dc.l $DC8B02E8 + dc.l $8E88E02 + dc.l $BCE0F88C + dc.l $2C80000 unk_3F8DA: dc.b 3 ; DATA XREF: ROM:0003F86A o dc.b 0 - dc.l unk_3F918 - dc.l unk_3F900 - dc.l unk_3F8E8 -unk_3F8E8: dc.b 3 ; DATA XREF: ROM:0003F8E4 o - dc.b $4F ; O - dc.b $4F ; O - dc.b $DC - dc.b $8B - dc.b $A - dc.b $DC - dc.b $F8 - dc.b $DC - dc.b $8B - dc.b $A - dc.b $E8 - dc.b $E0 - dc.b $E8 - dc.b $8E - dc.b $A - dc.b $AC - dc.b 0 - dc.b $F8 - dc.b $8C - dc.b $A - dc.b $B8 - dc.b $E0 - dc.b 0 -unk_3F900: dc.b 3 ; DATA XREF: ROM:0003F8E0 o - dc.b $4F ; O - dc.b $4F ; O - dc.b $DC - dc.b $8B - dc.b $A - dc.b $DC - dc.b $F8 - dc.b $DC - dc.b $8B - dc.b $A - dc.b $E8 - dc.b $E0 - dc.b $E8 - dc.b $8E - dc.b $A - dc.b $CC - dc.b 0 - dc.b $F8 - dc.b $8C - dc.b $A - dc.b $D8 - dc.b $E0 - dc.b 0 -unk_3F918: dc.b 3 ; DATA XREF: ROM:0003F8DC o - dc.b $4F ; O - dc.b $4F ; O - dc.b $DC - dc.b $8B - dc.b $A - dc.b $DC - dc.b $F8 - dc.b $DC - dc.b $8B - dc.b $A - dc.b $E8 - dc.b $E0 - dc.b $E8 - dc.b $8E - dc.b $A - dc.b $BC - dc.b 0 - dc.b $F8 - dc.b $8C - dc.b $A - dc.b $C8 - dc.b $E0 - dc.b 0 + dc.l dword_3F918 + dc.l dword_3F900 + dc.l dword_3F8E8 +dword_3F8E8: dc.l $34F4FDC ; DATA XREF: ROM:0003F8E4 o + dc.l $8B0ADCF8 + dc.l $DC8B0AE8 + dc.l $E0E88E0A + dc.l $AC00F88C + dc.l $AB8E000 +dword_3F900: dc.l $34F4FDC ; DATA XREF: ROM:0003F8E0 o + dc.l $8B0ADCF8 + dc.l $DC8B0AE8 + dc.l $E0E88E0A + dc.l $CC00F88C + dc.l $AD8E000 +dword_3F918: dc.l $34F4FDC ; DATA XREF: ROM:0003F8DC o + dc.l $8B0ADCF8 + dc.l $DC8B0AE8 + dc.l $E0E88E0A + dc.l $BC00F88C + dc.l $AC8E000 unk_3F930: dc.b 3 ; DATA XREF: ROM:0003F86E o dc.b 0 - dc.l unk_3F93E - dc.l unk_3F93E - dc.l unk_3F93E -unk_3F93E: dc.b 1 ; DATA XREF: ROM:0003F932 o + dc.l dword_3F93E + dc.l dword_3F93E + dc.l dword_3F93E +dword_3F93E: dc.l $14F4FE0 ; DATA XREF: ROM:0003F932 o ; ROM:0003F936 o ... - dc.b $4F ; O - dc.b $4F ; O - dc.b $E0 - dc.b $8B - dc.b 2 - dc.b $DC - dc.b $F0 - dc.b $E0 - dc.b $8B - dc.b 2 - dc.b $E8 + dc.l $8B02DCF0 + dc.l $E08B02E8 dc.b 8 dc.b 0 unk_3F94C: dc.b 3 ; DATA XREF: ROM:0003F872 o dc.b 0 - dc.l unk_3F95A - dc.l unk_3F95A - dc.l unk_3F95A -unk_3F95A: dc.b 1 ; DATA XREF: ROM:0003F94E o + dc.l dword_3F95A + dc.l dword_3F95A + dc.l dword_3F95A +dword_3F95A: dc.l $14F4FE0 ; DATA XREF: ROM:0003F94E o ; ROM:0003F952 o ... - dc.b $4F ; O - dc.b $4F ; O - dc.b $E0 - dc.b $8B - dc.b $A - dc.b $DC - dc.b $F8 - dc.b $E0 - dc.b $8B - dc.b $A - dc.b $E8 + dc.l $8B0ADCF8 + dc.l $E08B0AE8 dc.b $E0 dc.b 0 off_3F968: dc.l unk_3F0D8 ; DATA XREF: ROM:loc_7A1A o @@ -41904,1048 +41523,526 @@ off_3F968: dc.l unk_3F0D8 ; DATA XREF: ROM:loc_7A1A o dc.l unk_3FABC unk_3F984: dc.b 3 ; DATA XREF: ROM:0003F96C o dc.b 0 - dc.l unk_3F992 - dc.l unk_3F9AA - dc.l unk_3F9C2 -unk_3F992: dc.b 3 ; DATA XREF: ROM:0003F986 o - dc.b $50 ; P - dc.b $50 ; P - dc.b $D6 - dc.b $8A - dc.b 1 - dc.b $4A ; J - dc.b $E8 - dc.b $D6 - dc.b $8A - dc.b 1 - dc.b $53 ; S - dc.b 0 - dc.b $EE - dc.b $8A - dc.b $19 - dc.b $53 ; S - dc.b $E8 - dc.b $EE - dc.b $8A - dc.b $19 - dc.b $4A ; J - dc.b 0 + dc.l dword_3F992 + dc.l dword_3F9AA + dc.l dword_3F9C2 +dword_3F992: dc.l $35050D6 ; DATA XREF: ROM:0003F986 o + dc.l $8A014AE8 + dc.l $D68A0153 + dc.l $EE8A19 + dc.l $53E8EE8A + dc.l $194A0000 +dword_3F9AA: dc.l $35050D6 ; DATA XREF: ROM:0003F98A o + dc.l $8A015CE8 + dc.l $D68A0165 + dc.l $EE8A19 + dc.l $65E8EE8A + dc.l $195C0000 +dword_3F9C2: dc.l $35050D6 ; DATA XREF: ROM:0003F98E o + dc.l $8A016EE8 + dc.l $D68A0177 + dc.l $EE8A19 + dc.l $77E8EE8A + dc.l $196E0000 +unk_3F9DA: dc.b 3 ; DATA XREF: ROM:0003F970 o dc.b 0 -unk_3F9AA: dc.b 3 ; DATA XREF: ROM:0003F98A o - dc.b $50 ; P - dc.b $50 ; P - dc.b $D6 - dc.b $8A - dc.b 1 - dc.b $5C ; \ - dc.b $E8 - dc.b $D6 - dc.b $8A - dc.b 1 - dc.b $65 ; e + dc.l dword_3F9E8 + dc.l dword_3FA00 + dc.l dword_3FA18 +dword_3F9E8: dc.l $35050D6 ; DATA XREF: ROM:0003F9DC o + dc.l $8A0953E8 + dc.l $D68A094A + dc.l $EE8A11 + dc.l $4AE8EE8A + dc.l $11530000 +dword_3FA00: dc.l $35050D6 ; DATA XREF: ROM:0003F9E0 o + dc.l $8A0965E8 + dc.l $D68A095C + dc.l $EE8A11 + dc.l $5CE8EE8A + dc.l $11650000 +dword_3FA18: dc.l $35050D6 ; DATA XREF: ROM:0003F9E4 o + dc.l $8A0977E8 + dc.l $D68A096E + dc.l $EE8A11 + dc.l $6EE8EE8A + dc.l $11770000 +unk_3FA30: dc.b 2 ; DATA XREF: ROM:0003F974 o dc.b 0 - dc.b $EE - dc.b $8A - dc.b $19 - dc.b $65 ; e - dc.b $E8 - dc.b $EE - dc.b $8A - dc.b $19 - dc.b $5C ; \ + dc.l dword_3FA3A + dc.l dword_3FA52 +dword_3FA3A: dc.l $35050D8 ; DATA XREF: ROM:0003FA32 o + dc.l $860180EC + dc.l $D88A0186 + dc.l $FCF08901 + dc.l $8FFCF085 + dc.l $195EC00 +dword_3FA52: dc.l $35050D8 ; DATA XREF: ROM:0003FA36 o + dc.l $860180EC + dc.l $D88A0186 + dc.l $FCF08901 + dc.l $8FFCF085 + dc.l $199EC00 +unk_3FA6A: dc.b 2 ; DATA XREF: ROM:0003F978 o dc.b 0 + dc.l dword_3FA74 + dc.l dword_3FA8C +dword_3FA74: dc.l $35050D8 ; DATA XREF: ROM:0003FA6C o + dc.l $8A0986EC + dc.l $D8860980 + dc.l $4F08909 + dc.l $8FECF085 + dc.l $9950400 +dword_3FA8C: dc.l $35050D8 ; DATA XREF: ROM:0003FA70 o + dc.l $8A0986EC + dc.l $D8860980 + dc.l $4F08909 + dc.l $8FECF085 + dc.l $9990400 +unk_3FAA4: dc.b 1 ; DATA XREF: ROM:0003F97C o dc.b 0 -unk_3F9C2: dc.b 3 ; DATA XREF: ROM:0003F98E o - dc.b $50 ; P - dc.b $50 ; P - dc.b $D6 - dc.b $8A - dc.b 1 - dc.b $6E ; n - dc.b $E8 - dc.b $D6 - dc.b $8A - dc.b 1 - dc.b $77 ; w + dc.l dword_3FAAA +dword_3FAAA: dc.l $25050D8 ; DATA XREF: ROM:0003FAA6 o + dc.l $8A019DE8 + dc.l $D88A01A6 + dc.l $F08D01 + dc.b $AF + dc.b $F0 +unk_3FABC: dc.b 1 ; DATA XREF: ROM:0003F980 o dc.b 0 - dc.b $EE - dc.b $8A - dc.b $19 - dc.b $77 ; w - dc.b $E8 - dc.b $EE - dc.b $8A - dc.b $19 - dc.b $6E ; n + dc.l dword_3FAC2 +dword_3FAC2: dc.l $25050D8 ; DATA XREF: ROM:0003FABE o + dc.l $8A09A6E8 + dc.l $D88A099D + dc.l $F08D09 + dc.b $AF + dc.b $F0 +off_3FAD4: dc.l unk_3F0D8 ; DATA XREF: sub_7CEA o + dc.l unk_3FAF0 + dc.l unk_3FB04 + dc.l unk_3FB18 + dc.l unk_3FB30 + dc.l unk_3FB48 + dc.l unk_3FB5C +unk_3FAF0: dc.b 1 ; DATA XREF: ROM:0003FAD8 o dc.b 0 + dc.l dword_3FAF6 +dword_3FAF6: dc.l $15100C5 ; DATA XREF: ROM:0003FAF2 o + dc.l $8F0228EC + dc.l $E58B0241 + dc.b $F2 dc.b 0 -unk_3F9DA: dc.b 3 ; DATA XREF: ROM:0003F970 o +unk_3FB04: dc.b 1 ; DATA XREF: ROM:0003FADC o dc.b 0 - dc.l unk_3F9E8 - dc.l unk_3FA00 - dc.l unk_3FA18 -unk_3F9E8: dc.b 3 ; DATA XREF: ROM:0003F9DC o - dc.b $50 ; P - dc.b $50 ; P - dc.b $D6 - dc.b $8A - dc.b 9 - dc.b $53 ; S - dc.b $E8 - dc.b $D6 - dc.b $8A - dc.b 9 - dc.b $4A ; J + dc.l dword_3FB0A +dword_3FB0A: dc.l $15100C5 ; DATA XREF: ROM:0003FB06 o + dc.l $8F0A28F4 + dc.l $E58B0A41 + dc.b $F6 dc.b 0 - dc.b $EE - dc.b $8A - dc.b $11 - dc.b $4A ; J - dc.b $E8 - dc.b $EE - dc.b $8A - dc.b $11 - dc.b $53 ; S +unk_3FB18: dc.b 1 ; DATA XREF: ROM:0003FAE0 o dc.b 0 + dc.l dword_3FB1E +dword_3FB1E: dc.l $25152CE ; DATA XREF: ROM:0003FB1A o + dc.l $8F024DEA + dc.l $EE8A0238 + dc.l $F4DB8802 + dc.b $5D ; ] + dc.b $D2 +unk_3FB30: dc.b 1 ; DATA XREF: ROM:0003FAE4 o dc.b 0 -unk_3FA00: dc.b 3 ; DATA XREF: ROM:0003F9E0 o - dc.b $50 ; P - dc.b $50 ; P - dc.b $D6 - dc.b $8A - dc.b 9 - dc.b $65 ; e - dc.b $E8 - dc.b $D6 - dc.b $8A - dc.b 9 - dc.b $5C ; \ + dc.l dword_3FB36 +dword_3FB36: dc.l $25153CE ; DATA XREF: ROM:0003FB32 o + dc.l $8F0A4DF6 + dc.l $EE8A0A38 + dc.l $F4DB880A + dc.b $5D ; ] + dc.b $16 +unk_3FB48: dc.b 1 ; DATA XREF: ROM:0003FAE8 o dc.b 0 + dc.l dword_3FB4E +dword_3FB4E: dc.l $10000D8 ; DATA XREF: ROM:0003FB4A o + dc.l $890260EE + dc.l $E88E0266 dc.b $EE - dc.b $8A - dc.b $11 - dc.b $5C ; \ - dc.b $E8 - dc.b $EE - dc.b $8A - dc.b $11 - dc.b $65 ; e dc.b 0 +unk_3FB5C: dc.b 1 ; DATA XREF: ROM:0003FAEC o dc.b 0 -unk_3FA18: dc.b 3 ; DATA XREF: ROM:0003F9E4 o - dc.b $50 ; P - dc.b $50 ; P - dc.b $D6 - dc.b $8A - dc.b 9 - dc.b $77 ; w - dc.b $E8 - dc.b $D6 - dc.b $8A - dc.b 9 - dc.b $6E ; n + dc.l dword_3FB62 +dword_3FB62: dc.l $10000D8 ; DATA XREF: ROM:0003FB5E o + dc.l $890A60FA + dc.l $E88E0A66 + dc.b $F2 dc.b 0 - dc.b $EE - dc.b $8A - dc.b $11 - dc.b $6E ; n - dc.b $E8 - dc.b $EE - dc.b $8A - dc.b $11 - dc.b $77 ; w +off_3FB70: dc.l unk_3F0D8 ; DATA XREF: ROM:loc_812A o + dc.l unk_3FB94 + dc.l unk_3FBD0 + dc.l unk_3FC0C + dc.l unk_3FC2A + dc.l unk_3FC48 + dc.l unk_3FC5C + dc.l unk_3FC70 + dc.l unk_3FC7E +unk_3FB94: dc.b 4 ; DATA XREF: ROM:0003FB74 o dc.b 0 + dc.l dword_3FBA6 + dc.l dword_3FBB4 + dc.l dword_3FBA6 + dc.l dword_3FBC2 +dword_3FBA6: dc.l $15400C4 ; DATA XREF: ROM:0003FB96 o + ; ROM:0003FB9E o + dc.l $8B00E0F0 + dc.l $E48700EC + dc.b $F7 dc.b 0 -unk_3FA30: dc.b 2 ; DATA XREF: ROM:0003F974 o +dword_3FBB4: dc.l $15400C4 ; DATA XREF: ROM:0003FB9A o + dc.l $8B00E0F0 + dc.l $E48F00F4 + dc.b $EF dc.b 0 - dc.l unk_3FA3A - dc.l unk_3FA52 -unk_3FA3A: dc.b 3 ; DATA XREF: ROM:0003FA32 o - dc.b $50 ; P - dc.b $50 ; P - dc.b $D8 - dc.b $86 - dc.b 1 - dc.b $80 - dc.b $EC - dc.b $D8 - dc.b $8A - dc.b 1 - dc.b $86 - dc.b $FC - dc.b $F0 - dc.b $89 - dc.b 1 - dc.b $8F - dc.b $FC - dc.b $F0 - dc.b $85 - dc.b 1 - dc.b $95 - dc.b $EC +dword_3FBC2: dc.l $15400C4 ; DATA XREF: ROM:0003FBA2 o + dc.l $8B00E0F0 + dc.l $E48B0104 + dc.b $F3 dc.b 0 -unk_3FA52: dc.b 3 ; DATA XREF: ROM:0003FA36 o - dc.b $50 ; P - dc.b $50 ; P - dc.b $D8 - dc.b $86 - dc.b 1 - dc.b $80 - dc.b $EC - dc.b $D8 - dc.b $8A - dc.b 1 - dc.b $86 - dc.b $FC - dc.b $F0 - dc.b $89 - dc.b 1 - dc.b $8F - dc.b $FC - dc.b $F0 - dc.b $85 - dc.b 1 - dc.b $99 - dc.b $EC +unk_3FBD0: dc.b 4 ; DATA XREF: ROM:0003FB78 o dc.b 0 -unk_3FA6A: dc.b 2 ; DATA XREF: ROM:0003F978 o + dc.l dword_3FBE2 + dc.l dword_3FBF0 + dc.l dword_3FBE2 + dc.l dword_3FBFE +dword_3FBE2: dc.l $15400C4 ; DATA XREF: ROM:0003FBD2 o + ; ROM:0003FBDA o + dc.l $8B08E0F8 + dc.l $E48708EC + dc.b $F9 dc.b 0 - dc.l unk_3FA74 - dc.l unk_3FA8C -unk_3FA74: dc.b 3 ; DATA XREF: ROM:0003FA6C o - dc.b $50 ; P - dc.b $50 ; P - dc.b $D8 - dc.b $8A - dc.b 9 - dc.b $86 - dc.b $EC - dc.b $D8 - dc.b $86 - dc.b 9 - dc.b $80 - dc.b 4 - dc.b $F0 - dc.b $89 - dc.b 9 - dc.b $8F - dc.b $EC - dc.b $F0 - dc.b $85 - dc.b 9 - dc.b $95 - dc.b 4 +dword_3FBF0: dc.l $15400C4 ; DATA XREF: ROM:0003FBD6 o + dc.l $8B08E0F8 + dc.l $E48F08F4 + dc.b $F1 dc.b 0 -unk_3FA8C: dc.b 3 ; DATA XREF: ROM:0003FA70 o - dc.b $50 ; P - dc.b $50 ; P - dc.b $D8 - dc.b $8A - dc.b 9 - dc.b $86 - dc.b $EC - dc.b $D8 - dc.b $86 - dc.b 9 - dc.b $80 - dc.b 4 - dc.b $F0 - dc.b $89 - dc.b 9 - dc.b $8F - dc.b $EC - dc.b $F0 - dc.b $85 - dc.b 9 - dc.b $99 - dc.b 4 +dword_3FBFE: dc.l $15400C4 ; DATA XREF: ROM:0003FBDE o + dc.l $8B08E0F8 + dc.l $E48B0904 + dc.b $F5 dc.b 0 -unk_3FAA4: dc.b 1 ; DATA XREF: ROM:0003F97C o +unk_3FC0C: dc.b 1 ; DATA XREF: ROM:0003FB7C o dc.b 0 - dc.l unk_3FAAA -unk_3FAAA: dc.b 2 ; DATA XREF: ROM:0003FAA6 o - dc.b $50 ; P - dc.b $50 ; P - dc.b $D8 - dc.b $8A - dc.b 1 - dc.b $9D - dc.b $E8 - dc.b $D8 - dc.b $8A - dc.b 1 - dc.b $A6 + dc.l dword_3FC12 +dword_3FC12: dc.l $35455D8 ; DATA XREF: ROM:0003FC0E o + dc.l $8D0110E8 + dc.l $F8840118 + dc.l $D8E88A01 + dc.l $1AE8E886 + dc.l $1230000 +unk_3FC2A: dc.b 1 ; DATA XREF: ROM:0003FB80 o dc.b 0 + dc.l dword_3FC30 +dword_3FC30: dc.l $35456D8 ; DATA XREF: ROM:0003FC2C o + dc.l $8D0910F8 + dc.l $F8840918 + dc.l $18E88A09 + dc.l $1A00E886 + dc.l $923F000 +unk_3FC48: dc.b 1 ; DATA XREF: ROM:0003FB84 o + dc.b 0 + dc.l dword_3FC4E +dword_3FC4E: dc.l $10000D8 ; DATA XREF: ROM:0003FC4A o + dc.l $8E0129F0 + dc.l $F08D0135 dc.b $F0 - dc.b $8D - dc.b 1 - dc.b $AF - dc.b $F0 -unk_3FABC: dc.b 1 ; DATA XREF: ROM:0003F980 o dc.b 0 - dc.l unk_3FAC2 -unk_3FAC2: dc.b 2 ; DATA XREF: ROM:0003FABE o - dc.b $50 ; P - dc.b $50 ; P - dc.b $D8 - dc.b $8A - dc.b 9 - dc.b $A6 - dc.b $E8 - dc.b $D8 - dc.b $8A - dc.b 9 - dc.b $9D +unk_3FC5C: dc.b 1 ; DATA XREF: ROM:0003FB88 o dc.b 0 + dc.l dword_3FC62 +dword_3FC62: dc.l $10000D8 ; DATA XREF: ROM:0003FC5E o + dc.l $8E0929F0 + dc.l $F08D0935 dc.b $F0 - dc.b $8D - dc.b 9 - dc.b $AF - dc.b $F0 -off_3FAD4: dc.l unk_3F0D8 ; DATA XREF: sub_7CEA o - dc.l unk_3FAF0 - dc.l unk_3FB04 - dc.l unk_3FB18 - dc.l unk_3FB30 - dc.l unk_3FB48 - dc.l unk_3FB5C -unk_3FAF0: dc.b 1 ; DATA XREF: ROM:0003FAD8 o dc.b 0 - dc.l unk_3FAF6 -unk_3FAF6: dc.b 1 ; DATA XREF: ROM:0003FAF2 o - dc.b $51 ; Q +unk_3FC70: dc.b 1 ; DATA XREF: ROM:0003FB8C o dc.b 0 - dc.b $C5 - dc.b $8F - dc.b 2 - dc.b $28 ; ( - dc.b $EC - dc.b $E5 - dc.b $8B - dc.b 2 - dc.b $41 ; A - dc.b $F2 + dc.l dword_3FC76 +dword_3FC76: dc.l $E0 ; DATA XREF: ROM:0003FC72 o + dc.l $8B013DF4 +unk_3FC7E: dc.b 1 ; DATA XREF: ROM:0003FB90 o dc.b 0 -unk_3FB04: dc.b 1 ; DATA XREF: ROM:0003FADC o + dc.l dword_3FC84 +dword_3FC84: dc.l $E0 ; DATA XREF: ROM:0003FC80 o + dc.l $8B093DF4 +off_3FC8C: dc.l unk_3FCCE ; DATA XREF: ROM:loc_823C o + ; ROM:000083DE o + dc.l unk_3FC94 +unk_3FC94: dc.b 2 ; DATA XREF: ROM:0003FC90 o dc.b 0 - dc.l unk_3FB0A -unk_3FB0A: dc.b 1 ; DATA XREF: ROM:0003FB06 o - dc.b $51 ; Q + dc.l dword_3FC9E + dc.l dword_3FCB6 +dword_3FC9E: dc.l $35700C0 ; DATA XREF: ROM:0003FC96 o + dc.l $8B027AEC + dc.l $C0870286 + dc.l $4E08B02 + dc.l $8EECE087 + dc.l $29A0400 +dword_3FCB6: dc.l $35700C0 ; DATA XREF: ROM:0003FC9A o + dc.l $8B027AEE + dc.l $C0870286 + dc.l $6E08B02 + dc.l $8EEEE087 + dc.l $29A0600 +unk_3FCCE: dc.b 1 ; DATA XREF: ROM:off_3FC8C o dc.b 0 - dc.b $C5 - dc.b $8F - dc.b $A - dc.b $28 ; ( - dc.b $F4 - dc.b $E5 - dc.b $8B - dc.b $A - dc.b $41 ; A - dc.b $F6 + dc.l dword_3FCD4 +dword_3FCD4: dc.l $F4 ; DATA XREF: ROM:0003FCD0 o + dc.l $8602A2F8 +off_3FCDC: dc.l unk_3F0D8 ; DATA XREF: ROM:00008686 o + dc.l unk_3FCF0 + dc.l unk_3FD2C + dc.l unk_3FD68 + dc.l unk_3FD9E +unk_3FCF0: dc.b 4 ; DATA XREF: ROM:0003FCE0 o dc.b 0 -unk_3FB18: dc.b 1 ; DATA XREF: ROM:0003FAE0 o + dc.l dword_3FD02 + dc.l dword_3FD10 + dc.l dword_3FD1E + dc.l dword_3FD10 +dword_3FD02: dc.l $15800E0 ; DATA XREF: ROM:0003FCF2 o + dc.l $8F030CE0 + dc.l $E08F031C dc.b 0 - dc.l unk_3FB1E -unk_3FB1E: dc.b 2 ; DATA XREF: ROM:0003FB1A o - dc.b $51 ; Q - dc.b $52 ; R - dc.b $CE - dc.b $8F - dc.b 2 - dc.b $4D ; M - dc.b $EA - dc.b $EE - dc.b $8A - dc.b 2 - dc.b $38 ; 8 - dc.b $F4 - dc.b $DB - dc.b $88 - dc.b 2 - dc.b $5D ; ] - dc.b $D2 -unk_3FB30: dc.b 1 ; DATA XREF: ROM:0003FAE4 o dc.b 0 - dc.l unk_3FB36 -unk_3FB36: dc.b 2 ; DATA XREF: ROM:0003FB32 o - dc.b $51 ; Q - dc.b $53 ; S - dc.b $CE - dc.b $8F - dc.b $A - dc.b $4D ; M - dc.b $F6 - dc.b $EE - dc.b $8A - dc.b $A - dc.b $38 ; 8 - dc.b $F4 - dc.b $DB - dc.b $88 - dc.b $A - dc.b $5D ; ] - dc.b $16 -unk_3FB48: dc.b 1 ; DATA XREF: ROM:0003FAE8 o +dword_3FD10: dc.l $15800E0 ; DATA XREF: ROM:0003FCF6 o + ; ROM:0003FCFE o ... + dc.l $8F032CE0 + dc.l $E08F033C dc.b 0 - dc.l unk_3FB4E -unk_3FB4E: dc.b 1 ; DATA XREF: ROM:0003FB4A o dc.b 0 +dword_3FD1E: dc.l $15800E0 ; DATA XREF: ROM:0003FCFA o + dc.l $8F034CE0 + dc.l $E08F035C dc.b 0 - dc.b $D8 - dc.b $89 - dc.b 2 - dc.b $60 ; ` - dc.b $EE - dc.b $E8 - dc.b $8E - dc.b 2 - dc.b $66 ; f - dc.b $EE dc.b 0 -unk_3FB5C: dc.b 1 ; DATA XREF: ROM:0003FAEC o +unk_3FD2C: dc.b 4 ; DATA XREF: ROM:0003FCE4 o dc.b 0 - dc.l unk_3FB62 -unk_3FB62: dc.b 1 ; DATA XREF: ROM:0003FB5E o + dc.l dword_3FD3E + dc.l dword_3FD4C + dc.l dword_3FD5A + dc.l dword_3FD4C +dword_3FD3E: dc.l $15800E0 ; DATA XREF: ROM:0003FD2E o + dc.l $8F0B1CE0 + dc.l $E08F0B0C dc.b 0 dc.b 0 - dc.b $D8 - dc.b $89 - dc.b $A - dc.b $60 ; ` - dc.b $FA - dc.b $E8 - dc.b $8E - dc.b $A - dc.b $66 ; f - dc.b $F2 +dword_3FD4C: dc.l $15800E0 ; DATA XREF: ROM:0003FD32 o + ; ROM:0003FD3A o ... + dc.l $8F0B3CE0 + dc.l $E08F0B2C dc.b 0 -off_3FB70: dc.l unk_3F0D8 ; DATA XREF: ROM:loc_812A o - dc.l unk_3FB94 - dc.l unk_3FBD0 - dc.l unk_3FC0C - dc.l unk_3FC2A - dc.l unk_3FC48 - dc.l unk_3FC5C - dc.l unk_3FC70 - dc.l unk_3FC7E -unk_3FB94: dc.b 4 ; DATA XREF: ROM:0003FB74 o dc.b 0 - dc.l unk_3FBA6 - dc.l unk_3FBB4 - dc.l unk_3FBA6 - dc.l unk_3FBC2 -unk_3FBA6: dc.b 1 ; DATA XREF: ROM:0003FB96 o - ; ROM:0003FB9E o - dc.b $54 ; T +dword_3FD5A: dc.l $15800E0 ; DATA XREF: ROM:0003FD36 o + dc.l $8F0B5CE0 + dc.l $E08F0B4C dc.b 0 - dc.b $C4 - dc.b $8B dc.b 0 - dc.b $E0 - dc.b $F0 - dc.b $E4 - dc.b $87 +unk_3FD68: dc.b 5 ; DATA XREF: ROM:0003FCE8 o dc.b 0 - dc.b $EC - dc.b $F7 + dc.l dword_3FD10 + dc.l dword_3FD7E + dc.l dword_3FD8C + dc.l dword_3FD8C + dc.l dword_3FD8C +dword_3FD7E: dc.l $15800E0 ; DATA XREF: ROM:0003FD6E o + dc.l $8B036CE8 + dc.l $E08B0378 dc.b 0 -unk_3FBB4: dc.b 1 ; DATA XREF: ROM:0003FB9A o - dc.b $54 ; T dc.b 0 - dc.b $C4 - dc.b $8B +dword_3FD8C: dc.l $25859E0 ; DATA XREF: ROM:0003FD72 o + ; ROM:0003FD76 o ... + dc.l $8B038408 + dc.l $E08F0390 + dc.l $E8F88C03 + dc.b $A0 + dc.b $C8 +unk_3FD9E: dc.b 5 ; DATA XREF: ROM:0003FCEC o dc.b 0 - dc.b $E0 - dc.b $F0 - dc.b $E4 - dc.b $8F + dc.l dword_3FD4C + dc.l dword_3FDB4 + dc.l dword_3FDC2 + dc.l dword_3FDC2 + dc.l dword_3FDC2 +dword_3FDB4: dc.l $15800E0 ; DATA XREF: ROM:0003FDA4 o + dc.l $8B0B78E8 + dc.l $E08B0B6C dc.b 0 - dc.b $F4 - dc.b $EF dc.b 0 -unk_3FBC2: dc.b 1 ; DATA XREF: ROM:0003FBA2 o - dc.b $54 ; T +dword_3FDC2: dc.l $2585AE0 ; DATA XREF: ROM:0003FDA8 o + ; ROM:0003FDAC o ... + dc.l $8B0B84E0 + dc.l $E08F0B90 + dc.l $F8F88C0B + dc.b $A0 + dc.b $18 +off_3FDD4: dc.l unk_3F0D8 ; DATA XREF: ROM:0000751C o + dc.l unk_3FE00 + dc.l unk_3FF2E + dc.l unk_3FE54 + dc.l unk_3FF82 + dc.l unk_3FEB2 + dc.l unk_3FFE0 + dc.l unk_3FF10 + dc.l unk_4003E + dc.l unk_3FEEE + dc.l unk_4001C +unk_3FE00: dc.b 4 ; DATA XREF: ROM:0003FDD8 o dc.b 0 - dc.b $C4 - dc.b $8B + dc.l unk_3FE12 + dc.l unk_3FE2A + dc.l unk_3FE3C + dc.l unk_3FE2A +unk_3FE12: dc.b 3 ; DATA XREF: ROM:0003FE02 o + ; ROM:0003FE5A o ... + dc.b $5B ; [ dc.b 0 - dc.b $E0 - dc.b $F0 - dc.b $E4 + dc.b $B8 dc.b $8B dc.b 1 - dc.b 4 - dc.b $F3 - dc.b 0 -unk_3FBD0: dc.b 4 ; DATA XREF: ROM:0003FB78 o - dc.b 0 - dc.l unk_3FBE2 - dc.l unk_3FBF0 - dc.l unk_3FBE2 - dc.l unk_3FBFE -unk_3FBE2: dc.b 1 ; DATA XREF: ROM:0003FBD2 o - ; ROM:0003FBDA o - dc.b $54 ; T - dc.b 0 - dc.b $C4 - dc.b $8B - dc.b 8 - dc.b $E0 - dc.b $F8 - dc.b $E4 - dc.b $87 - dc.b 8 - dc.b $EC - dc.b $F9 - dc.b 0 -unk_3FBF0: dc.b 1 ; DATA XREF: ROM:0003FBD6 o - dc.b $54 ; T + dc.b $18 + dc.b $F4 + dc.b $D8 + dc.b $8A dc.b 0 - dc.b $C4 - dc.b $8B - dc.b 8 dc.b $E0 - dc.b $F8 - dc.b $E4 - dc.b $8F - dc.b 8 dc.b $F4 - dc.b $F1 + dc.b $F0 + dc.b $89 dc.b 0 -unk_3FBFE: dc.b 1 ; DATA XREF: ROM:0003FBDE o - dc.b $54 ; T + dc.b $E9 + dc.b $EC + dc.b $F0 + dc.b $85 dc.b 0 - dc.b $C4 - dc.b $8B - dc.b 8 - dc.b $E0 - dc.b $F8 - dc.b $E4 - dc.b $8B - dc.b 9 + dc.b $EF dc.b 4 - dc.b $F5 dc.b 0 -unk_3FC0C: dc.b 1 ; DATA XREF: ROM:0003FB7C o +unk_3FE2A: dc.b 2 ; DATA XREF: ROM:0003FE06 o + ; ROM:0003FE0E o + dc.b $5B ; [ dc.b 0 - dc.l unk_3FC12 -unk_3FC12: dc.b 3 ; DATA XREF: ROM:0003FC0E o - dc.b $54 ; T - dc.b $55 ; U - dc.b $D8 - dc.b $8D - dc.b 1 - dc.b $10 - dc.b $E8 - dc.b $F8 - dc.b $84 + dc.b $B8 + dc.b $8B dc.b 1 dc.b $18 + dc.b $F4 dc.b $D8 - dc.b $E8 - dc.b $8A - dc.b 1 - dc.b $1A - dc.b $E8 - dc.b $E8 - dc.b $86 - dc.b 1 - dc.b $23 ; # - dc.b 0 - dc.b 0 -unk_3FC2A: dc.b 1 ; DATA XREF: ROM:0003FB80 o - dc.b 0 - dc.l unk_3FC30 -unk_3FC30: dc.b 3 ; DATA XREF: ROM:0003FC2C o - dc.b $54 ; T - dc.b $56 ; V - dc.b $D8 - dc.b $8D - dc.b 9 - dc.b $10 - dc.b $F8 - dc.b $F8 - dc.b $84 - dc.b 9 - dc.b $18 - dc.b $18 - dc.b $E8 dc.b $8A - dc.b 9 - dc.b $1A dc.b 0 - dc.b $E8 - dc.b $86 - dc.b 9 - dc.b $23 ; # + dc.b $F3 + dc.b $F5 dc.b $F0 + dc.b $89 dc.b 0 -unk_3FC48: dc.b 1 ; DATA XREF: ROM:0003FB84 o - dc.b 0 - dc.l unk_3FC4E -unk_3FC4E: dc.b 1 ; DATA XREF: ROM:0003FC4A o - dc.b 0 + dc.b $FC + dc.b $F5 +unk_3FE3C: dc.b 3 ; DATA XREF: ROM:0003FE0A o + dc.b $5B ; [ dc.b 0 + dc.b $B8 + dc.b $8B + dc.b 1 + dc.b $18 + dc.b $F4 dc.b $D8 dc.b $8E dc.b 1 - dc.b $29 ; ) - dc.b $F0 + dc.b 2 + dc.b $ED dc.b $F0 - dc.b $8D + dc.b $89 dc.b 1 - dc.b $35 ; 5 + dc.b $E + dc.b $ED dc.b $F0 + dc.b $85 + dc.b 1 + dc.b $14 + dc.b 5 dc.b 0 -unk_3FC5C: dc.b 1 ; DATA XREF: ROM:0003FB88 o - dc.b 0 - dc.l unk_3FC62 -unk_3FC62: dc.b 1 ; DATA XREF: ROM:0003FC5E o - dc.b 0 +unk_3FE54: dc.b 6 ; DATA XREF: ROM:0003FDE0 o dc.b 0 - dc.b $D8 + dc.l unk_3FE6E + dc.l unk_3FE12 + dc.l unk_3FE90 + dc.l unk_3FE12 + dc.l unk_3FE6E + dc.l unk_3FE6E +unk_3FE6E: dc.b 5 ; DATA XREF: ROM:0003FE56 o + ; ROM:0003FE66 o ... + dc.b $5B ; [ + dc.b $5C ; \ + dc.b $B8 + dc.b $8C + dc.b 1 + dc.b $24 ; $ + dc.b $E9 + dc.b $C0 dc.b $8E - dc.b 9 - dc.b $29 ; ) - dc.b $F0 - dc.b $F0 - dc.b $8D - dc.b 9 - dc.b $35 ; 5 + dc.b 1 + dc.b $28 ; ( + dc.b $F1 + dc.b $C0 + dc.b $8C + dc.b 1 + dc.b $34 ; 4 + dc.b $D1 + dc.b $D8 + dc.b $8A + dc.b 0 + dc.b $E0 + dc.b $F4 dc.b $F0 + dc.b $89 dc.b 0 -unk_3FC70: dc.b 1 ; DATA XREF: ROM:0003FB8C o + dc.b $E9 + dc.b $EC + dc.b $F0 + dc.b $85 dc.b 0 - dc.l unk_3FC76 -unk_3FC76: dc.b 0 ; DATA XREF: ROM:0003FC72 o + dc.b $EF + dc.b 4 dc.b 0 +unk_3FE90: dc.b 5 ; DATA XREF: ROM:0003FE5E o + dc.b $5B ; [ + dc.b $5C ; \ + dc.b $C0 + dc.b $88 + dc.b 1 + dc.b $38 ; 8 + dc.b $D2 + dc.b $B8 + dc.b $8F + dc.b 1 + dc.b $3B ; ; + dc.b $EA + dc.b $C0 + dc.b $81 + dc.b 1 + dc.b $4B ; K + dc.b $A + dc.b $D8 + dc.b $8A dc.b 0 dc.b $E0 - dc.b $8B - dc.b 1 - dc.b $3D ; = dc.b $F4 -unk_3FC7E: dc.b 1 ; DATA XREF: ROM:0003FB90 o + dc.b $F0 + dc.b $89 dc.b 0 - dc.l unk_3FC84 -unk_3FC84: dc.b 0 ; DATA XREF: ROM:0003FC80 o + dc.b $E9 + dc.b $EC + dc.b $F0 + dc.b $85 dc.b 0 - dc.b 0 - dc.b $E0 - dc.b $8B - dc.b 9 - dc.b $3D ; = - dc.b $F4 -off_3FC8C: dc.l unk_3FCCE ; DATA XREF: ROM:loc_823C o - ; ROM:000083DE o - dc.l unk_3FC94 -unk_3FC94: dc.b 2 ; DATA XREF: ROM:0003FC90 o - dc.b 0 - dc.l unk_3FC9E - dc.l unk_3FCB6 -unk_3FC9E: dc.b 3 ; DATA XREF: ROM:0003FC96 o - dc.b $57 ; W - dc.b 0 - dc.b $C0 - dc.b $8B - dc.b 2 - dc.b $7A ; z - dc.b $EC - dc.b $C0 - dc.b $87 - dc.b 2 - dc.b $86 - dc.b 4 - dc.b $E0 - dc.b $8B - dc.b 2 - dc.b $8E - dc.b $EC - dc.b $E0 - dc.b $87 - dc.b 2 - dc.b $9A - dc.b 4 - dc.b 0 -unk_3FCB6: dc.b 3 ; DATA XREF: ROM:0003FC9A o - dc.b $57 ; W - dc.b 0 - dc.b $C0 - dc.b $8B - dc.b 2 - dc.b $7A ; z - dc.b $EE - dc.b $C0 - dc.b $87 - dc.b 2 - dc.b $86 - dc.b 6 - dc.b $E0 - dc.b $8B - dc.b 2 - dc.b $8E - dc.b $EE - dc.b $E0 - dc.b $87 - dc.b 2 - dc.b $9A - dc.b 6 - dc.b 0 -unk_3FCCE: dc.b 1 ; DATA XREF: ROM:off_3FC8C o - dc.b 0 - dc.l unk_3FCD4 -unk_3FCD4: dc.b 0 ; DATA XREF: ROM:0003FCD0 o - dc.b 0 - dc.b 0 - dc.b $F4 - dc.b $86 - dc.b 2 - dc.b $A2 - dc.b $F8 -off_3FCDC: dc.l unk_3F0D8 ; DATA XREF: ROM:00008686 o - dc.l unk_3FCF0 - dc.l unk_3FD2C - dc.l unk_3FD68 - dc.l unk_3FD9E -unk_3FCF0: dc.b 4 ; DATA XREF: ROM:0003FCE0 o - dc.b 0 - dc.l unk_3FD02 - dc.l unk_3FD10 - dc.l unk_3FD1E - dc.l unk_3FD10 -unk_3FD02: dc.b 1 ; DATA XREF: ROM:0003FCF2 o - dc.b $58 ; X - dc.b 0 - dc.b $E0 - dc.b $8F - dc.b 3 - dc.b $C - dc.b $E0 - dc.b $E0 - dc.b $8F - dc.b 3 - dc.b $1C - dc.b 0 - dc.b 0 -unk_3FD10: dc.b 1 ; DATA XREF: ROM:0003FCF6 o - ; ROM:0003FCFE o ... - dc.b $58 ; X - dc.b 0 - dc.b $E0 - dc.b $8F - dc.b 3 - dc.b $2C ; , - dc.b $E0 - dc.b $E0 - dc.b $8F - dc.b 3 - dc.b $3C ; < - dc.b 0 - dc.b 0 -unk_3FD1E: dc.b 1 ; DATA XREF: ROM:0003FCFA o - dc.b $58 ; X - dc.b 0 - dc.b $E0 - dc.b $8F - dc.b 3 - dc.b $4C ; L - dc.b $E0 - dc.b $E0 - dc.b $8F - dc.b 3 - dc.b $5C ; \ - dc.b 0 - dc.b 0 -unk_3FD2C: dc.b 4 ; DATA XREF: ROM:0003FCE4 o - dc.b 0 - dc.l unk_3FD3E - dc.l unk_3FD4C - dc.l unk_3FD5A - dc.l unk_3FD4C -unk_3FD3E: dc.b 1 ; DATA XREF: ROM:0003FD2E o - dc.b $58 ; X - dc.b 0 - dc.b $E0 - dc.b $8F - dc.b $B - dc.b $1C - dc.b $E0 - dc.b $E0 - dc.b $8F - dc.b $B - dc.b $C - dc.b 0 - dc.b 0 -unk_3FD4C: dc.b 1 ; DATA XREF: ROM:0003FD32 o - ; ROM:0003FD3A o ... - dc.b $58 ; X - dc.b 0 - dc.b $E0 - dc.b $8F - dc.b $B - dc.b $3C ; < - dc.b $E0 - dc.b $E0 - dc.b $8F - dc.b $B - dc.b $2C ; , - dc.b 0 - dc.b 0 -unk_3FD5A: dc.b 1 ; DATA XREF: ROM:0003FD36 o - dc.b $58 ; X - dc.b 0 - dc.b $E0 - dc.b $8F - dc.b $B - dc.b $5C ; \ - dc.b $E0 - dc.b $E0 - dc.b $8F - dc.b $B - dc.b $4C ; L - dc.b 0 - dc.b 0 -unk_3FD68: dc.b 5 ; DATA XREF: ROM:0003FCE8 o - dc.b 0 - dc.l unk_3FD10 - dc.l unk_3FD7E - dc.l unk_3FD8C - dc.l unk_3FD8C - dc.l unk_3FD8C -unk_3FD7E: dc.b 1 ; DATA XREF: ROM:0003FD6E o - dc.b $58 ; X - dc.b 0 - dc.b $E0 - dc.b $8B - dc.b 3 - dc.b $6C ; l - dc.b $E8 - dc.b $E0 - dc.b $8B - dc.b 3 - dc.b $78 ; x - dc.b 0 - dc.b 0 -unk_3FD8C: dc.b 2 ; DATA XREF: ROM:0003FD72 o - ; ROM:0003FD76 o ... - dc.b $58 ; X - dc.b $59 ; Y - dc.b $E0 - dc.b $8B - dc.b 3 - dc.b $84 - dc.b 8 - dc.b $E0 - dc.b $8F - dc.b 3 - dc.b $90 - dc.b $E8 - dc.b $F8 - dc.b $8C - dc.b 3 - dc.b $A0 - dc.b $C8 -unk_3FD9E: dc.b 5 ; DATA XREF: ROM:0003FCEC o - dc.b 0 - dc.l unk_3FD4C - dc.l unk_3FDB4 - dc.l unk_3FDC2 - dc.l unk_3FDC2 - dc.l unk_3FDC2 -unk_3FDB4: dc.b 1 ; DATA XREF: ROM:0003FDA4 o - dc.b $58 ; X - dc.b 0 - dc.b $E0 - dc.b $8B - dc.b $B - dc.b $78 ; x - dc.b $E8 - dc.b $E0 - dc.b $8B - dc.b $B - dc.b $6C ; l - dc.b 0 - dc.b 0 -unk_3FDC2: dc.b 2 ; DATA XREF: ROM:0003FDA8 o - ; ROM:0003FDAC o ... - dc.b $58 ; X - dc.b $5A ; Z - dc.b $E0 - dc.b $8B - dc.b $B - dc.b $84 - dc.b $E0 - dc.b $E0 - dc.b $8F - dc.b $B - dc.b $90 - dc.b $F8 - dc.b $F8 - dc.b $8C - dc.b $B - dc.b $A0 - dc.b $18 -off_3FDD4: dc.l unk_3F0D8 ; DATA XREF: ROM:0000751C o - dc.l unk_3FE00 - dc.l unk_3FF2E - dc.l unk_3FE54 - dc.l unk_3FF82 - dc.l unk_3FEB2 - dc.l unk_3FFE0 - dc.l unk_3FF10 - dc.l unk_4003E - dc.l unk_3FEEE - dc.l unk_4001C -unk_3FE00: dc.b 4 ; DATA XREF: ROM:0003FDD8 o - dc.b 0 - dc.l unk_3FE12 - dc.l unk_3FE2A - dc.l unk_3FE3C - dc.l unk_3FE2A -unk_3FE12: dc.b 3 ; DATA XREF: ROM:0003FE02 o - ; ROM:0003FE5A o ... - dc.b $5B ; [ - dc.b 0 - dc.b $B8 - dc.b $8B - dc.b 1 - dc.b $18 - dc.b $F4 - dc.b $D8 - dc.b $8A - dc.b 0 - dc.b $E0 - dc.b $F4 - dc.b $F0 - dc.b $89 - dc.b 0 - dc.b $E9 - dc.b $EC - dc.b $F0 - dc.b $85 - dc.b 0 - dc.b $EF - dc.b 4 - dc.b 0 -unk_3FE2A: dc.b 2 ; DATA XREF: ROM:0003FE06 o - ; ROM:0003FE0E o - dc.b $5B ; [ - dc.b 0 - dc.b $B8 - dc.b $8B - dc.b 1 - dc.b $18 - dc.b $F4 - dc.b $D8 - dc.b $8A - dc.b 0 - dc.b $F3 - dc.b $F5 - dc.b $F0 - dc.b $89 - dc.b 0 - dc.b $FC - dc.b $F5 -unk_3FE3C: dc.b 3 ; DATA XREF: ROM:0003FE0A o - dc.b $5B ; [ - dc.b 0 - dc.b $B8 - dc.b $8B - dc.b 1 - dc.b $18 - dc.b $F4 - dc.b $D8 - dc.b $8E - dc.b 1 - dc.b 2 - dc.b $ED - dc.b $F0 - dc.b $89 - dc.b 1 - dc.b $E - dc.b $ED - dc.b $F0 - dc.b $85 - dc.b 1 - dc.b $14 - dc.b 5 - dc.b 0 -unk_3FE54: dc.b 6 ; DATA XREF: ROM:0003FDE0 o - dc.b 0 - dc.l unk_3FE6E - dc.l unk_3FE12 - dc.l unk_3FE90 - dc.l unk_3FE12 - dc.l unk_3FE6E - dc.l unk_3FE6E -unk_3FE6E: dc.b 5 ; DATA XREF: ROM:0003FE56 o - ; ROM:0003FE66 o ... - dc.b $5B ; [ - dc.b $5C ; \ - dc.b $B8 - dc.b $8C - dc.b 1 - dc.b $24 ; $ - dc.b $E9 - dc.b $C0 - dc.b $8E - dc.b 1 - dc.b $28 ; ( - dc.b $F1 - dc.b $C0 - dc.b $8C - dc.b 1 - dc.b $34 ; 4 - dc.b $D1 - dc.b $D8 - dc.b $8A - dc.b 0 - dc.b $E0 - dc.b $F4 - dc.b $F0 - dc.b $89 - dc.b 0 - dc.b $E9 - dc.b $EC - dc.b $F0 - dc.b $85 - dc.b 0 - dc.b $EF - dc.b 4 - dc.b 0 -unk_3FE90: dc.b 5 ; DATA XREF: ROM:0003FE5E o - dc.b $5B ; [ - dc.b $5C ; \ - dc.b $C0 - dc.b $88 - dc.b 1 - dc.b $38 ; 8 - dc.b $D2 - dc.b $B8 - dc.b $8F - dc.b 1 - dc.b $3B ; ; - dc.b $EA - dc.b $C0 - dc.b $81 - dc.b 1 - dc.b $4B ; K - dc.b $A - dc.b $D8 - dc.b $8A - dc.b 0 - dc.b $E0 - dc.b $F4 - dc.b $F0 - dc.b $89 - dc.b 0 - dc.b $E9 - dc.b $EC - dc.b $F0 - dc.b $85 - dc.b 0 - dc.b $EF - dc.b 4 + dc.b $EF + dc.b 4 dc.b 0 unk_3FEB2: dc.b 6 ; DATA XREF: ROM:0003FDE8 o dc.b 0 @@ -47885,7 +46982,7 @@ byte_53162: dc.b 8 ; DATA XREF: sub_90C4+C o dc.b $11 dc.b $FF dc.b 0 -stru_531A0: dc.b 0 ; index +pal_531A0: dc.b 0 ; index ; DATA XREF: ROM:000582F4 o ; ROM:00058306 o ... dc.b $E ; size @@ -68668,26 +67765,26 @@ off_582E2: dc.l unk_582F2 ; DATA XREF: ROM:00008BC0 o dc.l unk_58304 unk_582F2: dc.b 1 ; DATA XREF: ROM:off_582E2 o dc.b 0 - dc.l stru_531A0 + dc.l pal_531A0 dc.l unk_531FA dc.l unk_53BD0 dc.l off_58342 unk_58304: dc.b 2 ; DATA XREF: ROM:000582EE o dc.b 1 - dc.l stru_531A0 + dc.l pal_531A0 dc.l unk_531C0 dc.l unk_531FA dc.l unk_55E34 dc.l off_5836C unk_5831A: dc.b 1 ; DATA XREF: ROM:000582EA o dc.b 0 - dc.l stru_531A0 + dc.l pal_531A0 dc.l unk_531FA dc.l unk_56976 dc.l off_5837A unk_5832C: dc.b 2 ; DATA XREF: ROM:000582E6 o dc.b 1 - dc.l stru_531A0 + dc.l pal_531A0 dc.l unk_531DE dc.l unk_531FA dc.l unk_577E6 @@ -69169,7 +68266,7 @@ unk_58526: dc.b 7 ; DATA XREF: ROM:00058392 o dc.b $CA dc.b $40 ; @ dc.b 0 -stru_58552: dc.b $62 ; index +pal_58552: dc.b $62 ; index ; DATA XREF: ROM:00008C4E o dc.b 6 ; size dc.w $EE, $CE, $AE, $8E, $6E, $4E, $E; colors @@ -69476,7 +68573,7 @@ unk_59938: dc.b $60 ; ` ; DATA XREF: ROM:00008C5C o dc.b $39 ; 9 dc.b $73 ; s dc.b 0 -stru_59A64: dc.b $42 ; index +pal_59A64: dc.b $42 ; index ; DATA XREF: ROM:00008C90 o dc.b 6 ; size dc.w $400, $600, $800, $A00, $C00, $E20, $E40; colors @@ -69484,102 +68581,54 @@ gfx_trfmtnbg: incbin "gfx/00059A74.smd" even -unk_59E88: dc.b $42 ; B ; DATA XREF: ROM:00008CAA o - dc.b $E0 - dc.b $42 ; B - dc.b $E1 - dc.b $42 ; B - dc.b $E2 - dc.b $42 ; B - dc.b $E3 - dc.b $42 ; B - dc.b $E4 - dc.b $42 ; B - dc.b $E5 - dc.b $42 ; B - dc.b $E6 - dc.b $42 ; B - dc.b $E7 - dc.b $42 ; B - dc.b $E8 - dc.b $42 ; B - dc.b $E9 - dc.b $42 ; B - dc.b $EA - dc.b $42 ; B - dc.b $EB - dc.b $42 ; B - dc.b $EC - dc.b $42 ; B - dc.b $ED - dc.b $42 ; B - dc.b $EE - dc.b $42 ; B - dc.b $EF - dc.b $42 ; B - dc.b $F0 - dc.b $42 ; B - dc.b $F1 - dc.b $42 ; B - dc.b $F2 - dc.b $42 ; B - dc.b $F3 - dc.b $42 ; B - dc.b $F4 - dc.b $42 ; B - dc.b $F5 - dc.b $42 ; B - dc.b $F6 - dc.b $42 ; B - dc.b $F7 - dc.b $42 ; B - dc.b $F8 - dc.b $42 ; B - dc.b $F9 - dc.b $42 ; B - dc.b $FA - dc.b $42 ; B - dc.b $FB - dc.b $42 ; B - dc.b $FC - dc.b $42 ; B - dc.b $FD - dc.b $42 ; B - dc.b $FE - dc.b $42 ; B - dc.b $FF - dc.b $60 ; ` - dc.b $E - dc.b 8 - dc.b $48 ; H - dc.b $E - dc.b $EE - dc.b $E - dc.b $CE - dc.b $E - dc.b $AE - dc.b $E - dc.b $8E - dc.b $E - dc.b $E - dc.b $C - dc.b $C - dc.b $A - dc.b $A - dc.b $E - dc.b $EE - dc.b $E - dc.b $CE - dc.b $E - dc.b $AE - dc.b $E - dc.b $8E - dc.b $E - dc.b $E - dc.b $C - dc.b $C - dc.b $A - dc.b $A +word_59E88: dc.w $42E0 ; DATA XREF: ROM:00008CAA o + dc.w $42E1 + dc.w $42E2 + dc.w $42E3 + dc.w $42E4 + dc.w $42E5 + dc.w $42E6 + dc.w $42E7 + dc.w $42E8 + dc.w $42E9 + dc.w $42EA + dc.w $42EB + dc.w $42EC + dc.w $42ED + dc.w $42EE + dc.w $42EF + dc.w $42F0 + dc.w $42F1 + dc.w $42F2 + dc.w $42F3 + dc.w $42F4 + dc.w $42F5 + dc.w $42F6 + dc.w $42F7 + dc.w $42F8 + dc.w $42F9 + dc.w $42FA + dc.w $42FB + dc.w $42FC + dc.w $42FD + dc.w $42FE + dc.w $42FF + dc.w $600E + dc.w $848 + dc.w $EEE + dc.w $ECE + dc.w $EAE + dc.w $E8E + dc.w $E0E + dc.w $C0C + dc.w $A0A + dc.w $EEE + dc.w $ECE + dc.w $EAE + dc.w $E8E + dc.w $E0E + dc.w $C0C + dc.w $A0A gfx_portrait: incbin "gfx/00059EE8.smd" even @@ -70350,257 +69399,95 @@ unk_5F3F4: dc.b 6 ; DATA XREF: ROM:0005F1CE o animtbl_5F4C8: dc.l unk_5F4CC ; DATA XREF: ROM:00009736 o unk_5F4CC: dc.b 1 ; DATA XREF: ROM:animtbl_5F4C8 o dc.b 0 - dc.l unk_5F4D2 -unk_5F4D2: dc.b 3 ; DATA XREF: ROM:0005F4CE o - dc.b 0 - dc.b 0 - dc.b 0 - dc.b $F - dc.b 0 - dc.b 1 - dc.b 8 - dc.b 8 - dc.b 2 - dc.b 0 - dc.b $11 - dc.b 0 - dc.b $20 - dc.b $D - dc.b 0 - dc.b $14 - dc.b 0 - dc.b $20 - dc.b 0 - dc.b 0 - dc.b $1C - dc.b $20 - dc.b 0 + dc.l dword_5F4D2 +dword_5F4D2: dc.l $3000000 ; DATA XREF: ROM:0005F4CE o + dc.l $F000108 + dc.l $8020011 + dc.l $200D00 + dc.l $14002000 + dc.l $1C2000 animtbl_5F4EA: dc.l unk_5F4F2 ; DATA XREF: ROM:000095A4 o dc.l unk_5F510 unk_5F4F2: dc.b 7 ; DATA XREF: ROM:animtbl_5F4EA o dc.b 0 - dc.l unk_5F52E - dc.l unk_5F53C - dc.l unk_5F54E - dc.l unk_5F566 - dc.l unk_5F582 - dc.l unk_5F5A4 - dc.l unk_5F5CA + dc.l dword_5F52E + dc.l dword_5F53C + dc.l dword_5F54E + dc.l dword_5F566 + dc.l dword_5F582 + dc.l dword_5F5A4 + dc.l dword_5F5CA unk_5F510: dc.b 7 ; DATA XREF: ROM:0005F4EE o dc.b 0 - dc.l unk_5F5A4 - dc.l unk_5F582 - dc.l unk_5F566 - dc.l unk_5F54E - dc.l unk_5F53C - dc.l unk_5F52E + dc.l dword_5F5A4 + dc.l dword_5F582 + dc.l dword_5F566 + dc.l dword_5F54E + dc.l dword_5F53C + dc.l dword_5F52E dc.l unk_5F600 -unk_5F52E: dc.b 1 ; DATA XREF: ROM:0005F4F4 o +dword_5F52E: dc.l $10000F8 ; DATA XREF: ROM:0005F4F4 o ; ROM:0005F526 o + dc.l $1DF8 + dc.l $F800081D dc.b 0 dc.b 0 - dc.b $F8 - dc.b 0 - dc.b 0 - dc.b $1D - dc.b $F8 - dc.b $F8 - dc.b 0 - dc.b 8 - dc.b $1D - dc.b 0 - dc.b 0 -unk_5F53C: dc.b 2 ; DATA XREF: ROM:0005F4F8 o +dword_5F53C: dc.l $20000F8 ; DATA XREF: ROM:0005F4F8 o ; ROM:0005F522 o - dc.b 0 - dc.b 0 - dc.b $F8 - dc.b 0 - dc.b 0 - dc.b $1D - dc.b $F4 - dc.b $F8 - dc.b 0 - dc.b 0 - dc.b $1E - dc.b $FC - dc.b $F8 - dc.b 0 - dc.b 8 + dc.l $1DF4 + dc.l $F800001E + dc.l $FCF80008 dc.b $1D dc.b 4 -unk_5F54E: dc.b 3 ; DATA XREF: ROM:0005F4FC o +dword_5F54E: dc.l $30000F8 ; DATA XREF: ROM:0005F4FC o ; ROM:0005F51E o - dc.b 0 - dc.b 0 - dc.b $F8 - dc.b 0 - dc.b 0 - dc.b $1D - dc.b $F0 - dc.b $F8 - dc.b 0 - dc.b 0 - dc.b $1E - dc.b $F8 - dc.b $F8 - dc.b 0 - dc.b 0 - dc.b $1E - dc.b 0 - dc.b $F8 - dc.b 0 - dc.b 8 - dc.b $1D - dc.b 8 - dc.b 0 -unk_5F566: dc.b 4 ; DATA XREF: ROM:0005F500 o + dc.l $1DF0 + dc.l $F800001E + dc.l $F8F80000 + dc.l $1E00F800 + dc.l $81D0800 +dword_5F566: dc.l $40000F8 ; DATA XREF: ROM:0005F500 o ; ROM:0005F51A o - dc.b 0 - dc.b 0 - dc.b $F8 - dc.b 0 - dc.b 0 - dc.b $1D - dc.b $EC - dc.b $F8 - dc.b 0 - dc.b 0 - dc.b $1E - dc.b $F4 - dc.b $F8 - dc.b 0 - dc.b 0 - dc.b $1E - dc.b $FC - dc.b $F8 - dc.b 0 - dc.b 0 - dc.b $1E - dc.b 4 - dc.b $F8 - dc.b 0 - dc.b 8 - dc.b $1D - dc.b $C -unk_5F582: dc.b 5 ; DATA XREF: ROM:0005F504 o + dc.l $1DEC + dc.l $F800001E + dc.l $F4F80000 + dc.l $1EFCF800 + dc.l $1E04F8 + dc.l $81D0C +dword_5F582: dc.l $50000F8 ; DATA XREF: ROM:0005F504 o ; ROM:0005F516 o - dc.b 0 - dc.b 0 - dc.b $F8 - dc.b 0 - dc.b 0 - dc.b $1D - dc.b $E8 - dc.b $F8 - dc.b 0 - dc.b 0 - dc.b $1E - dc.b $F0 - dc.b $F8 - dc.b 0 - dc.b 0 - dc.b $1E - dc.b $F8 - dc.b $F8 - dc.b 0 - dc.b 0 - dc.b $1E - dc.b 0 - dc.b $F8 - dc.b 0 - dc.b 0 - dc.b $1E - dc.b 8 - dc.b $F8 - dc.b 0 - dc.b 8 - dc.b $1D + dc.l $1DE8 + dc.l $F800001E + dc.l $F0F80000 + dc.l $1EF8F800 + dc.l $1E00F8 + dc.l $1E08 + dc.l $F800081D dc.b $10 dc.b 0 -unk_5F5A4: dc.b 6 ; DATA XREF: ROM:0005F508 o +dword_5F5A4: dc.l $60000F8 ; DATA XREF: ROM:0005F508 o ; ROM:0005F512 o - dc.b 0 - dc.b 0 - dc.b $F8 - dc.b 0 - dc.b 0 - dc.b $1D - dc.b $E4 - dc.b $F8 - dc.b 0 - dc.b 0 - dc.b $1E - dc.b $EC - dc.b $F8 - dc.b 0 - dc.b 0 - dc.b $1E - dc.b $F4 - dc.b $F8 - dc.b 0 - dc.b 0 - dc.b $1E - dc.b $FC - dc.b $F8 - dc.b 0 - dc.b 0 - dc.b $1E - dc.b 4 - dc.b $F8 - dc.b 0 - dc.b 0 - dc.b $1E - dc.b $C - dc.b $F8 - dc.b 0 - dc.b 8 + dc.l $1DE4 + dc.l $F800001E + dc.l $ECF80000 + dc.l $1EF4F800 + dc.l $1EFCF8 + dc.l $1E04 + dc.l $F800001E + dc.l $CF80008 dc.b $1D dc.b $14 -unk_5F5CA: dc.b 7 ; DATA XREF: ROM:0005F50C o - dc.b 0 - dc.b 0 - dc.b $F8 - dc.b 0 - dc.b 0 - dc.b $1D - dc.b $E0 - dc.b $F8 - dc.b 0 - dc.b 0 - dc.b $1E - dc.b $E8 - dc.b $F8 - dc.b 0 - dc.b 0 - dc.b $1E - dc.b $F0 - dc.b $F8 - dc.b 0 - dc.b 0 - dc.b $1E - dc.b $F8 - dc.b $F8 - dc.b 0 - dc.b 0 - dc.b $1E - dc.b 0 - dc.b $F8 - dc.b 0 - dc.b 0 - dc.b $1E - dc.b 8 - dc.b $F8 - dc.b 0 - dc.b 0 - dc.b $1E - dc.b $10 - dc.b $F8 - dc.b 0 - dc.b 8 - dc.b $1D - dc.b $18 - dc.b 0 +dword_5F5CA: dc.l $70000F8 ; DATA XREF: ROM:0005F50C o + dc.l $1DE0 + dc.l $F800001E + dc.l $E8F80000 + dc.l $1EF0F800 + dc.l $1EF8F8 + dc.l $1E00 + dc.l $F800001E + dc.l $8F80000 + dc.l $1E10F800 + dc.l $81D1800 animtbl_5F5F6: dc.l unk_5F5FA ; DATA XREF: ROM:00009674 o unk_5F5FA: dc.b 1 ; DATA XREF: ROM:animtbl_5F5F6 o dc.b 0 @@ -72480,1126 +71367,338 @@ unk_5FD64: dc.b 3 ; DATA XREF: ROM:0005FD32 o dc.b 0 dc.b 0 dc.b 5 - dc.b $FD - dc.b $72 ; r - dc.l unk_5FD7A - dc.l unk_5FD82 - dc.b 0 - dc.b 0 - dc.b 0 - dc.b $E8 - dc.b $A - dc.b 8 - dc.b $2F ; / - dc.b $F4 -unk_5FD7A: dc.b 0 ; DATA XREF: ROM:0005FD6A o - dc.b 0 - dc.b 0 - dc.b $F0 - dc.b $D - dc.b 8 - dc.b $38 ; 8 - dc.b $F0 -unk_5FD82: dc.b 0 ; DATA XREF: ROM:0005FD6E o - dc.b 0 - dc.b 0 - dc.b $F0 - dc.b $D - dc.b 8 - dc.b $40 ; @ - dc.b $F0 -unk_5FD8A: dc.b 4 ; DATA XREF: ROM:0005FD36 o - dc.b 0 - dc.l unk_5FD9C - dc.l unk_5FDA4 - dc.l unk_5FDAC - dc.l unk_5FDAC -unk_5FD9C: dc.b 0 ; DATA XREF: ROM:0005FD8C o - dc.b 0 - dc.b 0 - dc.b $F8 - dc.b 0 - dc.b 0 - dc.b $48 ; H - dc.b $FC -unk_5FDA4: dc.b 0 ; DATA XREF: ROM:0005FD90 o - dc.b 0 - dc.b 0 - dc.b $F8 - dc.b 0 - dc.b 0 - dc.b $49 ; I - dc.b $FC -unk_5FDAC: dc.b 0 ; DATA XREF: ROM:0005FD94 o - ; ROM:0005FD98 o - dc.b 0 - dc.b 0 - dc.b $F8 - dc.b 0 - dc.b 0 - dc.b $4A ; J - dc.b $FC -unk_5FDB4: dc.b 1 ; DATA XREF: ROM:0005FD3A o - dc.b 0 - dc.l unk_5FDBA -unk_5FDBA: dc.b 1 ; DATA XREF: ROM:0005FDB6 o - dc.b 0 - dc.b 0 - dc.b $C0 - dc.b 7 - dc.b 0 - dc.b $4B ; K - dc.b $F8 - dc.b $E0 - dc.b 7 - dc.b 0 - dc.b $53 ; S - dc.b $F8 - dc.b 0 -unk_5FDC8: dc.b $7F ;  ; DATA XREF: ROM:0000991C o - dc.b $E1 - dc.b $7F ;  - dc.b $E1 - dc.b $6A ; j - dc.b $E1 - dc.b 0 - dc.b $10 - dc.b $50 ; P - dc.b $C4 - dc.b $51 ; Q - dc.b $C - dc.b $50 ; P - dc.b $C8 - dc.b $55 ; U - dc.b 9 - dc.b $50 ; P - dc.b $CB - dc.b $5D ; ] - dc.b 7 - dc.b $50 ; P - dc.b $CD - dc.b $68 ; h - dc.b 5 - dc.b $50 ; P - dc.b $CB - dc.b $75 ; u - dc.b 4 - dc.b $80 - dc.b 4 - dc.b $50 ; P - dc.b $C9 - dc.b $81 - dc.b 7 - dc.b $80 - dc.b 3 - dc.b $50 ; P - dc.b $C9 - dc.b $8A - dc.b 8 - dc.b $80 - dc.b 2 - dc.b $50 ; P - dc.b $C3 - dc.b $8A - dc.b $C5 - dc.b $93 - dc.b $A - dc.b $80 - dc.b $86 - dc.b $50 ; P - dc.b $98 - dc.b $8B - dc.b $83 - dc.b $99 - dc.b $94 - dc.b $C3 - dc.b $9A - dc.b $B - dc.b $80 - dc.b $81 - dc.b $50 ; P - dc.b $C4 - dc.b $9D - dc.b $81 - dc.b $9A - dc.b $C3 - dc.b $A1 - dc.b $B - dc.b $80 - dc.b $81 - dc.b $50 ; P - dc.b $C4 - dc.b $A4 - dc.b $81 - dc.b $A1 - dc.b $C3 - dc.b $A8 - dc.b $B - dc.b $80 - dc.b $84 - dc.b $50 ; P - dc.b $A4 - dc.b $AB - dc.b $AC - dc.b 2 - dc.b $A1 - dc.b $C3 - dc.b $AD - dc.b $B - dc.b $80 - dc.b $84 - dc.b $B0 - dc.b $9E - dc.b $B1 - dc.b $B2 - dc.b 2 - dc.b $A1 - dc.b $C3 - dc.b $B3 - dc.b $B - dc.b $80 - dc.b $C4 - dc.b $B6 - dc.b 2 - dc.b $A1 - dc.b $C5 - dc.b $BA - dc.b 9 - dc.b $80 - dc.b $C4 - dc.b $BF - dc.b 2 - dc.b $A1 - dc.b $C8 - dc.b $C3 - dc.b 6 - dc.b $80 - dc.b $C4 - dc.b $CB - dc.b 2 - dc.b $A1 - dc.b $CB - dc.b $CF - dc.b 2 - dc.b $DA - dc.b $82 - dc.b $DB - dc.b $CB - dc.b $C4 - dc.b $DC - dc.b 2 - dc.b $A1 - dc.b $CA - dc.b $E0 - dc.b 3 - dc.b $EA - dc.b $81 - dc.b $CB - dc.b $C4 - dc.b $EB - dc.b 3 - dc.b $A1 - dc.b $C4 - dc.b $EF - dc.b $81 - dc.b $CB - dc.b $C4 - dc.b $F3 - dc.b 3 - dc.b $50 ; P - dc.b 0 -unk_5FE60: dc.b 9 ; DATA XREF: ROM:00009940 o - dc.b $E1 - dc.b 3 - dc.b $E2 - dc.b 8 - dc.b $E1 - dc.b $81 - dc.b $E2 - dc.b $16 - dc.b $E1 - dc.b 4 - dc.b $E2 - dc.b $10 - dc.b $E1 - dc.b 7 - dc.b $E2 - dc.b $E - dc.b $E1 - dc.b 7 - dc.b $E2 - dc.b $10 - dc.b $E1 - dc.b 5 - dc.b $E2 - dc.b $10 - dc.b $E1 - dc.b 3 - dc.b $E2 - dc.b $12 - dc.b $E1 - dc.b 3 - dc.b $E2 - dc.b $11 - dc.b $E1 - dc.b 3 - dc.b $E2 - dc.b $11 - dc.b $E1 - dc.b 2 - dc.b $E2 - dc.b $11 - dc.b $E1 - dc.b 3 - dc.b $E2 - dc.b $10 - dc.b $E1 - dc.b 4 - dc.b $E2 - dc.b $F - dc.b $E1 - dc.b 4 - dc.b $E2 - dc.b $F - dc.b $E1 - dc.b 4 - dc.b $E2 - dc.b $D - dc.b $E1 - dc.b 7 - dc.b $E2 - dc.b $B - dc.b $E1 - dc.b $B - dc.b $E2 - dc.b $A - dc.b $E1 - dc.b $C - dc.b $E2 - dc.b $C - dc.b $E1 - dc.b $A - dc.b $E2 - dc.b 5 - dc.b $E1 - dc.b 0 - dc.b $CC - dc.b $F7 - dc.b 8 - dc.b $A1 - dc.b $81 - dc.b 3 - dc.b $13 - dc.b $A1 - dc.b 3 - dc.b $67 ; g - dc.b $C4 - dc.b 4 - dc.b $D - dc.b $A1 - dc.b 3 - dc.b $74 ; t - dc.b $C7 - dc.b 8 - dc.b $A - dc.b $A1 - dc.b 4 - dc.b $80 - dc.b $C7 - dc.b $F - dc.b 9 - dc.b $A1 - dc.b 7 - dc.b $80 - dc.b $C5 - dc.b $16 - dc.b 8 - dc.b $A1 - dc.b 8 - dc.b $80 - dc.b $C3 - dc.b $1B - dc.b 9 - dc.b $A1 - dc.b 9 - dc.b $80 - dc.b $C3 - dc.b $1E - dc.b 8 - dc.b $A1 - dc.b 9 - dc.b $80 - dc.b $C3 - dc.b $21 ; ! - dc.b 8 - dc.b $A1 - dc.b 9 - dc.b $80 - dc.b $C2 - dc.b $24 ; $ - dc.b 9 - dc.b $A1 - dc.b 8 - dc.b $80 - dc.b $C3 - dc.b $26 ; & - dc.b 9 - dc.b $A1 - dc.b 7 - dc.b $80 - dc.b $C4 - dc.b $29 ; ) - dc.b 9 - dc.b $A1 - dc.b 6 - dc.b $80 - dc.b $C4 - dc.b $2D ; - - dc.b $A - dc.b $A1 - dc.b 5 - dc.b $80 - dc.b $C4 - dc.b $31 ; 1 - dc.b $B - dc.b $A1 - dc.b 2 - dc.b $80 - dc.b $C7 - dc.b $35 ; 5 - dc.b $B - dc.b $A1 - dc.b $C6 - dc.b $3C ; < - dc.b 2 - dc.b $42 ; B - dc.b $C3 - dc.b $43 ; C - dc.b 9 - dc.b $A1 - dc.b $81 - dc.b $E9 - dc.b $C7 - dc.b $46 ; F - dc.b 2 - dc.b $42 ; B - dc.b $C3 - dc.b $4D ; M - dc.b 7 - dc.b $A1 - dc.b 6 - dc.b $50 ; P - dc.b $C7 - dc.b $51 ; Q - dc.b 2 - dc.b $58 ; X - dc.b 5 - dc.b $A1 - dc.b 0 -unk_5FF1C: dc.b 4 ; DATA XREF: ROM:000098D4 o - dc.b $C1 - dc.b $10 - dc.b $C2 - dc.b 4 - dc.b $C1 - dc.b $10 - dc.b $C2 - dc.b 4 - dc.b $C1 - dc.b $10 - dc.b $C2 - dc.b 5 - dc.b $C1 - dc.b $F - dc.b $C2 - dc.b 7 - dc.b $C1 - dc.b 3 - dc.b $C2 - dc.b $C2 - dc.b $C1 - dc.b 2 - dc.b $C1 - dc.b 2 - dc.b $C2 - dc.b $B - dc.b $C1 - dc.b 2 - dc.b $C2 - dc.b $81 - dc.b $CA - dc.b 3 - dc.b $C1 - dc.b 2 - dc.b $C2 - dc.b $D - dc.b $C1 - dc.b 4 - dc.b $C2 - dc.b $C2 - dc.b $C1 - dc.b $F - dc.b $C1 - dc.b 3 - dc.b $C2 - dc.b $C2 - dc.b $C1 - dc.b $F - dc.b $C1 - dc.b 3 - dc.b $C2 - dc.b $C2 - dc.b $C1 - dc.b $F - dc.b $C1 - dc.b 6 - dc.b $C2 - dc.b $C - dc.b $C1 - dc.b 6 - dc.b $C2 - dc.b $C2 - dc.b $C1 - dc.b $C - dc.b $C1 - dc.b 9 - dc.b $C2 - dc.b $A - dc.b $C1 - dc.b $A - dc.b $C2 - dc.b $A - dc.b $C1 - dc.b $B - dc.b $C2 - dc.b 9 - dc.b $C1 - dc.b $84 - dc.b $C2 - dc.b $D2 - dc.b $D2 - dc.b $DA - dc.b 9 - dc.b $C2 - dc.b 6 - dc.b $C1 - dc.b $82 - dc.b $C2 - dc.b $D2 - dc.b 4 - dc.b $C2 - dc.b $81 - dc.b $D2 - dc.b 8 - dc.b $C2 - dc.b 5 - dc.b $C1 - dc.b $F - dc.b $C2 - dc.b 5 - dc.b $C1 - dc.b $F - dc.b $C2 - dc.b 0 - dc.b 4 - dc.b $A1 - dc.b $C2 - dc.b $59 ; Y - dc.b $C - dc.b $42 ; B - dc.b $C2 - dc.b $5B ; [ - dc.b 4 - dc.b $A1 - dc.b 2 - dc.b $5D ; ] - dc.b $81 - dc.b $5E ; ^ - dc.b $D - dc.b $42 ; B - dc.b 4 - dc.b $A1 - dc.b $88 - dc.b $5F ; _ - dc.b $5A ; Z - dc.b $5D ; ] - dc.b $60 ; ` - dc.b $61 ; a - dc.b $60 ; ` - dc.b $62 ; b - dc.b $61 ; a - dc.b 2 - dc.b $60 ; ` - dc.b $C6 - dc.b $63 ; c - dc.b 5 - dc.b $A1 - dc.b $87 - dc.b $5F ; _ - dc.b $5D ; ] - dc.b $5A ; Z - dc.b $69 ; i - dc.b $5D ; ] - dc.b $5A ; Z - dc.b $6A ; j - dc.b 2 - dc.b $5A ; Z - dc.b $C6 - dc.b $6B ; k - dc.b 7 - dc.b $A1 - dc.b $C3 - dc.b $71 ; q - dc.b $86 - dc.b $A1 - dc.b $74 ; t - dc.b $A1 - dc.b $A1 - dc.b $75 ; u - dc.b $76 ; v - dc.b 4 - dc.b $80 - dc.b 7 - dc.b $A1 - dc.b $83 - dc.b $5F ; _ - dc.b $77 ; w - dc.b $5F ; _ - dc.b 3 - dc.b $A1 - dc.b $C2 - dc.b $78 ; x - dc.b 5 - dc.b $80 - dc.b 8 - dc.b $A1 - dc.b $86 - dc.b $5F ; _ - dc.b $5A ; Z - dc.b $5D ; ] - dc.b $7A ; z - dc.b $A1 - dc.b $7B ; { - dc.b 6 - dc.b $80 - dc.b 9 - dc.b $A1 - dc.b $85 - dc.b $5D ; ] - dc.b $5A ; Z - dc.b $7C ; | - dc.b $A1 - dc.b $7D ; } - dc.b 6 - dc.b $80 - dc.b 9 - dc.b $A1 - dc.b $85 - dc.b $7E ; ~ - dc.b $5A ; Z - dc.b $5A ; Z - dc.b $A1 - dc.b $7F ;  - dc.b 6 - dc.b $80 - dc.b 9 - dc.b $A1 - dc.b $C6 - dc.b $80 - dc.b 5 - dc.b $80 - dc.b 7 - dc.b $A1 - dc.b $88 - dc.b $86 - dc.b $87 - dc.b $5D ; ] - dc.b $5A ; Z - dc.b $81 - dc.b $88 - dc.b $A1 - dc.b $89 - dc.b 5 - dc.b $80 - dc.b 7 - dc.b $A1 - dc.b $C3 - dc.b $8A - dc.b $86 - dc.b $5A ; Z - dc.b $8D - dc.b $8E - dc.b $83 - dc.b $8F - dc.b $90 - dc.b 4 - dc.b $80 - dc.b 6 - dc.b $A1 - dc.b $87 - dc.b $91 - dc.b $5A ; Z - dc.b $92 - dc.b $93 - dc.b $5A ; Z - dc.b $5E ; ^ - dc.b $42 ; B - dc.b $C3 - dc.b $94 - dc.b 4 - dc.b $80 - dc.b 6 - dc.b $A1 - dc.b $C5 - dc.b $97 - dc.b $81 - dc.b $5A ; Z - dc.b 2 - dc.b $42 ; B - dc.b $C3 - dc.b $9C - dc.b 3 - dc.b $80 - dc.b 6 - dc.b $A1 - dc.b $81 - dc.b $9F - dc.b 3 - dc.b $61 ; a - dc.b $C3 - dc.b $A0 - dc.b 2 - dc.b $42 ; B - dc.b $C4 - dc.b $A3 - dc.b $81 - dc.b $80 - dc.b 5 - dc.b $A1 - dc.b $82 - dc.b $A7 - dc.b $61 ; a - dc.b 4 - dc.b $42 ; B - dc.b $83 - dc.b $60 ; ` - dc.b $A8 - dc.b $A9 - dc.b 2 - dc.b $42 ; B - dc.b $C4 - dc.b $AA - dc.b 5 - dc.b $A1 - dc.b $81 - dc.b $5A ; Z - dc.b 7 - dc.b $42 ; B - dc.b $81 - dc.b $AE - dc.b 3 - dc.b $42 ; B - dc.b $C3 - dc.b $AF - dc.b 5 - dc.b $A1 - dc.b $81 - dc.b $5A ; Z - dc.b $E - dc.b $42 ; B - dc.b 0 -unk_60054: dc.b 5 ; DATA XREF: ROM:000098F8 o - dc.b $C2 - dc.b $D - dc.b $C1 - dc.b 5 - dc.b $C2 - dc.b $81 - dc.b $C9 - dc.b 3 - dc.b $C2 - dc.b $B - dc.b $C1 - dc.b 4 - dc.b $C2 - dc.b $81 - dc.b $CA - dc.b 6 - dc.b $C2 - dc.b 9 - dc.b $C1 - dc.b 6 - dc.b $C2 - dc.b $81 - dc.b $C1 - dc.b 6 - dc.b $C2 - dc.b 7 - dc.b $C1 - dc.b 2 - dc.b $C2 - dc.b 4 - dc.b $C1 - dc.b 2 - dc.b $C2 - dc.b $81 - dc.b $C1 - dc.b 6 - dc.b $C2 - dc.b 5 - dc.b $C1 - dc.b 2 - dc.b $C2 - dc.b 5 - dc.b $C1 - dc.b 2 - dc.b $C2 - dc.b $81 - dc.b $C1 - dc.b 6 - dc.b $C2 - dc.b 4 - dc.b $C1 - dc.b 2 - dc.b $C2 - dc.b 6 - dc.b $C1 - dc.b 2 - dc.b $DA - dc.b $81 - dc.b $C1 - dc.b 6 - dc.b $C2 - dc.b 3 - dc.b $C1 - dc.b 2 - dc.b $C2 - dc.b 7 - dc.b $C1 - dc.b $82 - dc.b $C2 - dc.b $C1 - dc.b 7 - dc.b $C2 - dc.b 2 - dc.b $C1 - dc.b 2 - dc.b $C2 - dc.b 7 - dc.b $C1 - dc.b 2 - dc.b $C2 - dc.b $81 - dc.b $C1 - dc.b 7 - dc.b $C2 - dc.b $81 - dc.b $C1 - dc.b 2 - dc.b $C2 - dc.b 8 - dc.b $C1 - dc.b $82 - dc.b $C2 - dc.b $C1 - dc.b 7 - dc.b $C2 - dc.b $81 - dc.b $C1 - dc.b 2 - dc.b $C2 - dc.b 8 - dc.b $C1 - dc.b $82 - dc.b $C2 - dc.b $C1 - dc.b 7 - dc.b $C2 - dc.b $81 - dc.b $C1 - dc.b 2 - dc.b $C2 - dc.b 7 - dc.b $C1 - dc.b 2 - dc.b $C3 - dc.b $81 - dc.b $C2 - dc.b 6 - dc.b $C3 - dc.b $84 - dc.b $C1 - dc.b $C3 - dc.b $C3 - dc.b $C2 - dc.b 7 - dc.b $C1 - dc.b 9 - dc.b $C3 - dc.b $81 - dc.b $C1 - dc.b 3 - dc.b $C3 - dc.b 5 - dc.b $C1 - dc.b 5 - dc.b $C3 - dc.b $81 - dc.b $C1 - dc.b 4 - dc.b $C3 - dc.b $81 - dc.b $C1 - dc.b 4 - dc.b $C3 - dc.b 2 - dc.b $C1 - dc.b $81 - dc.b $D2 - dc.b $C - dc.b $C3 - dc.b $81 - dc.b $C1 - dc.b 3 - dc.b $C3 - dc.b $81 - dc.b $C1 - dc.b $13 - dc.b $C3 - dc.b $81 - dc.b $C1 - dc.b $C - dc.b $C3 - dc.b $81 - dc.b $C2 - dc.b 5 - dc.b $C3 - dc.b 2 - dc.b $C1 - dc.b 5 - dc.b $C2 - dc.b 7 - dc.b $C3 - dc.b $C2 - dc.b $C2 - dc.b 2 - dc.b $C2 - dc.b 2 - dc.b $C3 - dc.b 2 - dc.b $C1 - dc.b 0 - dc.b $C5 - dc.b $B2 - dc.b $D - dc.b $9E - dc.b $C2 - dc.b $B7 - dc.b 3 - dc.b $42 ; B - dc.b $C4 - dc.b $B8 - dc.b $B - dc.b $9E - dc.b $85 - dc.b $B7 - dc.b $B8 - dc.b $BC - dc.b $BD - dc.b $68 ; h - dc.b $C3 - dc.b $BE - dc.b $83 - dc.b $42 ; B - dc.b $C1 - dc.b $C2 - dc.b 9 - dc.b $9E - dc.b $C2 - dc.b $B7 - dc.b $C4 - dc.b $C3 - dc.b $81 - dc.b $A1 - dc.b $C3 - dc.b $C7 - dc.b $83 - dc.b $42 ; B - dc.b $CA - dc.b $CB - dc.b 7 - dc.b $9E - dc.b $C2 - dc.b $B7 - dc.b 4 - dc.b $80 - dc.b $86 - dc.b $CC - dc.b $CD - dc.b $A1 - dc.b $CE - dc.b $CF - dc.b $42 ; B - dc.b $C3 - dc.b $D0 - dc.b 5 - dc.b $9E - dc.b $C2 - dc.b $B7 - dc.b 5 - dc.b $80 - dc.b $86 - dc.b $D3 - dc.b $D4 - dc.b $A1 - dc.b $D5 - dc.b $D6 - dc.b $42 ; B - dc.b $C3 - dc.b $D7 - dc.b 4 - dc.b $9E - dc.b $C2 - dc.b $B7 - dc.b 6 - dc.b $80 - dc.b $83 - dc.b $90 - dc.b $8F - dc.b $A1 - dc.b $C6 - dc.b $DA - dc.b 3 - dc.b $9E - dc.b $C2 - dc.b $B7 - dc.b 7 - dc.b $80 - dc.b $82 - dc.b $E0 - dc.b $A1 - dc.b $C7 - dc.b $E1 - dc.b 2 - dc.b $9E - dc.b $C2 - dc.b $B7 - dc.b 7 - dc.b $80 - dc.b $85 + dc.b $FD + dc.b $72 ; r + dc.l unk_5FD7A + dc.l unk_5FD82 + dc.b 0 + dc.b 0 + dc.b 0 dc.b $E8 - dc.b $E9 - dc.b $A1 - dc.b $EA - dc.b $42 ; B - dc.b $C5 - dc.b $EB - dc.b $83 - dc.b $9E - dc.b $B7 - dc.b $B8 + dc.b $A dc.b 8 - dc.b $80 - dc.b $82 + dc.b $2F ; / + dc.b $F4 +unk_5FD7A: dc.b 0 ; DATA XREF: ROM:0005FD6A o + dc.b 0 + dc.b 0 dc.b $F0 - dc.b $A1 - dc.b $C7 - dc.b $F1 - dc.b $83 - dc.b $9E - dc.b $B7 - dc.b $B8 + dc.b $D dc.b 8 - dc.b $80 - dc.b $82 + dc.b $38 ; 8 + dc.b $F0 +unk_5FD82: dc.b 0 ; DATA XREF: ROM:0005FD6E o + dc.b 0 + dc.b 0 + dc.b $F0 + dc.b $D + dc.b 8 + dc.b $40 ; @ + dc.b $F0 +unk_5FD8A: dc.b 4 ; DATA XREF: ROM:0005FD36 o + dc.b 0 + dc.l unk_5FD9C + dc.l unk_5FDA4 + dc.l unk_5FDAC + dc.l unk_5FDAC +unk_5FD9C: dc.b 0 ; DATA XREF: ROM:0005FD8C o + dc.b 0 + dc.b 0 dc.b $F8 - dc.b $A1 - dc.b $C7 - dc.b $F9 - dc.b $83 - dc.b $9E - dc.b $B7 - dc.b $B8 + dc.b 0 + dc.b 0 + dc.b $48 ; H + dc.b $FC +unk_5FDA4: dc.b 0 ; DATA XREF: ROM:0005FD90 o + dc.b 0 + dc.b 0 + dc.b $F8 + dc.b 0 + dc.b 0 + dc.b $49 ; I + dc.b $FC +unk_5FDAC: dc.b 0 ; DATA XREF: ROM:0005FD94 o + ; ROM:0005FD98 o + dc.b 0 + dc.b 0 + dc.b $F8 + dc.b 0 + dc.b 0 + dc.b $4A ; J + dc.b $FC +unk_5FDB4: dc.b 1 ; DATA XREF: ROM:0005FD3A o + dc.b 0 + dc.l unk_5FDBA +unk_5FDBA: dc.b 1 ; DATA XREF: ROM:0005FDB6 o + dc.b 0 + dc.b 0 + dc.b $C0 dc.b 7 - dc.b $80 - dc.b $83 dc.b 0 - dc.b 1 - dc.b $E9 - dc.b $C6 - dc.b 2 - dc.b $84 - dc.b $9E - dc.b 8 - dc.b 9 - dc.b $B8 + dc.b $4B ; K + dc.b $F8 + dc.b $E0 dc.b 7 - dc.b $80 - dc.b $C9 - dc.b $A - dc.b $84 - dc.b $9E - dc.b 9 - dc.b $13 - dc.b $14 - dc.b 5 - dc.b $80 - dc.b $C5 - dc.b $15 - dc.b $81 - dc.b $A1 - dc.b $C4 - dc.b $1A - dc.b $81 - dc.b $9E - dc.b $C4 - dc.b $1E - dc.b 2 - dc.b $80 - dc.b $81 - dc.b $C3 - dc.b $CC - dc.b $22 ; " - dc.b $85 - dc.b $9E - dc.b 9 - dc.b $2E ; . - dc.b $2F ; / - dc.b $CB - dc.b 2 - dc.b $30 ; 0 - dc.b $CD - dc.b $31 ; 1 - dc.b $81 - dc.b $1E - dc.b $C3 - dc.b $3E ; > - dc.b $81 - dc.b $CB - dc.b $CC - dc.b $41 ; A - dc.b $86 - dc.b $42 ; B - dc.b $4D ; M - dc.b $4E ; N - dc.b 9 - dc.b $4F ; O - dc.b $50 ; P - dc.b 2 - dc.b $CB - dc.b 5 - dc.b $42 ; B - dc.b $C7 - dc.b $51 ; Q - dc.b $86 - dc.b $42 ; B - dc.b $58 ; X - dc.b $B7 - dc.b $B8 - dc.b $59 ; Y - dc.b $5A ; Z - dc.b 2 - dc.b $CB + dc.b 0 + dc.b $53 ; S + dc.b $F8 + dc.b 0 +dword_5FDC8: dc.l $7FE17FE1 ; DATA XREF: ROM:0000991C o + dc.l $6AE10010 + dc.l $50C4510C + dc.l $50C85509 + dc.l $50CB5D07 + dc.l $50CD6805 + dc.l $50CB7504 + dc.l $800450C9 + dc.l $81078003 + dc.l $50C98A08 + dc.l $800250C3 + dc.l $8AC5930A + dc.l $80865098 + dc.l $8B839994 + dc.l $C39A0B80 + dc.l $8150C49D + dc.l $819AC3A1 + dc.l $B808150 + dc.l $C4A481A1 + dc.l $C3A80B80 + dc.l $8450A4AB + dc.l $AC02A1C3 + dc.l $AD0B8084 + dc.l $B09EB1B2 + dc.l $2A1C3B3 + dc.l $B80C4B6 + dc.l $2A1C5BA + dc.l $980C4BF + dc.l $2A1C8C3 + dc.l $680C4CB + dc.l $2A1CBCF + dc.l $2DA82DB + dc.l $CBC4DC02 + dc.l $A1CAE003 + dc.l $EA81CBC4 + dc.l $EB03A1C4 + dc.l $EF81CBC4 + dc.l $F3035000 +dword_5FE60: dc.l $9E103E2 ; DATA XREF: ROM:00009940 o + dc.l $8E181E2 + dc.l $16E104E2 + dc.l $10E107E2 + dc.l $EE107E2 + dc.l $10E105E2 + dc.l $10E103E2 + dc.l $12E103E2 + dc.l $11E103E2 + dc.l $11E102E2 + dc.l $11E103E2 + dc.l $10E104E2 + dcb.l 2,$FE104E2 + dc.l $DE107E2 + dc.l $BE10BE2 + dc.l $AE10CE2 + dc.l $CE10AE2 + dc.l $5E100CC + dc.l $F708A181 + dc.l $313A103 + dc.l $67C4040D + dc.l $A10374C7 + dc.l $80AA104 + dc.l $80C70F09 + dc.l $A10780C5 + dc.l $1608A108 + dc.l $80C31B09 + dc.l $A10980C3 + dc.l $1E08A109 + dc.l $80C32108 + dc.l $A10980C2 + dc.l $2409A108 + dc.l $80C32609 + dc.l $A10780C4 + dc.l $2909A106 + dc.l $80C42D0A + dc.l $A10580C4 + dc.l $310BA102 + dc.l $80C7350B + dc.l $A1C63C02 + dc.l $42C34309 + dc.l $A181E9C7 + dc.l $460242C3 + dc.l $4D07A106 + dc.l $50C75102 + dc.l $5805A100 +dword_5FF1C: dcb.l 3,$4C110C2 ; DATA XREF: ROM:000098D4 o + dc.l $5C10FC2 + dc.l $7C103C2 + dc.l $C2C102C1 + dc.l $2C20BC1 + dc.l $2C281CA + dc.l $3C102C2 + dc.l $DC104C2 + dc.l $C2C10FC1 + dc.l $3C2C2C1 + dc.l $FC103C2 + dc.l $C2C10FC1 + dc.l $6C20CC1 + dc.l $6C2C2C1 + dc.l $CC109C2 + dc.l $AC10AC2 + dc.l $AC10BC2 + dc.l $9C184C2 + dc.l $D2D2DA09 + dc.l $C206C182 + dc.l $C2D204C2 + dc.l $81D208C2 + dcb.l 2,$5C10FC2 + dc.l $4A1C2 + dc.l $590C42C2 + dc.l $5B04A102 + dc.l $5D815E0D + dc.l $4204A188 + dc.l $5F5A5D60 + dc.l $61606261 + dc.l $260C663 + dc.l $5A1875F + dc.l $5D5A695D + dc.l $5A6A025A + dc.l $C66B07A1 + dc.l $C37186A1 + dc.l $74A1A175 + dc.l $76048007 + dc.l $A1835F77 + dc.l $5F03A1C2 + dc.l $78058008 + dc.l $A1865F5A + dc.l $5D7AA17B + dc.l $68009A1 + dc.l $855D5A7C + dc.l $A17D0680 + dc.l $9A1857E + dc.l $5A5AA17F + dc.l $68009A1 + dc.l $C6800580 + dc.l $7A18886 + dc.l $875D5A81 + dc.l $88A18905 + dc.l $8007A1C3 + dc.l $8A865A8D + dc.l $8E838F90 + dc.l $48006A1 + dc.l $87915A92 + dc.l $935A5E42 + dc.l $C3940480 + dc.l $6A1C597 + dc.l $815A0242 + dc.l $C39C0380 + dc.l $6A1819F + dc.l $361C3A0 + dc.l $242C4A3 + dc.l $818005A1 + dc.l $82A76104 + dc.l $428360A8 + dc.l $A90242C4 + dc.l $AA05A181 + dc.l $5A074281 + dc.l $AE0342C3 + dc.l $AF05A181 + dc.l $5A0E4200 +dword_60054: dc.l $5C20DC1 ; DATA XREF: ROM:000098F8 o + dc.l $5C281C9 + dc.l $3C20BC1 + dc.l $4C281CA + dc.l $6C209C1 + dc.l $6C281C1 + dc.l $6C207C1 + dc.l $2C204C1 + dc.l $2C281C1 + dc.l $6C205C1 + dc.l $2C205C1 + dc.l $2C281C1 + dc.l $6C204C1 + dc.l $2C206C1 + dc.l $2DA81C1 + dc.l $6C203C1 + dc.l $2C207C1 + dc.l $82C2C107 + dc.l $C202C102 + dc.l $C207C102 + dc.l $C281C107 + dc.l $C281C102 + dc.l $C208C182 + dc.l $C2C107C2 + dc.l $81C102C2 + dc.l $8C182C2 + dc.l $C107C281 + dc.l $C102C207 + dc.l $C102C381 + dc.l $C206C384 + dc.l $C1C3C3C2 + dc.l $7C109C3 + dc.l $81C103C3 + dc.l $5C105C3 + dcb.l 2,$81C104C3 + dc.l $2C181D2 + dc.l $CC381C1 + dc.l $3C381C1 + dc.l $13C381C1 + dc.l $CC381C2 + dc.l $5C302C1 + dc.l $5C207C3 + dc.l $C2C202C2 + dc.l $2C302C1 + dc.l $C5B20D + dc.l $9EC2B703 + dc.l $42C4B80B + dc.l $9E85B7B8 + dc.l $BCBD68C3 + dc.l $BE8342C1 + dc.l $C2099EC2 + dc.l $B7C4C381 + dc.l $A1C3C783 + dc.l $42CACB07 + dc.l $9EC2B704 + dc.l $8086CCCD + dc.l $A1CECF42 + dc.l $C3D0059E + dc.l $C2B70580 + dc.l $86D3D4A1 + dc.l $D5D642C3 + dc.l $D7049EC2 + dc.l $B7068083 + dc.l $908FA1C6 + dc.l $DA039EC2 + dc.l $B7078082 + dc.l $E0A1C7E1 + dc.l $29EC2B7 + dc.l $78085E8 + dc.l $E9A1EA42 + dc.l $C5EB839E + dc.l $B7B80880 + dc.l $82F0A1C7 + dc.l $F1839EB7 + dc.l $B8088082 + dc.l $F8A1C7F9 + dc.l $839EB7B8 + dc.l $7808300 + dc.l $1E9C602 + dc.l $849E0809 + dc.l $B80780C9 + dc.l $A849E09 + dc.l $13140580 + dc.l $C51581A1 + dc.l $C41A819E + dc.l $C41E0280 + dc.l $81C3CC22 + dc.l $859E092E + dc.l $2FCB0230 + dc.l $CD31811E + dc.l $C33E81CB + dc.l $CC418642 + dc.l $4D4E094F + dc.l $5002CB05 + dc.l $42C75186 + dc.l $4258B7B8 + dc.l $595A02CB dc.b 0 dc.b 0 animtbl_601DE: dc.l unk_601EC ; DATA XREF: ROM:00009B14 o @@ -73781,22 +71880,22 @@ gfx_eyes_cutscene2: dc.b $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF dc.b $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF dc.b $FF -off_63200: dc.l unk_633A8 ; DATA XREF: sub_3F76+10 o - dc.l unk_633AE - dc.l unk_633C6 - dc.l unk_633D0 - dc.l unk_633FA - dc.l unk_6340A - dc.l unk_6341C - dc.l unk_6342E - dc.l unk_63446 +off_63200: dc.l word_633A8 ; DATA XREF: sub_3F76+10 o + dc.l word_633AE + dc.l word_633C6 + dc.l word_633D0 + dc.l word_633FA + dc.l word_6340A + dc.l word_6341C + dc.l word_6342E + dc.l word_63446 dc.l word_63456 - dc.l unk_6348E - dc.l unk_63494 - dc.l unk_634A0 - dc.l unk_634B0 - dc.l unk_634C0 - dc.l unk_634CC + dc.l word_6348E + dc.l word_63494 + dc.l word_634A0 + dc.l word_634B0 + dc.l word_634C0 + dc.l word_634CC dc.l unk_634E0 dc.l unk_634EC dc.l unk_634F8 @@ -73887,180 +71986,93 @@ off_63200: dc.l unk_633A8 ; DATA XREF: sub_3F76+10 o dc.l unk_63B6E dc.l unk_63B74 dc.l unk_63B34 -unk_633A8: dc.b 0 ; DATA XREF: ROM:off_63200 o - dc.b 0 - dc.b 0 - dc.b $18 - dc.b 0 - dc.b $20 -unk_633AE: dc.b 0 ; DATA XREF: ROM:00063204 o - dc.b 6 - dc.b 0 - dc.b 8 - dc.b 3 - dc.b $40 ; @ - dc.b $80 - dc.b 2 - dc.b 0 - dc.b 0 - dc.b 4 - dc.b $60 ; ` - dc.b $80 - dc.b 0 - dc.b 0 - dc.b 4 - dc.b 4 - dc.b $80 - dc.b $80 - dc.b 1 - dc.b 0 - dc.b 9 - dc.b 5 - dc.b $20 -unk_633C6: dc.b 0 ; DATA XREF: ROM:00063208 o - dc.b 1 - dc.b 0 - dc.b 0 - dc.b 3 - dc.b $40 ; @ - dc.b 0 - dc.b $F - dc.b 6 - dc.b $60 ; ` -unk_633D0: dc.b 0 ; DATA XREF: ROM:0006320C o - dc.b $B - dc.b 0 - dc.b 0 - dc.b 3 - dc.b $40 ; @ - dc.b 0 - dc.b 3 - dc.b 8 - dc.b $60 ; ` - dc.b 0 - dc.b 0 - dc.b 6 - dc.b $E0 - dc.b 0 - dc.b 2 - dc.b 8 - dc.b $E0 - dc.b $80 - dc.b 1 - dc.b 0 - dc.b 7 - dc.b 9 - dc.b $40 ; @ - dc.b $80 - dc.b 1 - dc.b 0 - dc.b 3 - dc.b $A - dc.b $40 ; @ - dc.b $80 - dc.b 0 - dc.b 0 - dc.b 0 - dc.b $A - dc.b $C0 - dc.b $80 - dc.b 0 - dc.b 0 - dc.b 2 - dc.b $A - dc.b $E0 -unk_633FA: dc.b 0 ; DATA XREF: ROM:00063210 o - dc.b 3 - dc.b 0 - dc.b 0 - dc.b 3 - dc.b $40 ; @ - dc.b 0 - dc.b 8 - dc.b $B - dc.b $40 ; @ - dc.b $80 - dc.b 0 - dc.b 0 - dc.b 9 - dc.b $C - dc.b $60 ; ` -unk_6340A: dc.b 0 ; DATA XREF: ROM:00063214 o - dc.b 4 - dc.b 0 - dc.b $13 - dc.b $D - dc.b $A0 - dc.b $80 - dc.b 0 - dc.b 0 - dc.b 3 - dc.b $10 - dc.b $20 - dc.b $80 - dc.b 0 - dc.b 0 - dc.b 0 - dc.b $10 - dc.b $A0 -unk_6341C: dc.b 0 ; DATA XREF: ROM:00063218 o - dc.b 4 - dc.b 0 - dc.b $15 - dc.b $10 - dc.b $C0 - dc.b $80 - dc.b 0 - dc.b 0 - dc.b 5 - dc.b $13 - dc.b $80 - dc.b $80 - dc.b 0 - dc.b 0 - dc.b 1 - dc.b $14 - dc.b $40 ; @ -unk_6342E: dc.b 0 ; DATA XREF: ROM:0006321C o - dc.b 6 - dc.b 0 - dc.b 0 - dc.b 3 - dc.b $40 ; @ - dc.b $80 - dc.b 0 - dc.b 0 - dc.b $18 - dc.b $14 - dc.b $80 - dc.b $80 - dc.b 0 - dc.b 0 - dc.b 3 - dc.b $17 - dc.b $A0 - dc.b $80 - dc.b 0 - dc.b 0 - dc.b 1 - dc.b $18 - dc.b $20 -unk_63446: dc.b 0 ; DATA XREF: ROM:00063220 o - dc.b 3 - dc.b 0 - dc.b 0 - dc.b 3 - dc.b $40 ; @ - dc.b 0 - dc.b $18 - dc.b $18 - dc.b $60 ; ` - dc.b $80 - dc.b 1 - dc.b 0 - dc.b 3 - dc.b $1B - dc.b $80 +word_633A8: dc.w 0 ; DATA XREF: ROM:off_63200 o + dc.w $18 + dc.w $20 +word_633AE: dc.w 6 ; DATA XREF: ROM:00063204 o + dc.w 8 + dc.w $340 + dc.w $8002 + dc.w 0 + dc.w $460 + dc.w $8000 + dc.w 4 + dc.w $480 + dc.w $8001 + dc.w 9 + dc.w $520 +word_633C6: dc.w 1 ; DATA XREF: ROM:00063208 o + dc.w 0 + dc.w $340 + dc.w $F + dc.w $660 +word_633D0: dc.w $B ; DATA XREF: ROM:0006320C o + dc.w 0 + dc.w $340 + dc.w 3 + dc.w $860 + dc.w 0 + dc.w $6E0 + dc.w 2 + dc.w $8E0 + dc.w $8001 + dc.w 7 + dc.w $940 + dc.w $8001 + dc.w 3 + dc.w $A40 + dc.w $8000 + dc.w 0 + dc.w $AC0 + dc.w $8000 + dc.w 2 + dc.w $AE0 +word_633FA: dc.w 3 ; DATA XREF: ROM:00063210 o + dc.w 0 + dc.w $340 + dc.w 8 + dc.w $B40 + dc.w $8000 + dc.w 9 + dc.w $C60 +word_6340A: dc.w 4 ; DATA XREF: ROM:00063214 o + dc.w $13 + dc.w $DA0 + dc.w $8000 + dc.w 3 + dc.w $1020 + dc.w $8000 + dc.w 0 + dc.w $10A0 +word_6341C: dc.w 4 ; DATA XREF: ROM:00063218 o + dc.w $15 + dc.w $10C0 + dc.w $8000 + dc.w 5 + dc.w $1380 + dc.w $8000 + dc.w 1 + dc.w $1440 +word_6342E: dc.w 6 ; DATA XREF: ROM:0006321C o + dc.w 0 + dc.w $340 + dc.w $8000 + dc.w $18 + dc.w $1480 + dc.w $8000 + dc.w 3 + dc.w $17A0 + dc.w $8000 + dc.w 1 + dc.w $1820 +word_63446: dc.w 3 ; DATA XREF: ROM:00063220 o + dc.w 0 + dc.w $340 + dc.w $18 + dc.w $1860 + dc.w $8001 + dc.w 3 + dc.w $1B80 word_63456: dc.w $E ; DATA XREF: ROM:00063224 o dc.w 0 dc.w $340 @@ -74089,88 +72101,47 @@ word_63456: dc.w $E ; DATA XREF: ROM:00063224 o dc.w $1EC0 dc.w 0 dc.w $1840 -unk_6348E: dc.b 0 ; DATA XREF: ROM:00063228 o - dc.b 0 - dc.b 0 - dc.b $1E - dc.b $1F - dc.b $20 -unk_63494: dc.b 0 ; DATA XREF: ROM:0006322C o - dc.b 2 - dc.b 0 - dc.b $1C - dc.b $23 ; # - dc.b 0 - dc.b $80 - dc.b 0 - dc.b 0 - dc.b 0 - dc.b $26 ; & - dc.b $A0 -unk_634A0: dc.b 0 ; DATA XREF: ROM:00063230 o - dc.b 3 - dc.b 0 - dc.b 0 - dc.b 3 - dc.b $40 ; @ - dc.b 0 - dc.b $17 - dc.b $26 ; & - dc.b $C0 - dc.b $80 - dc.b 1 - dc.b 0 - dc.b 0 - dc.b $29 ; ) - dc.b $C0 -unk_634B0: dc.b 0 ; DATA XREF: ROM:00063234 o - dc.b 3 - dc.b 0 - dc.b 0 - dc.b 3 - dc.b $40 ; @ - dc.b 0 - dc.b $A - dc.b $29 ; ) - dc.b $E0 - dc.b $80 - dc.b 0 - dc.b 0 - dc.b $15 - dc.b $2B ; + - dc.b $40 ; @ -unk_634C0: dc.b 0 ; DATA XREF: ROM:00063238 o - dc.b 2 - dc.b 0 - dc.b $17 - dc.b $2E ; . - dc.b 0 - dc.b $80 - dc.b 0 - dc.b 0 - dc.b 0 - dc.b $31 ; 1 - dc.b 0 -unk_634CC: dc.b 0 ; DATA XREF: ROM:0006323C o - dc.b 5 - dc.b $80 - dc.b 0 - dc.b 0 - dc.b 1 - dc.b $31 ; 1 - dc.b $20 - dc.b $80 - dc.b 0 - dc.b 0 - dc.b $18 - dc.b $31 ; 1 - dc.b $60 ; ` - dc.b $80 - dc.b 0 - dc.b 0 - dc.b 0 - dc.b $34 ; 4 - dc.b $80 +word_6348E: dc.w 0 ; DATA XREF: ROM:00063228 o + dc.w $1E + dc.w $1F20 +word_63494: dc.w 2 ; DATA XREF: ROM:0006322C o + dc.w $1C + dc.w $2300 + dc.w $8000 + dc.w 0 + dc.w $26A0 +word_634A0: dc.w 3 ; DATA XREF: ROM:00063230 o + dc.w 0 + dc.w $340 + dc.w $17 + dc.w $26C0 + dc.w $8001 + dc.w 0 + dc.w $29C0 +word_634B0: dc.w 3 ; DATA XREF: ROM:00063234 o + dc.w 0 + dc.w $340 + dc.w $A + dc.w $29E0 + dc.w $8000 + dc.w $15 + dc.w $2B40 +word_634C0: dc.w 2 ; DATA XREF: ROM:00063238 o + dc.w $17 + dc.w $2E00 + dc.w $8000 + dc.w 0 + dc.w $3100 +word_634CC: dc.w 5 ; DATA XREF: ROM:0006323C o + dc.w $8000 + dc.w 1 + dc.w $3120 + dc.w $8000 + dc.w $18 + dc.w $3160 + dc.w $8000 + dc.w 0 + dc.w $3480 unk_634E0: dc.b 0 ; DATA XREF: ROM:00063240 o dc.b 2 dc.b 0 diff --git a/Makefile b/Makefile index de816b8..625da79 100644 --- a/Makefile +++ b/Makefile @@ -11,22 +11,27 @@ BUILD_DIR := $(WORKSPACE)/build GFX_DIR := $(WORKSPACE)/gfx ROM_DIR := $(WORKSPACE)/rom TOOLS_DIR := $(WORKSPACE)/tools +Z80_DIR := $(WORKSPACE)/z80 RETROARCH_DIR := $(TOOLS_DIR)/RetroArch-Win64 # Tooling -GO := go run ASM68K := $(TOOLS_DIR)/asm68k/asm68k.exe ASM68K_SWITCHES ?= /m /p /k +GO := go run SEGARD_DECOMP := $(TOOLS_DIR)/segard/decomp.go SHA1CHECK := $(TOOLS_DIR)/checksum/sha1.go RETROARCH := $(RETROARCH_DIR)/retroarch.exe RETROARCH_CORE_BLASTEM := $(RETROARCH_DIR)/cores/blastem_libretro.dll RETROARCH_CORE_GPGX := $(RETROARCH_DIR)/cores/genesis_plus_gx_libretro.dll RETROARCH_CORE_PICODRIVE := $(RETROARCH_DIR)/cores/picodrive_libretro.dll +SJASMPLUS := $(TOOLS_DIR)/sjasmplus/sjasmplus.exe all: extract build -build: assemble sha1 -assemble: +build: z80_assemble 68k_assemble sha1 +z80_assemble: + $(SJASMPLUS) --raw="$(Z80_DIR)/pcm_driver/pcm_driver1.bin" --lst="$(Z80_DIR)/pcm_driver/pcm_driver1.txt" "$(Z80_DIR)/pcm_driver/pcm_driver1.asm" + $(SJASMPLUS) --raw="$(Z80_DIR)/pcm_driver/pcm_driver2.bin" --lst="$(Z80_DIR)/pcm_driver/pcm_driver2.txt" "$(Z80_DIR)/pcm_driver/pcm_driver2.asm" +68k_assemble: $(ASM68K) $(ASM68K_SWITCHES) "$(NAME).asm","$(BUILD_DIR)/$(NAME) ($(REGION)) ($(VERSION)) [!].bin",,"$(BUILD_DIR)/$(NAME) ($(REGION)) ($(VERSION)) [!].txt" sha1: $(GO) $(SHA1CHECK) "$(BUILD_DIR)/$(NAME) ($(REGION)) ($(VERSION)) [!].bin" $(SHA1) diff --git a/includes/helpers/load_pcm.asm b/includes/helpers/load_pcm.asm index 1af09ae..63d92df 100644 --- a/includes/helpers/load_pcm.asm +++ b/includes/helpers/load_pcm.asm @@ -8,9 +8,9 @@ load_pcm: ; CODE XREF: play_sound+6 j move.w (a5)+,d0 movea.l (a5),a5 move.w (unk_FFFE1E).w,d7 - move.w #$100,(IO_Z80BUS).l + move.w #$100,(IO_Z80BUS).l ; Send the Z80 a bus request loc_4A12: ; CODE XREF: play_sound+80 j - btst #0,(IO_Z80BUS).l + btst #0,(IO_Z80BUS).l ; Give the Z80 the bus back bne.s loc_4A12 lea (Z80_RAM).l,a6 loc_4A22: ; CODE XREF: play_sound+A8 j diff --git a/includes/helpers/write_z80ram_1d03.asm b/includes/helpers/write_z80ram_1d03.asm index 85ce5dd..897e0de 100644 --- a/includes/helpers/write_z80ram_1d03.asm +++ b/includes/helpers/write_z80ram_1d03.asm @@ -2,12 +2,12 @@ write_z80ram_1d03: ; CODE XREF: ROM:00004F52 j ; ROM:00008D12 j ... tst.w (dword_FFFE1A).w bne.s loc_4AEC - move.w #$100,(IO_Z80BUS).l + move.w #$100,(IO_Z80BUS).l ; Send the Z80 a bus request loc_4AD4: ; CODE XREF: write_z80ram_1d03+16 j - btst #0,(IO_Z80BUS).l + btst #0,(IO_Z80BUS).l ; Give the Z80 the bus back bne.s loc_4AD4 move.b d7,(byte_A01D03).l - move.w #0,(IO_Z80BUS).l + move.w #0,(IO_Z80BUS).l ; Give the Z80 the bus back loc_4AEC: ; CODE XREF: write_z80ram_1d03+4 j move.b d7,(unk_FFFE20).w rts diff --git a/includes/helpers/write_z80ram_1d05.asm b/includes/helpers/write_z80ram_1d05.asm index 2baa8c1..f305afa 100644 --- a/includes/helpers/write_z80ram_1d05.asm +++ b/includes/helpers/write_z80ram_1d05.asm @@ -2,12 +2,12 @@ write_z80ram_1d05: ; CODE XREF: ROM:00000382 p ; ROM:0000039C p ... tst.l (dword_FFFE1A).w bne.s locret_4B40 - move.w #$100,(IO_Z80BUS).l + move.w #$100,(IO_Z80BUS).l ; Send the Z80 a bus request loc_4B28: ; CODE XREF: write_z80ram_1d05+16 j - btst #0,(IO_Z80BUS).l + btst #0,(IO_Z80BUS).l ; Give the Z80 the bus back bne.s loc_4B28 move.b d7,(byte_A01D05).l - move.w #0,(IO_Z80BUS).l + move.w #0,(IO_Z80BUS).l ; Give the Z80 the bus back locret_4B40: ; CODE XREF: write_z80ram_1d05+4 j rts ; End of function write_z80ram_1d05 diff --git a/includes/helpers/write_z80ram_1d06.asm b/includes/helpers/write_z80ram_1d06.asm index b2f720f..6bb511c 100644 --- a/includes/helpers/write_z80ram_1d06.asm +++ b/includes/helpers/write_z80ram_1d06.asm @@ -2,12 +2,12 @@ write_z80ram_1d06: ; CODE XREF: ROM:00000F82 p ; ROM:00004D36 p ... tst.l (dword_FFFE1A).w bne.s locret_4B18 - move.w #$100,(IO_Z80BUS).l + move.w #$100,(IO_Z80BUS).l ; Send the Z80 a bus request loc_4B00: ; CODE XREF: write_z80ram_1d06+16 j - btst #0,(IO_Z80BUS).l + btst #0,(IO_Z80BUS).l ; Give the Z80 the bus back bne.s loc_4B00 move.b d7,(byte_A01D06).l - move.w #0,(IO_Z80BUS).l + move.w #0,(IO_Z80BUS).l ; Give the Z80 the bus back locret_4B18: ; CODE XREF: write_z80ram_1d06+4 j rts ; End of function write_z80ram_1d06 diff --git a/includes/interrupts.asm b/includes/interrupts.asm index c7927b6..05d5e49 100644 --- a/includes/interrupts.asm +++ b/includes/interrupts.asm @@ -22,7 +22,7 @@ off_20: dc.l Reserv3F dc.l Reserv3F dc.l Reserv3F dc.l Reserv3F - dc.l Reserv3F +off_40: dc.l Reserv3F dc.l Reserv3F dc.l Reserv3F dc.l Reserv3F @@ -66,7 +66,7 @@ off_AC: dc.l Trap15 dc.l Reserv3F dc.l Reserv3F dc.l Reserv3F - dc.l Reserv3F +off_F0: dc.l Reserv3F dc.l Reserv3F dc.l Reserv3F off_FC: dc.l Reserv3F diff --git a/includes/interrupts/reset.asm b/includes/interrupts/reset.asm index b4c4b1b..5712bdf 100644 --- a/includes/interrupts/reset.asm +++ b/includes/interrupts/reset.asm @@ -1,9 +1,9 @@ Reset: ; DATA XREF: ROM:00000004 o move.b (IO_PCBVER+1).l,d0 andi.b #$F,d0 - beq.s loc_A5EA + beq.s SkipSecurity move.l #'SEGA',(IO_TMSS).l -loc_A5EA: ; CODE XREF: Reset+A j +SkipSecurity: ; CODE XREF: Reset+A j bsr.w vdp_setup movea.l #RomEnd,a0 move.l (a0),d1 @@ -15,21 +15,21 @@ loc_A5EA: ; CODE XREF: Reset+A j subq.w #1,d2 swap d1 moveq #0,d0 -loc_A60A: ; CODE XREF: Reset+38 j +ChecksumLoop: ; CODE XREF: Reset+38 j ; Reset+3C j add.w (a0)+,d0 - dbf d2,loc_A60A - dbf d1,loc_A60A + dbf d2,ChecksumLoop + dbf d1,ChecksumLoop cmp.w (Checksum).w,d0 - beq.s loc_A632 + beq.s ChecksumOk bsr.w vdp_setup -loc_A61E: ; CODE XREF: Reset+5C j +ChecksumError: ; CODE XREF: Reset+5C j move.l #$C0000000,(VDP_CTRL).l ; DO_WRITE_TO_CRAM_AT_$0000_ADDR ; DO_OPERATION_WITHOUT_DMA move.w #$E00,(VDP_DATA).l - bra.s loc_A61E + bra.s ChecksumError ; --------------------------------------------------------------------------- -loc_A632: ; CODE XREF: Reset+44 j +ChecksumOk: ; CODE XREF: Reset+44 j btst #6,(IO_EXT_CTRL+1).l bne.w loc_A668 lea (unk_FFFE00).w,a6 diff --git a/includes/palettes/00008EBE.asm b/includes/palettes/00008EBE.asm index 2df92f7..621e38c 100644 --- a/includes/palettes/00008EBE.asm +++ b/includes/palettes/00008EBE.asm @@ -1,4 +1,4 @@ pal_8EBE: dc.b $62 ; index - ; DATA XREF: ROM:off_8EA2 o + ; DATA XREF: ROM:pallist_8EA2 o dc.b 6 ; size dc.w $EE, $CE, $AE, $8E, $6E, $4E, $E; colors diff --git a/includes/palettes/00008F22.asm b/includes/palettes/00008F22.asm index 232c370..f1909ed 100644 --- a/includes/palettes/00008F22.asm +++ b/includes/palettes/00008F22.asm @@ -1,4 +1,4 @@ pal_8F22: dc.b $42 ; index - ; DATA XREF: ROM:off_8F06 o + ; DATA XREF: ROM:pallist_8F06 o dc.b 6 ; size dc.w $400, $600, $800, $A00, $C00, $E20, $E40; colors diff --git a/includes/palettes/00009D7A.asm b/includes/palettes/00009D7A.asm index 4703864..dfc6f98 100644 --- a/includes/palettes/00009D7A.asm +++ b/includes/palettes/00009D7A.asm @@ -1,6 +1,6 @@ pal_9D7A: dc.b $60 ; index ; DATA XREF: ROM:0000924E o - ; ROM:off_9CE0 o + ; ROM:pallist_9CE0 o dc.b $F ; size dc.w $848, $848, $848, $848, $848, $848, $848, $848, $848; colors dc.w $848, $848, $848, $848, $848, $848, $848; colors diff --git a/includes/palettes/00009F6C.asm b/includes/palettes/00009F6C.asm new file mode 100644 index 0000000..37db422 --- /dev/null +++ b/includes/palettes/00009F6C.asm @@ -0,0 +1,4 @@ +pal_9F6C: dc.w $EC0, $EA0, $E80, $E60, $E40, $E20, $E00, $C00, $A00 + ; DATA XREF: draw_segalogo+DC o + dc.w $800, $600, $800, $A00, $C00, $E00, $E20, $E40, $E60 + dc.w $E80, $EA0 diff --git a/includes/palettes/00009F94.asm b/includes/palettes/00009F94.asm new file mode 100644 index 0000000..f3e9641 --- /dev/null +++ b/includes/palettes/00009F94.asm @@ -0,0 +1,4 @@ +pal_9F94: dc.w 0, $EEE, $EC0, $EA0, $E80, $E60, $E40, $E20, $E00 + ; DATA XREF: draw_segalogo+46 o + dc.w $C00, $A00, $800, $600 + dcb.w 3,0 diff --git a/includes/palettes/0000AD54.asm b/includes/palettes/0000AD54.asm new file mode 100644 index 0000000..be2c503 --- /dev/null +++ b/includes/palettes/0000AD54.asm @@ -0,0 +1,4 @@ +pal_AD54: dc.b 8 ; index + ; DATA XREF: sub_AB86+40 o + dc.b 2 ; size + dc.w 0, $EE, $E ; colors diff --git a/includes/palettes/0000AD5C.asm b/includes/palettes/0000AD5C.asm new file mode 100644 index 0000000..9a292b9 --- /dev/null +++ b/includes/palettes/0000AD5C.asm @@ -0,0 +1,4 @@ +pal_AD5C: dc.b $48 ; index + ; DATA XREF: sub_AB86+4A o + dc.b 2 ; size + dc.w 0, $EE, $8E ; colors diff --git a/includes/palettes/0000B7CE.asm b/includes/palettes/0000B7CE.asm new file mode 100644 index 0000000..ee7ec40 --- /dev/null +++ b/includes/palettes/0000B7CE.asm @@ -0,0 +1,6 @@ +pal_B7CE: dc.b 2 ; index + ; DATA XREF: ROM:0000B5DC o + ; RAM:off_FFB16C o + dc.b $D ; size + dc.w 0, $248, $46A, $68E, $8AE, $AEE, $AAA, 0, $248, $46A; colors + dc.w $68E, $8AE, $AEE, $CCC; colors diff --git a/includes/palettes/0000B7EC.asm b/includes/palettes/0000B7EC.asm new file mode 100644 index 0000000..ae23b6c --- /dev/null +++ b/includes/palettes/0000B7EC.asm @@ -0,0 +1,6 @@ +pal_B7EC: dc.b 2 ; index + ; DATA XREF: ROM:0000B2BC t + ; ROM:0000B2CA t ... + dc.b $D ; size + dc.w $EEE, $ACC, $688, $466, $EEC, 0, $8C6, $6A4, $482; colors + dc.w $260, $AA, $A68, $806, $EE; colors diff --git a/includes/palettes/0000B80A.asm b/includes/palettes/0000B80A.asm new file mode 100644 index 0000000..d6fdb11 --- /dev/null +++ b/includes/palettes/0000B80A.asm @@ -0,0 +1,5 @@ +pal_B80A: dc.b 2 ; index + ; DATA XREF: ROM:0000B74E o + dc.b $D ; size + dc.w $640, $840, $A60, $C80, $CA0, $EC0, $EE0, 6, 8, $C; colors + dc.w $E, $8E, $AE, $EE ; colors diff --git a/includes/palettes/0000B828.asm b/includes/palettes/0000B828.asm new file mode 100644 index 0000000..ce00d39 --- /dev/null +++ b/includes/palettes/0000B828.asm @@ -0,0 +1,5 @@ +pal_B828: dc.b 2 ; index + ; DATA XREF: ROM:0000B6CC o + dc.b $D ; size + dc.w $E8E, $CEE, $ACC, $8AA, $688, $466, $244, $AEE, $8CC; colors + dc.w $6AA, $488, $266, $A0A, $C; colors diff --git a/includes/palettes/0000B846.asm b/includes/palettes/0000B846.asm new file mode 100644 index 0000000..469dce7 --- /dev/null +++ b/includes/palettes/0000B846.asm @@ -0,0 +1,5 @@ +pal_B846: dc.b 2 ; index + ; DATA XREF: ROM:0000B7C0 o + dc.b $D ; size + dc.w $EEE, $CCC, $AAA, $888, $666, $444, 0, $EE, $CE, $AE; colors + dc.w $6E, $2E, 0, $E ; colors diff --git a/includes/palettes/0000B864.asm b/includes/palettes/0000B864.asm new file mode 100644 index 0000000..86e21a7 --- /dev/null +++ b/includes/palettes/0000B864.asm @@ -0,0 +1,5 @@ +pal_B864: dc.b 0 ; index + ; DATA XREF: ROM:0000B574 o + dc.b $E ; size + dc.w $E77, $EE, $8C, $48, $A48, $C6A, $E8C, $266, $488; colors + dc.w $8CC, $666, $AAA, $EEE, 0, $BE; colors diff --git a/includes/palettes/0000B884.asm b/includes/palettes/0000B884.asm new file mode 100644 index 0000000..7943962 --- /dev/null +++ b/includes/palettes/0000B884.asm @@ -0,0 +1,5 @@ +pal_B884: dc.b 0 ; index + ; DATA XREF: ROM:0000B5F2 o + dc.b $E ; size + dc.w $22, $EE, $AA, $66, $A48, $C6A, $E8C, $266, $488; colors + dc.w $8CC, $888, $AAA, $EEE, 0, $E; colors diff --git a/includes/palettes/0000B8A4.asm b/includes/palettes/0000B8A4.asm new file mode 100644 index 0000000..5184456 --- /dev/null +++ b/includes/palettes/0000B8A4.asm @@ -0,0 +1,5 @@ +pal_B8A4: dc.b 0 ; index + ; DATA XREF: ROM:0000B664 o + dc.b $E ; size + dc.w 4, $EE, $8C, $48, $A48, $C6A, $E8C, $266, $488, $8CC; colors + dc.w $888, $AAA, $EEE, 0, $E; colors diff --git a/includes/palettes/0000B8C4.asm b/includes/palettes/0000B8C4.asm new file mode 100644 index 0000000..23e97ac --- /dev/null +++ b/includes/palettes/0000B8C4.asm @@ -0,0 +1,5 @@ +pal_B8C4: dc.b 0 ; index + ; DATA XREF: ROM:0000B6DE o + dc.b $E ; size + dc.w 0, $EE, $8C, $66, $A48, $C6A, $E8C, $266, $488, $8CC; colors + dc.w $666, $AAA, $EEE, 0, $E; colors diff --git a/includes/palettes/0000B8E4.asm b/includes/palettes/0000B8E4.asm new file mode 100644 index 0000000..5c236e4 --- /dev/null +++ b/includes/palettes/0000B8E4.asm @@ -0,0 +1,5 @@ +pal_B8E4: dc.b 0 ; index + ; DATA XREF: ROM:0000B760 o + dc.b $E ; size + dc.w $6A6, $EE, $8C, $48, $A48, $C6A, $E8C, $266, $488; colors + dc.w $8CC, $666, $AAA, $EEE, 0, $E; colors diff --git a/includes/palettes/0000B904.asm b/includes/palettes/0000B904.asm new file mode 100644 index 0000000..a02f3cd --- /dev/null +++ b/includes/palettes/0000B904.asm @@ -0,0 +1,5 @@ +pal_B904: dc.b $34 ; index + ; DATA XREF: ROM:0000B578 o + ; ROM:0000B5F6 o ... + dc.b 5 ; size + dc.w $ECA, $C86, $864, $642, $E, $C00; colors diff --git a/includes/palettes/0000B912.asm b/includes/palettes/0000B912.asm new file mode 100644 index 0000000..b082ac5 --- /dev/null +++ b/includes/palettes/0000B912.asm @@ -0,0 +1,5 @@ +pal_B912: dc.b $54 ; index + ; DATA XREF: ROM:0000B57C o + ; ROM:0000B5FA o ... + dc.b 4 ; size + dc.w $48C, $26A, $48, $26, $EE; colors diff --git a/includes/palettes/0000BCB4.asm b/includes/palettes/0000BCB4.asm new file mode 100644 index 0000000..54914e3 --- /dev/null +++ b/includes/palettes/0000BCB4.asm @@ -0,0 +1,4 @@ +pal_BCB4: dc.b $42 ; index + ; DATA XREF: ROM:0000BC72 o + dc.b 6 ; size + dc.w 0, $EE, $CE, $AE, $8E, $6E, 8; colors diff --git a/includes/palettes/0000BCC4.asm b/includes/palettes/0000BCC4.asm new file mode 100644 index 0000000..e929a74 --- /dev/null +++ b/includes/palettes/0000BCC4.asm @@ -0,0 +1,7 @@ +pal_BCC4: dc.b 0 ; index + ; DATA XREF: ROM:0000BC7A o + dc.b $1F ; size + dc.w $686, $686, $686, $686, $686, $686, $686, $686, $686; colors + dc.w $686, $686, $686, $686, $686, $686, $686, 0, $EC0; colors + dc.w $CA0, $C80, $C60, $840, $420, $400, $EC0, $CA0, $C80; colors + dc.w $C60, $840, $420, 0, 0; colors diff --git a/includes/palettes/0000BD06.asm b/includes/palettes/0000BD06.asm new file mode 100644 index 0000000..8b5fef8 --- /dev/null +++ b/includes/palettes/0000BD06.asm @@ -0,0 +1,4 @@ +pal_BD06: dc.b $22 ; index + ; DATA XREF: ROM:0000BAB8 o + dc.b 3 ; size + dc.w $E, $C, $C, $C ; colors diff --git a/includes/palettes/0000BD10.asm b/includes/palettes/0000BD10.asm new file mode 100644 index 0000000..4d30667 --- /dev/null +++ b/includes/palettes/0000BD10.asm @@ -0,0 +1,4 @@ +pal_BD10: dc.b $22 ; index + ; DATA XREF: ROM:0000BAC4 o + dc.b 3 ; size + dc.w $EC0, $CA0, $C80, $C60; colors diff --git a/includes/palettes/0000BD1A.asm b/includes/palettes/0000BD1A.asm new file mode 100644 index 0000000..8802d36 --- /dev/null +++ b/includes/palettes/0000BD1A.asm @@ -0,0 +1,4 @@ +pal_BD1A: dc.b 2 ; index + ; DATA XREF: sub_BA42+6 o + dc.b 6 ; size + dc.w $888, $686, $686, $686, $686, $686, $686; colors diff --git a/includes/palettes/0000BD2A.asm b/includes/palettes/0000BD2A.asm new file mode 100644 index 0000000..1343082 --- /dev/null +++ b/includes/palettes/0000BD2A.asm @@ -0,0 +1,3 @@ +pal_BD2A: dc.b 2 ; index + dc.b 6 ; size + dc.w $AAA, $8A8, $686, $686, $686, $686, $464; colors diff --git a/includes/palettes/0000BD3A.asm b/includes/palettes/0000BD3A.asm new file mode 100644 index 0000000..2645001 --- /dev/null +++ b/includes/palettes/0000BD3A.asm @@ -0,0 +1,3 @@ +pal_BD3A: dc.b 2 ; index + dc.b 6 ; size + dc.w $CCC, $ACA, $8A8, $686, $686, $464, $242; colors diff --git a/includes/palettes/0000BD4A.asm b/includes/palettes/0000BD4A.asm new file mode 100644 index 0000000..a61c462 --- /dev/null +++ b/includes/palettes/0000BD4A.asm @@ -0,0 +1,3 @@ +pal_BD4A: dc.b 2 ; index + dc.b 6 ; size + dc.w $EEE, $CEC, $ACA, $8A8, $464, $242, $20; colors diff --git a/includes/palettes/0000BD5A.asm b/includes/palettes/0000BD5A.asm new file mode 100644 index 0000000..c9d24aa --- /dev/null +++ b/includes/palettes/0000BD5A.asm @@ -0,0 +1,5 @@ +pal_BD5A: dc.b 2 ; index + ; DATA XREF: ROM:0000BA78 o + dc.b $A ; size + dc.w $EE0, $CE0, $AC0, $8A0, $460, $240, $20, $EA6, $C84; colors + dc.w $A62, $840 ; colors diff --git a/includes/vdp_setup.asm b/includes/vdp_setup.asm index 1ae0a9e..0083dd0 100644 --- a/includes/vdp_setup.asm +++ b/includes/vdp_setup.asm @@ -1,4 +1,4 @@ -vdp_setup: ; CODE XREF: Reset:loc_A5EA p +vdp_setup: ; CODE XREF: Reset:SkipSecurity p ; Reset+46 p ... lea (vdpregs_A892).l,a0 moveq #$10,d0 diff --git a/z80/pcm_driver/pcm_driver1.asm b/z80/pcm_driver/pcm_driver1.asm new file mode 100644 index 0000000..564d234 --- /dev/null +++ b/z80/pcm_driver/pcm_driver1.asm @@ -0,0 +1,383 @@ +; +; +-------------------------------------------------------------------------+ +; | This file was generated by The Interactive Disassembler (IDA) | +; | Copyright (c) 2023 Hex-Rays, | +; +-------------------------------------------------------------------------+ +; +; Input SHA256 : AA2E31C66409E7A4F570D1B7A930BE7D92108C68F326E90EA2F3B64B0587B260 +; Input MD5 : 1A2A1498BA0073FFBA7A70A355F6F0FD +; Input CRC32 : 016F8721 +; Processor : z80 [] +; Target assembler: Zilog Macro Assembler +; =========================================================================== +; Segment type: Pure code +; Main segment +; =============== S U B R O U T I N E ======================================= + +YM2612_A0 EQU $4000 +YM2612_D0 EQU $4001 +PCM_ID EQU $017F +STACK EQU $1FFF + +start: + di + ld sp, STACK + ld a, 1 + ld (PCM_ID), a + ld hl, pcm_audio + ld bc, pcm_audio_end-pcm_audio + ld a, 18h + ld ($1D0F), a + jp loc_68 +; --------------------------------------------------------------------------- + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + reti +; --------------------------------------------------------------------------- + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + retn +; --------------------------------------------------------------------------- +loc_68: ; CODE XREF: start+14↑j + call sub_A6 + push bc + ld a, 80h + ld c, 2Bh ; '+' + call sub_9B + pop bc + ld a, ($1D0F) +loc_77: ; CODE XREF: start+8C↓j + push bc + ld b, a +loc_79: ; CODE XREF: start:loc_79↓j + djnz $ ; loop to self + pop bc + push af + push bc + ld a, (hl) + ld c, 2Ah ; '*' + call sub_9B + pop bc + inc hl + dec bc + ld a, b + or c + jr z, loc_8E + pop af + jr loc_77 +; --------------------------------------------------------------------------- +loc_8E: ; CODE XREF: start+89↑j + xor a + ld c, 2Bh ; '+' + call sub_9B +loc_94: ; CODE XREF: start+98↓j + xor a + ld (byte_17F), a + jp loc_94 +; End of function start +; =============== S U B R O U T I N E ======================================= +sub_9B: ; CODE XREF: start+70↑p + ; start+81↑p ... + push af + ld a, c + ld (YM2612_A0), a + pop af + nop + ld (YM2612_D0), a + ret +; End of function sub_9B +; =============== S U B R O U T I N E ======================================= +sub_A6: ; CODE XREF: start:loc_68↑p + push hl + push de + push bc + ld b, 7 + xor a + ld c, 28h ; '(' +loc_AE: ; CODE XREF: sub_A6+C↓j + call sub_9B + inc a + djnz loc_AE + pop bc + pop de + pop hl + ret +; End of function sub_A6 +; --------------------------------------------------------------------------- + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop +byte_17F: nop ; DATA XREF: start+6↑w + ; start+95↑w +pcm_audio: + INCBIN "audio/pcm/000138EC.pcm" +pcm_audio_end: diff --git a/z80/pcm_driver/pcm_driver1.bin b/z80/pcm_driver/pcm_driver1.bin new file mode 100644 index 0000000000000000000000000000000000000000..d9ad908df3a7b7ee6295e6eff5b542adc9f7a1fc GIT binary patch literal 7232 zcmdUUX;>RqmbNnaI_c>=S$cW0brQEbacn1X2)41~1#G~WU1AkN0tq1rNoc3EOQlj( zX)Eo!5ZVwzfDD+;Y{nQc#ycjCopihdQqh?tS*vbq?--On2lh z{+YKoBe=E0&%U}*{@j1AeZQf5=B>Y1y#ADOYS-i6y!h3`e*q?P;;j2|->dfGj(>yO z``GcTUw*Xl#FG=x?89)*~jwj2aLWhK-2PU^JRdC}uJl z%&6InT2Lcuh7Cs4l*_pzS8qa5BZB5S8I6bmL12R(HlVrQXl^tVfpf_S>vLBq_XZu9 zyX*8?JqYUbV6F^nAdOzFgS3zaQtLq-lxxjpC?|+6*9(I5xgv<<8bF;^2ZCBqm&+PZ zqt@zlS{Q_L4X{qHLqG(|iJOxYwxA}X(SRBuJ*ZVFWePbU77Mz0Y#uk4cwB)*0UBMw zP`o$V7m5U8p>V+G#V`cbYqhyQ)+6F|v)P=kE+&iCL2YkuYwuu7P)8&_7>V}!!hu*g z9`5xyY*w4qj$vj41ZmVNgvD03Y9-Yh+7|eDPDDUF5v-v6o&`oV6)RYt*Jlr0PU7wrt`D8s_^xWju!~_EHSxSAt zk-{9@PCSVPxUDhFDi(Dx1WFW?ceGZWIQ(wj9%gv<-laLWhov$2&RzOoc7iW#;mO>g zP|9jzldIeL)<}QEj`Bow5ui7!I28w9ec_oxrF;Fxtyrj)D^Vq9?q2!8r=!%8RDI*i z>0ULxx`CqfjZP0Z1S}F;0Hb;~Vb8O;=LN{U55Ee8D@Y>2%-lCyU%H_tJYEx<-&)M* z7{#^Cvc%lEOn}i?QOXb-6}0_7$Gt+6-r4*lGgQ%0D(<`SPhWi%bX7E!D$FY%-&yl; zORCF_;mb2CW{6N(T-)BxIP&IWHTB8)2d78T3izNwbZ7ZrulCyrHKlUt(&E-qiqlkG z3i(!6=ABYn;mN|PV+F51RV0M&Tv+mWYN1L6ytsVtsxQz?s+THy=Vn(DD2>{n?;D>^ zc@;u@Rq6YCp8rQ&PubPTH->ZMDoa6zcQ5>X@34y3%GM~-p@r0#+(6TU6Ygn?Q=(uH z@GrfB!%>^IX8(!}Hykm&e^&qd_!nlsK*&Xc!68rF6jpn{xP8$xAk{FX3TE^6oXQfn zWiS8EoZLY;g!jyCe6R@`i`$!e{pXevQx;>ljPDy9+i=E-l4G>8cV5Ebv}IXWR(9q6 zDoH^K`C#f33FlZD)ixMiG)6E3YH~$ZrWRfH4plR|are)0INph@CoBFik0>aPVIQu1 zjp^Sh&bRm`7ENx6oTo6lHs|jTjL=l|9mIVv;P%(~zxZ%kX5SOb80vE3PVKD2Q zZ>@H`a}E3E#+M0t^OJ?I%UqieucaHw+YQ1;H@?gGXh#a4--dhA!2j;ffAni9`_eVH zL)TXB3~6NV73LMYLU&V(B>Db!sFv$pJv^BO+cogkZj??{exqDtY(y{gwTf9^9Wtc~vEJF6MO6+FpG6mDfa} zTi^WUiceF~A`uLaEPjw#27#hCiz+Pr=ND&8MxjKh(P?-s`L8@)_P#H3@w(>nyIP%Ojc5 z;iz4%BhXq}S-heHuRXiBrGGB_=lfR>QBxN_C`v8PU7t+IIYs5wEXUB&%tFj!CG%QZ z=`GdyzdW$B)s(sO$@;1vl5x0zMsM?^LxT=I&_FuTA@h&t=Gh@v(j;w+rt-Z{A9HO+2AYs1vdAr7yqxS~N?ooIW>yDs9yA05N7W2YY9x&c|%D`r1Z~XJX~j%veB2Z!K+X z5vVX}V?OSQrw&Tae*D$lSu>B+EP(vsA$!p3bM%J#qCqT2S+pj%Ej1VlscAK}rA_VR z+QJ>BC9O~}nK>2D1bwourb>!vVELaP-poMsrglC$ytuqDV3xDHShAiR`w~;zj=lTi zZST~BlS}hMF0BYvL8uk+4n)U7Nn5P)aXMhgW;IGbD10D-()>T3S0>0i#Y8&_*bF`}ODFAtH%0D>FVvDEHNam{O!h zkW^y&)cAlwKqlcix?pcSWCMjlmXNR3Xhm&BZ~pk%QmSk8=8dz%89&Hii=gDqhu6j} z+@>~-*X^~)sO=J^!!wxbvl&=5hYy!lwzScYmo?LiQzHXr4FFl(LlL)> zMWb`zP%;*D0_-+2nL=mNs}8(UP|JX#b7QH%QtRb7(?i-B$hh4xPCgUqgGc?1*qL^ zWEQ>n4>;Uwoq@I6e}1&qYXyl!y2Ter4kvx?#Kib;%&XvZ$uywV6F{_LenWLlRefdk ziT!)3JNaPm+Q+xA&v=Q)PqvC|r|;bT==x$*$)dA(I$xyU=K$z+)uaxI!l3Lf%#oBg zT78puAKe)V7WH$FLZR>j%b)%JU$&C`x|1bkBuRL3?dn-Ck9e~DSZQ@lY2M4*jx>nvXMg+U z&9#K8rnpJr9bEh9&T>uxb+oY6pxz$wI&5ytq=%I)C2zg{^pm(>(_G`TTN~q6uiv4D z96<+!c_ZnCOG|N7*G+2fR9OPag^9QepdNhlSMTiH`Fa&sqBYK*Tb^HE9nrGswI^x} zOJ9Bc{k?v6d2MY&i!MGjJ2wI~SJurG}T9XCB_)ymCfazP|xb8oXXR=&@?r z*?>a8gHT_5Y9{SMB=viq+IFx}mb&|wKYg+UmA$sRg6mkkd1W@Lta)emi8i_2AB**S z?Phnt4Ys`f?7kL-W%}}s<>jQTuC#&ich_KUcEChF`gVRDU+;ZxZvkfLf^lQHg}7?ty*%>9`+J^Sb%4 z%i+Yd^j2z@NEeF6gH|bnLZSlB!OTd|!0jND=~CG4?+uuhoNmDEiiCYoM`gjG<4x+& z%=z{C2t+3m+GYOa#BkWe@1O}(7Jnq@fP3hq4zW3u9u8ZDw8mOOt3Yq__eOhzE{_dW z=G?Omra*}WQ^{UT*+n5zx|HTXYM{@mpwoGB2!xapHkTte1TtsNCXH=nM~*l1oyplV zDUXJRC$#XCj_5?n4+}^XuFPUEm^4zJqzAMGlBs|}Az*WQAcFx$3~~{d!>l@wc4EF{yvXc#UzpF-7>w)AMm)W5U-<+DTW+5FWhg|i-bKIJ%Y%1Od)8* z9Cl2_2LuwS)fI9WVGWQIgQvEK2UEQ^kl)?O7b|oIi^-_d08${Q3_yics)6k8NHpR# z0_5uAss^SrJU*KUYP!fInhydbiDDGTW?1wUo{f>aAXv*JaU5 zh)0h%2&}RG)4fJTCymmr@`ggupx2;QYGFq(Y*EnLXiT-OFE>FpDY2%UP*trKtF?hxq@z=2?Ufqw3Ek)1hXUB59wPOO+3UpGdURnsRTls+%vv7JM1$lCEY5m zO5IH=exK0d8auNbu(R3-gm$KPcyWEkFRFaMv{`N&92yISys$~82iTQwy;a<7ODS;w%X9bjF0PEp2W7+a=SBncmP(?^ zIW)hvJc6~>mRFE-TKnmm2G6Z4H{vFxNTf5zqF0yB4RB~hjSOQvnRcpZ_&SEdVPx&k znKaVH8=rlhuyu8Ic1L`l-nx5U!>?#+)AycQ9Copb-rQB#s^GM4f4ZR}J+uBO8Z;wv z4l13xeE0T*olk9tP03)$q@Y)o;Ty&Hw{f`l4$N$P_-((_D260H?81jzt1!8yk{L){ zyRe!ulivBoo?=lqY5U{&gQ>CUJ3%C%fO!H{;=$+tykhUDDpsk7;)4mRh~>%JnR7BS7?)_`lCS`lltx(Z|-_-`;#`>%&i++5iYH@)gS%(v+M^S+u^*nUj^)& zTT2nm$&&mXzy2i-_k;W=98qc0Yd z^w#{s_qOFwbm~{1{&04zs=n-qCh~`D_Q6ed!%IhwdJ~`h?%uro#I|Rj&oLpK!}0GI zA2Q~4VOIje}1XtUpD7tijYzJ{laUd(3yFu~7z^AI^YcIVayL1TH* z8#{BLr>U#iAO4!k9Fy;0H(y`LeteTv|9W#%$aa48=4eVKEw9eG;<)W6@BfhfCZj4j zkxx`!`+YWhNxN^yp%yGMIx?9IDtoAu-8oc!#~(iX&$Ekln$nh*@cHZyf9#__|KdJv z>hni`yyB%5{B--yBd6^OarGxoIu*Rl!-kH4A%hR-q zi~@%c!|Y*1ZWLKzg;b;UU=D!MLgB&YaMFtjnn+wQ(cfp6HkBPMX@vZ-Qgu60 z?lUd~AQJfEXe8l9O;(c|K~zE^ql2X}$AW&XR+S5wOLYpRipwQ)HU98`+m>^l6f6e2 zM+#~T4xis)knl(>CIIE)(Pj;k#f9vClSTnTs6xzQ@FWJgCUn2)w3E8 z*HK)VrO}Y8M`G4nbXpB4m5Vqu8b@U64Gn}{4qZ<-rMan7DgpGrKW2hVoh}TZFd0@pRhEC7f)KxX)Zz8*?g2HOEg7 z0YlJjwL824zg6EwsiU>Qw&AfTA|iD%^?_(Q6|gG=9I>n?x37U>J_jZfvDjj%!5vQr zq4wHpnkLkriaJpln?_~H4FA^6Q2H=Tsb0I1+Dz;=218+&MJeU-x_KJd1R+`!G#V{B1smXNG&Y9^ zgB3Y$t;7Q9v6Q2$xweibv4xX^{eHNsp|+aLH}?*w2i!&>nD{0;*c-&ON&rwohTOi39tPDKwH}2u-JKMPEk|Siq|2ptNy7v(1324Q8v=qU6(PT$MX=IvEDL>gy<=Bh?@G02F*P+nA%D3LaY^ z&_Qm8&*}g{u|f^~{Y9V(HewdLLCK+Y2_S>hjA+%leHX1vjT(Fbf6$^*OBD(&h??zo hqm0$mOjDS>PB*L)OT~!RWI%OB*kUmo&1MWU{C}@fRwDoa literal 0 HcmV?d00001 diff --git a/z80/pcm_driver/pcm_driver1.txt b/z80/pcm_driver/pcm_driver1.txt new file mode 100644 index 0000000..7cb1a99 --- /dev/null +++ b/z80/pcm_driver/pcm_driver1.txt @@ -0,0 +1,386 @@ +# file opened: ./z80/pcm_driver/pcm_driver1.asm + 1 0000 ; + 2 0000 ; +-------------------------------------------------------------------------+ + 3 0000 ; | This file was generated by The Interactive Disassembler (IDA) | + 4 0000 ; | Copyright (c) 2023 Hex-Rays, | + 5 0000 ; +-------------------------------------------------------------------------+ + 6 0000 ; + 7 0000 ; Input SHA256 : AA2E31C66409E7A4F570D1B7A930BE7D92108C68F326E90EA2F3B64B0587B260 + 8 0000 ; Input MD5 : 1A2A1498BA0073FFBA7A70A355F6F0FD + 9 0000 ; Input CRC32 : 016F8721 + 10 0000 ; Processor : z80 [] + 11 0000 ; Target assembler: Zilog Macro Assembler + 12 0000 ; =========================================================================== + 13 0000 ; Segment type: Pure code + 14 0000 ; Main segment + 15 0000 ; =============== S U B R O U T I N E ======================================= + 16 0000 + 17 0000 YM2612_A0 EQU $4000 + 18 0000 YM2612_D0 EQU $4001 + 19 0000 PCM_ID EQU $017F + 20 0000 STACK EQU $1FFF + 21 0000 + 22 0000 start: + 23 0000 F3 di + 24 0001 31 FF 1F ld sp, STACK + 25 0004 3E 01 ld a, 1 + 26 0006 32 7F 01 ld (PCM_ID), a + 27 0009 21 80 01 ld hl, pcm_audio + 28 000C 01 C0 1A ld bc, pcm_audio_end-pcm_audio + 29 000F 3E 18 ld a, 18h + 30 0011 32 0F 1D ld ($1D0F), a + 31 0014 C3 68 00 jp loc_68 + 32 0017 ; --------------------------------------------------------------------------- + 33 0017 00 nop + 34 0018 00 nop + 35 0019 00 nop + 36 001A 00 nop + 37 001B 00 nop + 38 001C 00 nop + 39 001D 00 nop + 40 001E 00 nop + 41 001F 00 nop + 42 0020 00 nop + 43 0021 00 nop + 44 0022 00 nop + 45 0023 00 nop + 46 0024 00 nop + 47 0025 00 nop + 48 0026 00 nop + 49 0027 00 nop + 50 0028 00 nop + 51 0029 00 nop + 52 002A 00 nop + 53 002B 00 nop + 54 002C 00 nop + 55 002D 00 nop + 56 002E 00 nop + 57 002F 00 nop + 58 0030 00 nop + 59 0031 00 nop + 60 0032 00 nop + 61 0033 00 nop + 62 0034 00 nop + 63 0035 00 nop + 64 0036 00 nop + 65 0037 00 nop + 66 0038 ED 4D reti + 67 003A ; --------------------------------------------------------------------------- + 68 003A 00 nop + 69 003B 00 nop + 70 003C 00 nop + 71 003D 00 nop + 72 003E 00 nop + 73 003F 00 nop + 74 0040 00 nop + 75 0041 00 nop + 76 0042 00 nop + 77 0043 00 nop + 78 0044 00 nop + 79 0045 00 nop + 80 0046 00 nop + 81 0047 00 nop + 82 0048 00 nop + 83 0049 00 nop + 84 004A 00 nop + 85 004B 00 nop + 86 004C 00 nop + 87 004D 00 nop + 88 004E 00 nop + 89 004F 00 nop + 90 0050 00 nop + 91 0051 00 nop + 92 0052 00 nop + 93 0053 00 nop + 94 0054 00 nop + 95 0055 00 nop + 96 0056 00 nop + 97 0057 00 nop + 98 0058 00 nop + 99 0059 00 nop +100 005A 00 nop +101 005B 00 nop +102 005C 00 nop +103 005D 00 nop +104 005E 00 nop +105 005F 00 nop +106 0060 00 nop +107 0061 00 nop +108 0062 00 nop +109 0063 00 nop +110 0064 00 nop +111 0065 00 nop +112 0066 ED 45 retn +113 0068 ; --------------------------------------------------------------------------- +114 0068 loc_68: ; CODE XREF: start+14↑j +115 0068 CD A6 00 call sub_A6 +116 006B C5 push bc +117 006C 3E 80 ld a, 80h +118 006E 0E 2B ld c, 2Bh ; '+' +119 0070 CD 9B 00 call sub_9B +120 0073 C1 pop bc +121 0074 3A 0F 1D ld a, ($1D0F) +122 0077 loc_77: ; CODE XREF: start+8C↓j +123 0077 C5 push bc +124 0078 47 ld b, a +125 0079 loc_79: ; CODE XREF: start:loc_79↓j +126 0079 10 FE djnz $ ; loop to self +127 007B C1 pop bc +128 007C F5 push af +129 007D C5 push bc +130 007E 7E ld a, (hl) +131 007F 0E 2A ld c, 2Ah ; '*' +132 0081 CD 9B 00 call sub_9B +133 0084 C1 pop bc +134 0085 23 inc hl +135 0086 0B dec bc +136 0087 78 ld a, b +137 0088 B1 or c +138 0089 28 03 jr z, loc_8E +139 008B F1 pop af +140 008C 18 E9 jr loc_77 +141 008E ; --------------------------------------------------------------------------- +142 008E loc_8E: ; CODE XREF: start+89↑j +143 008E AF xor a +144 008F 0E 2B ld c, 2Bh ; '+' +145 0091 CD 9B 00 call sub_9B +146 0094 loc_94: ; CODE XREF: start+98↓j +147 0094 AF xor a +148 0095 32 7F 01 ld (byte_17F), a +149 0098 C3 94 00 jp loc_94 +150 009B ; End of function start +151 009B ; =============== S U B R O U T I N E ======================================= +152 009B sub_9B: ; CODE XREF: start+70↑p +153 009B ; start+81↑p ... +154 009B F5 push af +155 009C 79 ld a, c +156 009D 32 00 40 ld (YM2612_A0), a +157 00A0 F1 pop af +158 00A1 00 nop +159 00A2 32 01 40 ld (YM2612_D0), a +160 00A5 C9 ret +161 00A6 ; End of function sub_9B +162 00A6 ; =============== S U B R O U T I N E ======================================= +163 00A6 sub_A6: ; CODE XREF: start:loc_68↑p +164 00A6 E5 push hl +165 00A7 D5 push de +166 00A8 C5 push bc +167 00A9 06 07 ld b, 7 +168 00AB AF xor a +169 00AC 0E 28 ld c, 28h ; '(' +170 00AE loc_AE: ; CODE XREF: sub_A6+C↓j +171 00AE CD 9B 00 call sub_9B +172 00B1 3C inc a +173 00B2 10 FA djnz loc_AE +174 00B4 C1 pop bc +175 00B5 D1 pop de +176 00B6 E1 pop hl +177 00B7 C9 ret +178 00B8 ; End of function sub_A6 +179 00B8 ; --------------------------------------------------------------------------- +180 00B8 00 nop +181 00B9 00 nop +182 00BA 00 nop +183 00BB 00 nop +184 00BC 00 nop +185 00BD 00 nop +186 00BE 00 nop +187 00BF 00 nop +188 00C0 00 nop +189 00C1 00 nop +190 00C2 00 nop +191 00C3 00 nop +192 00C4 00 nop +193 00C5 00 nop +194 00C6 00 nop +195 00C7 00 nop +196 00C8 00 nop +197 00C9 00 nop +198 00CA 00 nop +199 00CB 00 nop +200 00CC 00 nop +201 00CD 00 nop +202 00CE 00 nop +203 00CF 00 nop +204 00D0 00 nop +205 00D1 00 nop +206 00D2 00 nop +207 00D3 00 nop +208 00D4 00 nop +209 00D5 00 nop +210 00D6 00 nop +211 00D7 00 nop +212 00D8 00 nop +213 00D9 00 nop +214 00DA 00 nop +215 00DB 00 nop +216 00DC 00 nop +217 00DD 00 nop +218 00DE 00 nop +219 00DF 00 nop +220 00E0 00 nop +221 00E1 00 nop +222 00E2 00 nop +223 00E3 00 nop +224 00E4 00 nop +225 00E5 00 nop +226 00E6 00 nop +227 00E7 00 nop +228 00E8 00 nop +229 00E9 00 nop +230 00EA 00 nop +231 00EB 00 nop +232 00EC 00 nop +233 00ED 00 nop +234 00EE 00 nop +235 00EF 00 nop +236 00F0 00 nop +237 00F1 00 nop +238 00F2 00 nop +239 00F3 00 nop +240 00F4 00 nop +241 00F5 00 nop +242 00F6 00 nop +243 00F7 00 nop +244 00F8 00 nop +245 00F9 00 nop +246 00FA 00 nop +247 00FB 00 nop +248 00FC 00 nop +249 00FD 00 nop +250 00FE 00 nop +251 00FF 00 nop +252 0100 00 nop +253 0101 00 nop +254 0102 00 nop +255 0103 00 nop +256 0104 00 nop +257 0105 00 nop +258 0106 00 nop +259 0107 00 nop +260 0108 00 nop +261 0109 00 nop +262 010A 00 nop +263 010B 00 nop +264 010C 00 nop +265 010D 00 nop +266 010E 00 nop +267 010F 00 nop +268 0110 00 nop +269 0111 00 nop +270 0112 00 nop +271 0113 00 nop +272 0114 00 nop +273 0115 00 nop +274 0116 00 nop +275 0117 00 nop +276 0118 00 nop +277 0119 00 nop +278 011A 00 nop +279 011B 00 nop +280 011C 00 nop +281 011D 00 nop +282 011E 00 nop +283 011F 00 nop +284 0120 00 nop +285 0121 00 nop +286 0122 00 nop +287 0123 00 nop +288 0124 00 nop +289 0125 00 nop +290 0126 00 nop +291 0127 00 nop +292 0128 00 nop +293 0129 00 nop +294 012A 00 nop +295 012B 00 nop +296 012C 00 nop +297 012D 00 nop +298 012E 00 nop +299 012F 00 nop +300 0130 00 nop +301 0131 00 nop +302 0132 00 nop +303 0133 00 nop +304 0134 00 nop +305 0135 00 nop +306 0136 00 nop +307 0137 00 nop +308 0138 00 nop +309 0139 00 nop +310 013A 00 nop +311 013B 00 nop +312 013C 00 nop +313 013D 00 nop +314 013E 00 nop +315 013F 00 nop +316 0140 00 nop +317 0141 00 nop +318 0142 00 nop +319 0143 00 nop +320 0144 00 nop +321 0145 00 nop +322 0146 00 nop +323 0147 00 nop +324 0148 00 nop +325 0149 00 nop +326 014A 00 nop +327 014B 00 nop +328 014C 00 nop +329 014D 00 nop +330 014E 00 nop +331 014F 00 nop +332 0150 00 nop +333 0151 00 nop +334 0152 00 nop +335 0153 00 nop +336 0154 00 nop +337 0155 00 nop +338 0156 00 nop +339 0157 00 nop +340 0158 00 nop +341 0159 00 nop +342 015A 00 nop +343 015B 00 nop +344 015C 00 nop +345 015D 00 nop +346 015E 00 nop +347 015F 00 nop +348 0160 00 nop +349 0161 00 nop +350 0162 00 nop +351 0163 00 nop +352 0164 00 nop +353 0165 00 nop +354 0166 00 nop +355 0167 00 nop +356 0168 00 nop +357 0169 00 nop +358 016A 00 nop +359 016B 00 nop +360 016C 00 nop +361 016D 00 nop +362 016E 00 nop +363 016F 00 nop +364 0170 00 nop +365 0171 00 nop +366 0172 00 nop +367 0173 00 nop +368 0174 00 nop +369 0175 00 nop +370 0176 00 nop +371 0177 00 nop +372 0178 00 nop +373 0179 00 nop +374 017A 00 nop +375 017B 00 nop +376 017C 00 nop +377 017D 00 nop +378 017E 00 nop +379 017F 00 byte_17F: nop ; DATA XREF: start+6↑w +380 0180 ; start+95↑w +381 0180 pcm_audio: +382 0180 INCBIN "audio/pcm/000138EC.pcm" +383 1C40 pcm_audio_end: +384 1C40 +# file closed: ./z80/pcm_driver/pcm_driver1.asm diff --git a/z80/pcm_driver/pcm_driver2.asm b/z80/pcm_driver/pcm_driver2.asm new file mode 100644 index 0000000..1fc55cc --- /dev/null +++ b/z80/pcm_driver/pcm_driver2.asm @@ -0,0 +1,383 @@ +; +; +-------------------------------------------------------------------------+ +; | This file was generated by The Interactive Disassembler (IDA) | +; | Copyright (c) 2023 Hex-Rays, | +; +-------------------------------------------------------------------------+ +; +; Input SHA256 : F6A385D6649A337B7646C96AF76B7CDE659508B36BFB341B4F940CC8ECC8F09C +; Input MD5 : 81C30D26B92C7247EEB0B8B88D185B34 +; Input CRC32 : 514C740C +; Processor : z80 [] +; Target assembler: Zilog Macro Assembler +; =========================================================================== +; Segment type: Pure code +; Main segment +; =============== S U B R O U T I N E ======================================= + +YM2612_A0 EQU $4000 +YM2612_D0 EQU $4001 +PCM_ID EQU $017F +STACK EQU $1FFF + +start: + di + ld sp, STACK + +loc_4: ; CODE XREF: start+8↓j + ; start+1A↓j ... + ld a, (PCM_ID) + or a + jp z, loc_4 + cp 1 + jp z, short_play + cp 2 + jp z, medium_play + cp 3 + jp z, full_play + jp loc_4 +; --------------------------------------------------------------------------- + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + +locret_38: ; CODE XREF: ROM:000000E7↓p + reti +; --------------------------------------------------------------------------- + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + retn +; --------------------------------------------------------------------------- + +short_play: ; CODE XREF: start+D↑j + ld hl, pcm_audio+60h + ld bc, pcm_audio+3F8h + ld a, 30h ; '0' + ld ($1D0F), a + jp loc_92 +; --------------------------------------------------------------------------- + +medium_play: ; CODE XREF: start+12↑j + ld hl, pcm_audio + ld bc, pcm_audio+86Bh + ld a, 30h ; '0' + ld ($1D0F), a + jp loc_92 +; --------------------------------------------------------------------------- + +full_play: ; CODE XREF: start+17↑j + ld hl, pcm_audio + ld bc, pcm_audio_end-pcm_audio + ld a, 30h ; '0' + ld ($1D0F), a + jp loc_92 +; --------------------------------------------------------------------------- + +loc_92: ; CODE XREF: start+73↑j + ; start+81↑j ... + call sub_CF + push bc + ld a, 80h + ld c, 2Bh ; '+' + call sub_C4 + pop bc + ld a, ($1D0F) + +loc_A1: ; CODE XREF: start+B6↓j + push bc + ld b, a + +loc_A3: ; CODE XREF: start:loc_A3↓j + djnz $ + pop bc + push af + push bc + ld a, (hl) + ld c, 2Ah ; '*' + call sub_C4 + pop bc + inc hl + dec bc + ld a, b + or c + jr z, loc_B8 + pop af + jr loc_A1 +; --------------------------------------------------------------------------- + +loc_B8: ; CODE XREF: start+B3↑j + xor a + ld (PCM_ID), a + ld c, 2Bh ; '+' + call sub_C4 + jp loc_4 +; End of function start + + +; =============== S U B R O U T I N E ======================================= + + +sub_C4: ; CODE XREF: start+9A↑p + ; start+AB↑p ... + push af + ld a, c + ld (YM2612_A0), a + pop af + nop + ld (YM2612_D0), a + ret +; End of function sub_C4 + + +; =============== S U B R O U T I N E ======================================= + + +sub_CF: ; CODE XREF: start:loc_92↑p + push hl + push de + push bc + ld b, 7 + xor a + ld c, 28h ; '(' + +loc_D7: ; CODE XREF: sub_CF+C↓j + call sub_C4 + inc a + djnz loc_D7 + pop bc + pop de + pop hl + ret +; End of function sub_CF + +; --------------------------------------------------------------------------- + add a, b + nop + and b + nop + ret nz + nop + rst 38h + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop +; --------------------------------------------------------------------------- +byte_17F: db 0 ; DATA XREF: start:loc_4↑r + ; start+B9↑w +pcm_audio: ; DATA XREF: start:medium_play↑o + ; start:full_play↑o + INCBIN "audio/pcm/0001552C.pcm" +pcm_audio_end: \ No newline at end of file diff --git a/z80/pcm_driver/pcm_driver2.bin b/z80/pcm_driver/pcm_driver2.bin new file mode 100644 index 0000000000000000000000000000000000000000..56a013bd9f0982d9ce53f91d66e5ed144660cbfd GIT binary patch literal 7816 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 | + 5 0000 ; +-------------------------------------------------------------------------+ + 6 0000 ; + 7 0000 ; Input SHA256 : F6A385D6649A337B7646C96AF76B7CDE659508B36BFB341B4F940CC8ECC8F09C + 8 0000 ; Input MD5 : 81C30D26B92C7247EEB0B8B88D185B34 + 9 0000 ; Input CRC32 : 514C740C + 10 0000 ; Processor : z80 [] + 11 0000 ; Target assembler: Zilog Macro Assembler + 12 0000 ; =========================================================================== + 13 0000 ; Segment type: Pure code + 14 0000 ; Main segment + 15 0000 ; =============== S U B R O U T I N E ======================================= + 16 0000 + 17 0000 YM2612_A0 EQU $4000 + 18 0000 YM2612_D0 EQU $4001 + 19 0000 PCM_ID EQU $017F + 20 0000 STACK EQU $1FFF + 21 0000 + 22 0000 start: + 23 0000 F3 di + 24 0001 31 FF 1F ld sp, STACK + 25 0004 + 26 0004 loc_4: ; CODE XREF: start+8↓j + 27 0004 ; start+1A↓j ... + 28 0004 3A 7F 01 ld a, (PCM_ID) + 29 0007 B7 or a + 30 0008 CA 04 00 jp z, loc_4 + 31 000B FE 01 cp 1 + 32 000D CA 68 00 jp z, short_play + 33 0010 FE 02 cp 2 + 34 0012 CA 76 00 jp z, medium_play + 35 0015 FE 03 cp 3 + 36 0017 CA 84 00 jp z, full_play + 37 001A C3 04 00 jp loc_4 + 38 001D ; --------------------------------------------------------------------------- + 39 001D 00 nop + 40 001E 00 nop + 41 001F 00 nop + 42 0020 00 nop + 43 0021 00 nop + 44 0022 00 nop + 45 0023 00 nop + 46 0024 00 nop + 47 0025 00 nop + 48 0026 00 nop + 49 0027 00 nop + 50 0028 00 nop + 51 0029 00 nop + 52 002A 00 nop + 53 002B 00 nop + 54 002C 00 nop + 55 002D 00 nop + 56 002E 00 nop + 57 002F 00 nop + 58 0030 00 nop + 59 0031 00 nop + 60 0032 00 nop + 61 0033 00 nop + 62 0034 00 nop + 63 0035 00 nop + 64 0036 00 nop + 65 0037 00 nop + 66 0038 + 67 0038 locret_38: ; CODE XREF: ROM:000000E7↓p + 68 0038 ED 4D reti + 69 003A ; --------------------------------------------------------------------------- + 70 003A 00 nop + 71 003B 00 nop + 72 003C 00 nop + 73 003D 00 nop + 74 003E 00 nop + 75 003F 00 nop + 76 0040 00 nop + 77 0041 00 nop + 78 0042 00 nop + 79 0043 00 nop + 80 0044 00 nop + 81 0045 00 nop + 82 0046 00 nop + 83 0047 00 nop + 84 0048 00 nop + 85 0049 00 nop + 86 004A 00 nop + 87 004B 00 nop + 88 004C 00 nop + 89 004D 00 nop + 90 004E 00 nop + 91 004F 00 nop + 92 0050 00 nop + 93 0051 00 nop + 94 0052 00 nop + 95 0053 00 nop + 96 0054 00 nop + 97 0055 00 nop + 98 0056 00 nop + 99 0057 00 nop +100 0058 00 nop +101 0059 00 nop +102 005A 00 nop +103 005B 00 nop +104 005C 00 nop +105 005D 00 nop +106 005E 00 nop +107 005F 00 nop +108 0060 00 nop +109 0061 00 nop +110 0062 00 nop +111 0063 00 nop +112 0064 00 nop +113 0065 00 nop +114 0066 ED 45 retn +115 0068 ; --------------------------------------------------------------------------- +116 0068 +117 0068 short_play: ; CODE XREF: start+D↑j +118 0068 21 E0 01 ld hl, pcm_audio+60h +119 006B 01 78 05 ld bc, pcm_audio+3F8h +120 006E 3E 30 ld a, 30h ; '0' +121 0070 32 0F 1D ld ($1D0F), a +122 0073 C3 92 00 jp loc_92 +123 0076 ; --------------------------------------------------------------------------- +124 0076 +125 0076 medium_play: ; CODE XREF: start+12↑j +126 0076 21 80 01 ld hl, pcm_audio +127 0079 01 EB 09 ld bc, pcm_audio+86Bh +128 007C 3E 30 ld a, 30h ; '0' +129 007E 32 0F 1D ld ($1D0F), a +130 0081 C3 92 00 jp loc_92 +131 0084 ; --------------------------------------------------------------------------- +132 0084 +133 0084 full_play: ; CODE XREF: start+17↑j +134 0084 21 80 01 ld hl, pcm_audio +135 0087 01 08 1D ld bc, pcm_audio_end-pcm_audio +136 008A 3E 30 ld a, 30h ; '0' +137 008C 32 0F 1D ld ($1D0F), a +138 008F C3 92 00 jp loc_92 +139 0092 ; --------------------------------------------------------------------------- +140 0092 +141 0092 loc_92: ; CODE XREF: start+73↑j +142 0092 ; start+81↑j ... +143 0092 CD CF 00 call sub_CF +144 0095 C5 push bc +145 0096 3E 80 ld a, 80h +146 0098 0E 2B ld c, 2Bh ; '+' +147 009A CD C4 00 call sub_C4 +148 009D C1 pop bc +149 009E 3A 0F 1D ld a, ($1D0F) +150 00A1 +151 00A1 loc_A1: ; CODE XREF: start+B6↓j +152 00A1 C5 push bc +153 00A2 47 ld b, a +154 00A3 +155 00A3 loc_A3: ; CODE XREF: start:loc_A3↓j +156 00A3 10 FE djnz $ +157 00A5 C1 pop bc +158 00A6 F5 push af +159 00A7 C5 push bc +160 00A8 7E ld a, (hl) +161 00A9 0E 2A ld c, 2Ah ; '*' +162 00AB CD C4 00 call sub_C4 +163 00AE C1 pop bc +164 00AF 23 inc hl +165 00B0 0B dec bc +166 00B1 78 ld a, b +167 00B2 B1 or c +168 00B3 28 03 jr z, loc_B8 +169 00B5 F1 pop af +170 00B6 18 E9 jr loc_A1 +171 00B8 ; --------------------------------------------------------------------------- +172 00B8 +173 00B8 loc_B8: ; CODE XREF: start+B3↑j +174 00B8 AF xor a +175 00B9 32 7F 01 ld (PCM_ID), a +176 00BC 0E 2B ld c, 2Bh ; '+' +177 00BE CD C4 00 call sub_C4 +178 00C1 C3 04 00 jp loc_4 +179 00C4 ; End of function start +180 00C4 +181 00C4 +182 00C4 ; =============== S U B R O U T I N E ======================================= +183 00C4 +184 00C4 +185 00C4 sub_C4: ; CODE XREF: start+9A↑p +186 00C4 ; start+AB↑p ... +187 00C4 F5 push af +188 00C5 79 ld a, c +189 00C6 32 00 40 ld (YM2612_A0), a +190 00C9 F1 pop af +191 00CA 00 nop +192 00CB 32 01 40 ld (YM2612_D0), a +193 00CE C9 ret +194 00CF ; End of function sub_C4 +195 00CF +196 00CF +197 00CF ; =============== S U B R O U T I N E ======================================= +198 00CF +199 00CF +200 00CF sub_CF: ; CODE XREF: start:loc_92↑p +201 00CF E5 push hl +202 00D0 D5 push de +203 00D1 C5 push bc +204 00D2 06 07 ld b, 7 +205 00D4 AF xor a +206 00D5 0E 28 ld c, 28h ; '(' +207 00D7 +208 00D7 loc_D7: ; CODE XREF: sub_CF+C↓j +209 00D7 CD C4 00 call sub_C4 +210 00DA 3C inc a +211 00DB 10 FA djnz loc_D7 +212 00DD C1 pop bc +213 00DE D1 pop de +214 00DF E1 pop hl +215 00E0 C9 ret +216 00E1 ; End of function sub_CF +217 00E1 +218 00E1 ; --------------------------------------------------------------------------- +219 00E1 80 add a, b +220 00E2 00 nop +221 00E3 A0 and b +222 00E4 00 nop +223 00E5 C0 ret nz +224 00E6 00 nop +225 00E7 FF rst 38h +226 00E8 00 nop +227 00E9 00 nop +228 00EA 00 nop +229 00EB 00 nop +230 00EC 00 nop +231 00ED 00 nop +232 00EE 00 nop +233 00EF 00 nop +234 00F0 00 nop +235 00F1 00 nop +236 00F2 00 nop +237 00F3 00 nop +238 00F4 00 nop +239 00F5 00 nop +240 00F6 00 nop +241 00F7 00 nop +242 00F8 00 nop +243 00F9 00 nop +244 00FA 00 nop +245 00FB 00 nop +246 00FC 00 nop +247 00FD 00 nop +248 00FE 00 nop +249 00FF 00 nop +250 0100 00 nop +251 0101 00 nop +252 0102 00 nop +253 0103 00 nop +254 0104 00 nop +255 0105 00 nop +256 0106 00 nop +257 0107 00 nop +258 0108 00 nop +259 0109 00 nop +260 010A 00 nop +261 010B 00 nop +262 010C 00 nop +263 010D 00 nop +264 010E 00 nop +265 010F 00 nop +266 0110 00 nop +267 0111 00 nop +268 0112 00 nop +269 0113 00 nop +270 0114 00 nop +271 0115 00 nop +272 0116 00 nop +273 0117 00 nop +274 0118 00 nop +275 0119 00 nop +276 011A 00 nop +277 011B 00 nop +278 011C 00 nop +279 011D 00 nop +280 011E 00 nop +281 011F 00 nop +282 0120 00 nop +283 0121 00 nop +284 0122 00 nop +285 0123 00 nop +286 0124 00 nop +287 0125 00 nop +288 0126 00 nop +289 0127 00 nop +290 0128 00 nop +291 0129 00 nop +292 012A 00 nop +293 012B 00 nop +294 012C 00 nop +295 012D 00 nop +296 012E 00 nop +297 012F 00 nop +298 0130 00 nop +299 0131 00 nop +300 0132 00 nop +301 0133 00 nop +302 0134 00 nop +303 0135 00 nop +304 0136 00 nop +305 0137 00 nop +306 0138 00 nop +307 0139 00 nop +308 013A 00 nop +309 013B 00 nop +310 013C 00 nop +311 013D 00 nop +312 013E 00 nop +313 013F 00 nop +314 0140 00 nop +315 0141 00 nop +316 0142 00 nop +317 0143 00 nop +318 0144 00 nop +319 0145 00 nop +320 0146 00 nop +321 0147 00 nop +322 0148 00 nop +323 0149 00 nop +324 014A 00 nop +325 014B 00 nop +326 014C 00 nop +327 014D 00 nop +328 014E 00 nop +329 014F 00 nop +330 0150 00 nop +331 0151 00 nop +332 0152 00 nop +333 0153 00 nop +334 0154 00 nop +335 0155 00 nop +336 0156 00 nop +337 0157 00 nop +338 0158 00 nop +339 0159 00 nop +340 015A 00 nop +341 015B 00 nop +342 015C 00 nop +343 015D 00 nop +344 015E 00 nop +345 015F 00 nop +346 0160 00 nop +347 0161 00 nop +348 0162 00 nop +349 0163 00 nop +350 0164 00 nop +351 0165 00 nop +352 0166 00 nop +353 0167 00 nop +354 0168 00 nop +355 0169 00 nop +356 016A 00 nop +357 016B 00 nop +358 016C 00 nop +359 016D 00 nop +360 016E 00 nop +361 016F 00 nop +362 0170 00 nop +363 0171 00 nop +364 0172 00 nop +365 0173 00 nop +366 0174 00 nop +367 0175 00 nop +368 0176 00 nop +369 0177 00 nop +370 0178 00 nop +371 0179 00 nop +372 017A 00 nop +373 017B 00 nop +374 017C 00 nop +375 017D 00 nop +376 017E 00 nop +377 017F ; --------------------------------------------------------------------------- +378 017F 00 byte_17F: db 0 ; DATA XREF: start:loc_4↑r +379 0180 ; start+B9↑w +380 0180 pcm_audio: ; DATA XREF: start:medium_play↑o +381 0180 ; start:full_play↑o +382 0180 INCBIN "audio/pcm/0001552C.pcm" +383 1E88 pcm_audio_end: +# file closed: ./z80/pcm_driver/pcm_driver2.asm