+3e: Difference between revisions
Jump to navigation
Jump to search
m (remove excess newline) |
No edit summary |
||
Line 2: | Line 2: | ||
[[Category:ROMs]] | [[Category:ROMs]] | ||
The ''ZX Spectrum +3e'' is a replacement ROM for the [[ZX Spectrum +3]] which fixes several bugs, improves the BASIC, and introduces support for hard drives and compact flash cards. It was created by [http://www.garrylancaster.me.uk/ Garry Lancaster], and its homepage is [http://www.worldofspectrum.org/zxplus3e/]. | The ''ZX Spectrum +3e'' is a replacement ROM for the [[ZX Spectrum +3]] which fixes several bugs, improves the BASIC, and introduces support for hard drives and compact flash cards. It was created by [http://www.garrylancaster.me.uk/ Garry Lancaster], and its homepage is [http://www.worldofspectrum.org/zxplus3e/]. | ||
==Extended eXtended Disk Parameter Block== | |||
The +3e has an "extended XDPB" based on the [[+3DOS#XDPB|+3DOS XDPB]]. The data is ordered as follows | |||
<pre> | |||
0x0000 SPT SPT BSH BLM EXM DSM DSM DRM DRM AL0 AL1 CKS CKS OFF OFF PSH | |||
0x0010 PHM fl1 tps spt fsn ssz glr glf fl2 fzf fl3 drl fdu lac lac lac | |||
0x0020 nfo nfd lud lud cka aba | |||
key: | |||
SPT: Records Per Track | |||
BSH: Block Shift: 128 * 2^BSH | |||
BLM: Block Mask: 128 * (BLM + 1) | |||
EXM: Extent Mask | |||
DSM: Number of blocks - 1 | |||
DRM: Number of directory entries - 1 | |||
AL0: AL0 directory bitmap | |||
AL1: AL1 directory bitmap | |||
CKS: Size of checksum vector | |||
OFF: Reserved tracks | |||
PSH: Physical sector shift | |||
PHM: Sector size | |||
fl1: Flags relating to sidedness | |||
tps: Number of tracks per side | |||
spt: Number of sectors per track | |||
fst: First physical sector number | |||
ssz: Sector size | |||
glr: Gap length (read/write) | |||
glf: Gap length (format) | |||
fl2: Flags relating to multitrack/modulation/skip | |||
fzf: Freeze flag | |||
fl3: Flags relating to drives | |||
drl: Drive letter (ascii) | |||
fdu: FD unit number for drive B: | |||
lac: Last access (FRAMES) | |||
nfo: Number of files open on drive | |||
nfd: Number of free director entries | |||
lud: Last used directory entry number | |||
cka: Address of checksum vector | |||
aba: Address of allocation bitmap | |||
lda: Address of routine to login a disk | |||
sra: Address of routine to read a sector | |||
swa: Address of routine to write a sector | |||
</pre> | |||
== BASIC extensions == | == BASIC extensions == | ||
== Mass storage == | == Mass storage == |
Revision as of 23:01, 12 November 2011
The ZX Spectrum +3e is a replacement ROM for the ZX Spectrum +3 which fixes several bugs, improves the BASIC, and introduces support for hard drives and compact flash cards. It was created by Garry Lancaster, and its homepage is [1].
Extended eXtended Disk Parameter Block
The +3e has an "extended XDPB" based on the +3DOS XDPB. The data is ordered as follows
0x0000 SPT SPT BSH BLM EXM DSM DSM DRM DRM AL0 AL1 CKS CKS OFF OFF PSH 0x0010 PHM fl1 tps spt fsn ssz glr glf fl2 fzf fl3 drl fdu lac lac lac 0x0020 nfo nfd lud lud cka aba key: SPT: Records Per Track BSH: Block Shift: 128 * 2^BSH BLM: Block Mask: 128 * (BLM + 1) EXM: Extent Mask DSM: Number of blocks - 1 DRM: Number of directory entries - 1 AL0: AL0 directory bitmap AL1: AL1 directory bitmap CKS: Size of checksum vector OFF: Reserved tracks PSH: Physical sector shift PHM: Sector size fl1: Flags relating to sidedness tps: Number of tracks per side spt: Number of sectors per track fst: First physical sector number ssz: Sector size glr: Gap length (read/write) glf: Gap length (format) fl2: Flags relating to multitrack/modulation/skip fzf: Freeze flag fl3: Flags relating to drives drl: Drive letter (ascii) fdu: FD unit number for drive B: lac: Last access (FRAMES) nfo: Number of files open on drive nfd: Number of free director entries lud: Last used directory entry number cka: Address of checksum vector aba: Address of allocation bitmap lda: Address of routine to login a disk sra: Address of routine to read a sector swa: Address of routine to write a sector