news
[1. dec 2006]: Updated "Where to get one?" and "Technical documentation" section.
[15. aug 2006]: Updated "Software" section.
introduction
divIDE is an ATA (IDE) interface which takes your ZX Spectrum computing to a whole new level. As the time takes its toll on ageing media such as audio tapes or diskettes, many ZX Spectrum enthusiasts simply stick to emulation for better reliability and comfort. With divIDE you can put your software collection to a hard disk, CD-ROM or even CompactFlash card and experience your favourite games, demos and utilities the way the were meant to be run - and even better. Using existing firmwares, many users find their Speccy box again a live platform - time for you to make the switch? ;]
features
  • divIDE uses full 16 bits of ATA bus (1)
  • divIDE works on all ZX Spectrum flavours (16, 48, 48+, 128, +2, +2A, +3 and clones)
  • Thanks to divIDE's onboard logic, theoretical transfer speed is 218 KB/sec (determined by the latency of INI/OUTI instructions) (2)
  • divIDE has 8 KB of shadow flash ROM that hosts operating system core, leaving your original ZX Spectrum ROM intact. Additional 32 KB of RAM accessible as 8 KB memory banks are present.
  • divIDE's auto-mapping feature transparently maps shadow ROM at important entry points, enabling standard tape emulation, BASIC extensions, NMI menu and DISCiPLE/+D or BetaDisk emulation.
  • divIDE's MAPRAM feature helps developers and users to test new software without the need of reflashing their working system in shadow ROM. It can also emulate another 8 KB of ROM if necessary.
  • divIDE works with all ATA-compatible devices (there are no known compatibility issues) (3)
  • Available software supports widely used emulator formats (TAP, SNA, Z80, SCR). Just download your all-time favourite games from the web and play!
screenshots

software
Firmwares:
  • FATware 0.12 natively supports up to 8 standard FAT-16 partitions (including long file names). It loads TAP, SNA, Z80, SCR and interlaced SCR files. With FATware you don't need any low-level disk utilities to get up and running - just unplug your disk or CompactFlash from your PC and plug it to your divIDE. NOTE: Early versions of FATware are read only. Write support is planned for the next major release (probably 0.2 or 0.3).
  • DEMFIR (DTP's Emulator Files Runner) handles ISO 9660 file system found on CD-ROMs. You can use either CDs or unfragmented ISO images stored on a disk. DEMFIR supports TAP, SNA, Z80, MFC and SCR files. You can download these from numerous software archives such as World of Spectrum. As it is possible to fit thousands of games to a single CD, DEMFIR can turn your Speccy into huge retro-gaming console. NOTE: DEMFIR is read only.
  • MDOS3 is a divIDE enhancement of MDOS/MDOS2 systems which were used in D40/D80 disk units. MDOS3 is a full-featured OS working with raw diskette images and supporting up to 4 virtual drives. One of its divIDE-specific add-ons is a tape emulator. With huge D40/D80 software base available this is worth a try, especially if you're a former Didaktik user.
  • +DivIDE is an adaptation of the GDOS/G+DOS system found in the DISCiPLE/+D disk interfaces. It should work with all DISCiPLE and +D software which doesn't call routines in GDOS/G+DOS ROM directly. +DivIDE uses virtual disks of 1600 sectors each on the ATA drive. Certain GDOS/G+DOS features are extended and improved. NOTE: +DivIDE uses raw LBA access to disk images so take care if you're hosting another file system on your disk.
  • TBIOS is basically a hardware testing utility. If you just built your divIDE you will probably want to flash this. TBIOS source code is available for starting developers as a demonstration of how to interface with ATA devices, how to handle shadow ROM entry points etc. Some goodies are included, such as divIDEo player and dithvIDE picture viewer.
Emulators:
  • Spin (Windows) - one of the best Speccy emulators around that contains complete divIDE emulation.
  • Spediv (Linux) - enhanced version of Spectemu by Dusky. Spediv's emulation of memory mapping and ATA layer is well-tested and is able to run any existing divIDE software.
  • Fuse (Linux, Windows) - mature ZX Spectrum emulator which adopted divIDE courtesy of Matthew "Gasman" Westcott.
  • EightyOne (Windows) - polished Sinclair/Timex emulator by Michael D. Wynne.
Other projects:
  • ZX Spectrum +3e maintained by Garry Lancaster is an enhancement of the original Amstrad ZX Spectrum models +2A and +3. The +3e ROM supports various ATA interfaces including divIDE.
Check out ESXDOS homepage for upcoming operating system that looks packed with features. As authors state, there's a device / filesystem abstraction layer, which means that BASIC or user-land programs don't need to know anything about the underlying filesystem / device. FAT 12 / 16 / 32, TR-DOS and ISO 9660 drivers are to be supported. Sounds great :)

We are encouraging skilled developers to write BetaDisk emulator. divIDE handles BetaDisk entry points therefore writing a replacement of TR-DOS disk routines should be a manageable task.
technical documentation
divIDE programming model - description of divIDE interfacing and memory mapping.

divIDE schematics
divIDE board layout
divIDE 5.7c - complete project file of the latest hardware revision
RWAP diwIDE board layout and info

Pavel "Zilogator" Cimbal's website contains latest Eagle project and GAL logic along with all the necessary material required by professional board manufacturers. It also contains various utilities, technology demos and hosts cfIDE project (free CompactFlash to IDE adapter).

www.t13.org - valuable resource of ATA/ATAPI related documents including ATA standard drafts.
www.ata-atapi.com - useful information for ATA/ATAPI developers, including sample device driver source code.
www.compactflash.org - official site of the CompactFlash Association.
goodies
DIY how-to - detailed, step-by-step instructions on how to assemble the interface for people who obtained do-it-yourself divIDE kit. Written in friendly language and sent to us courtesy of Alan "Factor6" Petrik.

logo - download "official" divIDE logo
small logo - small logo designed for Speccy screen
SCR logo - small logo in SCR format

Prototype - image of the first working prototype of divIDE (february 2002)
contacts

Contact Pavel "Zilogator" Cimbal (the hardware author) with any technical questions.


Contact me with issues related to this page and FATware system.
where to get one?
The divIDE is a free project and thus has no official producer - anyone wishing to produce a set of interfaces is invited to do so. The initial three batches of boards (about 150 in total) produced by Pavel Cimbal were sold mostly as DIY kits at a price of mere 20 EUR (14 GBP), which is basically a cost of components. However, these are now definitely out of stock and it is unlikely that Pavel himself will produce another batch, mainly due to overwhelming demand and the lack of time needed for assembling and shipping. However, there are currently three other producers:

UK-based Papaya Labs offer divIDE interfaces via their on-line shop. They also offer accessories such as CompactFlash cards and various adaptors.

Also in UK, RWAP Software offers extended version of the divIDE interface (with custom board layout) and also various accessories. The extended version, named diwIDE, comes cased and has various options, such as through connector and either an IDE adaptor or CF adaptor built in. Also, changes have been made to allow the interface to work in 128k BASIC mode.

Moreover, Czech ZX Spectrum enthusiast Noby produces batches of divIDE boards on a semi-regular basis. His interfaces are made using professional wave soldering technology (cheaper DIY kits are also available). There's a pre-ordering form available. The next 50 units should be available on December 2006.

We will keep you updated with all the relevant information as soon as it becomes available.

(1) There are simple interfaces that use 8-bit addressing which virtually reduces the hard drive to half capacity.
(2) Compare with ZXATASP using 8255 chip for interfacing. The actual transfer speed here is about 68 KB/sec.
(3) Many existing interfaces have compatibility issues as they rely on unspecified ATA behaviour.