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.

+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