prep for next commit

This commit is contained in:
padz
2012-11-02 18:43:05 -04:00
parent ef93cdf313
commit 95ac2a8da6
3 changed files with 467 additions and 59 deletions

255
wram.asm
View File

@@ -1,17 +1,7 @@
SECTION "audio",BSS[$c101]
; channel structure:
; $00: music id lo
; $01: music id hi
;
; $03: channel flags? bit 0 = on/off
;
; $06: address of music data
;
; $19: note length lo
; $1a: note length hi
; $1b: lr tracks (bit corresponds to track #)
;
; $2d: tempo
SECTION "audio",BSS[$c100]
MusicPlaying: ; c100
; nonzero if playing
ds 1
Channels:
Channel1:
@@ -19,21 +9,154 @@ Channel1MusicID: ; c101
ds 2
Channel1MusicBank: ; c103
ds 1
; $03 = channel flags?
Channel1Flags: ; c104
; 0: on/off
; 1: subroutine
; 2:
; 3:
; 4: noise sampling on/off
; 5:
; 6:
; 7:
ds 1
Channel1Flags2: ; c105
; 0: vibrato on/off
; 1:
; 2: duty cycle on/off
; 3:
; 4:
; 5:
; 6:
; 7:
ds 1
Channel1Flags3: ; c106
; 0: vibrato up/down
; 1:
; 2:
; 3:
; 4:
; 5:
; 6:
; 7:
ds 1
; note/octave????
ds 2
Channel1MusicAddress: ; c107
ds 2
ds 17
Channel1NoteLength: ; c11a
Channel1LastMusicAddress: ; c109
ds 2
Channel1LR: ; c11c
; could have been meant as a third-level address
; unused? ; c10b
ds 1
ds 17
Channel1Tempo: ; c12e
; unused? ; c10c
ds 1
ds 4
Channel1NoteFlags: ; c10d
; 0:
; 1:
; 2:
; 3:
; 4:
; 5: rest
; 6:
; 7:
ds 1
Channel1Condition: ; c10e
; used for conditional jumps
ds 1
Channel1DutyCycle: ; c10f
; uses top 2 bits only
; 0: 12.5%
; 1: 25%
; 2: 50%
; 3: 75%
ds 1
Channel1Intensity: ; c110
; hi: pressure
; lo: velocity
ds 1
Channel1Frequency: ; c111
; 11 bits
ds 2
Channel1Pitch: ; c113
; 0: rest
; 1: C
; 2: C#
; 3: D
; 4: D#
; 5: E
; 6: F
; 7: F#
; 8: G
; 9: G#
; a: A
; b: A#
; c: B
ds 1
Channel1Octave: ; c114
; 0: highest
; 7: lowest
ds 1
Channel1StartingOctave ; c115
; raises existing octaves by this value
; used for repeating phrases in a higher octave to save space
ds 1
Channel1NoteDuration: ; c116
; number of frames remaining in the current note
ds 1
; c117
ds 1
; c118
ds 1
Channel1LoopCount ; c119
ds 1
Channel1Tempo: ; c11a
ds 2
Channel1Tracks: ; c11c
; hi: l
; lo: r
ds 1
; c11d
ds 1
Channel1VibratoDelayCount: ; c11e
; initialized at the value in VibratoDelay
; decrements each frame
; at 0, vibrato starts
ds 1
Channel1VibratoDelay: ; c11f
; number of frames a note plays until vibrato starts
ds 1
Channel1VibratoExtent: ; c120
; difference in
ds 1
Channel1VibratoRate: ; c121
; counts down from a max of 15 frames
; over which the pitch is alternated
; hi: init frames
; lo: frame count
ds 1
; c122
ds 1
; c123
ds 1
; c124
ds 1
; c125
ds 1
; c126
ds 1
ds 7
Channel1NoteLength: ; c12e
; # frames per 16th note
ds 1
; c12f
ds 1
; c130
ds 1
; c131
ds 1
; c132
ds 1
; end
Channel2: ; c133
ds 50
@@ -52,13 +175,25 @@ Channel7: ; c22d
Channel8: ; c25f
ds 50
ds 7
MusicHeaderBuffer: ; c298
; c291
ds 1
CurMusicChannel: ; c299
; c292
ds 1
; c293
ds 1
; c294
ds 1
; c295
ds 1
; c296
ds 1
; c297
ds 1
CurMusicByte: ; c298
ds 1
CurChannel: ; c299
ds 1
Volume: ; c29a
; corresponds to $ff24
; Channel control / ON-OFF / Volume (R/W)
@@ -67,27 +202,69 @@ Volume: ; c29a
; bit 3 - Vin->SO1 ON/OFF
; bit 2-0 - SO1 output level (volume) (# 0-7)
ds 1
SoundOutput: ; c29b
; corresponds to $ff25
; bit 4-7: ch1-4 so2 on/off
; bit 0-3: ch1-4 so1 on/off
ds 1
SoundInput: ; c29c
; corresponds to $ff26
; bit 7: global on/off
; bit 0: ch1 on/off
; bit 1: ch2 on/off
; bit 2: ch3 on/off
; bit 3: ch4 on/off
ds 1
ds 2
MusicID:
MusicIDLo: ; c29d
ds 1
MusicIDHi: ; c29e
ds 1
MusicBank: ; c29f
ds 1
ds 7
MusicLength: ; c2a7
; fades out when counter hits this value
; $00 = infinite
NoiseSampleAddress:
NoiseSampleAddressLo: ; c2a0
ds 1
NoiseSampleAddressHi: ; c2a1
ds 1
; noise delay? ; c2a2
ds 1
; c2a3
ds 1
MusicNoiseSampleSet: ; c2a4
ds 1
SFXNoiseSampleSet: ; c2a5
ds 1
; c2a6
ds 1
MusicFade: ; c2a7
; fades volume over x frames
; bit 7: fade in/out
; bit 0-5: number of frames for each volume level
; $00 = none (default)
ds 1
MusicFadeCount: ; c2a8
ds 1
MusicFadeID:
MusicFadeIDLo: ; c2a9
ds 1
MusicFadeIDHi: ; c2aa
ds 1
ds 9
LastVolume: ; c2b4
; preserves volume of a song playing so cries can have their own volume
ds 1
ds 1
SFXPriority: ; c2b6
; if nonzero, turn off music when playing sfx
ds 1
ds 6
CryTracks ; c2bd
; plays only in left or right track depending on what side the monster is on
; both tracks active outside of battle
ds 1
ds 1
ds 23
CurSFX: ; c2bf
; id of sfx currently playing
ds 1