
#------------------------------------------------------------------------------
# $File: games,v 1.25 2022/05/31 18:40:20 christos Exp $
# games:  file(1) for games

# Fabio Bonelli <fabiobonelli@libero.it>
# Quake II - III data files
0       string  IDP2        	Quake II 3D Model file,
>20     long    x               %u skin(s),
>8      long    x               (%u x
>12     long    x 		%u),
>40     long    x               %u frame(s),
>16     long    x               Frame size %u bytes,
>24     long  	x               %u vertices/frame,
>28     long    x            	%u texture coordinates,
>32     long    x               %u triangles/frame

0       string  IBSP            Quake
>4      long    0x26            II Map file (BSP)
>4      long    0x2E      	III Map file (BSP)

0       string  IDS2            Quake II SP2 sprite file

#---------------------------------------------------------------------------
# Doom and Quake
# submitted by Nicolas Patrois

0       string  \xcb\x1dBoom\xe6\xff\x03\x01    Boom or linuxdoom demo
# some doom lmp files don't match, I've got one beginning with \x6d\x02\x01\x01

24      string  LxD\ 203        Linuxdoom save
>0      string  x       , name=%s
>44     string  x       , world=%s

# Quake

# Update: Joerg Jenderek
# URL: http://fileformats.archiveteam.org/wiki/PAK
# reference: https://quakewiki.org/wiki/.pak
# GRR: line below is too general as it matches also Acorn PackDir compressed Archive
# and Git pack ./revision
0       string  PACK    
# real Quake examples like pak0.pak have only some hundreds like 150 files
# So test for few files
>8	ulelong <0x01000000	
# in file version 5.32 test for null terminator is only true for
# offset ~< FILE_BYTES_MAX = 1 MB defined in ../../src/file.h 
# look for null terminator of 1st entry name
>>(4.l+55)	ubyte	0	Quake I or II world or extension
!:mime	application/x-dzip
!:ext	pak
#>>>8	ulelong	x	\b, table size %u
# dividing this by entry size (64) gives number of files
>>>8	ulelong/64 x	\b, %u files
# offset to the beginning of the file table
>>>4	ulelong	x	\b, offset %#x
# 1st file entry
>>>(4.l)	use	pak-entry
# 2nd file entry
#>>>4	ulelong+64	x	\b, offset %#x
#>>>(4.l+64)	use	pak-entry
#
#	display file table entry of Quake PAK archive
0	name		pak-entry
# normally entry start after header which implies offset 12 or higher
>56	ulelong	>11	
# the offset from the beginning of pak to beginning of this entry file contents
>>56	ulelong	x	at %#x
# the size of file for this entry 
>>60	ulelong	x	%u bytes
# 56 byte null-terminated entry name string includes path like maps/e1m1.bsp
>>0	string	x	'%-.56s'
# inspect entry content by jumping to entry offset
>>(56)	indirect x	\b: 

#0       string  -1\x0a  Quake I demo
#>30     string  x        version %.4s
#>61     string  x        level %s

#0       string  5\x0a   Quake I save

# The levels

# Quake 1

