1ef01931fSBen Gras 2ef01931fSBen Gras#------------------------------------------------------------------------------ 3*835f6802SDirk Vogt# $File: spectrum,v 1.7 2010/09/20 18:55:20 rrt Exp $ 4ef01931fSBen Gras# spectrum: file(1) magic for Spectrum emulator files. 5ef01931fSBen Gras# 6ef01931fSBen Gras# John Elliott <jce@seasip.demon.co.uk> 7ef01931fSBen Gras 8ef01931fSBen Gras# 9ef01931fSBen Gras# Spectrum +3DOS header 10ef01931fSBen Gras# 11ef01931fSBen Gras0 string PLUS3DOS\032 Spectrum +3 data 12ef01931fSBen Gras>15 byte 0 - BASIC program 13ef01931fSBen Gras>15 byte 1 - number array 14ef01931fSBen Gras>15 byte 2 - character array 15ef01931fSBen Gras>15 byte 3 - memory block 16ef01931fSBen Gras>>16 belong 0x001B0040 (screen) 17ef01931fSBen Gras>15 byte 4 - Tasword document 18ef01931fSBen Gras>15 string TAPEFILE - ZXT tapefile 19ef01931fSBen Gras# 20ef01931fSBen Gras# Tape file. This assumes the .TAP starts with a Spectrum-format header, 21ef01931fSBen Gras# which nearly all will. 22ef01931fSBen Gras# 23*835f6802SDirk Vogt# Update: Sanity-check string contents to be printable. 24*835f6802SDirk Vogt# -Adam Buchbinder <adam.buchbinder@gmail.com> 25*835f6802SDirk Vogt# 26*835f6802SDirk Vogt0 string \023\000\000 27*835f6802SDirk Vogt>4 string >\0 28*835f6802SDirk Vogt>>4 string <\177 Spectrum .TAP data "%-10.10s" 29*835f6802SDirk Vogt>>>3 byte 0 - BASIC program 30*835f6802SDirk Vogt>>>3 byte 1 - number array 31*835f6802SDirk Vogt>>>3 byte 2 - character array 32*835f6802SDirk Vogt>>>3 byte 3 - memory block 33*835f6802SDirk Vogt>>>>14 belong 0x001B0040 (screen) 34ef01931fSBen Gras 35ef01931fSBen Gras# The following three blocks are from pak21-spectrum@srcf.ucam.org 36ef01931fSBen Gras# TZX tape images 37ef01931fSBen Gras0 string ZXTape!\x1a Spectrum .TZX data 38ef01931fSBen Gras>8 byte x version %d 39ef01931fSBen Gras>9 byte x \b.%d 40ef01931fSBen Gras 41ef01931fSBen Gras# RZX input recording files 42ef01931fSBen Gras0 string RZX! Spectrum .RZX data 43ef01931fSBen Gras>4 byte x version %d 44ef01931fSBen Gras>5 byte x \b.%d 45ef01931fSBen Gras 46ef01931fSBen Gras# Floppy disk images 47ef01931fSBen Gras0 string MV\ -\ CPCEMU\ Disk-Fil Amstrad/Spectrum .DSK data 48ef01931fSBen Gras0 string MV\ -\ CPC\ format\ Dis Amstrad/Spectrum DU54 .DSK data 49ef01931fSBen Gras0 string EXTENDED\ CPC\ DSK\ Fil Amstrad/Spectrum Extended .DSK data 50ef01931fSBen Gras0 string SINCLAIR Spectrum .SCL Betadisk image 51ef01931fSBen Gras 52ef01931fSBen Gras# Hard disk images 53ef01931fSBen Gras0 string RS-IDE\x1a Spectrum .HDF hard disk image 54ef01931fSBen Gras>7 byte x \b, version 0x%02x 55