[ Spectaculator, ZX Spectrum Emulator ] Home | Downloads | Support [ ZX Spectrum Image ]

Table of contents

The zx-state file format
Block types

ZXSTPLUSD

Plus D disk interface by Miles Gordon Technology Ltd - later sold by Datel Electronics.

Any blocks specifying which disk files are in which drive will follow this one.

// Flags
#define ZXSTPLUSDF_PAGED        1
#define ZXSTPLUSDF_COMPRESSED   2
#define ZXSTPLUSDF_SEEKLOWER    4

// Rom types
#define ZXSTPDRT_GDOS           0
#define ZXSTPDRT_UNIDOS         1
#define ZXSTPDRT_CUSTOM         2

typedef struct _tagZXSTPLUSD
{
  ZXSTBLOCK blk;
  DWORD dwFlags;
  DWORD dwcbRam;
  DWORD dwcbRom;
  BYTE chRomType;
  BYTE chCtrlReg;
  BYTE chNumDrives;
  BYTE chTrackReg;
  BYTE chSectorReg;
  BYTE chDataReg;
  BYTE chStatusReg;
  BYTE chRam[1];
} ZXSTPLUSD, *LPZXSTPLUSD;

Members

blk
The block header. The block id is ZXSTBID_PLUSD ('P', 'L', 'S', 'D').
dwFlags
Various flags. This can be a combination of:
FlagMeaning
ZXSTPLUSDF_PAGEDThe Plus D's ROM and RAM are currently paged in.
ZXSTPLUSDF_COMPRESSEDSpecifies the RAM (and any custom ROM) have been compressed with the Zlib compression library.
ZXSTPLUSDF_SEEKLOWERIf set, the WD1772 FDC's current seek direction is towards lower cylinder numbers. Otherwise, it is towards higher ones.
dwcbRam
Size in bytes of the Zlib compressed or uncompressed custom Plus D RAM. The uncompressed RAM size is always 8,192 bytes.
dwcbRom
Size in bytes of the Zlib compressed or uncompressed custom Plus D ROM (if one was installed). The uncompressed ROM size is always 8,192 bytes.
chRomType
The type of ROM installed in the Plus D. This can be one of:
ValueMeaning
ZXSTPDRT_GDOS The standard G+DOS ROM (Version 1.A).
ZXSTPDRT_UNIDOS Uni-DOS ROM.
ZXSTPDRT_CUSTOM A custom ROM is installed. The Zlib compressed or uncompressed ROM image begins after the RAM image at chRam. dwcbRom contains the size of the compressed (or uncompressed) data.
chCtrlReg
The last value written to the Plus D's control register, port $ef.
chNumDrives
The number of disk drives connected (1 or 2).
chTrackReg
The current value of the WD1772 FDC's track register (port $eb).
chSectorReg
The current value of the WD1772 FDC's sector register (port $f3).
chDataReg
The current value of the WD1772 FDC's data register (port $fb).
chStatusReg
The current value of the WD1772 FDC's status register (port $e3).
chRam
A Zlib compressed or uncompressed image of the Plus D's RAM. The uncompressed RAM size is always 8192 bytes.

If a custom ROM is installed. The image follows immediately after the RAM data.

Remarks

Any ZXSTPLUSDDISK blocks specifying which disk files are in which drives will follow this one.

Revision history

Available since version 1.3


  Copyright © 2001 - 2011 Jonathan Needle Top