0	string	5\x0aIntroduction             Quake I save: start Introduction
0	string	5\x0athe_Slipgate_Complex     Quake I save: e1m1 The slipgate complex
0	string	5\x0aCastle_of_the_Damned     Quake I save: e1m2 Castle of the damned
0	string	5\x0athe_Necropolis           Quake I save: e1m3 The necropolis
0	string	5\x0athe_Grisly_Grotto        Quake I save: e1m4 The grisly grotto
0	string	5\x0aZiggurat_Vertigo         Quake I save: e1m8 Ziggurat vertigo (secret)
0	string	5\x0aGloom_Keep               Quake I save: e1m5 Gloom keep
0	string	5\x0aThe_Door_To_Chthon       Quake I save: e1m6 The door to Chthon
0	string	5\x0aThe_House_of_Chthon      Quake I save: e1m7 The house of Chthon
0	string	5\x0athe_Installation         Quake I save: e2m1 The installation
0	string	5\x0athe_Ogre_Citadel         Quake I save: e2m2 The ogre citadel
0	string	5\x0athe_Crypt_of_Decay       Quake I save: e2m3 The crypt of decay (dopefish lives!)
0	string	5\x0aUnderearth               Quake I save: e2m7 Underearth (secret)
0	string	5\x0athe_Ebon_Fortress        Quake I save: e2m4 The ebon fortress
0	string	5\x0athe_Wizard's_Manse       Quake I save: e2m5 The wizard's manse
0	string	5\x0athe_Dismal_Oubliette     Quake I save: e2m6 The dismal oubliette
0	string	5\x0aTermination_Central      Quake I save: e3m1 Termination central
0	string	5\x0aVaults_of_Zin            Quake I save: e3m2 Vaults of Zin
0	string	5\x0athe_Tomb_of_Terror       Quake I save: e3m3 The tomb of terror
0	string	5\x0aSatan's_Dark_Delight     Quake I save: e3m4 Satan's dark delight
0	string	5\x0athe_Haunted_Halls        Quake I save: e3m7 The haunted halls (secret)
0	string	5\x0aWind_Tunnels             Quake I save: e3m5 Wind tunnels
0	string	5\x0aChambers_of_Torment      Quake I save: e3m6 Chambers of torment
0	string	5\x0athe_Sewage_System        Quake I save: e4m1 The sewage system
0	string	5\x0aThe_Tower_of_Despair     Quake I save: e4m2 The tower of despair
0	string	5\x0aThe_Elder_God_Shrine     Quake I save: e4m3 The elder god shrine
0	string	5\x0athe_Palace_of_Hate       Quake I save: e4m4 The palace of hate
0	string	5\x0aHell's_Atrium            Quake I save: e4m5 Hell's atrium
0	string	5\x0athe_Nameless_City        Quake I save: e4m8 The nameless city (secret)
0	string	5\x0aThe_Pain_Maze            Quake I save: e4m6 The pain maze
0	string	5\x0aAzure_Agony              Quake I save: e4m7 Azure agony
0	string	5\x0aShub-Niggurath's_Pit     Quake I save: end Shub-Niggurath's pit

# Quake DeathMatch levels

0	string	5\x0aPlace_of_Two_Deaths	 Quake I save: dm1 Place of two deaths
0	string	5\x0aClaustrophobopolis		 Quake I save: dm2 Claustrophobopolis
0	string	5\x0aThe_Abandoned_Base		 Quake I save: dm3 The abandoned base
0	string	5\x0aThe_Bad_Place		 Quake I save: dm4 The bad place
0	string	5\x0aThe_Cistern		 Quake I save: dm5 The cistern
0	string	5\x0aThe_Dark_Zone		 Quake I save: dm6 The dark zone

# Scourge of Armagon

0	string	5\x0aCommand_HQ               Quake I save: start Command HQ
0	string	5\x0aThe_Pumping_Station      Quake I save: hip1m1 The pumping station
0	string	5\x0aStorage_Facility         Quake I save: hip1m2 Storage facility
0	string	5\x0aMilitary_Complex         Quake I save: hip1m5 Military complex (secret)
0	string	5\x0athe_Lost_Mine            Quake I save: hip1m3 The lost mine
0	string	5\x0aResearch_Facility        Quake I save: hip1m4 Research facility
0	string	5\x0aAncient_Realms           Quake I save: hip2m1 Ancient realms
0	string	5\x0aThe_Gremlin's_Domain     Quake I save: hip2m6 The gremlin's domain (secret)
0	string	5\x0aThe_Black_Cathedral      Quake I save: hip2m2 The black cathedral
0	string	5\x0aThe_Catacombs            Quake I save: hip2m3 The catacombs
0	string	5\x0athe_Crypt__              Quake I save: hip2m4 The crypt
0	string	5\x0aMortum's_Keep            Quake I save: hip2m5 Mortum's keep
0	string	5\x0aTur_Torment              Quake I save: hip3m1 Tur torment
0	string	5\x0aPandemonium              Quake I save: hip3m2 Pandemonium
0	string	5\x0aLimbo                    Quake I save: hip3m3 Limbo
0	string	5\x0athe_Edge_of_Oblivion     Quake I save: hipdm1 The edge of oblivion (secret)
0	string	5\x0aThe_Gauntlet             Quake I save: hip3m4 The gauntlet
0	string	5\x0aArmagon's_Lair           Quake I save: hipend Armagon's lair

# Malice

