xref: /dflybsd-src/contrib/file/magic/Magdir/lif (revision 7b80531f545c7d3c51c1660130c71d01f6bccbe0)
1327e51cbSPeter Avalos
2327e51cbSPeter Avalos#------------------------------------------------------------------------------
3*614728caSSascha Wildner# $File: lif,v 1.10 2021/04/26 15:56:00 christos Exp $
4327e51cbSPeter Avalos# lif:  file(1) magic for lif
5327e51cbSPeter Avalos#
6327e51cbSPeter Avalos# (Daniel Quinlan <quinlan@yggdrasil.com>)
7327e51cbSPeter Avalos#
8970935fdSSascha Wildner# Modified by:	Joerg Jenderek
9970935fdSSascha Wildner# URL:		https://www.hp9845.net/9845/projects/hpdir/
10970935fdSSascha Wildner#		https://github.com/bug400/lifutils
11970935fdSSascha Wildner# Reference:	https://www.hp9845.net/9845/downloads/manuals/LIF_excerpt_64941-90906_flpRef_Jan84.pdf
12970935fdSSascha Wildner# Note:		called by TrID "HP Logical Interchange Format disk image"
13970935fdSSascha Wildner0	beshort		0x8000
14970935fdSSascha Wildner# GRR: line above is too general as it catches also compressed DEGAS low-res bitmap *.pc1
15970935fdSSascha Wildner# skip many compressed DEGAS low-res bitmap *.pc1 by test for unused bytes
16970935fdSSascha Wildner>14	beshort		=0
17970935fdSSascha Wildner# skip MUNCHIE.PC1 BOARD.PC1 ENEMIES.PC1 by test for low version number
18970935fdSSascha Wildner>>20	ubeshort	<0x0100
19970935fdSSascha Wildner# skip DEGAS MUNCHIE.PC1 BOARD.PC1 ENEMIES.PC1 by test for ASCII like volume name
20970935fdSSascha Wildner#>>>2	ubelong		>0x2020201F
21970935fdSSascha Wildner>>>0	use		lif-file
22970935fdSSascha Wildner0	name		lif-file
23970935fdSSascha Wildner# LIF ID
24970935fdSSascha Wildner>0	beshort		x		lif file
25970935fdSSascha Wildner!:mime	application/x-lif-disk
26970935fdSSascha Wildner# lif used by Tony Duell LIF utilities; enhanced version by Joachim Siebold use also dat; hpi used by hpdir
27970935fdSSascha Wildner!:ext	lif/hpi/dat
28970935fdSSascha Wildner# volume label; A-Z 0-9 _ ; default are 6 spaces
29970935fdSSascha Wildner>2	string		x		"%.6s"
30970935fdSSascha Wildner# version number; 0 for systems without extensions or 1 for model 64000
31970935fdSSascha Wildner>20	ubeshort	x		\b, version %u
32970935fdSSascha Wildner# LIF identifier; 010000 for system 3000
33*614728caSSascha Wildner>12	beshort		!0x1000		\b, LIF identifier %#x
34970935fdSSascha Wildner# directory start address in units like: 2
35970935fdSSascha Wildner>8	ubelong		x		\b, directory
36970935fdSSascha Wildner>8	ubelong		!2		start address %u
37970935fdSSascha Wildner# length of directory like: 2 4 7 10 12 14 (for model 64000) 16 18 20 24 30 50 57 77 80
38970935fdSSascha Wildner>16	ubelong		x		length %u
39970935fdSSascha Wildner# level 1 extensions
40970935fdSSascha Wildner>20	beshort		=0
41*614728caSSascha Wildner>>24	ubequad		!0		\b, for extensions %#llx...
42970935fdSSascha Wildner>20	beshort		>0
43*614728caSSascha Wildner>>24	ubequad		!0		\b, extensions %#llx...
44970935fdSSascha Wildner# word 21-126 reserved for extensions and future use; set to nil
45*614728caSSascha Wildner>42	ubequad		!0		\b, RESERVED %#llx
46970935fdSSascha Wildner# lif first file name for standard directory; 0xffff... means uninitialized
47970935fdSSascha Wildner>8	ubelong		2
48970935fdSSascha Wildner>>512	string		<\xff\xff	\b, 1st file %-.10s
49970935fdSSascha Wildner
50