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

Table of contents

The zx-state file format
Block types

ZXSTLEC

Contains the state of the LEC RAM interface.

The LEC RAM interface can add 64KB, 256KB or 512KB of uncontended RAM to a Spectrum 16/48K in 2 * 32KB pages.

The last 32KB page in the interface sustitute the Spectrum RAM in the 0x8000-0xFFFF address range.

The lower 32KB at 0x0000-0x7FFF can be configured as usual (ROM + VRAM) or as a 32KB RAM page that can be one of 2, 8 or 16 RAM pages (depending on LEC model). When the last page is selected, it appears twice in the address range: the first at 0x0000-0x7FFF and the second at 0x8000-0xFFFF.

Memory state is stored separately in ZXSTLECRAMPAGE blocks which will follow this block.

// Flags
#define ZXSTLECF_PAGED 0x01

typedef struct _tagZXSTLEC
{
  ZXSTBLOCK blk;
  WORD wFlags;
  BYTE chMemPaged;
  BYTE chNumRamPages;
} ZXSTLEC, *LPZXSTLEC;

Members

blk
The block header. The block id is ZXSTBID_LEC ('L', 'E', 'C', 0 ).
wFlags
Various flags. This can be any combination of:
Value Meaning
ZXSTLECF_PAGED If set, RAM is paged into the lower 32KB address range (0x0000-0x7fff).
chMemPaged
Actual page at 0x0000-0x7fff (0-15).
chNumRamPages
The amount of RAM installed in this LEC interface, in units of 32KB. Normally either 2 (80KB version), 8 (272KB version) or 16 (528KB version).

Remarks

Memory state is stored separately in ZXSTLECRAMPAGE blocks which will follow this block.

Revision history

Available since version 1.5.


  Copyright © 2001 - 2011 Jonathan Needle Top