------------ A500IDE readme V1.6.rev3 18-june-2019 ------------ Versions Updates to this project may appear at the www page http://www.iki.fi/mkl/ide/ If you need something from previous versions, these should be there too. What is this good for, if anything? These are instructions for building a simple non-autobooting IDE hard disk and ATAPI CDROM interface for Amiga 500's side slot connection. It might work with other Amigas. Many people have built this hack and it has worked without problems for many of them. But for some people it has not worked. Disclaimer Everything is disclaimed. You use this at your own risk. It is possible that you break some hardware or people or lose data if something goes wrong. Testing I have tested the A500 bus interface on KS1.3 and KS2.05(ROM 37.300) Drives tested include eg. Conner Peripherals CP3044, Western Digital Tidbit 60 (2.5") and Seagate ST3850 (811 MByte drive) and many others. Speeds were about 400 KBytes/second, and even over 600 KBytes/s. Prairietek 120 20MB 2.5" drive did not work. (It gave errors.) I have used also other drives and Compact Flash cards with an IDE <-> CF adapter. The driver seems to work, but changes to the code might break something by some change, and it is not 100% tested always. The driver is named "ide.device". There is some code in the driver for Trackdisk64 support for drives over 4 GB, but it is not tested. You shouldn't try to use the area over 4 GB with any disk without a device driver and a filesystem that support it, or else data may get overwritten, for example because of "wrap around." Also, fast-format option should be used when formatting with "format", or so I have read somewhere. Radovan Kobularcik made modifications to the driver, so that two units of HDDs and/or CD-ROMs can be connected to the interface. He also made other new software, such as a CD-player. See soft/RKdoc, soft/RKc and soft/RKsrc. CD-ROM filesystems generally require at least OS2.0. Check out http://babel.org/amiga for a CD filesystem that works on KS1.2 and above. However I have not tried it (with this ide.device), so incompatibility may exist. The driver supports HDToolBox for partitioning (only RDSK block 0, according to R.K., who made the support). There is a partition mounting program that reads Rigid Disk Block (which can be written by HDToolBox by Amiga) and generates a mounting script and a mountlist to RAM: directory. To use HDToolBox with this driver, type: "HDtoolBox ide.device", where ide.device is the name of the driver, There are a few bugs: It may hang if there is no drive connected. It may reportedly hang if only one drive is connected. For KS1.3 the line "Filesystem = L:FastFileSystem" is not generated by the mounting software to the mountlist which it writes in RAM: disk, but it may be added manually. I merged the software I got from R.K. to the package for driver and s/w. 18-june-2019, correcting info about sector count of 256 sectors A600's original ide driver requires use of maxtransfer setting to something like 0x01FE00 because drives would not automatically update the starting point of transfer after doing a large sector count transfer, even if that may be said in some old IDE documents. So then, it's not about drives understanding value 0 as 256 sectors as sector count for a transfer. Maxtransfer setting should not be needed with ide.device. Building the interface Updated PCB and schematic files shall appear at the WWW-page. You will need the necessary soldering and other skills to build the interface. Power supply for the drives: Use an external PSU which provides enough power. Overstressing the original Amiga power supply can be a bad thing. Base address Changing the base address can be done with jumpers or DIP switch. After changing the base address you must remember to change it in the software as well. The base address I have used is $DA0000..$DAFFFF, which can not be used with Viper520 CD accelerators, some memory expansions or other extensions that use this address range by themselves. Amiga 600 and 1200 use the $DA0000 address range for the built-in IDE-interface. $F00000 - $F7FFFF may be free on most A500 systems. In the future I will use base address $F20000. Diagnosis by querying the IDE hard disk To test the interface and to find out interesting drive parameters: You can use soft/old/IdentifyDrive. This program made in C accesses the drive registers directly without "ide.device". soft/RKc/iddr, on the other hand, uses and needs (a suitable version of the) ide.device in the devs: directory to work. This prints drive info too. Partitioning and mount list Mounting partitions is needed as the interface does not autoconfig(tm)urate itself and the drive is not automatically mounted. An example mountlist is in boot/ide.ml. Edit it to give partitions. *OR* you can use HDToolBox and soft/RKc/idemount. (It may have bugs until fixed.) Fast File System When using FastFileSystem with KS1.3, there must be "L:FastFileSystem", that means fast file system handler in the L: directory and the line "FileSystem = L:fastfilesystem" line in the mountlist. This line is not used with OS2.04+, because FFS is in ROM. Also the "DosType = 0x444F5301" line is used with FFS with KS1.3. Startup sequence to boot from floppy An example command for introducing a partition to the system: "Mount fre: from ide.ml" A useful file for a boot floppy: "startup.seq" Copy (edit if needed) it to "s/startup-sequence" on the boot floppy. The script will mount a partition on the HD and will re-assign assign:ments to HDD "boot"-partition so it becomes the system partition. It will also start "s/startup-sequence" on the new sys: partition and thus continues the boot process. You will also need devs:ide.device, mount command and a mountlist file on the boot floppy, and the filesystem, if needed. Formatting AmigaDOS Format command should work in most cases to format a partition. If AmigaDOS Format command runs out of memory, for an overly large track buffer that is, then fast-format option might help. ---- I (mr. Mika Leinonen) am the author of first versions of IDE rdwt.asm and some of the other files. This hack is partially based on "Atid.lha" by P. Pihkala and the SPARTAN SCSI by Paul Harker. Spartan is on Aminet hard/hack and hard/drivr. (http://www.aminet.net) Home page: http://www.iki.fi/mkl/ (redirects to actual current homepage.) Current email address: firstname.lastname@tut.fi (substitute with name.) Future I have built a board, that has ispLSI1032E CPLD for developing autoboot and such things. I made the board look like A600 built-in IDE-interface, so it boots with KS3.1 V40.063. --------------------------------------------------------------------------- Version history: This text revised V1.6.rev3 on 18. june 2019 This text revised V1.6.rev2 on 22. February 2006 V1.6 December 2005 Some re-organisation to directories, packages etc..... Edited this doc and the PCB design Also merged Kobularcik's modifications to the software. V1.5 March 2001 Added a place for an activity LED to PCB. Included new software. V1.4 November 2000 Fixed a bug in the PCB, /IOW and /IOR were on wrong IDE-con. pins. V1.3 August 2000 Removed "plide", a circuit with a PAL16L8 and 74LS245 buffers. One chip(74LS04) less in the "ttl-version". New PCB design for it. V1.2 Fixed bug that caused for example Seagate drives not to work. V1.1 November 1997: Not released for distribution. Automatic drive identification, New interface pcb and schematic "plide". V1.00002 September 1997: first version released for distribution Edited schematic, none very important changes. V1.00001 February 1997 : some editing done V1.0 1996