ZXSTMCART

Microdrive cartridge. Each drive that has a cartridge inserted has one of these blocks. These will follow the Interface 1 (ZXSTIF1) block.

// Microdrive cartridge
// Each drive that has a cartridge in has one of
// these blocks.
#define ZXSTMDF_COMPRESSED  1
#define ZXSTMDF_EMBEDDED    2

typedef struct _tagZXSTMCART
{
  ZXSTBLOCK blk;
  WORD wFlags;
  BYTE chDriveNum;
  BYTE fDriveRunning;
  WORD wDrivePos;
  WORD wPreamble;
  DWORD dwUncompressedSize;
  BYTE chData[1];
} ZXSTMCART, *LPZXSTMCART;

Members

blk

The block header. The block id is ZXSTBID_MICRODRIVE ('M', 'D', 'R', 'V').

wFlags

Various flags. This can be one of:

Flag

Meaning

ZXSTMDF_COMPRESSED

Not implemented. All Microdrive cartridges are currently links to external .mdr files

ZXSTMDF_EMBEDDED

Not implemented. All Microdrive cartridges are currently links to external .mdr files

chDriveNum

The drive number this cartridge should be inserted into (1-8)

fDriveRunning

Indicates whether or not the Microdrive motor is running. This will either be 0 or 1 (on)

wDrivePos

Position of the virtual Microdrive head within the file

wPreamble

Number of preamble bytes left to skip

dwUncompressedSize

The length of the filename at chData

chData

The file name of the Microdrive cartridge file (.mdr) which should be opened and inserted into this drive

Revision history

Available since version 1.0