A slickproductions.org /forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=printpage;topic=192.0 e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexadeb.html slickproductions.org /forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=192.0 e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexadeb.html.z x 4h^ OK text/html ISO-8859-1 gzip @ Wed, 11 Mar 2020 01:01:33 GMT 0 0 P 4h^ ]!
$C4/0222 BF 97 3B C4 LDA $C43B97,x SPC Pointers 24bit
$C4/0226 85 14 STA $14
$C4/0228 BF 98 3B C4 LDA $C43B98,x " "
$C4/022C 85 15 STA $15
$C4/022E BF 99 3B C4 LDA $C43B99,x " "
$C4/0232 85 16 STA $16
00-0D - Play note, C
0E-1B - Play note, C#
1C-29 - Play note, D
2A-37 - Play note, D#
38-45 - Play note, E
46-53 - Play note, F
54-61 - Play note, F#
62-6F - Play note, G
70-7D - Play note, G#
7E-8B - Play note, A
8C-99 - Play note, A#
9A-A7 - Play note, B
A8-BF - Play note, B#
C0-CE - rest
D2 xx - set instrument volume to xx
D3 xx - ???
D4 xx - pan channel left or right [$00 = Right, $64 = middle, $FF = Left] (reverse stereo)
D7 ss tt dd - Vibrato: ss = speed, tt = time until vibrato, dd = depth
E0 - Vibrato off?
E1 - ???
E2 - ???
E3 - ???
E4 xx - change pitch to xx
E5 xx - lenth of next note is xx
EA xx - change instrument to xx
F0 xx yy - ???
F1 - ???
F2 - end of channel
F3 xx - change tempo to xx
F4 - ???
F5 xx - set reverb to xx
F6 - ???
F7 xx yy - ???
F8 xx - set global SPC volume to xx
FF - end of sequence?
"C5E5E8", "C5EB7A", "C5F1B4", "C5FA57", "C5FF1D", // 0 - 4
"C60395", "C6074E", "C60BCD", "C60EE3", "C612D8", // 5 - 9
"C61E9D", "C61F9F", "C62181", "C625C2", "C6287D", // 10 - 14
"C62AFD", "C62CE4", "C62F71", "C62F8D", "C63257", // 15 - 19
"C63647", "C63CE6", "C641A2", "C6453F", "C64781", // 20 - 24
"C64AB9", "C64CD9", "C65112", "C652B0", "C65904", // 25 - 29
"C65CC1", "C6BC98", "C66079", "C665FA", "C66E3B", // 30 - 34
"C67861", "C6B710", "C67E53", "C6A4A3", "C67FC4", // 35 - 39
"C685A3", "C68AB5", "C68BB7", "C6C032", "C68D5A", // 40 - 44
"C69074", "C6948A", "C6990D", "C69A9F", "C69CE0", // 45 - 49
"C6A1AA", "C6A7BE", "C6ACF6", "C6B364", "C6AD7B", // 50 - 54
"C6B40E", "C6AE4B", "C6B603", "C6B4E2", "C6B030", // 55 - 59
"C6B1CB", "C6BA96", "C6C58B", "C6C7AE", "C6CD42", // 60 - 64
"D0C800", "C6DB7B", "C6E1C5", "C6E844", "C6FCF2", // 65 - 69
"C6FDC4", "C6FDFE" // 70 - 71
0001 - Length (starts after this byte)
CB8A - channel pointer
CB8A - channel pointer (remove to import to MQ and reduce the length by 2 bytes)
FB8A - channel pointer
148B - channel pointer
2D8B - channel pointer
4A8B - channel pointer
5C8B - channel pointer
7D8B - channel pointer
9D8B - channel pointer
B78B - channel pointer
F3 78 - change tempo to 120
F7 64 00 - ???
F5 32 - set reverb for sequence to 50
F8 AA - set global sequence volume to 170
D2 FA - set sample volume to 250
D4 6E - pan channel [$00 = Right, $64 = middle, $FF = Left] (reverse stereo)
EA 20 - change sample to #1 on the sample index list
D7 0C 14 C3 - set vibrato: speed 12, time interval 18 and depth of 195
E2 - ???
E4 04 - change sample octave to 4
B1 - rest
E5 1B - length of next note is 27
39 48 65 83 92 AA B0 CE B0 CE B0 CE F3 6E - notes
E5 05 - length of next note is 5
F3 64 - change temple to 100
23 - note
F3 5A - change tempo to 90
3C - note
F2 - end of channel
D2 FA - sample volume to 250
D4 64 - pan channel [$00 = Right, $64 = middle, $FF = Left] (reverse stereo)
EA 20 - change sample to #1
D7 0C 14 C3 - set vibrato: speed 12, time interval 18 and depth of 195
E2 - ???
C8 - rest
E4 05 - set sample octave to 5
7D 83 CE 83 CE 83 CE 6E 8C 78 - notes
F2 - end of channel
D2 FA - change sample volume to 250
D4 5A - pan channel [$00 = Right, $64 = middle, $FF = Left] (reverse stereo)
EA 20 - change sample to #1
D7 0C 14 C3 - set vibrato: speed 12, time interval 18 and depth of 195
E2 - ???
C8 - rest
E4 05 - change sample octave to 5
41 47 CE 47 CE 47 CE 41 5F 3C - notes
F2 - end of channel
D2 FA - change sample volume to 250
D4 50 - pan channel [$00 = Right, $64 = middle, $FF = Left] (reverse stereo)
EA 21 - change sample to #2
E2 - ???
C8 - rest
E4 03 - change sample octave to 3
AA AE AE AE - notes
E5 05 - change length of next note to 5
23 41 - notes
D3 90 - ???
32 - note
F0 11 47 - ???
F1 - ???
D2 64 - change sample volume to 250
3E - note
F2 - end of channel
D2 FA - change sample volume to 250
D4 96 - pan channel [$00 = Right, $64 = middle, $FF = Left] (reverse stereo)
EA 22 - change sample to #3
D7 0C 14 C3 - set vibrato: speed 12, time interval 18 and depth of 195
E2 - ???
C8 - rest
E4 05 - change sample octave to 5
89 89 87 - notes
F2 - end of channel
D2 96 - change sample volume to 150
D4 78 - pan channel [$00 = Right, $64 = middle, $FF = Left] (reverse stereo)
EA 23 - change sample to #4
D7 0C 14 C3 - set vibrato: speed 12, time interval 18 and depth of 195
E2 - ???
E4 04 - change sample octave to 4
B1 - note
E5 1B - change length of next note to 27
39 48 65 83 92 AA B0 CE B0 CE B0 CE - notes and rests
E5 05 - change length of next note to 5
23 3C - notes
F2 - end of channel
D2 96 - change sample volume to 150
D4 82 - pan channel [$00 = Right, $64 = middle, $FF = Left] (reverse stereo)
EA 23 - change sample to #4
D7 0C 14 C3 - set vibrato: speed 12, time interval 18 and depth of 195
E2 - ???
E4 04- change sample octave to 4
84 93 B1 - notes
E5 1B - change length of next note to 27
38 47 65 7D 83 CE 83 CE 83 CE 6E 5F 78 -
F2 - end of channel
D2 96 - change sample volume to 150
D4 8C - pan channel [$00 = Right, $64 = middle, $FF = Left] (reverse stereo)
EA 23 - change sample to #4
D7 0C 14 C3 - set vibrato: speed 12, time interval 18 and depth of 195
E2 - ???
C8 - rest
E4 03 - change sample octave to 3
AA B0 CE B0 CE B0 CE - notes and rests
E5 05 - change length of next note to 5
23 3C - notes
F2 - end of channel (and in this case the sequence)
00: Ahead on Our Way
01: The Fierce Battle
02: A Presentiment
03: Go go Boco!
04: Pirates Ahoy!
05: Tenderness in the Air
06: Fate in Haze
07: Critter Tripper Fritter!
08: The Prelude
09: The Last Battle
0A: Requiem
0B: Nostalgia
0C: Cursed Earths
0D: Lenna's Theme
0E: Victory's Fanfare
0F: Deception
10: The Day will Come
11: ...silence
12: Exdeath's Castle
13: My Home, Sweet Home
14: Waltz Suomi
15: Sealed Away
16: The Four Warriors of Dawn
17: Danger!
18: The Fire-Powered Ship
19: As I Feel, You Feel
1A: Mambo de Chocobo!
1B: Music Box
1C: Intension of the Earth
1D: The Dragon Spreads its Wings
1E: Beyond the Deep Blue Sea
1F: Prelude of Empty Skies
20: Searching the Light
21: Harvest
22: Gilgamesh
23: Four Valiant Hearts
24: The Book of Sealings
25: What?
26: Hurry! Hurry!
27: Unknown Lands
28: The Airship
29: Fanfare #1
2A: Fanfare #2
2B: The Battle
2C: Walking the Snowy Mountains
2D: The Evil Lord, Exdeath
2E: The Castle of Dawn
2F: I'm a Dancer
30: Reminiscence
31: Run!
32: The Ancient Library
33: Royal Palace
34: Good Night!
35: Piano lesson 1
36: Piano lesson 2
37: Piano lesson 3
38: Piano lesson 4
39: Piano lesson 5
3A: Piano lesson 6
3B: Piano lesson 7
3C: Piano lesson 8
3D: Musica Machina
3E: (a meteor is falling)
3F: The Land Unknown
40: The Decisive Battle
41: The Silent Beyond
42: Dear Friends
43: Final Fantasy
44: A New Origin
45: (crickets chirping)
46: a shore
47: the tide rolls in
:laugh:
Seems like CT is actually capable of playing FF5 songs more than FF6, though it still needs work. So maybe if you can get the songs to work right in CT, then you can port them to FF6.
:omg: wouldn't that be amazing?
You'll like this.
http://entroper.no-ip.org/FF5/FF5data.xls
This is from the GBA ROM, BTW.
There's even a monster AI dump.
You'll like this.
http://entroper.no-ip.org/FF5/FF5data.xls
This is from the GBA ROM, BTW.
There's even a monster AI dump.
That link is broken now... :sad:
I can't believe its March already. I'm behind schedule on my projects. Damn life and its two jobs and car searching. Oh, and I blame my PSP too. :laugh:
http://www9.atwiki.jp/ffbin/pages/34.html
I don't know how accurate their information is, and it's all in Japanese, but maybe this will help a bit.
D2 xx xx = チャンネル毎の音量 各Channel最初で必須?
D3 xx yy xx(時間)でyy(音量)へ ---
D4 xx xx = 00(左鳴)→FF(右鳴) 各Channel最初で必須?
D5 xx yy? 音量をyy(時間)で左から右へ ---
D6 xx yy 直前の音の高さをxxにyy(時間)スライド ---
D7 xx yy zz ビブラート指定 / xxがディレイ 各Channel最初など
yyが周期 / zzが振幅
D8 ビブラート解除 ----
D9 xx yy zz 音量を上下に振動 / xxがディレイ ----
yyが周期 / zzが振幅
DA 音量振動解除
DB 自動変動バランス指定xx変動幅yy変動速度(00遅FF早) ----
DC 自動変動バランス解除 ----
DD xx ???? ----
DE 音が消える(そのチャンネルのみ) ----
DF ???? ----
E0 ???? ----
E1 ???? ----
E2 以降 エコー有効 各Channel最初など
E3 以降 エコー無効 各Channel最初など
E4 xx 以降の音程をxxオクターブにする 楽譜が始まる前に設定 *1
E5 以降 1オクターブ上げる ----
E6 以降 1オクターブ下げる ----
E7 xx オクターブ+xx?
E8 xx E7と同様?
E9 xx オクターブ関係?
EA xx xx = 20(No.0),21(No.1),… 各Channel最初で設定
EB xx 音量を時間xxをかけて上げる 各Channel最初など
EC xx ?? ----
ED xx 音量をxxにする? ----
EE xx EF EE~EF間,時間xxかけて音量を下げる
F0 xx **** F1 (xx+1)回 **** を繰り返す ****内に F0~F1 も可
F2 (ループがない場合の)終端 ----
F3 xx xx = テンポ(≒bpm) Channel 1 最初で設定
F4 xx yy テンポをyyまでxxかけて変更?(全体)
F5 xx xx = エコー強度[F5 32 等] Channel 1 最初で設定
F6 xx yy エコーボリュームをyyまでxxかけて変更?(全体)
F7 xx yy ??[F7 64 00 等] Channel 1 最初で設定
F8 xx xx = 全体の音量 Channel 1 最初で設定
F9 xx yy zz F0 ** F1間に置かれ, 2重ループ内だと異常? *2
xx回目のループでアドレスzzyyへ飛ぶ
FA xx yy アドレスyyxxに飛ぶ *3 最後など
FB xx yy ?? ----
FC-FF 終端?(未定義?) ----
D3 xx - Volume slide
D5 xx yy - Channel pan slide
D6 xx yy - Pitch slide
D8 - Vibrato off
D9 xx yy zz- Tremolo?
DA - Tremelo off?
DB xx yy zz - Pan loop on?
DC - Pan loop off?
DD xx - Noise
DE - Noise off
E2 - Echo on
E3 - Echo off
E5 - Go up an octave
E6 - Go down an octave
E7 xx - Transpose
E8 xx - Transpose Relative
E9 xx - Finetune
F0 xx - Start loop (xx + 1 times)
F1 - End loop
F2 & FC-FF - End channel
F4 xx yy - Tempo slide?
F5 xx - Echo volume?
F6 xx yy - Echo Volume Slide?
F9 xx yy zz - End loop after xx times and go to zzyy.
FA xx yy - Go to yyxx
Not sure if I should remove my previous post first or not, but anyway.
Here's what I have based off the Japanese page and some comparisons of the SPC SPC700 code to the "S-SPC" core.QuoteD3 xx - Volume slide
D5 xx yy - Channel pan slide
D6 xx yy - Pitch slide
D8 - Vibrato off
D9 xx yy zz- Tremolo?
DA - Tremelo off?
DB xx yy zz - Pan loop on?
DC - Pan loop off?
DD xx - Noise
DE - Noise off
E2 - Echo on
E3 - Echo off
E5 - Go up an octave
E6 - Go down an octave
E7 xx - Transpose
E8 xx - Transpose Relative
E9 xx - Finetune
F0 xx - Start loop (xx + 1 times)
F1 - End loop
F2 & FC-FF - End channel
F4 xx yy - Tempo slide?
F5 xx - Echo volume?
F6 xx yy - Echo Volume Slide?
F9 xx yy zz - End loop after xx times and go to zzyy.
FA xx yy - Go to yyxx
Pan apparently takes values double that of the "S-SPC" core in FF6 and other games.
- EB xx Attack [xx: 00-0F]
- EC xx Decay [xx: 00-07]
- ED xx Sustain Level[xx: 00-07]
- EE xx Sustain Rate[xx: 00-1F]
- EF ADSR の値を元に戻す (ADSR Reset)
I pointed out before that FFV has one more note length than the FF6/CT/etc. SPC core. (I think it's a 3/4 note.) Because of this, the pitches begin at different places in FFV's SPC core.
I made a FFV-SPC to MML converter a while back.