| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255 | 
							
- #------------------------------------------------------------------------------
 
- # msx:  file(1) magic for the MSX Home Computer
 
- # v1.1
 
- # Fabio R. Schmidlin <sd-snatcher@users.sourceforge.net>
 
- ############## MSX Music file formats ##############
 
- # Gigamix MGSDRV music file
 
- 0	string		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
 
- >6	uleshort	0x80
 
- >>0x2E	uleshort	0
 
- >>>0x30	string		>\0	\b, title: %s
 
- # KSS music file
 
- 0	string		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
 
- >>>0xF	byte&0x04	4	stereo
 
- >>0xF	byte&0x01	1	\b, YM2413
 
- >>0xF	byte&0x08	8	\b, Y8950
 
- 0	string		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&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
 
- >4	byte		0x10	MSX Moonblaster for MoonSound music
 
- # Music Player K-kaz
 
- 0	string		MPK	MSX Music Player K-kaz song
 
- >6	ubeshort	0x0D0A
 
- >>3	byte		x	v%c
 
- >>4	byte		x	\b.%c
 
- >>5	byte		x	\b%c
 
- # I don't know why these don't work
 
- #0	search/0xFFFF	\r\n.FM9
 
- #>0	search/0xFFFF	\r\n#FORMAT	MSX Music Player K-kaz source MML file
 
- #0	search/0xFFFF	\r\nFM1\ \=
 
- #>0	search/0xFFFF	\r\nPSG1\=
 
- #>>0	search/0xFFFF	\r\nSCC1\=		MSX MuSiCa MML source file
 
- # OPX Music file
 
- 0x35	beshort		0x0d0a
 
- >0x7B	beshort		0x0d0a
 
- >>0x7D	byte		0x1a
 
- >>>0x87	uleshort	0		MSX OPX Music file
 
- >>>>0x86	byte		0		v1.5
 
- >>>>>0	string		>\32		\b, title: %s
 
- >>>>0x86	byte		1		v2.4
 
- >>>>>0	string		>\32		\b, title: %s
 
- # SCMD music file
 
- 0x8B	string		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
 
- 0	search/0xFFFF	\r\n@title
 
- >&0	search/0xFFFF	\r\n@m=[	MSX SCMD source MML file
 
- ############## MSX image file formats ##############
 
- # MSX raw VRAM dump
 
- 0	ubyte		0xFE
 
- >1	uleshort	0
 
- >>5	uleshort	0
 
- >>>3	uleshort	0x37FF		MSX SC2/GRP raw image
 
- >>>3	uleshort	0x6A00		MSX Graph Saurus SR5 raw image
 
- >>>3	uleshort	>0x769E
 
- >>>>3	uleshort	<0x8000		MSX GE5/GE6 raw image
 
- >>>>>3	uleshort	0x7FFF		\b, with sprite patterns
 
- >>>3	uleshort	0xD3FF		MSX screen 7-12 raw image
 
- >>>3	uleshort	0xD400		MSX Graph Saurus SR7/SR8/SRS raw image
 
- # Graph Saurus compressed images
 
- 0	ubyte		0xFD
 
- >1	uleshort	0
 
- >>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
 
- >1	uleshort	11
 
- >>3	uleshort	>10
 
- >>>5	ubyte		>0		MSX G9B image, depth=%d
 
- >>>>8	uleshort	x		\b, %dx
 
- >>>>10	uleshort	x		\b%d
 
- >>>>5	ubyte		<9
 
- >>>>>6	ubyte		0
 
- >>>>>>7	ubyte		x		\b, codec=%d RGB color palettes
 
- >>>>>6	ubyte		64		\b, codec=RGB fixed color
 
- >>>>>6	ubyte		128		\b, codec=YJK
 
- >>>>>6	ubyte		192		\b, codec=YUV
 
- >>>>5	ubyte		>8		codec=RGB fixed color
 
- >>>>12	ubyte		0		\b, raw
 
- >>>>12	ubyte		1		\b, bitbuster compression
 
- ############## Other MSX file formats ##############
 
- # MSX ROMs
 
- 0	string		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
 
- >>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
 
- >>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
 
- >>8	uleshort	>0			\b, bas=0x%04x
 
- 0	string		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
 
- >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
 
- >>0x3C008	uleshort	>0			\b, bas=0x%04x
 
- # MSX BIN file
 
- #0	byte		0xFE
 
- #>1	uleshort	>0x8000
 
- #>>3	uleshort	>0x8004
 
- #>>>5	uleshort	>0x8000			MSX BIN file
 
- # MSX-BASIC file
 
- 0	byte		0xFF
 
- >3	uleshort	0x000A
 
- >>1	uleshort	>0x8000			MSX-BASIC program
 
- # MSX .CAS file
 
- 0	string	\x1F\xA6\xDE\xBA\xCC\x13\x7D\x74	MSX cassette archive
 
- # Mega-Assembler file
 
- 0	byte		0xFE
 
- >1	uleshort	0x0001
 
- >>5	uleshort	0xffff
 
- >>>6	byte		0x0A		MSX Mega-Assembler source
 
- # Execrom Patchfile
 
- 0	string		ExecROM\ patchfile\x1A	MSX ExecROM patchfile
 
- >0x12	ubyte/16	x		v%d
 
- >0x12	ubyte&0xF	x		\b.%d
 
- >0x13	ubyte		x		\b, contains %d patches
 
- # Konami's King's Valley-2 custom stage (ELG file)
 
- 4	uleshort	0x0900
 
- >0xF	byte		1
 
- >>0x14	byte		0
 
- >>>0x1E	string		\ \ \ 
 
- >>>>0x23	byte	1
 
- >>>>>0x25	byte	0
 
- >>>>>>0x15	string	>\x30
 
- >>>>>>>0x15	string	<\x5A		Konami King's Valley-2 custom stage, title: "%-8.8s"
 
- >>>>>>>>0x1D	byte	<32	\b, theme: %d
 
- # Metal Gear 1 savegame
 
- #0x4F	string	\x00\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF
 
- #>>0x60	string	\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF
 
- #>>>0x7B	string	\0x00\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x00	Metal Gear 1 savegame
 
 
  |