8bit Projects For Everyone


Find   for  

IECATA : IDE/CF as Commodore IEC

Asbjørn Djupdal, 2002

IECATA is a hard drive controller for the Commodore IEC serial bus. It enables all computers that has an IEC serial bus port (e.g VIC-20, C-64, C-128) to use cheap, easy to get ATA hard drives (also called IDE hard drives).

Features

  • Supports standard ATA hard drives up to 128 gigabytes.
  • The whole disk is available as one big partition.
  • Supports standard Commodore KERNAL IEC disk commands. This has number of implications:
    • May be connected to any computer with an IEC serial bus port (VIC-20, C-64, C-128, and probably others...).
    • No driver software is necessary on the computer, the hard drive works like a disk drive with a giant disk in it.
    • The IEC bus is very slow, making the hard drive slow. But it is considerably faster than the 1541 disk drive.
  • Custom file system that has the following features:
    • Supports PRG, and SEQ file types, and a new DIR file type that represents subdirectories.
    • Smallest addressable unit: 512 bytes (one ATA logical block).
    • Max file size: 32 megabytes.
    • Max number of directory entries: 256.
    • Max number of nested subdirectories: unlimited.
  • Limitations:
    • No support for USR and REL file types.
    • No support for all Commodore DOS commands, especially the memory read/write/execute and block read/write/allocate/free. This implicates that fastloaders, copyprotected games and other programs doing more excotic things with the disk drive won't work.
    • No possibility to run whole disk games - C64 files cannot be mapped as a drive.

Usage

Connect the IECATA board to the computer and to the ATA disk drive, and power on. If the error light does not turn off after some seconds, try a reset. If that does not help, there is a problem with the hard drive.

The hard drive has the drive number 10 (as opposed to the 1541 that is usually drive 8). Other than that, the hard drive is used in the same way that a 1541 disk drive.

The jumper J2 selects the timings on the serial bus. If open, normal C64 timing is used. If closed, fast VIC-20 timing is used (does not work with C64).

The following disk commands are supported (through disk channel 15):

  • CD:<subdir> change directory
  • MD:<subdir> make subdirectory
  • SD:<subdir> scratch (delete) subdirectories, must be empty
  • S:<file>> scratch (delete) files
  • R:<new-file>=<old-file> rename file
  • N format disk
  • I initialize disk (actually ignored)

The syntax of these commands are the same as on Commodore DOS. Where appropriate, you may use wildcards (* and ?) just like on Commodore DOS.

Loading and saving files work just like on a 1541 disk drive. Note that only PRG and SEQ files may be created.

If you read the error channel (channel 15), you get one of these messages:

  • 00: No error.
  • 20: Initialize error, the hard drive does not have a valid file system.
  • 21: Create error, the file or directory you try to create can not be created.
  • 22: Not open error, you are trying to access a file that is not open.
  • 23: Not found error, the file or directory is not found.
  • 24: Syntax error.
  • 25: Version message, this is shown after startup and gives the version of the IECATA software.

Examples of use

Loading a file from BASIC: LOAD"filename",10.

Saving a file from BASIC: SAVE"filename",10.

Loading the directory: LOAD"$",10.

Changing the directory: OPEN1,10,15,"CD:mydir":CLOSE1.

Formatting the disk: OPEN1,10,15,"N":CLOSE1.

Hardware

The IECATA controller card contains an AVR 8515 microcontroller with 32 kilobytes of external SRAM. For more information about the hardware, see the schematics below.

In IECATA V2 microcontroler AT90S8515 is replaced with ATmega162, which has 16kB Flash memory for program. Changed are also functions of ports B and D. So it is possible to reprogram the microcontroler from C64 level (via IEC) and requires only switching two jumpers.

Firmware

VersionDescription
IECATA
V1.0
Original software by Asbjørn for AT90S8515. Notes says that has some minor problems with ATN handling.
IECATA
V1.2
Corrected one, also AT90S8515. Changed error messages numbers. Changed SD into RD. Corrected ATN handling.
IECATA
V1.3
Next corrections, needs ATmega162 (IECATA V2), as exceeds 8kB.

Project 2006

New, small board is designed. The 32kB SRAM and 74LS573 buffer is located under the controller. Works with no changes in software.

New board of IECATA

As ATMEGA8515 is used, the software was recompiled with V3.0 version number. Also, the device number is stored in EEPROM and can be changed with GO:n command.

