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.