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

Table of contents

The zx-state file format
Block types

ZXSTSPECTRANET

Dylan Smith's Spectranet Ethernet interface for the 16K, 48K, 128, +2, +2A and +3 ZX Spectrums.

// Spectranet state
#define ZXSTSNETF_PAGED                      0x0001
#define ZXSTSNETF_PAGED_VIA_IO               0x0002
#define ZXSTSNETF_PROGRAMMABLE_TRAP_ACTIVE   0x0004
#define ZXSTSNETF_PROGRAMMABLE_TRAP_MSB      0x0008
#define ZXSTSNETF_ALL_DISABLED               0x0010
#define ZXSTSNETF_RST8_DISABLED              0x0020
#define ZXSTSNETF_DENY_DOWNSTREAM_A15        0x0040

#define ZXSTSNETF_FLASH_COMPRESSED           0x0080
#define ZXSTSNETF_RAM_COMPRESSED             0x0100

typedef struct _tagZXSTSPECTRANET
{
  ZXSTBLOCK blk;
  DWORD dwFlags;
  BYTE chPageA;
  BYTE chPageB;
  WORD wTrap;
  BYTE chRegisters[0x30];
  DWORD dwcbFlashLength;
  BYTE lpchFlash[1];
  DWORD dwcbRamLength;
  BYTE lpchRam[1];
} ZXSTSPECTRANET, *LPZXSTSPECTRANET;

Members

blk
The block header. The block id is ZXSTBID_SPECTRANET ('S', 'N', 'E', 'T').
wFlags
Various flags. This can be any combination of:
Flag Meaning
ZXSTSNETF_PAGED The Spectranet is currently paged.
ZXSTSNETF_PAGED_VIA_IO The Spectranet was paged in via I/O port.
ZXSTSNETF_PROGRAMMABLE_TRAP_ACTIVE The Spectranet's programmable trap is currently active.
ZXSTSNETF_PROGRAMMABLE_TRAP_MSB The next write to the Spectranet's programmable trap port will set the MSB of the programmable trap address.
ZXSTSNETF_ALL_DISABLED All the Spectranet's traps are currently disabled.
ZXSTSNETF_RST8_DISABLED The Spectranet's RST 8 trap is currently disabled.
ZXSTSNETF_DENY_DOWNSTREAM_A15 The Spectranet is forcing the A15 line low for any peripherals connecting via its expansion port.
ZXSTSNETF_FLASH_COMPRESSED If set, the flash data at lpchFlash is compressed using the Zlib compression library.
ZXSTSNETF_RAM_COMPRESSED If set, the RAM data at lpchRAM is compressed using the Zlib compression library.
chPageA
The page currently paged into the Spectranet's page A (0x1000-0x1fff).
chPageB
The page currently paged into the Spectranet's page B (0x2000-0x2fff).
wTrap
The current value of the Spectranet's programmable trap.
chRegisters
The values of the core W5100 registers.
dwcbFlashLength
The length of the possibly compressed Spectranet flash.
lpchFlash
contents of the Spectranet's flash. When uncompressed, this must be exactly 0x20000 bytes in length.
dwcbRamLength
length of the possibly compressed Spectranet RAM.
lpchRAM
The contents of the Spectranet's RAM. When uncompressed this must be exactly 0x20000 bytes in length.

Remarks

The contents of the W5100's socket registers are not saved - whatever was listening on the other end will have gone away when the snapshot is restored.

Revision history

Available since version 1.5


  Copyright © 2001 - 2011 Jonathan Needle Top