summaryrefslogtreecommitdiff
path: root/magic/Magdir/msx
diff options
context:
space:
mode:
Diffstat (limited to 'magic/Magdir/msx')
-rw-r--r--magic/Magdir/msx232
1 files changed, 143 insertions, 89 deletions
diff --git a/magic/Magdir/msx b/magic/Magdir/msx
index 0eacbe5..69df641 100644
--- a/magic/Magdir/msx
+++ b/magic/Magdir/msx
@@ -1,26 +1,26 @@
#------------------------------------------------------------------------------
# msx: file(1) magic for the MSX Home Computer
-# v1.1
+# v1.3
# Fabio R. Schmidlin <sd-snatcher@users.sourceforge.net>
############## MSX Music file formats ##############
# Gigamix MGSDRV music file
-0 string MGS MSX Gigamix MGSDRV3 music file,
+0 string/b MGS MSX Gigamix MGSDRV3 music file,
>6 ubeshort 0x0D0A
>>3 byte x \bv%c
>>4 byte x \b.%c
>>5 byte x \b%c
>>8 string >\0 \b, title: %s
-1 string mgs2\ MSX Gigamix MGSDRV2 music file
+1 string/b mgs2\ MSX Gigamix MGSDRV2 music file
>6 uleshort 0x80
>>0x2E uleshort 0
>>>0x30 string >\0 \b, title: %s
# KSS music file
-0 string KSCC KSS music file v1.03
+0 string/b KSCC KSS music file v1.03
>0xE byte 0
>>0xF byte&0x02 0 \b, soundchips: AY-3-8910, SCC(+)
>>0xF byte&0x02 2 \b, soundchip(s): SN76489
@@ -28,25 +28,25 @@
>>0xF byte&0x01 1 \b, YM2413
>>0xF byte&0x08 8 \b, Y8950
-0 string KSSX KSS music file v1.20
+0 string/b KSSX KSS music file v1.20
>0xE byte&0xEF 0
>>0xF byte&0x40 0x00 \b, 60Hz
>>0xF byte&0x40 0x40 \b, 50Hz
>>0xF byte&0x02 0 \b, soundchips: AY-3-8910, SCC(+)
>>0xF byte&0x02 0x02 \b, soundchips: SN76489
>>>0xF byte&0x04 0x04 stereo
->>0xF byte&0x01 0x01 \b,
+>>0xF byte&0x01 0x01 \b,
>>>0xF byte&0x18 0x00 \bYM2413
>>>0xF byte&0x18 0x08 \bYM2413, Y8950
>>>0xF byte&0x18 0x18 \bYM2413+Y8950 pseudostereo
>>0xF byte&0x18 0x10 \b, Majyutsushi DAC
# Moonblaster for Moonsound
-0 string MBMS
+0 string/b MBMS
>4 byte 0x10 MSX Moonblaster for MoonSound music
# Music Player K-kaz
-0 string MPK MSX Music Player K-kaz song
+0 string/b MPK MSX Music Player K-kaz song
>6 ubeshort 0x0D0A
>>3 byte x v%c
>>4 byte x \b.%c
@@ -70,7 +70,7 @@
>>>>>0 string >\32 \b, title: %s
# SCMD music file
-0x8B string SCMD
+0x8B string/b SCMD
>0xCE uleshort 0 MSX SCMD Music file
#>>-2 uleshort 0x6a71 ; The file must end with this value. How to code this here?
>>0x8F string >\0 \b, title: %s
@@ -99,36 +99,8 @@
>>5 uleshort 0
>>>3 uleshort >0x013D MSX Graph Saurus compressed image
-# Maki-chan Graphic format
-0 string MAKI02\ \ Maki-chan image,
->8 byte x system ID: %c
->9 byte x \b%c
->10 byte x \b%c
->11 byte x \b%c,
->13 search/0x200 \x1A
-# >>&3 ubyte 0 , video mode: PC-98 400 lines, 16 analog colors
-# >>&3 ubyte 1 , video mode: MSX SC7, 16 analog colors
-# >>&3 ubyte 2 , video mode: VM-98 400 lines, 8 analog colors
-# >>&3 ubyte 3 , video mode: PC-88 analog, 200 lines, 8 analog colors
-# >>&3 ubyte 4 , video mode: 400 lines, 16 digital colors
-# >>&3 ubyte 5 , video mode: 200 lines, 16 digital colors
-# >>&3 ubyte 6 , video mode: old PC-98 digital 400 lines, 8 colors
-# >>&3 ubyte 7 , video mode: PC-88 400 lines, 8 digital colors
->>&8 uleshort+1 x %dx
->>&10 uleshort+1 x \b%d,
->>&3 ubyte&0x82 0x80 256 colors
->>&3 ubyte&0x82 0x00 16 colors
->>&3 ubyte&0x82 0x01 8 colors
->>&3 ubyte&0x04 4 digital
->>&3 ubyte&0x04 0 analog
->>&3 ubyte&0x01 1 \b, 2:1 dot aspect ratio
-
-# Japanese PIC file
-0 string PIC\x1A
->4 lelong 0 Japanese PIC image file
-
# MSX G9B image file
-0 string G9B
+0 string/b G9B
>1 uleshort 11
>>3 uleshort >10
>>>5 ubyte >0 MSX G9B image, depth=%d
@@ -146,70 +118,152 @@
############## Other MSX file formats ##############
-# MSX ROMs
-0 string AB
+# MSX internal ROMs
+0 ubeshort 0xF3C3
+>2 uleshort <0x4000
+>>8 ubyte 0xC3
+>>>9 uleshort <0x4000
+>>>>0x0B ubeshort 0x00C3
+>>>>>0x0D uleshort <0x4000
+>>>>>>0x0F ubeshort 0x00C3
+>>>>>>>0x11 uleshort <0x4000
+>>>>>>>>0x13 ubeshort 0x00C3
+>>>>>>>>>0x15 uleshort <0x4000
+>>>>>>>>>>0x50 ubyte 0xC3
+>>>>>>>>>>>0x51 uleshort <0x4000
+>>>>>>>>>>>>(9.s) ubyte 0xC3
+>>>>>>>>>>>>>&0 uleshort >0x4000
+>>>>>>>>>>>>>>&0 ubyte 0xC3 MSX BIOS+BASIC
+>>>>>>>>>>>>>>>0x002D ubyte+1 <3 \b. version=MSX%d
+>>>>>>>>>>>>>>>0x002D ubyte 2 \b, version=MSX2+
+>>>>>>>>>>>>>>>0x002D ubyte 3 \b, version=MSX Turbo-R
+>>>>>>>>>>>>>>>0x002D ubyte >3 \b, version=Unknown MSX %d version
+>>>>>>>>>>>>>>>0x0006 ubyte x \b, VDP.DR=0x%2x
+>>>>>>>>>>>>>>>0x0007 ubyte x \b, VDP.DW=0x%2x
+>>>>>>>>>>>>>>>0x002B ubyte&0xF 0 \b, charset=Japanese
+>>>>>>>>>>>>>>>0x002B ubyte&0xF 1 \b, charset=International
+>>>>>>>>>>>>>>>0x002B ubyte&0xF 2 \b, charset=Korean
+>>>>>>>>>>>>>>>0x002B ubyte&0xF >2 \b, charset=Unknown id:%d
+>>>>>>>>>>>>>>>0x002B ubyte&0x70 0x00 \b, date format=Y-M-D
+>>>>>>>>>>>>>>>0x002B ubyte&0x70 0x10 \b, date format=M-D-Y
+>>>>>>>>>>>>>>>0x002B ubyte&0x70 0x20 \b, date format=D-M-Y
+>>>>>>>>>>>>>>>0x002B ubyte&0x80 0x00 \b, vfreq=60Hz
+>>>>>>>>>>>>>>>0x002B ubyte&0x80 0x80 \b, vfreq=50Hz
+>>>>>>>>>>>>>>>0x002C ubyte&0x0F 0 \b, keyboard=Japanese
+>>>>>>>>>>>>>>>0x002C ubyte&0x0F 1 \b, keyboard=International
+>>>>>>>>>>>>>>>0x002C ubyte&0x0F 2 \b, keyboard=French
+>>>>>>>>>>>>>>>0x002C ubyte&0x0F 3 \b, keyboard=UK
+>>>>>>>>>>>>>>>0x002C ubyte&0x0F 4 \b, keyboard=German
+>>>>>>>>>>>>>>>0x002C ubyte&0x0F 5 \b, keyboard=Unknown id:%d
+>>>>>>>>>>>>>>>0x002C ubyte&0x0F 6 \b, keyboard=Spanish
+>>>>>>>>>>>>>>>0x002C ubyte&0x0F >6 \b, keyboard=Unknown id:%d
+>>>>>>>>>>>>>>>0x002C ubyte&0xF0 0x00 \b, basic=Japanese
+>>>>>>>>>>>>>>>0x002C ubyte&0xF0 0x10 \b, basic=International
+>>>>>>>>>>>>>>>0x002C ubyte&0xF0 >0x10 \b, basic=Unknown id:%d
+>>>>>>>>>>>>>>>0x002E ubyte&1 1 \b, built-in MIDI
+
+
+0 string/b CD
+>2 uleshort >0x10
+>>2 uleshort <0x4000
+>>>4 uleshort <0x4000
+>>>>6 uleshort <0x4000
+>>>>>8 ubyte 0xC3
+>>>>>>9 uleshort <0x4000
+>>>>>>>0x10 ubyte 0xC3
+>>>>>>>>0x11 uleshort <0x4000
+>>>>>>>>>0x14 ubyte 0xC3
+>>>>>>>>>>0x15 uleshort <0x4000 MSX2/2+/TR SubROM
+
+0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
+>0x5F0 ubequad 0x8282828244380000
+>>0x150 ubyte 0x38
+>>>0x170 string \20\20\20
+>>>>0x1E32 string ())
+>>>>>0x2130 ubequad 0xA5A5594924231807
+>>>>>0x2138 ubequad 0x4A4A3424488830C0 MSX Kanji Font
+
+
+
+# MSX extension ROMs
+0 string/b AB
>2 uleshort 0x0010 MSX ROM
>>2 uleshort x \b, init=0x%4x
->>4 uleshort >0 \b, stat=0x%4x
->>6 uleshort >0 \b, dev=0x%4x
+>>4 uleshort >0 \b, stahdl=0x%4x
+>>6 uleshort >0 \b, devhdl=0x%4x
>>8 uleshort >0 \b, bas=0x%4x
>2 uleshort 0x4010 MSX ROM
>>2 uleshort x \b, init=0x%04x
->>4 uleshort >0 \b, stat=0x%04x
->>6 uleshort >0 \b, dev=0x%04x
+>>4 uleshort >0 \b, stahdl=0x%04x
+>>6 uleshort >0 \b, devhdl=0x%04x
>>8 uleshort >0 \b, bas=0x%04x
>2 uleshort 0x8010 MSX ROM
>>2 uleshort x \b, init=0x%04x
->>4 uleshort >0 \b, stat=0x%04x
->>6 uleshort >0 \b, dev=0x%04x
+>>4 uleshort >0 \b, stahdl=0x%04x
+>>6 uleshort >0 \b, devhdl=0x%04x
>>8 uleshort >0 \b, bas=0x%04x
+0 string/b AB\0\0
+>6 uleshort 0
+>>4 uleshort >0x400F MSX-BASIC extension ROM
+>>>4 uleshort >0 \b, stahdl=0x%04x
+>>>6 uleshort >0 \b, devhdl=0x%04x
+>>>0x1C string OPLL \b, MSX-Music
+>>>>0x18 string PAC2 \b (external)
+>>>>0x18 string APRL \b (internal)
+
+0 string/b AB\0\0\0\0
+>6 uleshort >0x400F MSX device BIOS
+>>6 uleshort >0 \b, devhdl=0x%04x
+
-0 string AB
+0 string/b AB
#>2 string 5JSuperLAYDOCK MSX Super Laydock ROM
#>3 string @HYDLIDE3MSX MSX Hydlide-3 ROM
#>3 string @3\x80IA862 Golvellius MSX1 ROM
->2 uleshort >10
->>10 string \0\0\0\0\0\0 MSX ROM
->>>0x10 string YZ\0\0\0\0 Konami Game Master 2 MSX ROM
->>>0x10 string CD \b, Konami RC-
->>>>0x12 ubyte x \b%d
->>>>0x13 ubyte/16 x \b%d
->>>>0x13 ubyte&0xF x \b%d
->>>0x10 string EF \b, Konami RC-
->>>>0x12 ubyte x \b%d
->>>>0x13 ubyte/16 x \b%d
->>>>0x13 ubyte&0xF x \b%d
->>>2 uleshort x \b, init=0x%04x
->>>4 uleshort >0 \b, stat=0x%04x
->>>6 uleshort >0 \b, dev=0x%04x
->>>8 uleshort >0 \b, bas=0x%04x
->2 uleshort 0
->>4 uleshort 0
->>>6 uleshort 0
->>>>8 uleshort >0 MSX BASIC program in ROM, bas=0x%04x
-
-0x4000 string AB
->0x4002 uleshort >0x4010
->>0x400A string \0\0\0\0\0\0 MSX MegaROM with nonstandard page order
->>0x4002 uleshort x \b, init=0x%04x
->>0x4004 uleshort >0 \b, stat=0x%04x
->>0x4006 uleshort >0 \b, dev=0x%04x
->>0x4008 uleshort >0 \b, bas=0x%04x
-
-0x8000 string AB
->0x8002 uleshort >0x4010
->>0x800A string \0\0\0\0\0\0 MSX MegaROM with nonstandard page order
->>0x8002 uleshort x \b, init=0x%04x
->>0x8004 uleshort >0 \b, stat=0x%04x
->>0x8006 uleshort >0 \b, dev=0x%04x
->>0x8008 uleshort >0 \b, bas=0x%04x
-
-
-0x3C000 string AB
+>2 uleshort >15
+>>2 uleshort <0xC000
+>>>8 string \0\0\0\0\0\0\0\0
+>>>>(2.s&0x3FFF) uleshort >0 MSX ROM
+>>>>>0x10 string YZ\0\0\0\0 Konami Game Master 2 MSX ROM
+>>>>>0x10 string CD \b, Konami RC-
+>>>>>>0x12 ubyte x \b%d
+>>>>>>0x13 ubyte/16 x \b%d
+>>>>>>0x13 ubyte&0xF x \b%d
+>>>>>0x10 string EF \b, Konami RC-
+>>>>>>0x12 ubyte x \b%d
+>>>>>>0x13 ubyte/16 x \b%d
+>>>>>>0x13 ubyte&0xF x \b%d
+>>>>>2 uleshort x \b, init=0x%04x
+>>>>>4 uleshort >0 \b, stahdl=0x%04x
+>>>>>6 uleshort >0 \b, devhdl=0x%04x
+>>>>>8 uleshort >0 \b, bas=0x%04x
+>>>2 uleshort 0
+>>>>4 uleshort 0
+>>>>>6 uleshort 0
+>>>>>>8 uleshort >0 MSX BASIC program in ROM, bas=0x%04x
+
+0x4000 string/b AB
+>0x4002 uleshort >0x400F
+>>0x400A string \0\0\0\0\0\0 MSX ROM with nonstandard page order
+>>>0x4002 uleshort x \b, init=0x%04x
+>>>0x4004 uleshort >0 \b, stahdl=0x%04x
+>>>0x4006 uleshort >0 \b, devhdl=0x%04x
+>>>0x4008 uleshort >0 \b, bas=0x%04x
+
+0x8000 string/b AB
+>0x8002 uleshort >0x400F
+>>0x800A string \0\0\0\0\0\0 MSX ROM with nonstandard page order
+>>>0x8002 uleshort x \b, init=0x%04x
+>>>0x8004 uleshort >0 \b, stahdl=0x%04x
+>>>0x8006 uleshort >0 \b, devhdl=0x%04x
+>>>0x8008 uleshort >0 \b, bas=0x%04x
+
+
+0x3C000 string/b AB
>0x3C008 string \0\0\0\0\0\0\0\0 MSX MegaROM with nonstandard page order
>>0x3C002 uleshort x \b, init=0x%04x
->>0x3C004 uleshort >0 \b, stat=0x%04x
->>0x3C006 uleshort >0 \b, dev=0x%04x
+>>0x3C004 uleshort >0 \b, stahdl=0x%04x
+>>0x3C006 uleshort >0 \b, devhdl=0x%04x
>>0x3C008 uleshort >0 \b, bas=0x%04x
# MSX BIN file
@@ -224,7 +278,7 @@
>>1 uleshort >0x8000 MSX-BASIC program
# MSX .CAS file
-0 string \x1F\xA6\xDE\xBA\xCC\x13\x7D\x74 MSX cassette archive
+0 string/b \x1F\xA6\xDE\xBA\xCC\x13\x7D\x74 MSX cassette archive
# Mega-Assembler file
0 byte 0xFE
@@ -242,7 +296,7 @@
4 uleshort 0x0900
>0xF byte 1
>>0x14 byte 0
->>>0x1E string \ \ \
+>>>0x1E string \040\040\040
>>>>0x23 byte 1
>>>>>0x25 byte 0
>>>>>>0x15 string >\x30