0	string	5\x0aThe_Academy      Quake I save: start The academy
0	string	5\x0aThe_Lab          Quake I save: d1 The lab
0	string	5\x0aArea_33          Quake I save: d1b Area 33
0	string	5\x0aSECRET_MISSIONS  Quake I save: d3b Secret missions
0	string	5\x0aThe_Hospital     Quake I save: d10 The hospital (secret)
0	string	5\x0aThe_Genetics_Lab Quake I save: d11 The genetics lab (secret)
0	string	5\x0aBACK_2_MALICE    Quake I save: d4b Back to Malice
0	string	5\x0aArea44           Quake I save: d1c Area 44
0	string	5\x0aTakahiro_Towers  Quake I save: d2 Takahiro towers
0	string	5\x0aA_Rat's_Life     Quake I save: d3 A rat's life
0	string	5\x0aInto_The_Flood   Quake I save: d4 Into the flood
0	string	5\x0aThe_Flood        Quake I save: d5 The flood
0	string	5\x0aNuclear_Plant    Quake I save: d6 Nuclear plant
0	string	5\x0aThe_Incinerator_Plant    Quake I save: d7 The incinerator plant
0	string	5\x0aThe_Foundry              Quake I save: d7b The foundry
0	string	5\x0aThe_Underwater_Base      Quake I save: d8 The underwater base
0	string	5\x0aTakahiro_Base            Quake I save: d9 Takahiro base
0	string	5\x0aTakahiro_Laboratories    Quake I save: d12 Takahiro laboratories
0	string	5\x0aStayin'_Alive    Quake I save: d13 Stayin' alive
0	string	5\x0aB.O.S.S._HQ      Quake I save: d14 B.O.S.S. HQ
0	string	5\x0aSHOWDOWN!        Quake I save: d15 Showdown!

# Malice DeathMatch levels

0	string	5\x0aThe_Seventh_Precinct	 Quake I save: ddm1 The seventh precinct
0	string	5\x0aSub_Station		 Quake I save: ddm2 Sub station
0	string	5\x0aCrazy_Eights!		 Quake I save: ddm3 Crazy eights!
0	string	5\x0aEast_Side_Invertationa	 Quake I save: ddm4 East side invertationa
0	string	5\x0aSlaughterhouse		 Quake I save: ddm5 Slaughterhouse
0	string	5\x0aDOMINO			 Quake I save: ddm6 Domino
0	string	5\x0aSANDRA'S_LADDER		 Quake I save: ddm7 Sandra's ladder


0	string	MComprHD	MAME CHD compressed hard disk image,
>12	belong	x		version %u

# doom - submitted by Jon Dowland

0	string	=IWAD		doom main IWAD data
>4	lelong	x		containing %d lumps
0	string	=PWAD		doom patch PWAD data
>4	lelong	x		containing %d lumps

# Build engine group files (Duke Nukem, Shadow Warrior, ...)
# Extension: .grp
# Created by: "Ganael Laplanche" <ganael.laplanche@martymac.org>
0	string	KenSilverman	Build engine group file
>12	lelong	x		containing %d files

# Summary: Warcraft 3 save
# Extension: .w3g
# Created by: "Nelson A. de Oliveira" <naoliv@gmail.com>
0	string		Warcraft\ III\ recorded\ game	%s


# Summary: Warcraft 3 map
# Extension: .w3m
# Created by: "Nelson A. de Oliveira" <naoliv@gmail.com>
0	string		HM3W		Warcraft III map file


