Anonymous

ZX-State format: Difference between revisions

From Sinclair Wiki
→‎Format extensions: Add ZXMMC block.
(→‎Emulator / tool support: Add Fuse/libspectrum support for DivMMC blocks.)
(→‎Format extensions: Add ZXMMC block.)
Line 91: Line 91:
  #define ZXSTDIVMMC_COMPRESSED 4
  #define ZXSTDIVMMC_COMPRESSED 4
   
   
  // DivIDE IDE settings
  // DivMMC settings
  typedef struct _tagZXSTDIVMMCBLOCK
  typedef struct _tagZXSTDIVMMCBLOCK
  {
  {
Line 131: Line 131:
  #define ZXSTDRF_COMPRESSED 1
  #define ZXSTDRF_COMPRESSED 1
   
   
  // DivIDE RAM page
  // DivMMC RAM page
  typedef struct _tagZXSTDIVMMCRAMPAGEBLOCK
  typedef struct _tagZXSTDIVMMCRAMPAGEBLOCK
  {
  {
Line 319: Line 319:
&nbsp;&nbsp; '''chData'''<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The compressed or uncompressed contents of the Spectranet's RAM. When uncompressed, this member is exactly 128KB (131,072) bytes in size. When loading [http://www.zlib.org/ Zlib] compressed pages, the compressed size can be obtained by:
&nbsp;&nbsp; '''chData'''<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The compressed or uncompressed contents of the Spectranet's RAM. When uncompressed, this member is exactly 128KB (131,072) bytes in size. When loading [http://www.zlib.org/ Zlib] compressed pages, the compressed size can be obtained by:
  compressedSize = blk.dwSize - ( sizeof( ZXSTSPECTRANETFLASHPAGEBLOCK ) - sizeof( ZXSTBLOCK ) - 1 );
  compressedSize = blk.dwSize - ( sizeof( ZXSTSPECTRANETFLASHPAGEBLOCK ) - sizeof( ZXSTBLOCK ) - 1 );
=== ZXSTZXMMC ===
The state of the ZXMMC interface.
// ZXMMC settings
typedef struct _tagZXSTZXMMCBLOCK
{
  ZXSTBLOCK blk;
} ZXSTZXMMCBLOCK, *LPZXSTZXMMCBLOCK;
==== Members ====
&nbsp;&nbsp; '''blk'''<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The block header. The block id is ZXSTBID_ZXMMC ('Z', 'M', 'M', 'C').
(It is correct that this block has no members other than the block ID; the presence of this block indicates the presence of the interface).


== Emulator / tool support ==
== Emulator / tool support ==
49

edits