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

Table of contents

The zx-state file format
Block types

ZXSTBETA128

Beta 128 disk interface from Technology Research UK Ltd. A clone of this interface is also used in the Russian Pentagon and Scorpion machines.

Any blocks specifying which disk files are in which drive will follow this one.

// Beta 128 disk interface used by the Pentagon and Scorpion
#define ZXSTBETAF_CONNECTED   1
#define ZXSTBETAF_CUSTOMROM   2
#define ZXSTBETAF_PAGED       4
#define ZXSTBETAF_AUTOBOOT    8
#define ZXSTBETAF_SEEKLOWER  16
#define ZXSTBETAF_COMPRESSED 32 

typedef struct _tagZXSTBETA128
{
  ZXSTBLOCK blk;
  DWORD dwFlags;
  BYTE chNumDrives;
  BYTE chSysReg;
  BYTE chTrackReg;
  BYTE chSectorReg;
  BYTE chDataReg;
  BYTE chStatusReg;
  BYTE chRomData[1];
} ZXSTBETA128, *LPZXSTBETA128;

Members

blk
The block header. The block id is ZXSTBID_BETA128 ('B', '1', '2', '8').
dwFlags
Various flags. This can be a combination of:
FlagMeaning
ZXSTBETAF_CONNECTEDThe interface is connected and enabled. This is always set for Pentagon and Scorpion machines.
ZXSTBETAF_CUSTOMROMA custom TR-DOS ROM is installed. The ROM image begins at chRomData.

The default ROM is the last version by Technology Research, version 5.03.

ZXSTBETAF_COMPRESSEDIf a custom TR-DOS ROM is embedded in this block, it has been compressed with the Zlib compression library.
ZXSTBETAF_PAGEDThe TR-DOS ROM is currently paged in.
ZXSTBETAF_AUTOBOOTThe Beta 128's Auto boot feature is enabled (48k ZX Spectum only).
ZXSTBETAF_SEEKLOWERIf set, the WD179x FDC's current seek direction is towards lower cylinder numbers. Otherwise, it is towards higher ones.
chNumDrives
The number of disk drives connected (1-4).
chSysReg
The last value written to the Beta 128's system register (port $ff).
chTrackReg
The current value of the WD179x FDC's track register (port $3f).
chSectorReg
The current value of the WD179x FDC's sector register (port $5f).
chDataReg
The current value of the WD179x FDC's data register (port $7f).
chStatusReg
The current value of the WD179x FDC's status register (port $1f).
chRomData
A Zlib compressed or uncompressed custom TR-DOS ROM (if one was installed). The uncompressed ROM size is always 16,384 bytes.

When loading Zlib compressed ROMs, the compressed size can be obtained by:

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

Remarks

Any ZXSTBETADISK blocks specifying which disk files are in which drives will follow this one.

Revision history

Available since version 1.2


  Copyright © 2001 - 2011 Jonathan Needle Top