spectrum revision 1.1.1.3 1
2 #------------------------------------------------------------------------------
3 # $File: spectrum,v 1.8 2017/09/11 23:51:12 christos Exp $
4 # spectrum: file(1) magic for Spectrum emulator files.
5 #
6 # John Elliott <jce (a] seasip.demon.co.uk>
7
8 #
9 # Spectrum +3DOS header
10 #
11 0 string PLUS3DOS\032 Spectrum +3 data
12 >15 byte 0 - BASIC program
13 >15 byte 1 - number array
14 >15 byte 2 - character array
15 >15 byte 3 - memory block
16 >>16 belong 0x001B0040 (screen)
17 >15 byte 4 - Tasword document
18 >15 string TAPEFILE - ZXT tapefile
19 #
20 # Tape file. This assumes the .TAP starts with a Spectrum-format header,
21 # which nearly all will.
22 #
23 # Update: Sanity-check string contents to be printable.
24 # -Adam Buchbinder <adam.buchbinder (a] gmail.com>
25 #
26 0 string \023\000\000
27 >4 string >\0
28 >>4 string <\177 Spectrum .TAP data "%-10.10s"
29 >>>3 byte 0 - BASIC program
30 >>>3 byte 1 - number array
31 >>>3 byte 2 - character array
32 >>>3 byte 3 - memory block
33 >>>>14 belong 0x001B0040 (screen)
34
35 # The following three blocks are from pak21-spectrum (a] srcf.ucam.org
36 # TZX tape images
37 0 string ZXTape!\x1a Spectrum .TZX data
38 >8 byte x version %d
39 >9 byte x \b.%d
40
41 # RZX input recording files
42 0 string RZX! Spectrum .RZX data
43 >4 byte x version %d
44 >5 byte x \b.%d
45
46 # Floppy disk images
47 0 string MV\ -\ CPCEMU\ Disk-Fil Amstrad/Spectrum .DSK data
48 0 string MV\ -\ CPC\ format\ Dis Amstrad/Spectrum DU54 .DSK data
49 0 string EXTENDED\ CPC\ DSK\ Fil Amstrad/Spectrum Extended .DSK data
50 0 string SINCLAIR Spectrum .SCL Betadisk image
51
52 # Hard disk images
53 0 string RS-IDE\x1a Spectrum .HDF hard disk image
54 >7 byte x \b, version 0x%02x
55
56 # SZX snapshots (fuse and spectaculator)
57 # Martin M. S. Pedersen <martin (a] linux.com>
58 # http://www.spectaculator.com/docs/zx-state/header.shtml
59 #
60 0 string ZXST zx-state snapshot
61 >4 byte x version %d
62 >5 byte x \b.%d
63 >>6 byte 0 16k ZX Spectrum
64 >>6 byte 1 48k ZX Spectrum/ZX Spectrum+
65 >>6 byte 2 ZX Spectrum 128
66 >>6 byte 3 ZX Spectrum +2
67 >>6 byte 4 ZX Spectrum +2A/+2B
68 >>6 byte 5 ZX Spectrum +3
69 >>6 byte 6 ZX Spectrum +3e
70 >>6 byte 7 Pentagon 128
71 >>6 byte 8 Timex Sinclair TC2048
72 >>6 byte 9 Timex Sinclair TC2068
73 >>6 byte 10 Scorpion ZS-256
74 >>6 byte 11 ZX Spectrum SE
75 >>6 byte 12 Timex Sinclair TS2068
76 >>6 byte 13 Pentagon 512
77 >>6 byte 14 Pentagon 1024
78 >>6 byte 15 48k ZX Spectrum (NTSC)
79 >>6 byte 16 ZX Spectrum 12Ke
80 >>>7 byte 1 (alternate timings)
81