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

Table of contents

The zx-state file format
Block types

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:
FlagMeaning
ZXSTIF1F_ENABLEDIndicates Interface 1 emulation is enabled.
ZXSTIF1F_COMPRESSEDSpecifies the custom Interface 1 ROM image at chRomData has been compressed by the Zlib compression library.
ZXSTIF1F_PAGEDIndicates 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


  Copyright © 2001 - 2011 Jonathan Needle Top