Home | History | Annotate | Line # | Download | only in magdir
      1  1.1.1.2  christos 
      2      1.1  christos #------------------------------------------------------------------------------
      3  1.1.1.7  christos # $File: amigaos,v 1.20 2021/09/20 00:42:19 christos Exp $
      4      1.1  christos # amigaos:  file(1) magic for AmigaOS binary formats:
      5      1.1  christos 
      6      1.1  christos #
      7      1.1  christos # From ignatios (a] cs.uni-bonn.de (Ignatios Souvatzis)
      8      1.1  christos #
      9      1.1  christos 0	belong		0x000003fa	AmigaOS shared library
     10      1.1  christos 0	belong		0x000003f3	AmigaOS loadseg()ble executable/binary
     11      1.1  christos 0	belong		0x000003e7	AmigaOS object/library data
     12      1.1  christos #
     13      1.1  christos 0	beshort		0xe310		Amiga Workbench
     14  1.1.1.4  christos >2	beshort		1
     15      1.1  christos >>48	byte		1		disk icon
     16      1.1  christos >>48	byte		2		drawer icon
     17      1.1  christos >>48	byte		3		tool icon
     18      1.1  christos >>48	byte		4		project icon
     19      1.1  christos >>48	byte		5		garbage icon
     20      1.1  christos >>48	byte		6		device icon
     21      1.1  christos >>48	byte		7		kickstart icon
     22      1.1  christos >>48	byte		8		workbench application icon
     23      1.1  christos >2	beshort		>1		icon, vers. %d
     24      1.1  christos #
     25      1.1  christos # various sound formats from the Amiga
     26      1.1  christos # G=F6tz Waschk <waschk (a] informatik.uni-rostock.de>
     27      1.1  christos #
     28      1.1  christos 0	string		FC14		Future Composer 1.4 Module sound file
     29      1.1  christos 0	string		SMOD		Future Composer 1.3 Module sound file
     30      1.1  christos 0	string		AON4artofnoise	Art Of Noise Module sound file
     31      1.1  christos 1	string		MUGICIAN/SOFTEYES Mugician Module sound file
     32      1.1  christos 58	string		SIDMON\ II\ -\ THE	Sidmon 2.0 Module sound file
     33      1.1  christos 0	string		Synth4.0	Synthesis Module sound file
     34      1.1  christos 0	string		ARP.		The Holy Noise Module sound file
     35      1.1  christos 0	string		BeEp\0		JamCracker Module sound file
     36      1.1  christos 0	string		COSO\0		Hippel-COSO Module sound file
     37      1.1  christos # Too simple (short, pure ASCII, deep), MPi
     38      1.1  christos #26	string		V.3		Brian Postma's Soundmon Module sound file v3
     39      1.1  christos #26	string		BPSM		Brian Postma's Soundmon Module sound file v3
     40      1.1  christos #26	string		V.2		Brian Postma's Soundmon Module sound file v2
     41      1.1  christos 
     42      1.1  christos # The following are from: "Stefan A. Haubenthal" <polluks (a] web.de>
     43  1.1.1.7  christos # Update:	Joerg Jenderek
     44  1.1.1.7  christos # URL:		http://fileformats.archiveteam.org/wiki/Amiga_bitmap_font
     45  1.1.1.7  christos # Reference:	http://mark0.net/download/triddefs_xml.7z/defs/f/font-amiga.trid.xml
     46  1.1.1.7  christos #		https://wiki.amigaos.net/wiki/Graphics_Library_and_Text
     47  1.1.1.7  christos # fch_FileID=FCH_ID=0x0f00
     48  1.1.1.7  christos 0	beshort		0x0f00
     49  1.1.1.7  christos # skip some AVM powerline firmware images by check for positive number of font elements
     50  1.1.1.7  christos # https://download.avm.de/fritzpowerline/fritzpowerline-1000e-t/other/fritz.os/fritz.powerline_1000ET_01_05.image
     51  1.1.1.7  christos >2	ubeshort	>0		AmigaOS bitmap font
     52  1.1.1.7  christos #!:mime	application/octet-stream
     53  1.1.1.7  christos !:mime	font/x-amiga-font
     54  1.1.1.7  christos !:ext	font
     55  1.1.1.7  christos # struct FontContents fch_FC; 1st fc_FileName [MAXFONTPATH=256]; ~ filename "/" fc_YSize
     56  1.1.1.7  christos # like: topazb/6 suits/8  Excel/9e emerald/17 Franklin/23 DIAMONDS/60.8C
     57  1.1.1.7  christos >>4	string		x		"%.256s"
     58  1.1.1.7  christos # fc_YSize ~number after slash in fc_FileName; like: 6 7 8 9 11 12 16 17 21 23 45 60
     59  1.1.1.7  christos >>260	beshort		x		\b, fc_YSize %u
     60  1.1.1.7  christos # fch_NumEntries; number of FontContents elements like:
     61  1.1.1.7  christos # 1 (often) 2 3 (IconCondensed.font tempfont.font) 4 (Franklin.font) 6 (mcoop.font)
     62  1.1.1.7  christos >>2	ubeshort	>1		\b, %u elements
     63  1.1.1.7  christos #>>2	beshort		x		\b, %u element
     64  1.1.1.7  christos # plural s
     65  1.1.1.7  christos #>>2	beshort		!1		\bs
     66  1.1.1.7  christos # like: 6 7 8 9 11 12 16 17 21 23 45 60
     67  1.1.1.7  christos #>>262	beshort		x		\b, FLAGS_STYLE
     68  1.1.1.7  christos >>2	beshort		>1		\b, 2nd
     69  1.1.1.7  christos # 2nd fc_FileName like: Franklin/36
     70  1.1.1.7  christos >>>264	string		x		"%.256s"
     71  1.1.1.7  christos >>2	beshort		>2		\b, 3rd
     72  1.1.1.7  christos # 3rd fc_FileName like: Franklin/18
     73  1.1.1.7  christos >>>524	string		x		"%.256s"
     74  1.1.1.7  christos # URL:		http://fileformats.archiveteam.org/wiki/Amiga_bitmap_font
     75  1.1.1.7  christos # Reference:	https://wiki.amigaos.net/wiki/Graphics_Library_and_Text
     76  1.1.1.7  christos #		http://mark0.net/download/triddefs_xml.7z/defs/f/font-amiga-var2.trid.xml
     77  1.1.1.7  christos # Note:		called by TrID "Amiga bitmap Font (var.2)"
     78  1.1.1.7  christos # fch_FileID=TFCH_ID=0x0f02
     79  1.1.1.7  christos 0	beshort		0x0f02
     80  1.1.1.7  christos # skip possible misidentified foo by check for positive number of font elements
     81  1.1.1.7  christos >2	ubeshort	>0		AmigaOS bitmap font (TFCH)
     82  1.1.1.7  christos #!:mime	application/octet-stream
     83  1.1.1.7  christos !:mime	font/x-amiga-font
     84  1.1.1.7  christos !:ext	font
     85  1.1.1.7  christos # struct TFontContents fch_TFC[]; 1st tfc_FileName [254]; ~ filename "/" fc_YSize
     86  1.1.1.7  christos # like: Abbey/45 XScript/75 XTriumvirate/45
     87  1.1.1.7  christos >>4	string		x		"%.254s"
     88  1.1.1.7  christos # tfc_TagCount; including the TAG_END tag like: 4
     89  1.1.1.7  christos >>258	ubeshort	x		\b, tfc_TagCount %u
     90  1.1.1.7  christos # tfc_YSize ~number after slash in tfc_FileName; like: 45 75
     91  1.1.1.7  christos >>260	beshort		x		\b, tfc_YSize %u
     92  1.1.1.7  christos # tfc_Style; tfc_Flags like: 8022h 8222h
     93  1.1.1.7  christos #>>262	ubeshort	x		\b, FLAGS_STYLE %#x
     94  1.1.1.7  christos # fch_NumEntries; number of FontContents elements like: 1 (abbey.font) 2 (xscript.font xtriumvirate.font)
     95  1.1.1.7  christos >>2	ubeshort	>1		\b, %u elements
     96  1.1.1.7  christos >>2	beshort		>1		\b, 2nd
     97  1.1.1.7  christos # 2nd tfc_FileName like: XScript/45 XTriumvirate/30
     98  1.1.1.7  christos >>>264	string		x		"%.254s"
     99      1.1  christos 0	beshort		0x0f03		AmigaOS outline font
    100      1.1  christos 0	belong		0x80001001	AmigaOS outline tag
    101      1.1  christos 0	string		##\ version	catalog translation
    102      1.1  christos 0	string		EMOD\0		Amiga E module
    103      1.1  christos 8	string		ECXM\0		ECX module
    104      1.1  christos 0	string/c	@database	AmigaGuide file
    105      1.1  christos 
    106      1.1  christos # Amiga disk types
    107  1.1.1.6  christos #	display information like volume name of root block on Amiga (floppy) disk
    108  1.1.1.6  christos 0	name   	adf-rootblock
    109  1.1.1.6  christos # block primary type = T_HEADER (value 2)
    110  1.1.1.6  christos >0x000	ubelong		!2		\b, type %u
    111  1.1.1.6  christos # header_key; unused in rootblock (value 0)
    112  1.1.1.6  christos >0x004	ubelong		!0		\b, header_key %u
    113  1.1.1.6  christos # high_seq; unused (value 0)
    114  1.1.1.6  christos >0x008	ubelong		!0		\b, high_seq %u
    115  1.1.1.6  christos # ht_size; hash table size; 0x48 for flopies
    116  1.1.1.7  christos >0x00c	ubelong		!0x48		\b, hash table size %#x
    117  1.1.1.6  christos # bm_flag; bitmap flag, -1 means VALID
    118  1.1.1.7  christos >0x138	belong		!-1		\b, bitmap flag %#x
    119  1.1.1.6  christos # bm_ext; first bitmap extension block (Hard disks only)
    120  1.1.1.7  christos >0x1A0	ubelong		!0		\b, bitmap extension block %#x
    121  1.1.1.6  christos # name_len; volume name length; diskname[30]; volume name
    122  1.1.1.6  christos >0x1B0	pstring		>\0		\b, "%s"
    123  1.1.1.6  christos # first directory cache block for FFS; otherwise 0
    124  1.1.1.7  christos >0x1F8	ubelong		!0		\b, directory cache block %#x
    125  1.1.1.6  christos # block secondary type = ST_ROOT (value 1)
    126  1.1.1.7  christos >0x1FC	ubelong		!1		\b, sec_type %#x
    127  1.1.1.4  christos #
    128      1.1  christos 0	string		RDSK		Rigid Disk Block
    129      1.1  christos >160	string		x		on %.24s
    130  1.1.1.6  christos # URL:		http://fileformats.archiveteam.org/wiki/ADF_(Amiga)
    131  1.1.1.6  christos #		https://en.wikipedia.org/wiki/Amiga_Fast_File_System
    132  1.1.1.6  christos # Reference:	http://lclevy.free.fr/adflib/adf_info.html
    133  1.1.1.6  christos # Update:	Joerg Jenderek
    134  1.1.1.6  christos # Note:		created by ADFOpus.exe
    135  1.1.1.6  christos # 		and verified by `unadf -l TURBO_SILVER_SV.ADF`
    136  1.1.1.6  christos 0	string		DOS
    137  1.1.1.6  christos # skip DOS Client Message Files like IPXODI.MSG DOSRQSTR.MSG
    138  1.1.1.6  christos >3	ubyte		<8		Amiga
    139  1.1.1.6  christos # https://reposcope.com/mimetype/application/x-amiga-disk-format
    140  1.1.1.6  christos !:mime	application/x-amiga-disk-format
    141  1.1.1.6  christos !:ext	adf
    142  1.1.1.6  christos >>3	ubyte		0		DOS disk
    143  1.1.1.6  christos >>3	ubyte		1		FFS disk
    144  1.1.1.6  christos >>3	ubyte		2		Inter DOS disk
    145  1.1.1.6  christos >>3	ubyte		3		Inter FFS disk
    146  1.1.1.6  christos # For Fastdir mode the international mode is also enabled,
    147  1.1.1.6  christos >>3	ubyte		4		Fastdir DOS disk
    148  1.1.1.6  christos >>3	ubyte		5		Fastdir FFS dis
    149  1.1.1.6  christos # called by TrID "Amiga Disk image File (OFS+INTL+DIRC)"
    150  1.1.1.6  christos >>3	ubyte		6		Inter Fastdir DOS disk
    151  1.1.1.6  christos # called by TrID "Amiga Disk image File (FFS+INTL+DIRC)"
    152  1.1.1.6  christos >>3	ubyte		7		Inter Fastdir FFS disk
    153  1.1.1.6  christos # but according to Wikipedia variants with long name support
    154  1.1.1.6  christos #>>3	ubyte		6		long name DOS disk
    155  1.1.1.6  christos #>>3	ubyte		7		long name FFS disk
    156  1.1.1.6  christos # DOES NOT only work! Partly for file size  ~< FILE_BYTES_MAX=1 MiB defined in ../../src/file.h
    157  1.1.1.6  christos #>>-0		offset	x		\b, %lld bytes
    158  1.1.1.6  christos # Correct file size, but next lines are NOT executed
    159  1.1.1.6  christos #>>-0		offset	901120		(DD 880 KiB floppy)
    160  1.1.1.6  christos # 880 KiB Double Density floppy disk by characteristic hash table size 0x48 and T_HEADER=2
    161  1.1.1.6  christos >>0x6E00C	ubelong	0x48
    162  1.1.1.6  christos >>>0x6E000	ubelong	2		(DD 880 KiB)
    163  1.1.1.6  christos # 1760 KiB High Density floppy disk (1802240 bytes) by characteristic hash table size 0x48
    164  1.1.1.6  christos >>0xDC00C	ubelong	0x48
    165  1.1.1.6  christos >>>0xDC000	ubelong	2		(HD 1760 KiB)
    166  1.1.1.6  christos # Chksum; special block checksum like: 0 0x44ccf4c0 0x51f32cac 0xe33d0e7d ...
    167  1.1.1.7  christos #>>4	ubelong		x		\b, CRC %#x
    168  1.1.1.6  christos # Rootblock: 0 880 (often for DD and HD) 1146049280 (IMAGINE_1_0_DISK_01.ADF TURBO_SILVER_SV.ADF)
    169  1.1.1.6  christos >>8	ubelong		>0		\b, probably root block %d
    170  1.1.1.6  christos # bootblock code
    171  1.1.1.6  christos >>12	quad		!0		\b, bootable
    172  1.1.1.6  christos # assembler instructions: lea exp(pc),a1; moveq 25h,d0; jsr -552(a6)
    173  1.1.1.6  christos >>>12	ubequad	=0x43fa003e70254eae	AmigaDOS 3.0
    174  1.1.1.6  christos >>>12	default	x
    175  1.1.1.7  christos >>>>12	ubequad	!0x43fa003e70254eae	%#llx..
    176  1.1.1.6  christos # 880 KiB Double Density floppy disk (901120 bytes)
    177  1.1.1.6  christos >>0x6E00C	ubelong	0x48
    178  1.1.1.6  christos >>>0x6E000	ubelong	2
    179  1.1.1.6  christos >>>>0x6E000	use			adf-rootblock
    180  1.1.1.6  christos # 1760 KiB High Density floppy disk (1802240 bytes)
    181  1.1.1.6  christos >>0xDC00C	ubelong	0x48
    182  1.1.1.6  christos >>>0xDC000	ubelong	2
    183  1.1.1.6  christos >>>>0xDC000	use			adf-rootblock
    184  1.1.1.6  christos # 1 MiB hard disc by test for T_HEADER=2 and header_key=0=high_seq 
    185  1.1.1.6  christos >>0x80000	ubelong	2
    186  1.1.1.6  christos >>>0x80004	quad	0
    187  1.1.1.6  christos >>>>0x80000	use			adf-rootblock
    188  1.1.1.6  christos # 2 MiB hard disc; only works if in ../../src/file.h FILE_BYTES_MAX is raised to 2 MiB 
    189  1.1.1.6  christos #>>0x100000	ubelong	x		2 MiB TEST
    190  1.1.1.6  christos #>>0x100000	ubelong	2		\b, 2 MiB hard disc rootblock
    191  1.1.1.6  christos #>>>0x100000	use			adf-rootblock
    192      1.1  christos 0	string		KICK		Kickstart disk
    193      1.1  christos 
    194      1.1  christos # From: Alex Beregszaszi <alex (a] fsn.hu>
    195      1.1  christos 0	string		LZX		LZX compressed archive (Amiga)
    196      1.1  christos 
    197  1.1.1.3  christos # From: Przemek Kramarczyk <pkramarczyk (a] gmail.com>
    198  1.1.1.3  christos 0	string 		.KEY		AmigaDOS script
    199  1.1.1.3  christos 0	string 		.key		AmigaDOS script
    200  1.1.1.5  christos 
    201  1.1.1.5  christos # AMOS Basic file formats
    202  1.1.1.5  christos # https://www.exotica.org.uk/wiki/AMOS_file_formats
    203  1.1.1.5  christos 0	string		AMOS\040Basic\040 	AMOS Basic source code
    204  1.1.1.5  christos >11	byte		=0x56 			\b, tested
    205  1.1.1.5  christos >11	byte		=0x76 			\b, untested
    206  1.1.1.5  christos 0 	string		AMOS\040Pro		AMOS Basic source code
    207  1.1.1.5  christos >11	byte		=0x56 			\b, tested
    208  1.1.1.5  christos >11	byte		=0x76 			\b, untested
    209  1.1.1.5  christos 0	string		AmSp			AMOS Basic sprite bank
    210  1.1.1.5  christos >4	beshort		x			\b, %d sprites
    211  1.1.1.5  christos 0	string		AmIc			AMOS Basic icon bank
    212  1.1.1.5  christos >4	beshort		x			\b, %d icons
    213  1.1.1.5  christos 0	string		AmBk			AMOS Basic memory bank
    214  1.1.1.5  christos >4	beshort		x			\b, bank number %d
    215  1.1.1.5  christos >8	belong&0xFFFFFFF	x		\b, length %d
    216  1.1.1.5  christos >12	regex		.{8}			\b, type %s
    217  1.1.1.5  christos 0	string		AmBs			AMOS Basic memory banks
    218  1.1.1.5  christos >4	beshort		x			\b, %d banks
    219