# Summary: SGF Smart Game Format
# Extension: .sgf
# Reference: https://www.red-bean.com/sgf/
# Created by: Eduardo Sabbatella <eduardo_sabbatella@yahoo.com.ar>
# Modified by (1): Abel Cheung (regex, more game format)
# FIXME: Some games don't have GM (game type)
0	regex		\\(;.*GM\\[[0-9]{1,2}\\]	Smart Game Format
>2	search/0x200/b	GM[
>>&0	string		1]	(Go)
>>&0	string		2]	(Othello)
>>&0	string		3]	(chess)
>>&0	string		4]	(Gomoku+Renju)
>>&0	string		5]	(Nine Men's Morris)
>>&0	string		6]	(Backgammon)
>>&0	string		7]	(Chinese chess)
>>&0	string		8]	(Shogi)
>>&0	string		9]	(Lines of Action)
>>&0	string		10]	(Ataxx)
>>&0	string		11]	(Hex)
>>&0	string		12]	(Jungle)
>>&0	string		13]	(Neutron)
>>&0	string		14]	(Philosopher's Football)
>>&0	string		15]	(Quadrature)
>>&0	string		16]	(Trax)
>>&0	string		17]	(Tantrix)
>>&0	string		18]	(Amazons)
>>&0	string		19]	(Octi)
>>&0	string		20]	(Gess)
>>&0	string		21]	(Twixt)
>>&0	string		22]	(Zertz)
>>&0	string		23]	(Plateau)
>>&0	string		24]	(Yinsh)
>>&0	string		25]	(Punct)
>>&0	string		26]	(Gobblet)
>>&0	string		27]	(hive)
>>&0	string		28]	(Exxit)
>>&0	string		29]	(Hnefatal)
>>&0	string		30]	(Kuba)
>>&0	string		31]	(Tripples)
>>&0	string		32]	(Chase)
>>&0	string		33]	(Tumbling Down)
>>&0	string		34]	(Sahara)
>>&0	string		35]	(Byte)
>>&0	string		36]	(Focus)
>>&0	string		37]	(Dvonn)
>>&0	string		38]	(Tamsk)
>>&0	string		39]	(Gipf)
>>&0	string		40]	(Kropki)

##############################################
# NetImmerse/Gamebryo game engine entries

# Summary: Gamebryo game engine file
# Extension: .nif, .kf
# Created by: Abel Cheung <abelcheung@gmail.com>
0		string		Gamebryo\ File\ Format,\ Version\ 	Gamebryo game engine file
>&0		regex		[0-9a-z.]+				\b, version %s

# Summary: Gamebryo game engine file
# Extension: .kfm
# Created by: Abel Cheung <abelcheung@gmail.com>
0		string		;Gamebryo\ KFM\ File\ Version\ 		Gamebryo game engine animation File
>&0		regex		[0-9a-z.]+				\b, version %s

# Summary: NetImmerse game engine file
# Extension .nif
# Created by: Abel Cheung <abelcheung@gmail.com>
0		string		NetImmerse\ File\ Format,\ Version
>&0		string		n\ 					NetImmerse game engine file
>>&0		regex		[0-9a-z.]+				\b, version %s

