ZXSTATASP

Sami Vehmaa's ZXATASP IDE hard disk and CompactFlash card interface for the 16K, 48K, 128, +2, +2A and +3 ZX Spectrums. This block will be followed by zero or more ZXSTATARAM blocks which store the contents of the interfaces onboard memory.

// ZXATASP jumper settings
#define ZXSTAF_UPLOADJUMPER     1
#define ZXSTAF_WRITEPROTECT     2

// ZXATASP IDE interface
typedef struct _tagZXSTATASP
{
  ZXSTBLOCK blk;
  WORD wFlags;
  BYTE chPortA;
  BYTE chPortB;
  BYTE chPortC;
  BYTE chControl;
  BYTE chNumRamPages;
  BYTE chActivePage;
} ZXSTATASP, *LPZXSTATASP;

Members

blk

The block header. The block id is ZXSTBID_ZXATASP ('Z', 'X', 'A', 'T').

wFlags

Various flags. This can be any combination of:

Flag

Meaning

ZXSTAF_UPLOADJUMPER

If set, the upload jumper on the interface is enabled.

ZXSTAF_WRITEPROTECT

If set, all on-board memory is write protected.

chPortA

The current value of the ZXATASP's port A ($009f).

chPortB

The current value of the ZXATASP's port B ($019f).

chPortC

The current value of the ZXATASP's port C ($029f).

chControl

The current value of the ZXATASP's control port ($039f).

chNumRamPages

Tbe number of 16K RAM pages installed in this ZXATSP interface.

chActivePage

Specifies the RAM page currently paged into $0000 - $3fff, or 255 if no paging is currently active.

Revision history

Available since version 1.3