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:
Flag
Meaning
ZXSTBETAF_CONNECTED
The interface is connected and enabled. This is always set for Pentagon and Scorpion machines.
ZXSTBETAF_CUSTOMROM
A 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_COMPRESSED
If a custom TR-DOS ROM is embedded in this block, it has been compressed with the Zlib compression library.
ZXSTBETAF_PAGED
The TR-DOS ROM is currently paged in.
ZXSTBETAF_AUTOBOOT
The Beta 128's Auto boot feature is enabled (48k ZX Spectum only).
ZXSTBETAF_SEEKLOWER
If 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