# Type:	SGF Smart Game Format
# URL:	https://www.red-bean.com/sgf/
# From:	Eduardo Sabbatella <eduardo_sabbatella@yahoo.com.ar>
2	regex/c	\\(;.*GM\\[[0-9]{1,2}\\]	Smart Game Format
>2	regex/c	GM\\[1\\]			- Go Game
>2	regex/c	GM\\[6\\]			- BackGammon Game
>2	regex/c	GM\\[11\\]			- Hex Game
>2	regex/c	GM\\[18\\]			- Amazons Game
>2	regex/c	GM\\[19\\]			- Octi Game
>2	regex/c	GM\\[20\\]			- Gess Game
>2	regex/c	GM\\[21\\]			- twix Game

# Epic Games/Unreal Engine Package
#
0	lelong		0x9E2A83C1	Unreal Engine Package,
>4	leshort		x		version: %i
>12	lelong		!0		\b, names: %i
>28	lelong		!0		\b, imports: %i
>20	lelong		!0		\b, exports: %i

0	string		ESVG
>4	lelong		0x00160000
>10	string		TOC\020		Empire Deluxe for DOS saved game

# Sid Meier's Civilization V/VI
# From: Benjamin Lowry <ben@ben.gmbh>
0	string	CIV5
>4	byte	0x08		Sid Meier's Civilization V saved game,
>>12	regex	[0-9a-z.]+	saved by game version %s
>4	byte	0x01		Sid Meier's Civilization V replay data,
>>12	regex	[0-9a-z.]+	saved by game version %s

0	string	CIV6		Sid Meier's Civilization VI saved game

# https://syzygy-tables.info/
# From Michel Van den Bergh
0	string	\327f\f\245	Syzygy DTZ tablebase
!:mime	application/syzygy
0	string	q\350#]		Syzygy WDL tablebase
!:mime	application/syzygy

##############################################################################
# Grand Theft Auto (GTA) file formats.
#
# Summary:
# Includes GTA-specific formats used in all games from 1997 to present. Games
# and formats were created by Rockstar North, formerly DMA Design. Magic tests
# were written based on a combination of official and community documentation.
#
# Created by: Oliver Galvin <odg@riseup.net>
#
# References:
# * Classic GTA documentation and research:
#    <https://gitlab.com/classic-gta/gta-data>
# * Official RenderWare documentation available from EA:
#    <https://github.com/electronicarts/RenderWare3Docs>
# * Lots of community research in the GTAMods wiki:
#    <https://gtamods.com/wiki>

# GTA 2D-Era data - 'Classic' top down games (1/L/2)

## GTA text

0	string	\xbf\xf8\xbd\x49\x62\xbe	GTA1 in-game text (FXT),
0	string	GBL	GTA2 in-game text (GXT),
>3	string  	E	English,
>>4	uleshort	x	version %d
>3	string  	F	French,
>>4	uleshort	x	version %d
>3	string  	G	German,
>>4	uleshort	x	version %d
>3	string  	I	Italian,
>>4	uleshort	x	version %d
>3	string  	S	Spanish,
>>4	uleshort	x	version %d
>3	string  	J	Japanese,
>>4	uleshort	x	version %d

## GTA maps

0	ulelong 	331	GTA1 map layout (CMP),
>4	byte    	1	Level 1
>4	byte    	2	Level 2
>4	byte    	3	Level 3
0	string  	GBMP	GTA2/GBH map layout (GMP),
>4	uleshort	x	version %d
0	string/t	[MapFiles]	GTA2 multiplayer map metadata (MMP)
0	string/t	MainOrBonus\ =\ MAIN	GTA2 single player map listing (test1.seq)

## GTA 2D sprites and textures

0	ulelong 	290	GTA1 style data (GRX), 8 bit editor graphics
0	ulelong 	325	GTA1 style data (GRY), 8 bit in-game graphics
0	ulelong 	336	GTA1 style data (G24), 24 bit in-game graphics
0	string  	GBST	GTA2/GBH style data (STY), in-game graphics,
>4	uleshort	x	version %d

## GTA audio index

0	ulelong	0
>4	ulelong	<0x40000
>>8	ulelong	>4500
>>>8	ulelong	<45000	GTA audio index data (SDT)

## GTA scripts

0	ulelong 	0x00080000
>4	uleshort	0x0024    	GTA2 binary main script (SCR)

0	uleshort	0x063c    	GTA2 binary mission script (SCR), Residential area (ste)
0	uleshort	0x055b    	GTA2 binary mission script (SCR), Downtown area (wil)
0	uleshort	0x0469    	GTA2 binary mission script (SCR), Industrial area (bil)

0	string   	v9.6\0\0 	GTA2 replay file (REP),
>8	regex/30c	[a-z0-9:\ ]+\0\0	created on %s

# GTA 3D-Era (III/VC/SA/LCS/VCS) - used by the RenderWare engine by Criterion Games

## GTA 3D models and textures - RenderWare binary streams

8	ulelong	0x00000310	RenderWare data, v3.1.0.0, used in GTA III on PS2,
>0	ulelong	0x00000016	texture archive (TXD)
>0	ulelong 0x00000010	3D models (DFF)
8	ulelong	0x0401ffff	RenderWare data, v3.1.0.1, used in GTA III on PC/PS2,
>0	ulelong	0x00000016	texture archive (TXD)
>0	ulelong 0x00000010	3D models (DFF)
8	ulelong	0x0800ffff	RenderWare data, v3.2.0.0, used in GTA III on PC,
>0	ulelong	0x00000016	texture archive (TXD)
>0	ulelong 0x00000010	3D models (DFF)
8	ulelong	0x0c00ffff	RenderWare data, v3.3.0.0,
>0	ulelong	0x00000016	texture archive (TXD)
>0	ulelong 0x00000010	3D models (DFF)
8	ulelong	0x0c02ffff	RenderWare data, v3.3.0.2, used in GTA III PC and GTA VC PS2,
>0	ulelong	0x00000016	texture archive (TXD)
>0	ulelong 0x00000010	3D models (DFF)
8	ulelong	0x1000ffff	RenderWare data, v3.4.0.0,
>0	ulelong	0x00000016	texture archive (TXD)
>0	ulelong 0x00000010	3D models (DFF)
8	ulelong	0x1003ffff	RenderWare data, v3.4.0.3, used in GTA VC PC,
>0	ulelong	0x00000016	texture archive (TXD)
>0	ulelong 0x00000010	3D models (DFF)
8	ulelong	0x1005ffff	RenderWare data, v3.4.0.5, used in GTA III/VC on Android,
>0	ulelong	0x00000016	texture archive (TXD)
>0	ulelong 0x00000010	3D models (DFF)
8	ulelong	0x1400ffff	RenderWare data, v3.5.0.0, used in GTA III/VC on Xbox,
>0	ulelong	0x00000016	texture archive (TXD)
>0	ulelong 0x00000010	3D models (DFF)
8	ulelong	0x1803ffff	RenderWare data, v3.6.0.3, used in GTA SA,
>0	ulelong	0x00000016	texture archive (TXD)
>0	ulelong 0x00000010	3D models (DFF)

0	string	COL	RenderWare collision data (COL),
>3	string	L	version 1, used in GTA III/VC/SA
>3	string	2	version 2, used in GTA SA
>3	string	3	version 3, used in GTA SA
>3	string	4	version 4, used in GTA SA

## GTA items and animations

0	string/c	#\ ipl\ generated\ from\ max\ file	GTA Item Placement data (IPL), used in GTA III/VC
0	string/b	bnry	GTA Item Placement data (IPL), used in GTA SA/IV,
>4	ulelong 	x	%d items

0	string	ANP	GTA animation data (IFP),
>3	string	K	version 1, used in GTA III/VC
>3	string	3	version 2, used in GTA SA

0	string	GtaSA29	GTA Replay data (REP), used in GTA SA

## GTA text

0	string	TKEY	GTA in-game text (GXT), version 2, used in GTA III
0	string	TABL	GTA in-game text (GXT), version 3, used in GTA VC/LS/VCS

## GTA scripts

0	string	\x02\x00\x01	GTA script (SCM), used in GTA III/VC/SA

## GTA archives

0	string	VER2	GTA archive (IMG), version 2, used in GTA SA,
>4	ulelong	x	%d items

# GTA HD-Era (IV/V) - used by the Rockstar Advanced Game Engine (RAGE)

## GTA models and textures - RAGE resources
# Note: GTA IV formats not yet documented - WAD, WBD, WBN, WHM, WPL

0	ulelong	0x00695254	GTA Drawable data (WDR), model and weapon data, used in GTA IV
0	ulelong	0x00695238	GTA Windows Frag Type (WFT), vehicle models, used in GTA IV
0	ulelong	0x006953A4	GTA Ped and LOD models (WDD), used in GTA IV
0	ulelong	0x00695384	GTA Windows Texture Dictionary (WTD), used in GTA IV

## GTA text

4	string  	TABL	GTA in-game text (GXT),
>0	uleshort	x	version %d, used in GTA SA/IV
0	string  	2GXT	GTA in-game text (GXT2), used in GTA V

## GTA scripts

0	ulelong	0x0d524353	GTA script (SCO), unencrypted, used in GTA IV,
>4	ulelong	x         	%d code bytes,
>>8	ulelong	x         	%d static variables,
>>>12	ulelong	x         	%d global variables
0	ulelong	0x0e726373	GTA script (SCO), encrypted, used in GTA IV
>4	ulelong	x         	%d code bytes,
>>8	ulelong	x         	%d static variables,
>>>12	ulelong	x         	%d global variables

## GTA archives

0	ulelong	0xa94e2a52	GTA archive (IMG),
>4	ulelong	x        	version %d, used in GTA IV,
>>8	ulelong	x        	%d items

# RPF[0-8]
0	ulelong&0xfffffff0 =0x52504630
>0	ulelong&0xf	<9	RAGE Package Format (RPF), version %d, used in
>>0	ulelong&0xf	=0	Rockstar Table Tennis,
>>0	ulelong&0xf	=1	*unknown*
>>0	ulelong&0xf	=2	GTA IV,
>>0	ulelong&0xf	=3	GTA IV Audio & Midnight Club: LA,
>>0	ulelong&0xf	=4	Max Payne 3,
>>0	ulelong&0xf	=5	*unknown*
>>0	ulelong&0xf	=6	RDR,
>>0	ulelong&0xf	=7	GTA V,
>>0	ulelong&0xf	=8	RDR 2,
>>4	ulelong 	x	%d bytes,
>>>8	ulelong 	x	%d entries
