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