ZXSTROM
A custom ROM has been installed for the current Spectrum model.
// Custom ROM for the current model
#define ZXSTRF_COMPRESSED 1
typedef struct _tagZXSTROM
{
ZXSTBLOCK blk;
WORD wFlags;
DWORD dwUncompressedSize;
BYTE chData[1];
} ZXSTROM, *LPZXSTROM;
Members
- blk
The block header. The block id is ZXSTBID_ROM ('R', 'O', 'M', 0).
- wFlags
If ZXSTRF_COMPRESSED is set, the ROM image at chData has been compressed with the Zlib compression library.
- dwUncompressedSize
The size in bytes of the custom ROM. This will be one of:
Size
Spectrum model
16,384
16k/48k Spectrum
32,768
Spectrum 128/+2
65,536
Spectrum +2A/+3
32,768
Pentagon 128
65,536
ZS Scorpion
16,384
Timex Sinclair TS/TC2048
24,576
Timex Sinclair TS2068
32,768
Spectrum SE
NOTE: For models that have more than one ROM, the ROMs will be concatenated together in ascending order.
- chData
Either a Zlib compressed or uncompressed ROM image depending on whether the ZXSTRF_COMPRESSED bit of wFlags is set.
Remarks
When a custom ROM is not installed, the standard UK ROMs should be used for all official ZX Spectrum models. For the Spectrum +2A/+3, this is the v4.0 ROM.
For unofficial models (clones), the appropriate standard ROM should be used if a custom ROM is not installed.
Revision history
Available since version 1.0