ZXSTIF1

The current state of the Interface 1. This block will appear before any Microdrive cartridge blocks (ZXSTMCART) in the file.

// Interface 1
#define ZXSTIF1F_ENABLED     1
#define ZXSTIF1F_COMPRESSED  2
#define ZXSTIF1F_PAGED       4

typedef struct _tagZXSTIF1
{
  ZXSTBLOCK blk;
  WORD wFlags;
  BYTE chNumMicrodrives;
  BYTE  chReserved[3];
  DWORD dwReserved[8];
  WORD wRomSize;
  BYTE chRomData[1];
} ZXSTIF1, *LPZXSTIF1;

Members

blk

The block header. The block id is ZXSTBID_IF1 ('I', 'F', '1', 0).

wFlags

Various flags. This can be a combination of:

Flag

Meaning

ZXSTIF1F_ENABLED

Indicates Interface 1 emulation is enabled.

ZXSTIF1F_COMPRESSED

Specifies the custom Interface 1 ROM image at chRomData has been compressed by the Zlib compression library.

ZXSTIF1F_PAGED

Indicates that the Interface 1 ROM is currently paged in.

chNumMicrodrives

Number of Microdrives attached to the Interface 1 (1-8). Note: this cannot be 0 (zero).

chReserved

This member is reserved. Set to 0 (zero).

dwReserved

This member is reserved. Set to 0 (zero).

wRomSize

The uncompressed size of the custom Interface 1 ROM at chData. This is either 8,192 or 16,384. It will be 0 if there is no custom ROM installed. In this case the standard v2 ROM should be used.

chRomData

A Zlib compressed or uncompressed custom Interface 1 ROM (if one was installed). When loading Zlib compressed ROMs, the compressed size can be obtained by:

compressedSize = blk.dwSize - ( sizeof( ZXSTIF1 ) - 1 - sizeof( ZXSTBLOCK ));

Remarks

This block will appear before any Microdrive cartridge blocks (ZXSTMCART) in the file.

Revision history

Available since version 1.0