ZX-State format: Difference between revisions

Jump to navigation Jump to search
→‎ZXSTDIVIDE: Finish documenting block.
(→‎Format extensions: Begin documenting DivIDE blocks.)
(→‎ZXSTDIVIDE: Finish documenting block.)
Line 28: Line 28:
   BYTE chData[1];
   BYTE chData[1];
  } ZXSTDIVIDEBLOCK, *LPZXSTDIVIDEBLOCK;
  } ZXSTDIVIDEBLOCK, *LPZXSTDIVIDEBLOCK;
==== Members ====
&nbsp;&nbsp; '''blk'''<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The block header. The block id is ZXSTBID_DIVIDE ('D', 'I', 'D', 'E').<br />
&nbsp;&nbsp; '''wFlags'''<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Various flags. This can be any combination of:
{|cellspacing="1" cellpadding="1" border="1" width="100%"
|'''Flag'''
|'''Meaning'''
|-
|ZXSTDIVIDE_EPROM_WRITEPROTECT
|The DivIDE's EPROM is write protected.
|-
|ZXSTDIVIDE_PAGED
|The DivIDE is currently paged in.
|-
|ZXSTDIVIDE_COMPRESSED
|If set, the EPROM data (beginning from '''chData''') will be compressed using the [http://www.zlib.org/ Zlib] compression library.
|}
&nbsp;&nbsp; '''chMemCtrl'''<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The current value of the DivIDE's memory control register.<br />
&nbsp;&nbsp; '''chNumRamPages'''<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The amount of RAM installed in this DivIDE interface, in units of 8KB. Normally '''4''', representing a 32KB DivIDE interface.<br />
&nbsp;&nbsp; '''chData'''<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The compressed or uncompressed contents of the DivIDE's EPROM. When uncompressed, this member is exactly 16KB (16,384) bytes in size. When loading [http://www.zlib.org/ Zlib] compressed pages, the compressed size can be obtained by:
compressedSize = blk.dwSize - ( sizeof( ZXSTDIVIDEBLOCK ) - sizeof( ZXSTBLOCK ) - 1 );


=== ZXSTLEC ===
=== ZXSTLEC ===
49

edits

Navigation menu