Differences

FeatureV1V2V3
Board versionV1V2V1
Software versionV1.0V1.2
V1.3
V3.0
V3.1
MicrocontrollerAT90S8515ATMEGA162ATMEGA8515
Delete subdirectorySD:RD:SD:
Device number10, fixed14, fixed8 to 15*
Startus codes (errors) returned by IECATA
Init error207474
Create error210101
Not open error226161
Not found error236262
Syntax error243030
Version info257373
* New IEC device number is used after IECATA reset.

Plans for 2008

  • Parallel IEC (1551 like)
  • SD card support
  • .C64 file support


Tell other people:

Files for download

ieca006s.png 54.8kB (2008-03-21 17:06), uploaded by Jarek Adamski
Schematic v006 (added resistor missed in v005).
dev8-11.zip 36.3kB (2007-06-10 00:42)
Four version of IECATA "flash.hex" (AT90S8515 firmware) with different device number to 8, 9, 10, 11. Not tested.
iec0010d.jpg 86.0kB (2007-05-07 00:46)
Monitor zoom with IECATA directory.
iec0010c.jpg 74.5kB (2007-05-07 00:46)
IECATA board placed over C64 case.
iec0010b.jpg 59.4kB (2007-05-07 00:46)
IECATA board connected with 2.5" harddisk.
iec0010a.jpg 72.3kB (2007-05-07 00:46)
Zoom to mouned board IECATA.
iecata_wersja_finalna.jpg 86.4kB (2006-11-16 21:17), uploaded by bzyq
Final look of the mounted controller together with a hard disk and own power supply.
iecata_ver1.0_zestaw.jpg 82.0kB (2006-11-12 18:00), uploaded by bzyq
Complete set while tests with C128D computer.
iecata_ver1.0.jpg 68.1kB (2006-11-12 17:54), uploaded by bzyq
First mounted item of IECATA controller.
iecata_jozsef.zip 391.0kB (2006-11-11 02:01)
Alternative board data (pictures, gerber files, part list).
iecatadosprg.zip 4.5kB (2006-11-11 01:17), uploaded by bzyq
[hu] Simple DOS for C64, working with IECATA controller, description in Hungarian.
ieca-005.zip 46.4kB (2006-11-15 22:13)
Schematic and board v005. Eagle data files.
ieca-005.png 8.9kB (2006-11-07 10:43)
Elements setting on v005 board. Picture generated by Eagle.
iecata.tgz 197.4kB (2006-04-13 23:50)
[en] Full documentation. Schematics in PDF and PS, boards as PS files, software compileable for Linux.
iecata.pdf 63.8kB (2002-08-17 18:09)
Original IECATA schematics, extracted from "iecata.tgz" archive.

Links to other pages

http://www.djupdal.org/cbm/iecata/
IEC-ATA, page of Asbjørn Djupdal. Original documentaion source and prototype pictures.
http://www.64hdd.com/projects/hardware/c64-iecata.html
How to build IECATA into 1541-II case.
http://yarek.com/basket/iecata/
Order form: do it yourself IECATA board, kit, or ready for use module (no case, no disk, no power supply and no IEC slots).
http://www.dienstagstreff.de/de/hardware/iecata/
[de] IECATA V2 - other board design with ATmega162 and patched software.



See also

ZX1541 : ZX81
Commodore 1541 disk interface for ZX81.

E-mail:

Password:



Forgot password?

Register?
Apple
HDD
Atari
IDE KMK/J¯
MyIDE
SIO2IDE
Commodore
IECATA
CPC
CPCISA
Hacker
PC
IDE
LPT
Sam Coupé
Atom
FDD
RTC
Samtrum
YABUS.SAM
YAMOD
ATBUS
AYLPT
EPROG
FDC765A
IDE8255
KJOY
ZXINPUT
Timex
BEU
Cartridge
FD-68
Larken
ZX81
ZX96
ZX1541
ZX Spectrum
AC-DOS
Interface 1
Interface 1 Bis
Interface 2
GeneralSound
Macface
MB-02
NMI
Packet Radio
PB-3
PL3MEM
Plus D
POLBASIC
Printer
Split
Timex M-397
CA80
YABUS.ZX
YABUS.ZXISA
YABUS.ZXMEM

If you see error on this page, describe here:

© 2009-12-28 21:50 Jarek Adamski, http://8bit.yarek.pl