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

Table of contents

The zx-state file format
Block types

ZXSTDSKFILE

Each +3 disk drive that has a disk inserted in it will have one of these blocks. They follow the ZXSTPLUS3 block which identifies the number of drives.

// +3 Disk image
// Each drive that has a disk in it has one of
// these blocks.
#define ZXSTDSKF_COMPRESSED  1
#define ZXSTDSKF_EMBEDDED    2
#define ZXSTDSKF_SIDEB       4

typedef struct _tagZXSTDSKFILE
{
  ZXSTBLOCK blk;
  WORD wFlags;
  BYTE chDriveNum;
  DWORD dwUncompressedSize;
  BYTE chData[1];
} ZXSTDSKFILE, *LPZXSTDSKFILE;

Members

blk
The block header. The block id is ZXSTBID_DSKFILE ('D', 'S', 'K', 0).
wFlags
Various flags. This can be a combination of:
Flag Meaning
ZXSTDSKF_COMPRESSED Not implemented. All disk images are currently links to external .dsk or .ipf files
ZXSTDSKF_EMBEDDED Not implemented. All disk images are currently links to external .dsk or .ipf files
ZXSTDSKF_SIDEB When a double-sided disk is inserted into a single-sided drive, specifies the side being read from/written to. If set, Side B is the active side, otherwise it is Side A.
chDriveNum
Specifies which drive to insert this disk image into. It will either be 0 (A:) or 1 (B:)
dwUncompressedSize
The length of the filename at chData
chData
The file name of the disk file (.dsk or .ipf) which should be opened and inserted into this drive

Remarks

These blocks follow the ZXSTPLUS3 block which identifies the number of drives.

Revision history

Available since version 1.0

ZXSTDSKF_SIDEB was added in version 1.4 to support 2-sided IPF disk images.


  Copyright © 2001 - 2011 Jonathan Needle Top