+3e
Jump to navigation
Jump to search
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 ssz glr glf fl2 fzf fl3 drl fdu lac lac 0x0020 lac nfo nfd nfd lud lud cka cka aba aba lda lda sra sra swa swa 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