summaryrefslogtreecommitdiff
path: root/magic/Magdir/msx
blob: 0eacbe520811cc7baca3e1599e10d375a74eba76 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255

#------------------------------------------------------------------------------
# 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