forked from bruddog/Tecmo_Super_Bowl_NES_Disassembly
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Bank32_DMC_Samples_reset_vector.asm
65 lines (46 loc) · 2.06 KB
/
Bank32_DMC_Samples_reset_vector.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
.BASE $E000 ; 0x3E000
DMC_BASS_LENGTH = DMC_SNARE_DRUM_DATA - DMC_BASS_DRUM_DATA
DMC_SNARE_LENGTH = DMC_KICK_DRUM_DATA - DMC_SNARE_DRUM_DATA
DMC_KICK_LENGTH = END_OF_KICK - DMC_KICK_DRUM_DATA
DMC_SAFE_LENGTH = DMC_TOUCHDOWN_VOICE_DATA - DMC_SAFE_VOICE_DATA
DMC_TOUCHDOWN_LENGTH = END_OF_TOUCHDOWN - DMC_TOUCHDOWN_VOICE_DATA
DMC_DOWN_LENGTH = DMC_HUT_VOICE_DATA - DMC_DOWN_VOICE_DATA
DMC_HUT_LENGTH = DMC_HIGH_SNARE_DRUM_DATA - DMC_HUT_VOICE_DATA
DMC_HIGH_SNARE_LENGTH = END_HIGH_SNARE - DMC_HIGH_SNARE_DRUM_DATA
DMC_BASS_DRUM_DATA: ; DMC BASS DRUM
.INCBIN "TSB.nes", $3E010, $C0
DMC_SNARE_DRUM_DATA: ; DMC SNARE DRUM
.INCBIN "TSB.nes", $3E0D0, $200
DMC_KICK_DRUM_DATA: ; DMC KICK DRUM SAMPLE (PLAYED AT HIGH, MEDIUM, LOW FREQ)
.INCBIN "TSB.nes", $3E2D0, $1F0
END_OF_KICK: ; *** not used
.INCBIN "TSB.nes", $3E4C0, $90
DMC_SAFE_VOICE_DATA: ; DMC “SAFE”
.INCBIN "TSB.nes", $3E550, $3F0
DMC_TOUCHDOWN_VOICE_DATA: ; DMC “TOUCHDOWN” *** calling command uses last 0x30 bytes of safe as start (probably a BUG)
.INCBIN "TSB.nes", $3E940, $CC0
END_OF_TOUCHDOWN:
.INCBIN "TSB.nes", $3F600, $10 ; *** not used
DMC_DOWN_VOICE_DATA: ; DMC “DOWN”
.INCBIN "TSB.nes", $3F610, $500
DMC_HUT_VOICE_DATA: ; DMC “HUT”
.INCBIN "TSB.nes", $3FB10, $300
DMC_HIGH_SNARE_DRUM_DATA: ; DMC SNARE DRUM HIGH *** uses last 0x80 bytes of hut as start (probably a BUG)
.INCBIN "TSB.nes", $3FE10, $170
END_HIGH_SNARE:
.INCBIN "TSB.nes", $3FF80, $10 ; *** not used
.PAD $FFF0, $FF
RESET: ; RESET VECTOR CODE
;
LDA #$00 ; SET ROM BANK MODE = $C000 FIXED
STA BANK_SELECT_MMC3 ;
JMP RESET_START ; JUMP->RESET
.DB $FF ;
SET_VALUE_LOCATION: ; USED IN BIT $FFF9 COMMANDS
.DB $FF ;
NMI_VECTOR: ; NMI POINTER
.WORD NMI_START ; JUMP->NMI
RESET_VECTOR: ; RESET POINTER
.WORD RESET ; JUMP->RESET START
IRQ_VECTOR: ; IRQ POINTER
.WORD IRQ_START ; JUMP->IRQ