------------ A500IDE readme V1.6.rev1 ------------ 9. December 2005 Homepage: http://www.iki.fi/mkl/ide/ Updated versions will appear at the www page. 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 lose data if something goes wrong. 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.) --------------------------------------------------------------------------- The driver is named "ide.device". The software files will appear on the webpage in a zipped archive package. Trackdisk64 support for drives over 4 GB is being worked on, but it is not tested. (Never 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. Also, fast-format option should be used when formatting with "format".) Radovan Kobularcik made modifications to the driver, so that now 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, incompatibility may exist. The driver supports HDToolBox for partitioning (only RDSK block 0). 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, it may be added manually. I am merging the software I got from R.K. to this distribution. If you need something from V1.5, see http://www.iki.fi/mkl/ide/ With ide.device from a500ide.lha packages 1.5 OR below, use this line in the mountlist: "MaxTransfer = 0xfe00" This is because *some* IDE drives do not understand the sector amount value correctly, when it is written to the sector count register on the drive. There is a work-around of this problem starting from this driver version, so a MaxTransfer setting is not needed. --------------------------------------------------------------------------- Building the interface: Updated PCB and schematic files shall appear at http://www.iki.fi/mkl/ide You will need the necessary soldering and other skills to build the interface. Responsibility about all this remains at you, so don't blame me if your house burns down, you become blind, or other baddingies. It is possible to assemble the circuit on a proto "vero-board". Power supply for the drives: Use an external PSU which provides enough power. Overstressing the original Amiga power supply can be a bad thing. 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 default address is $DA0000 (up to $DAFFFF), which can not be used with Viper520 CD accelerators, some memory expansions or other extensions that use this address range by themselves. $F00000 - $F7FFFF may be free on most systems. In the future I will use base address $F20000. To test the interface and to find out interesting drive parameters: You can use soft/old/IdentifyDrive. This accesses the drive directly. The source code is in C language. soft/RKc/iddr, on the other hand, uses and needs (a suitable version of the) ide.device in the devs: directory to work. The program prints drive info. --------------------------------------------------------------------------- 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.) 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. 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 and/or edit 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. 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) My current e-mail address is: firstname.lastname@tut.fi (subst. with name.) Web page: http://www.iki.fi/mkl/ide/ Home page: http://www.iki.fi/mkl/ <-- address will be redirected to the current address, which is http://www.students.tut.fi/%7Eleinone3/ I have built a new interface which will eventually support Autoconfig(tm) and autoboot. The interface uses a Lattice Semiconducor ispLSI1032E in PLCC-84 package. The autoboot ROM will be a 24C128 or 24C256 serial EEPROM in 8 pin DIP or SOIC package. --------------------------------------------------------------------------- Version history: 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