;************************************************ ; 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 ;**************************************