The original drives used the SASI interface (largely equivalent to a SCSI I interface) which made writing the hardware drivers relatively simple, using high level "sector" operations to talk to the logical layout of the drive.
However this approach has a number of draw backs
There are locating holes positioned to allow the interface board to be screwed onto the holes normally used to hold the drive in the PC case, though these can be trimmed off if not required - making the interface the same size as MiniB.
Jumper links on the PCB determine where in the memory map the drives appear to software, each interface taking 16 bytes in the range &FC40-FC4F or &FC50-FC5F as desired. As each interface can drive a master/slave combination this gives a potential for up to 4 IDE drives in total.
Though filing system software would be required, there's no reason in principle why an ATAPI device could not appear amongst the 4 drives - opening up the possibility of support for CD-ROM as well as harddisc storage.
Jumpers define the region in the memory map which the interface appears, with &FC40 being the default. Within this the decoding selects:
Offset | Description | Access |
+00 | data (low byte) on CS0 | RW |
+01 | error on CS0 | R |
+02 | count on CS0 | RW |
+03 | sector on CS0 | RW |
+04 | cylinder (low) on CS0 | RW |
+05 | cylinder (high) on CS0 | RW |
+06 | head on CS0 | RW |
+07 | status on CS0 | R |
+08 | data (high byte) | RW |
+09 | RW | |
+0A | RW | |
+0B | RW | |
+0C | unused | |
+0D | unused | |
+0E | alternative status on CS1 | R |
+0F | unused |
As the hardware supports 16 bit transfers, but the 6502 is an 8 bit CPU the wider transfers must be completed in two stages:
Note that some registers have different meanings if the drive is programmed to run in logical block addressing mode. For a more complete description of what the registers mean consult the ATA command document.
The updated filing system ROM containing ADFS with support for IDE drives should be downloaded along with the formatting program, HDInit, written in BASIC.
Option: | Price: | Comments: | ||||||
PCB fully populated and tested |
| Fully populated PCB as shown above Includes approx 60cm of ribbon cable to the 1MHz bus port You will need a suitable 12V/5V power supply, drive, 40 way IDE cable, and optionally an external case | ||||||
PCB fully populated plus preformatted drive |
| Fully populated PCB as shown above Includes approx 60cm of ribbon cable to the 1MHz bus port Supplied with preformatted drive with the maximum sized 512MB partition (ie.a 1GB or larger drive) You will need a suitable 12V/5V power supply, and optionally an external case |