SPARTADOS X SIDE/MYIDE SOFT-DRIVER v.3.2The SIDE/MYIDE soft-drivers provide completely APT-compliant access to IDE hard disks (CF cards) under SpartaDOS X without the need for a PBI controller or modifications to the OS or to DOS. Since SDX boots from a cartridge, this DOS offers a unique opportunity to install soft-loaded drivers prior to the initial hard disk access during the boot process.HISTORYThe soft-driver was initially written for the MyIDE hardware, and was based on an experimental driver written by Kyle Dain. Some time after Kyle abandoned the project prior to attempting to implement partition tables, I was looking for a way of using my MyIDE cartridge without the modified "MyBIOS" OS, since at that stage, MyBIOS was not compatible with SpartaDOS X. I obtained Kyle's source code via Konrad Kokoszkiewicz (KMK), and set about modifying it to handle user-definable partition tables. Because of this, I also required a partition editor which did not exist, so I had to write one of those too, as well as formulating some kind of driver API and partition table design.A chance conversation with Matthias Reichl (Hias) led to us working together on the initial partition table design, while I worked on the API and partition editor, the latter having the rather original name "FDISK". After a while, we came up with a partition design which worked pretty well, and FDISK was capable of creating a usable partition structure.These events occured around the time that KMK was thinking about a partition table design for the then new "IDE Plus 2.0" IDE host adapter, and he invited Hias, myself, and others to collaborate on the design. In short, I decided to adopt the IPT (later renamed "APT") design and implement it in the soft-drivers. This required a complete re-write not only of the drivers, but also of the partition editor. Meanwhile, KMK was also working on the API for APT...As if this wasn't enough, Sebastian Bartkowicz (Candle O'Sin) approached me about a "SIDE project" he was working on: a new cartridge, similar in some ways to MyIDE, but with an integral Compact Flash card slot, and much greater stability and compatibility than MyIDE and MyIDE/Flash. Candle asked if I would like to write the IDE driver for the new cartridge (the "SIDE" cartridge), and I eagerly said yes.By now there was very little left of the original MyIDE driver, but the concept remained the same: simple, fast, and inexpensive mass storage for SpartaDOS X.Since SIDE2 eventually superceded SIDE, bringing with it hot-swapping capabilities, stability enhancements and more, the drivers underwent yet a further rewrite, and were finally merged into a single code trunk in order to ease maintenance and development. Drivers for six different hardware types are now compiled from the same soft-driver base code, and share much of the code found in the PBI BIOSes for Ultimate 1MB and Incognito.DRIVER REBOOTVersion 3.2 of the SDX soft-driver is the culmination of three years of development. The new drivers put the emphasis on simplicity, speed and economy of size rather than an overabundence of features, consuming only 800 bytes or so of conventional RAM when installed on a system using "BANKED" memory. Even on a system without expanded RAM, the drivers consume around 2KB of conventional memory.The distribution package includes SDX soft-drivers for the following hardware:- SIDE/SIDE2 (SIDE.SYS)- MyIDE/MyIDE+Flash (MYIDE.SYS)- Internal MyIDE (MYIDEI.SYS)- MyIDE II (MYIDE2.SYS)- Incognito (COLLEEN.SYS, 800 mode onlyCHANGELOG (Since v.2.5)v.3.2- Serious bug discovered (thanks to Electron) which results in a location in main memory being corrupted when the driver re-reads the partition table from disk.v.3.1- Device reset is now properly issued when SIDE and SIDE2 drivers initialize. Issue did not affect other interfaces. Thanks to Electron for discovering the issue.v.3.0- Dynamic mounting is no longer supported- External (usually FAT) named partitions (type $03) are now supported- Driver footprint reduced- Internal sector buffer reduced from 512 byte to 256 bytes- Double density and single density mappings compatible with IDE Plus 2.0- Status command compatible with IDE Plus 2.0- Incompatible APT revisions and partition mappings now rejected- SIO commands not intended for logical or physical disks are now properly passed up the SIO chain to the correct handlers- SIO Status command returns 4 bytes to the address at DBUFLO/HI, instead of to the 4 bytes at DVSTATThe drivers provide a complete Rev 0 APT implementation, and should be used with FDISK 4.4 onwards, and installed with the latest versions of SpartaDOS X on a machine with at least 128KB of RAM for optimal performance.You'll need to include DEVICE SIDE or similar towards the end of your CONFIG.SYS (certainly after DEVICE SIO and DEVICE SPARTA). The default CONFIG.SYS on CAR: in the supplied SDX ROMs already includes a line which installs the appropriate driver. You may edit CONFIG.SYS on CAR: using the SpartaDOS Imaging tool, but it should always include an instruction to load the driver. You may include the "MERGE" command at the end of CONFIG.SYS if you wish, and this will read a further set of CONFIG instructions from a file on the boot hard disk partition.USAGE NOTESWhen booting SDX, you may hold down the SHIFT key to disable installation of the soft-driver.Naturally, should you discover what you consider to be a bug or other problem in operation, please report the matter to me at fjc@atari8.co.uk, or via the AtariAge forums.Enjoy!FJC, 6 April 2014