"Spectrum Prog" file format v1.0: Notes: *At a launch time the following default parameters set: - ZX Screen 0 - ROM Basic48 at #0000 - page 5 at #4000 - page 2 at #8000 - IM 1 - I = 3Fh Header (1024 bytes): *1 All fields marked "Reserved" should be set to 0 *2 Bit fields are enumerated from low to high Offset Bytes Bits Description 000h 32 Author's string 020h 12 Magic "SpectrumProg" 02Ch 1 4 Format sub-version (0) 4 Format version (1) 02Dh 1 Day of month 02Eh 1 Month 02Fh 1 Year (add 2000 to obtain actual value) 030h 2 Run address (#4000-#FFFF are allowed) 032h 2 SP value 034h 1 8 Page at #C000 035h 1 2 CPU Clock 1 INT Enabled 5 Reserved 036h 2 16 Address where pager is loaded (0 - no pager loaded). Size of code for pager is no more than 32 bytes 038h 2 16 Address where resident is loaded. Size 16 bytes 03Ah 2 Number of Blocks 03Ch 1 Second 03Dh 1 Minute 03Eh 1 Hour 03Fh 17 Reserved 050h 32 Creator utility string 070h 144 Reserved 100h 768 Blocks descriptors (repeated up to 256 times) 1 5 Address in page (512 bytes aligned, 0h - #C000, 1Fh - #FE00) 2 Reserved 1 Last block marker (1 - no other blocks in file) 1 5 Size (512 bytes multiple: 0h - 512b, 1Fh - 16kB) 1 Reserved 2 Compression type (0 - NONE, 1 - MLZ, 2 - HRUST) 1 8 Page (#00-#DF are allowed)