xref: /minix3/external/bsd/file/dist/magic/magdir/spectrum (revision 835f6802383ea18ff9311123031e44be87fb502a)
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