カプコン ストリートファイターU’ROMダンプ&解析結果 初版 93/6/1 H.Kashima. 改定 94/5/20 16bit ROMは、LSB,MSBの順で収録。 ファイル名 ROM型番 備考 ----------------------------------------------------------------------- rom-01.bin HN27C4096G-12 ObjectSet#0-0, 左半分, プレーン#0,1 rom-02.bin HN27C4096G-12 ObjectSet#0-1, 左半分, プレーン#2,3 rom-03.bin HN27C4096G-12 ObjectSet#0-2, 右半分, プレーン#0,1 rom-04.bin HN27C4096G-12 ObjectSet#0-3, 右半分, プレーン#2,3 rom-05.bin HN27C4096G-12 ObjectSet#1-0, 左半分, プレーン#0,1 rom-06.bin HN27C4096G-12 ObjectSet#1-1, 左半分, プレーン#2,3 rom-07.bin HN27C4096G-12 ObjectSet#1-2, 右半分, プレーン#0,1 rom-08.bin HN27C4096G-12 ObjectSet#1-3, 右半分, プレーン#2,3 rom-09.bin 27C512 サウンド用 Z80プログラム&データ rom-10.bin HN27C4096G-12 ObjectSet#3-0, 左半分, プレーン#0,1 rom-11.bin HN27C4096G-12 ObjectSet#3-1, 左半分, プレーン#2,3 rom-12.bin HN27C4096G-12 ObjectSet#3-2, 右半分, プレーン#0,1 rom-13.bin HN27C4096G-12 ObjectSet#3-3, 右半分, プレーン#2,3 rom-18.bin CXK27C1001DQ 4bit ADPCMデータ 0x00000-0x1ffff rom-19.bin CXK27C1001DQ 4bit ADPCMデータ 0x20000-0x3ffff rom-21a.bin HN27C4096G-12 HD68HC000用プログラム#0 rom-22b.bin HN27C4096G-12 HD68HC000用プログラム#1 rom-23b.bin HN27C4096G-12 HD68HC000用プログラム#2 総データサイズ 8.192 メガバイト 1.Objectデータ  VDPは1オブジェクトごとに数万(4,096?)色中 16色を割当てる事が出来るらしい。 PC上にてCPSテストモードのキャラクタダンプに似たビュアーを作成したがパレッ ト情報が不明であるので、出力はペイズリー状態である。 (1)ObjectSet#0, #1: アドレス: 0x00000-0x7ffff(byte) 16 x 16 dot x 4プレーン/キャラクタ 収納形式: 4つのROMにデータが並行に記録され ている。 4つの ROMから16ワードづつ 64ワードで 1キャラクタ分のデータ。 表中の LSB, MSB はワードデータを対象 としているので、それらは 8bitの幅を持つ X: X 座標(8ドット単位) Y: Y 座標 a: ROMアドレス r: ROM番号( Set#0 = 0, Set#1 = 2 ) [プレーン0] X +0 +1 Y +0 r+0:(a+0)LSB r+2:(a+0)LSB +1 r+0:(a+1)LSB r+2:(a+1)LSB +2 r+0:(a+2)LSB r+2:(a+2)LSB | | +15 r+0:(a+15)LSB r+2:(a+15)LSB [プレーン1] X +0 +1 Y +0 r+0:(a+0)MSB r+2:(a+0)MSB +1 r+0:(a+1)MSB r+2:(a+1)MSB +2 r+0:(a+2)MSB r+2:(a+2)MSB | | +15 r+0:(a+15)MSB r+2:(a+15)MSB [プレーン2] X +0 +1 Y +0 r+1:(a+0)LSB r+3:(a+0)LSB +1 r+1:(a+1)LSB r+3:(a+1)LSB +2 r+1:(a+2)LSB r+3:(a+2)LSB | | +15 r+1:(a+15)LSB r+3:(a+15)LSB [プレーン3] X +0 +1 Y +0 r+1:(a+0)MSB r+3:(a+0)MSB +1 r+1:(a+1)MSB r+3:(a+1)MSB +2 r+1:(a+2)MSB r+3:(a+2)MSB | | +15 r+1:(a+15)MSB r+3:(a+15)MSB (2)ObjectSet#3: アドレス: 0x00000-0x1ffff 16 x 16 dot x 4プレーン/キャラクタ 収納形式: ObjectSet#0, #1に同じ、16 x 16 dotの キャラクタが収納。 アドレス: 0x20000-0x3ffff 32 x 32 dot x 4プレーン/キャラクタ 収納形式: ObjectSet#0, #1の形式で、奇数ラインが 右半分16ドットとして収納。 [プレーン0] X +0 +1 +2 +3 Y +0 r+0:(a+0)LSB r+2:(a+0)LSB r+0:(a+1)LSB r+2:(a+1)LSB +1 r+0:(a+2)LSB r+2:(a+2)LSB r+0:(a+3)LSB r+2:(a+3)LSB | | +31 r+0:(a+62)LSB r+2:(a+62)LSB r+0:(a+63)LSB r+2:(a+63)LSB [プレーン1] X +0 +1 +2 +3 Y +0 r+0:(a+0)MSB r+2:(a+0)MSB r+0:(a+1)MSB r+2:(a+1)MSB +1 r+0:(a+2)MSB r+2:(a+2)MSB r+0:(a+3)MSB r+2:(a+3)MSB | | +31 r+0:(a+62)MSB r+2:(a+62)MSB r+0:(a+63)MSB r+2:(a+63)MSB [プレーン2] X +0 +1 +2 +3 Y +0 r+1:(a+0)LSB r+3:(a+0)LSB r+1:(a+1)LSB r+3:(a+1)LSB +1 r+1:(a+2)LSB r+3:(a+2)LSB r+1:(a+3)LSB r+3:(a+3)LSB | | +31 r+1:(a+62)LSB r+3:(a+62)LSB r+1:(a+63)LSB r+3:(a+63)LSB [プレーン3] X +0 +1 +2 +3 Y +0 r+1:(a+0)MSB r+3:(a+0)MSB r+1:(a+1)MSB r+3:(a+1)MSB +1 r+1:(a+2)MSB r+3:(a+2)MSB r+1:(a+3)MSB r+3:(a+3)MSB | | +31 r+1:(a+62)MSB r+3:(a+62)MSB r+1:(a+63)MSB r+3:(a+63)MSB アドレス: 0x40000-0x4ffff 8 x 8 dot x 4プレーン/キャラクタ 収納形式: ObjectSet#0, #1の形式で、右半分と左半 分は同じデータが収納。 [プレーン0] X +0 Y +0 r+0:(a+0)LSB +1 r+0:(a+1)LSB | | +7 r+0:(a+7)LSB [プレーン1] X +0 Y +0 r+0:(a+0)MSB +1 r+0:(a+1)MSB | | +7 r+0:(a+7)MSB [プレーン2] X +0 Y +0 r+1:(a+0)LSB +1 r+1:(a+1)LSB | | +7 r+1:(a+7)LSB [プレーン3] X +0 Y +0 r+1:(a+0)MSB +1 r+1:(a+1)MSB | | +7 r+1:(a+7)MSB アドレス: 0x50000-0x7ffff 16 x 16 dot x 4プレーン/キャラクタ 収納形式: ObjectSet#0, #1に同じ、16 x 16 dotの キャラクタが収納。 2.ADPCMデータ  沖電気フォーマットの ADPCM データ。 フリーソフト pcmconv にて、リニア PCMに 変換が可能。 *サンプリング周波数 : 約 7,600 Hz 0x00000-0x003ff アロケーションテーブル(8 byte / block) 収納形式: +0 Start address (Segment) +1 Start address (MSB) +2 Start address (LSB) +3 End address (Segment) +4 End address (MSB) +5 End address (LSB) +6 none +7 none 0x00400-0x3ffff 4bit ADPCMデータ 収納形式: MSB LSB 7 6 5 4 3 2 1 0 ------------------------ b(n): 適応差分値 S b3 b2 b1 S b3 b2 b1 S:サインビット 0:+ 1:- ( n + 1 ) ( n + 0 ) n:標本番号 各ADPCMデータブロックの最後には 0xFF がある。 3.Z80用ROM  よく分らん。 Version 4.25/ YM2151(FM音源), MSM6359(VoiceSynthesys)制御用 0x0000-0x0a85 シーケンサ本体? 0xd000-0xd7ff ワークエリア?,共有RAM? 0xf000-0xf00b I/Oエリア? 4.68000用プログラム  よく分らん。 rom-21a: データ?(オブジェクトのアドレスマップ?) rom-22b: プログラム? rom-23b: プログラム?  英語版のメッセージが入っている。隠しコマンドとか、ジャンパ SWとかで、英語版に変身するのだろうか?