スーパーファミコン用ロムイメージの情報


;************************************************
; SUPER UFO FILE
; 0400H=XX, SIZE=XX * 8KBYTE
; 0402H= 80, DISK DOS JMP 8000H
; 0402H= 40, MULTI FILE LOAD TO 8000H-FFFFH
; 0402H= 10, NEXT FILE LOAD TO 0000H-7FFFH
; 0402H= 08, NEXT FILE LOAD TO 0000H-7FFFH
; 0402H= 00, LAST FILE
; 0408H="SUPERUFO"
; 0410H=BK_MAP, CARD SRAM MAP
; 0411H=BK_CROM, CARD SIZE
; 0412H=BK_DRAMMD, DSP, DRAM TYPE, C_MODE
; 0413H=BK_SRAM, SRAM SIZE
; 0414H=BK_SRAMMD0, SRAM A15
; 0415H=BK_SRAMMD1, SRAM A20, A21
; 0416H=BK_SRAMMD2, SRAM A22, A23
; 0417H=BK_SRAMMD3, SRAM MODE
;************************************************
;************************************************
; PRO6 HYPER DISK
; 0400H= XX, SIZE= XX * 8KBYTE
; 0402H= 80, DISK DOS JMP 8000H
; 0402H= 40, MULTI FILE LOAD TO 8000H-FFFFH
; 0402H= 20, DISABLE SRAM
; 0402H= 10, NEXT FILE LOAD TO 0000H-7FFFH
; 0402H= 08, NEXT FILE LOAD TO 0000H-7FFFH
; 0402H= 00, LAST FILE
;************************************************
UFOのHiROM形式のイメージ
UFOのロムイメージは基本的に32Kでマッピングされています。
分割ファイルの前半は8000H-FFFFHに格納、後半は0000H-7FFFHに格納される。
ちなみに、0000H、8000Hのどちらにマッピングされるかの区別は1つ前のファ
イルのヘッダー情報から読みとるのでお間違えなく。
ex.	エルファリア2(HiROM 16M)
	filename	0002H	mapping
	EL2.1GM		40	8000H(multi start)
	EL2.2GM		10	8000H(next 0000h)
	EL2.3GM		10	0000H(next 0000h)
	EL2.4GM		00	0000H(last file)

;**************************************
; G. DOCTOR DISK LOAD LOOP
; FILE=SFX_Y.0Z8
; X= 4,8,10,12,16,20,24,32 = FILE SIZE IN M BIT
; Y= NOT "A"-"F" = SINGLE FILE
; Y= "A"-"F"= MULTI FILE
; Z= 4, 5, 7, 7, 7, 7, 7, 7
;**************************************
容量
SF1000		131072
SF4000		524288
SF8000		1048576
SF10000		1310720
SF12000		1572864
SF16000		2097152
SF20000		2621440
SF24000		3145728
SF32000		4194304		4194816

分割ドクター形式
マジコンの格納バンクサイズが8M単位ですので分割は基本的に8Mづつです
12Mだと8M+4M、16Mだと8M+8M…32Mだと8MX4。

ex.	12M
	SF12001a.078	1048576
	SF12001b.078	524288

	32M
	SF32001a.078	1048576
	SF32001b.078	1048576
	SF32001c.078	1048576
	SF32001d.078	1048576
	SF32001e.078	1048576
	SF32001f.078	1048576

HiROM形式のイメージ
64Kバンクですが、前半0000H-7FFFHをAバンク、後半8000H-FFFFHをBバンク
とすると。
イメージ構造は、
B0+B1+B2……B(max−1)+B(max)
A0+A1+A2……A(max−1)+A(max)
の2つに分割されます。
さらに8Mバンクの法則でさらに分割されます。ファイルを大きく2つに分けて
前半の半分はBバンク、後半の半分はAバンクです。
さらに付け加えるならHiROM形式の場合ヘッダーが付きます。ヘッダーに
マッピングの情報が有りますので必ずしも上の法則通りに格納されなくても
ドクター上では読めると思われます。UFOではヘッダーを解析して読んでなく
ロム情報からHiとLoを区別してHiの場合は上の法則で決め打ちして読んで
います。


;**************************************
; P.FIGHTER(.SMC) DISK
; 0400H= XX, SIZE= XX * 8KBYTE
; 0402H= 40, MULTI FILE LOAD TO 8000H-FFFFH
; 0402H= 10, MODE=P , LOAD TO 0000H-FFFFH
; 0402H= 00, MODE=N , LOAD TO 8000H-FFFFH
; 0403H= 80, MODE=P , LOAD TO 0000H-FFFFH
; 0403H= 00, MODE=N , LOAD TO 8000H-FFFFH
; 0404H= 00/CC, MODE=N , LOAD TO 8000H-FFFFH
; 0404H= 11/77, MODE=P , LOAD TO 0000H-FFFFH
;**************************************
;**************************************
; SUPER WILD CARD(.SWC) DISK
; 0400H= XX, SIZE= XX * 8KBYTE
;
; 0402H= 80, Run program Mode(0=JMP $8000,1=JMP RESET Vector)
; 0402H= 40, Splitted file follows(0=no more,1=next split file)
; 0402H= 20, SRAM mapping(0=mode20,1=mode21)
; 0402H= 10, DRAM mapping(0=mode20,1=mode21)
; 0402H= 00, SRAM=256K
; 0402H= 04, SRAM=64K
; 0402H= 08, SRAM=16K
; 0402H= 0C, SRAM=off
;**************************************

back