123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255 |
- #------------------------------------------------------------------------------
- # msx: file(1) magic for the MSX Home Computer
- # v1.1
- # Fábio 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
|