FF6 Hacking
Romancing Saga BRR and SPC info - Printable Version

+- FF6 Hacking (https://www.ff6hacking.com/forums)
+-- Forum: Hacks, Resources and Tutorials (https://www.ff6hacking.com/forums/forum-1.html)
+--- Forum: Opera House Rehearsal Room (https://www.ff6hacking.com/forums/forum-71.html)
+---- Forum: BRR Laboratories (https://www.ff6hacking.com/forums/forum-75.html)
+---- Thread: Romancing Saga BRR and SPC info (/thread-3644.html)



Romancing Saga BRR and SPC info - madsiur - 03-07-2018

Since documentation on this game is non-existant, I'll post what I've found. A BRR pointer need a subtraction of 0x028000 to get the brr sample offset, I'm not sure if SPC pointers follow the same pattern with songs. What is called "pitch multipler" could be something else and it's similar to FF4 since it stand on one byte. However loop starting data is on 2 bytes like all other games and not on 4 bytes like FF4. There is also a regular ADSR data.


Code:
Offset           Description
024800-024886    SPC pointers (45 songs)
0248C0-024913    BRR samples pointers (28 samples, -0x028000)
025200-02521B    Pitch multipliers? (1 byte data)
025180-0251B7    Loop start positions (2 bytes data)
025240-025277    ADSR Data (2 bytes data)


Disassembly
Code:
02/03BF: B9 C0 C8       LDA $C8C0,y     ($0248C0,y) brr pointer
02/03C2: 85 20          STA $20
02/03C4: B9 C1 C8       LDA $C8C1,y     ($0248C1,y) brr pointer
02/03C7: 85 21          STA $21
02/03C9: B9 C2 C8       LDA $C8C2,y     ($0248C2,y) brr pointer
02/03CC: 85 22          STA $22

02/048F: B9 00 D2       LDA $D200,y     ($025200,y) Pitch multipliers or other sound data
02/0492: 92 32          STA ($32)
02/0494: E6 32          INC $32
02/0496: B5 60          LDA $60,x
02/0498: 92 34          STA ($34)
02/049A: E6 34          INC $34
02/049C: B5 61          LDA $61,x
02/049E: 92 34          STA ($34)
02/04A0: E6 34          INC $34
02/04A2: 7A             PLY
02/04A3: B9 80 D1       LDA $D180,y     ($025180,y) Loop start positions
02/04A6: 18             CLC
02/04A7: 75 60          ADC $60,x
02/04A9: 92 34          STA ($34)
02/04AB: E6 34          INC $34
02/04AD: B9 81 D1       LDA $D181,y     ($025181,y) Loop start positions
02/04B0: 75 61          ADC $61,x
02/04B2: 92 34          STA ($34)
02/04B4: E6 34          INC $34
02/04B6: B9 40 D2       LDA $D240,y     ($025240,y) ADSR Data
02/04B9: 92 36          STA ($36)
02/04BB: E6 36          INC $36
02/04BD: B9 41 D2       LDA $D241,y     ($025241,y) ADSR Data
02/04C0: 92 36          STA ($36)
02/04C2: E6 36          INC $36