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