トップページ > ゲーム音楽 > 2010年01月29日 > hzGgiP7f

書き込み順位&時間帯一覧

2 位/163 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000005016



使用した名前一覧書き込んだスレッド一覧
SOUND TEST :774
内蔵音源をmidi変換するスレ3曲目

書き込みレス一覧

内蔵音源をmidi変換するスレ3曲目
785 :SOUND TEST :774[sage]:2010/01/29(金) 21:19:17 ID:hzGgiP7f
ワイルドアームズの人じゃなくて、色々逆mmlうぷった人だけど、
俺が途中まで解析したものは、垂れ流す。
多分、数書き込みに及ぶんで、宜しく。

−−−−−
まず、ドライバーで使われるレジスターについて
※ x レジスタは、ch毎に+2される。つまり、
ch1: x = 0x00
ch2: x = 0x02
ch3: x = 0x04
ch4: x = 0x06
ch5: x = 0x08
ch6: x = 0x0A
ch7: x = 0x0C
ch8: x = 0x0E

内蔵音源をmidi変換するスレ3曲目
786 :SOUND TEST :774[sage]:2010/01/29(金) 21:20:56 ID:hzGgiP7f
■Direct pageの内容(詳しくは、CPU"6502"の専門書等を参照)
$04 WORD temp 汎用
$08 BYTE Opcode 現在の op-code
$0E BYTE
$10 BYTE EchoVolL SPC-700 Reg:0x2C の内容と同等
$11 BYTE EchoVolR SPC-700 Reg:0x3C の内容と同等
$12 BYTE KeyOn SPC-700 Reg:0x4C の内容と同等
$13 BYTE KeyOff SPC-700 Reg:0x5C の内容と同等
$14 BYTE SpcFlag SPC-700 Reg:0x6C の内容と同等
$15 BYTE EchoFB SPC-700 Reg:0x0D の内容と同等
$16 BYTE PMSW SPC-700 Reg:0x2D の内容と同等
$17 BYTE NoiseSW SPC-700 Reg:0x3D の内容と同等
$18 BYTE EchoSW SPC-700 Reg:0x4D の内容と同等
$19
$1A BYTE EchoDelay SPC-700 Reg:0x7D の内容と同等
$1B
$1C BYTE ChTruBit チャンネル(Bitに対応)
$21 BYTE flag flag
 bit 0 :
 bit 1 : op-code=0x60でHigh / op-code=0x61でLow
 bit 2 : Subroutine実行中の時、high。
 bit 3 :
 bit 4 : op-code=0xF0でHigh / op-code=0xF1でLow
 bit 5 : op-code=0x62〜0x7FでHigh
 bit 6 : Repeat制御用 (カッコ通過時にHigh)
 bit 7 : Repeat制御用 (リピート時にHigh)
$22 BYTE x レジスタの退避
$24 BYTE ChIOp チャンネル番号(I/O用)
$25 BYTE
$29 WORD LengCounter 音長用のデクリメントカウンタ lowwer
$2B BYTE Timer-1 カウント値
$2F+x WORD ptSEQ 演奏中のポインタ lower
$4F+x BYTE
$50+x BYTE GateTimeCnt
$5F+x BYTE
$60+x BYTE
$6F+x BYTE PanSwL Panpot Sweep Length

内蔵音源をmidi変換するスレ3曲目
787 :SOUND TEST :774[sage]:2010/01/29(金) 21:22:27 ID:hzGgiP7f
■メモリ空間の内容
(変数の、「ポインタ」と変数の「内容」について )
$00F2 BYTE I/O Sound DSP register
$00F3 BYTE I/O Sound DSP data
$0130+x WORD
$0140+x WORD
$0150+x WORD
$0160+x WORD
$0170+x WORD value ptSEQ 0xE6で保存する。
$0180+x WORD value ptSEQ 0xE8で保存する。
$0216 BYTE value volume
$0225+x
$0226+x BYTE value PanpotSweep 目標値
$0256+x BYTE value Transpose 移調
$0265+x BYTE value Note param.1 読み込んだ音長 [ticks]
$0266+x BYTE value Gate Time
$0275+x BYTE value Note param.2
$0285+x WORD value (音色Tableの [1]〜[2])
$0295+x BYTE value Master Volume (音色Tableの [7])
$0296+x BYTE value Note param.3 ????ヴェロシティー???
$02A5+x BYTE
$02A6+x BYTE value Program Number
$0305+x WORD value パンポット
$0315+x WORD value Panpot Sweep Depth
$03b6 BYTE

内蔵音源をmidi変換するスレ3曲目
788 :SOUND TEST :774[sage]:2010/01/29(金) 21:23:20 ID:hzGgiP7f
■音色テーブル

$0698 WORD[9] offset 音色テーブル(音色番号25番以降)のアドレス
$06aa BYTE[25][8] 音色テーブル(音色番号0〜24番)
$0772 BYTE[ 7][8] 音色テーブル(音色番号25〜31番) ※多分、Default
$07AA BYTE[13][8] 音色テーブル(パーカッション)
$0842 BYTE[ 3][8] 音色テーブル(音色番号25〜27番)
$085a BYTE[ 5][8] 音色テーブル(音色番号25〜29番)
$0882 BYTE[ 3][8] 音色テーブル(音色番号25〜27番)
$089a BYTE[ 1][8] 音色テーブル(音色番号25番)
$08a2 BYTE[ 1][8] 音色テーブル(音色番号25番)
$08aa BYTE[ 2][8] 音色テーブル(音色番号25〜26番)
$08ba BYTE[ 1][8] 音色テーブル(音色番号25番)
$08c2 BYTE[ 2][8] 音色テーブル(音色番号25〜26番)

Program Changeは、このテーブルを参照して、SPC-700の音色を設定する。
本テーブルの構造体は8[BYTE]1組で、以下の通り。
 [0] Voice Number (SPC-700に設定する音色)
 [1] Master Pitch (Lower)?
 [2] Master Pitch (Upper)?
 [3] ADSR1 SPC-700のreg.=0x05 の設定値
 [4] ADSR2 SPC-700のreg.=0x06 の設定値
 [5] Gain SPC-700のreg.=0x07 の設定値
 [6] Panpot (0 〜 10(Center) 〜 20)
 [7] Master Volume (減算値。つまり00で音量最大)

内蔵音源をmidi変換するスレ3曲目
789 :SOUND TEST :774[sage]:2010/01/29(金) 21:33:13 ID:hzGgiP7f
ttp://www1.axfc.net/uploader/Sc/so/77679.lzh&key=mdr2

ごめん。分解して書くのがめんどくなったから、うぷった。

内蔵音源をmidi変換するスレ3曲目
791 :SOUND TEST :774[sage]:2010/01/29(金) 23:27:51 ID:hzGgiP7f
そういえば、お姉ちゃんが発端だったな。
でも、普通のお姉ちゃんからは、オタクみたいって避けられそうな話題だな。
こんな16進数沢山並べて。

俺は、逆に論理畑の人だからな。
だから、合奏やると、たまに論理的に考えちゃって、
よく指揮者に「もっと感情で!音楽に乗って!」って言われる。



※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。