xref: /minix3/external/bsd/file/dist/magic/magdir/console (revision 84d9c625bfea59e274550651111ae9edfdc40fbd)
1835f6802SDirk Vogt
2ef01931fSBen Gras#------------------------------------------------------------------------------
3*84d9c625SLionel Sambuc# $File: console,v 1.19 2013/02/06 14:18:52 christos Exp $
4ef01931fSBen Gras# Console game magic
5ef01931fSBen Gras# Toby Deshane <hac@shoelace.digivill.net>
6ef01931fSBen Gras#    ines:  file(1) magic for Marat's iNES Nintendo Entertainment System
7ef01931fSBen Gras#           ROM dump format
8ef01931fSBen Gras
9ef01931fSBen Gras0 string NES\032 iNES ROM dump,
10ef01931fSBen Gras>4 byte  x     %dx16k PRG
11ef01931fSBen Gras>5 byte  x     \b, %dx8k CHR
12ef01931fSBen Gras>6 byte&0x01  =0x1  \b, [Vert.]
13ef01931fSBen Gras>6 byte&0x01  =0x0  \b, [Horiz.]
14ef01931fSBen Gras>6 byte&0x02  =0x2  \b, [SRAM]
15ef01931fSBen Gras>6 byte&0x04  =0x4  \b, [Trainer]
16ef01931fSBen Gras>6 byte&0x04  =0x8  \b, [4-Scr]
17ef01931fSBen Gras
18ef01931fSBen Gras#------------------------------------------------------------------------------
19ef01931fSBen Gras# gameboy:  file(1) magic for the Nintendo (Color) Gameboy raw ROM format
20ef01931fSBen Gras#
21ef01931fSBen Gras0x104 belong 0xCEED6666 Gameboy ROM:
22ef01931fSBen Gras>0x134 string >\0 "%.16s"
23ef01931fSBen Gras>0x146 byte 0x03  \b,[SGB]
24ef01931fSBen Gras>0x147 byte 0x00  \b, [ROM ONLY]
25ef01931fSBen Gras>0x147 byte 0x01  \b, [ROM+MBC1]
26ef01931fSBen Gras>0x147 byte 0x02  \b, [ROM+MBC1+RAM]
27ef01931fSBen Gras>0x147 byte 0x03  \b, [ROM+MBC1+RAM+BATT]
28ef01931fSBen Gras>0x147 byte 0x05  \b, [ROM+MBC2]
29ef01931fSBen Gras>0x147 byte 0x06  \b, [ROM+MBC2+BATTERY]
30ef01931fSBen Gras>0x147 byte 0x08  \b, [ROM+RAM]
31ef01931fSBen Gras>0x147 byte 0x09  \b, [ROM+RAM+BATTERY]
32ef01931fSBen Gras>0x147 byte 0x0B  \b, [ROM+MMM01]
33ef01931fSBen Gras>0x147 byte 0x0C  \b, [ROM+MMM01+SRAM]
34ef01931fSBen Gras>0x147 byte 0x0D  \b, [ROM+MMM01+SRAM+BATT]
35ef01931fSBen Gras>0x147 byte 0x0F  \b, [ROM+MBC3+TIMER+BATT]
36ef01931fSBen Gras>0x147 byte 0x10  \b, [ROM+MBC3+TIMER+RAM+BATT]
37ef01931fSBen Gras>0x147 byte 0x11  \b, [ROM+MBC3]
38ef01931fSBen Gras>0x147 byte 0x12  \b, [ROM+MBC3+RAM]
39ef01931fSBen Gras>0x147 byte 0x13  \b, [ROM+MBC3+RAM+BATT]
40ef01931fSBen Gras>0x147 byte 0x19  \b, [ROM+MBC5]
41ef01931fSBen Gras>0x147 byte 0x1A  \b, [ROM+MBC5+RAM]
42ef01931fSBen Gras>0x147 byte 0x1B  \b, [ROM+MBC5+RAM+BATT]
43ef01931fSBen Gras>0x147 byte 0x1C  \b, [ROM+MBC5+RUMBLE]
44ef01931fSBen Gras>0x147 byte 0x1D  \b, [ROM+MBC5+RUMBLE+SRAM]
45ef01931fSBen Gras>0x147 byte 0x1E  \b, [ROM+MBC5+RUMBLE+SRAM+BATT]
46ef01931fSBen Gras>0x147 byte 0x1F  \b, [Pocket Camera]
47ef01931fSBen Gras>0x147 byte 0xFD  \b, [Bandai TAMA5]
48ef01931fSBen Gras>0x147 byte 0xFE  \b, [Hudson HuC-3]
49ef01931fSBen Gras>0x147 byte 0xFF  \b, [Hudson HuC-1]
50ef01931fSBen Gras
51ef01931fSBen Gras>0x148 byte 0     \b, ROM: 256Kbit
52ef01931fSBen Gras>0x148 byte 1     \b, ROM: 512Kbit
53ef01931fSBen Gras>0x148 byte 2     \b, ROM: 1Mbit
54ef01931fSBen Gras>0x148 byte 3     \b, ROM: 2Mbit
55ef01931fSBen Gras>0x148 byte 4     \b, ROM: 4Mbit
56ef01931fSBen Gras>0x148 byte 5     \b, ROM: 8Mbit
57ef01931fSBen Gras>0x148 byte 6     \b, ROM: 16Mbit
58ef01931fSBen Gras>0x148 byte 0x52  \b, ROM: 9Mbit
59ef01931fSBen Gras>0x148 byte 0x53  \b, ROM: 10Mbit
60ef01931fSBen Gras>0x148 byte 0x54  \b, ROM: 12Mbit
61ef01931fSBen Gras
62ef01931fSBen Gras>0x149 byte 1     \b, RAM: 16Kbit
63ef01931fSBen Gras>0x149 byte 2     \b, RAM: 64Kbit
64ef01931fSBen Gras>0x149 byte 3     \b, RAM: 128Kbit
65ef01931fSBen Gras>0x149 byte 4     \b, RAM: 1Mbit
66ef01931fSBen Gras
67ef01931fSBen Gras#>0x14e long  x     \b, CRC: %x
68ef01931fSBen Gras
69ef01931fSBen Gras#------------------------------------------------------------------------------
70ef01931fSBen Gras# genesis:  file(1) magic for the Sega MegaDrive/Genesis raw ROM format
71ef01931fSBen Gras#
72ef01931fSBen Gras0x100 string SEGA  Sega MegaDrive/Genesis raw ROM dump
73ef01931fSBen Gras>0x120 string >\0 Name: "%.16s"
74ef01931fSBen Gras>0x110 string >\0 %.16s
75ef01931fSBen Gras>0x1B0 string RA with SRAM
76ef01931fSBen Gras
77ef01931fSBen Gras#------------------------------------------------------------------------------
78ef01931fSBen Gras# genesis:  file(1) magic for the Super MegaDrive ROM dump format
79ef01931fSBen Gras#
80ef01931fSBen Gras0x280 string EAGN  Super MagicDrive ROM dump
81ef01931fSBen Gras>0 byte x %dx16k blocks
82ef01931fSBen Gras>2 byte 0 \b, last in series or standalone
83ef01931fSBen Gras>2 byte >0 \b, split ROM
84ef01931fSBen Gras>8 byte 0xAA
85ef01931fSBen Gras>9 byte 0xBB
86ef01931fSBen Gras
87ef01931fSBen Gras#------------------------------------------------------------------------------
88ef01931fSBen Gras# genesis:  file(1) alternate magic for the Super MegaDrive ROM dump format
89ef01931fSBen Gras#
90ef01931fSBen Gras0x280 string EAMG  Super MagicDrive ROM dump
91ef01931fSBen Gras>0 byte x %dx16k blocks
92ef01931fSBen Gras>2 byte x \b, last in series or standalone
93ef01931fSBen Gras>8 byte 0xAA
94ef01931fSBen Gras>9 byte 0xBB
95ef01931fSBen Gras
96ef01931fSBen Gras#------------------------------------------------------------------------------
97ef01931fSBen Gras# smsgg:  file(1) magic for Sega Master System and Game Gear ROM dumps
98ef01931fSBen Gras#
99ef01931fSBen Gras# Does not detect all images.  Very preliminary guesswork.  Need more data
100ef01931fSBen Gras# on format.
101ef01931fSBen Gras#
102ef01931fSBen Gras# FIXME: need a little more info...;P
103ef01931fSBen Gras#
104ef01931fSBen Gras#0 byte 0xF3
105ef01931fSBen Gras#>1 byte 0xED  Sega Master System/Game Gear ROM dump
106ef01931fSBen Gras#>1 byte 0x31  Sega Master System/Game Gear ROM dump
107ef01931fSBen Gras#>1 byte 0xDB  Sega Master System/Game Gear ROM dump
108ef01931fSBen Gras#>1 byte 0xAF  Sega Master System/Game Gear ROM dump
109ef01931fSBen Gras#>1 byte 0xC3  Sega Master System/Game Gear ROM dump
110ef01931fSBen Gras
111ef01931fSBen Gras#------------------------------------------------------------------------------
112ef01931fSBen Gras# dreamcast:  file(1) uncertain magic for the Sega Dreamcast VMU image format
113ef01931fSBen Gras#
114ef01931fSBen Gras0 belong 0x21068028   Sega Dreamcast VMU game image
115ef01931fSBen Gras0 string LCDi         Dream Animator file
116ef01931fSBen Gras
117ef01931fSBen Gras#------------------------------------------------------------------------------
118ef01931fSBen Gras# v64: file(1) uncertain magic for the V64 format N64 ROM dumps
119ef01931fSBen Gras#
120ef01931fSBen Gras0 belong 0x37804012    V64 Nintendo 64 ROM dump
121ef01931fSBen Gras
122ef01931fSBen Gras# From: "Nelson A. de Oliveira" <naoliv@gmail.com>
123ef01931fSBen Gras# Nintendo .nds
124ef01931fSBen Gras192	string	\044\377\256Qi\232	Nintendo DS Game ROM Image
125ef01931fSBen Gras# Nintendo .gba
126ef01931fSBen Gras0	string	\056\000\000\352$\377\256Qi	Nintendo Game Boy Advance ROM Image
127ef01931fSBen Gras
128ef01931fSBen Gras#------------------------------------------------------------------------------
129ef01931fSBen Gras# msx: file(1) magic for MSX game cartridge dumps
130ef01931fSBen Gras# Too simple - MPi
131ef01931fSBen Gras#0 beshort 0x4142 MSX game cartridge dump
132ef01931fSBen Gras
133ef01931fSBen Gras#------------------------------------------------------------------------------
134ef01931fSBen Gras# Sony Playstation executables (Adam Sjoegren <asjo@diku.dk>) :
135ef01931fSBen Gras0	string	PS-X\ EXE	Sony Playstation executable
136ef01931fSBen Gras#  Area:
137ef01931fSBen Gras>113	string	x		(%s)
138ef01931fSBen Gras
139ef01931fSBen Gras#------------------------------------------------------------------------------
140*84d9c625SLionel Sambuc# Microsoft Xbox executables .xbe (Esa Hyytia <ehyytia@cc.hut.fi>)
141ef01931fSBen Gras0       string          XBEH            XBE, Microsoft Xbox executable
142ef01931fSBen Gras# probabilistic checks whether signed or not
143ef01931fSBen Gras>0x0004 ulelong =0x0
144ef01931fSBen Gras>>&2    ulelong =0x0
145ef01931fSBen Gras>>>&2   ulelong =0x0  \b, not signed
146ef01931fSBen Gras>0x0004 ulelong >0
147ef01931fSBen Gras>>&2    ulelong >0
148ef01931fSBen Gras>>>&2   ulelong >0    \b, signed
149ef01931fSBen Gras# expect base address of 0x10000
150ef01931fSBen Gras>0x0104               ulelong =0x10000
151ef01931fSBen Gras>>(0x0118-0x0FF60)    ulelong&0x80000007  0x80000007 \b, all regions
152ef01931fSBen Gras>>(0x0118-0x0FF60)    ulelong&0x80000007  !0x80000007
153ef01931fSBen Gras>>>(0x0118-0x0FF60)   ulelong >0           (regions:
154ef01931fSBen Gras>>>>(0x0118-0x0FF60)  ulelong &0x00000001  NA
155ef01931fSBen Gras>>>>(0x0118-0x0FF60)  ulelong &0x00000002  Japan
156ef01931fSBen Gras>>>>(0x0118-0x0FF60)  ulelong &0x00000004  Rest_of_World
157ef01931fSBen Gras>>>>(0x0118-0x0FF60)  ulelong &0x80000000  Manufacturer
158ef01931fSBen Gras>>>(0x0118-0x0FF60)   ulelong >0           \b)
159ef01931fSBen Gras
160ef01931fSBen Gras# --------------------------------
161ef01931fSBen Gras# Microsoft Xbox data file formats
162ef01931fSBen Gras0       string          XIP0            XIP, Microsoft Xbox data
163ef01931fSBen Gras0       string          XTF0            XTF, Microsoft Xbox data
164ef01931fSBen Gras
165ef01931fSBen Gras# Atari Lynx cartridge dump (EXE/BLL header)
166ef01931fSBen Gras# From: "Stefan A. Haubenthal" <polluks@web.de>
167ef01931fSBen Gras
168835f6802SDirk Vogt# Double-check that the image type matches too, 0x8008 conflicts with
169835f6802SDirk Vogt# 8 character OMF-86 object file headers.
170835f6802SDirk Vogt0	beshort		0x8008
171835f6802SDirk Vogt>6	string		BS93		Lynx homebrew cartridge
172835f6802SDirk Vogt>>2	beshort		x		\b, RAM start $%04x
173835f6802SDirk Vogt>6	string		LYNX		Lynx cartridge
174835f6802SDirk Vogt>>2	beshort		x		\b, RAM start $%04x
175ef01931fSBen Gras
176ef01931fSBen Gras# Opera file system that is used on the 3DO console
177ef01931fSBen Gras# From: Serge van den Boom <svdb@stack.nl>
178ef01931fSBen Gras0	string		\x01ZZZZZ\x01	3DO "Opera" file system
179ef01931fSBen Gras
180*84d9c625SLionel Sambuc# From Gurkan Sengun <gurkan@linuks.mine.nu>, www.linuks.mine.nu
181ef01931fSBen Gras0	string		GBS		Nintendo Gameboy Music/Audio Data
182ef01931fSBen Gras12	string		GameBoy\ Music\ Module	Nintendo Gameboy Music Module
183ef01931fSBen Gras
184ef01931fSBen Gras# Playstations Patch Files from: From: Thomas Klausner <tk@giga.or.at>
185ef01931fSBen Gras0	string	PPF30			Playstation Patch File version 3.0
186ef01931fSBen Gras>5	byte	0			\b, PPF 1.0 patch
187ef01931fSBen Gras>5	byte	1			\b, PPF 2.0 patch
188ef01931fSBen Gras>5	byte	2			\b, PPF 3.0 patch
189ef01931fSBen Gras>>56	byte	0			\b, Imagetype BIN (any)
190ef01931fSBen Gras>>56	byte	1			\b, Imagetype GI (PrimoDVD)
191ef01931fSBen Gras>>57	byte	0			\b, Blockcheck disabled
192ef01931fSBen Gras>>57	byte	1			\b, Blockcheck enabled
193ef01931fSBen Gras>>58	byte	0			\b, Undo data not available
194ef01931fSBen Gras>>58	byte	1			\b, Undo data available
195ef01931fSBen Gras>6	string	x			\b, description: %s
196ef01931fSBen Gras
197ef01931fSBen Gras0	string	PPF20			Playstation Patch File version 2.0
198ef01931fSBen Gras>5	byte	0			\b, PPF 1.0 patch
199ef01931fSBen Gras>5	byte	1			\b, PPF 2.0 patch
200ef01931fSBen Gras>>56	lelong	>0			\b, size of file to patch %d
201ef01931fSBen Gras>6	string	x			\b, description: %s
202ef01931fSBen Gras
203ef01931fSBen Gras0	string	PPF10			Playstation Patch File version 1.0
204ef01931fSBen Gras>5	byte	0			\b, Simple Encoding
205ef01931fSBen Gras>6	string	x			\b, description: %s
206ef01931fSBen Gras
207ef01931fSBen Gras# From: Daniel Dawson <ddawson@icehouse.net>
208ef01931fSBen Gras# SNES9x .smv "movie" file format.
209ef01931fSBen Gras0		string		SMV\x1A	SNES9x input recording
210ef01931fSBen Gras>0x4		lelong		x	\b, version %d
211ef01931fSBen Gras# version 4 is latest so far
212ef01931fSBen Gras>0x4		lelong		<5
213ef01931fSBen Gras>>0x8		ledate		x	\b, recorded at %s
214ef01931fSBen Gras>>0xc		lelong		>0	\b, rerecorded %d times
215ef01931fSBen Gras>>0x10		lelong		x	\b, %d frames long
216ef01931fSBen Gras>>0x14		byte		>0	\b, data for controller(s):
217ef01931fSBen Gras>>>0x14		byte		&0x1	#1
218ef01931fSBen Gras>>>0x14		byte		&0x2	#2
219ef01931fSBen Gras>>>0x14		byte		&0x4	#3
220ef01931fSBen Gras>>>0x14		byte		&0x8	#4
221ef01931fSBen Gras>>>0x14		byte		&0x10	#5
222ef01931fSBen Gras>>0x15		byte		^0x1	\b, begins from snapshot
223ef01931fSBen Gras>>0x15		byte		&0x1	\b, begins from reset
224ef01931fSBen Gras>>0x15		byte		^0x2	\b, NTSC standard
225ef01931fSBen Gras>>0x15		byte		&0x2	\b, PAL standard
226ef01931fSBen Gras>>0x17		byte		&0x1    \b, settings:
227ef01931fSBen Gras# WIP1Timing not used as of version 4
228ef01931fSBen Gras>>>0x4		lelong		<4
229ef01931fSBen Gras>>>>0x17	byte		&0x2	WIP1Timing
230ef01931fSBen Gras>>>0x17		byte		&0x4	Left+Right
231ef01931fSBen Gras>>>0x17		byte		&0x8	VolumeEnvX
232ef01931fSBen Gras>>>0x17		byte		&0x10	FakeMute
233ef01931fSBen Gras>>>0x17		byte		&0x20	SyncSound
234ef01931fSBen Gras# New flag as of version 4
235ef01931fSBen Gras>>>0x4		lelong		>3
236ef01931fSBen Gras>>>>0x17	byte		&0x80	NoCPUShutdown
237ef01931fSBen Gras>>0x4		lelong		<4
238ef01931fSBen Gras>>>0x18		lelong		>0x23
239ef01931fSBen Gras>>>>0x20	leshort		!0
240ef01931fSBen Gras>>>>>0x20	lestring16	x	\b, metadata: "%s"
241ef01931fSBen Gras>>0x4		lelong		>3
242ef01931fSBen Gras>>>0x24		byte		>0	\b, port 1:
243ef01931fSBen Gras>>>>0x24	byte		1	joypad
244ef01931fSBen Gras>>>>0x24	byte		2	mouse
245ef01931fSBen Gras>>>>0x24	byte		3	SuperScope
246ef01931fSBen Gras>>>>0x24	byte		4	Justifier
247ef01931fSBen Gras>>>>0x24	byte		5	multitap
248ef01931fSBen Gras>>>0x24		byte		>0	\b, port 2:
249ef01931fSBen Gras>>>>0x25	byte		1	joypad
250ef01931fSBen Gras>>>>0x25	byte		2	mouse
251ef01931fSBen Gras>>>>0x25	byte		3	SuperScope
252ef01931fSBen Gras>>>>0x25	byte		4	Justifier
253ef01931fSBen Gras>>>>0x25	byte		5	multitap
254ef01931fSBen Gras>>>0x18		lelong		>0x43
255ef01931fSBen Gras>>>>0x40	leshort		!0
256ef01931fSBen Gras>>>>>0x40	lestring16	x	\b, metadata: "%s"
257ef01931fSBen Gras>>0x17		byte		&0x40   \b, ROM:
258ef01931fSBen Gras>>>(0x18.l-26)	lelong		x	CRC32 0x%08x
259ef01931fSBen Gras>>>(0x18.l-23)	string		x	"%s"
260ef01931fSBen Gras
261835f6802SDirk Vogt# Type: scummVM savegame files
262835f6802SDirk Vogt# From: Sven Hartge <debian@ds9.argh.org>
263835f6802SDirk Vogt0	string	SCVM	ScummVM savegame
264835f6802SDirk Vogt>12	string	>\0	"%s"
265