What is +DivIDE?
+DivIDE is a firmware for the divIDE ATA(IDE) interface
for the ZX Spectrum. It is an adaptation of the GDOS/G+DOS system found in the DISCiPLE/+D
diskinterfaces. It should work with all DISCiPLE and +D software which doesn't call routines in
G(+)DOS directly. At the moment it is not 128K mode compatible, it does work in 48K mode on an
original 128K. There is only support for ATA devices which support LBA mode and there is no
CD/DVD support.
How does it work?
G(+)DOS uses a very rigid allocation method, a disk cannot have more than 1600 sectors = 800kB.
(2 sides of 80 tracks, 10 sectors of 512 bytes per track).
+DivIDE uses virtual disks of 1600 sectors each on the ATA drive. Every disk access done by the
G(+)DOS part is taken as an offset into the current virtual disk. So each virtual disk still only
has 2 sides, 80 tracks per side and 10 sectors per track. The CATalogue uses the first 4 tracks
on each disk for 80 files max, just like the DISCiPLE and +D. The selection of a virtual disk is
done with the 'GOTO *' command (see below).
Differences between G(+)DOS and +DivIDE.
For the +D manual see:
World of Spectrum Documentation
- GOTO *d;m,n where d is 1 or 2 for drive number, m is 0 for IDE master, <>0 for IDE slave,
    n is virtual disk number 0-65535 (devices >50GB not supported (sorry)).
    The virtual disk number is an offset, it is multiplied by 1600 internally.
    Because I use LBA mode only sector 0 is left alone.
- LOAD n where n is the file number (LOAD pn is still supported).
- Opus syntax is supported.
- No Microdrive syntax and hookcodes (except 33 or #21) anymore, I needed the room.
- FORMAT dd where first d is NOT an variable but the letter itself (it's GDOS syntax),
    second d is drive number 1 or 2. It clears track 0-3 by overwriting all data with 0's.
- No need to load a system file, everything is in the EEPROM. RUN only loads the autoload file.
- divIDE doesn't have a printer port so ALL functions concerning the printer have been removed.
- Removed SAVE .. TO .., it was a badly written copy command afterall.
- Improved command codes 68 & 69 (#44 & #45) they are fast now.
- Improved (and shorter) syntax check routine.
- It is now possible to do a CAT to an OPENTYPE file.
- Removed the EOF bug.
- Shortened the code.
WARNING!
+DivIDE is not compatible with other systems like FAT or NTFS, it can destroy the contents of these
file systems if you're not careful.
.tap file downloads
You should flash the ROM image with the 'flasher.tap' utility. D48 is the +DivIDE version
of Tonnie Staps COPY utility, you have to select the virtual disks from BASIC.
divIDE flash program
   
ROM image
   
D48 copier
   
Tornado assembler
JRB november 2005
rudy@biehold.nl