uIEC
From C64-Wiki
uIEC (Micro IEC) is a hardware mass storage device that interfaces commonly available IDE hard disk drives and compactflash (CF) cards to Commodore computers that utilize the IEC serial bus. It is based on the Atmel AVR ATMega128X CPU. The most prominent use of uIEC is emulation/replacement of a Commodore-1541 disk drive for a C64. Hardware and the microcontroller's firmware is available as open source (GPL).
There are three versions of the hardware:
- The uIEC/IDE contains both IDE and Compactflash interfaces and supports 2 IDE drives or 1 IDE drive and one CF card. This unit is designed to be placed in an enclosure.
- The uIEC/CF supports 1 CF card, and is designed to be embedded in a device.
- The uIEC/SD supports 1 SD card, and is designed to be embedded in a device.
Contents |
[edit] History
uIEC was designed in early 2005 as a low cost interface that would allow CBM enthusiasts to save data on commonly available IDE hard disk drives.
Development stalled in late 2005 due to stability issues with the firmware. In early 2008, development started again, with an eventual replacement of the uIEC DOS firmware with the more capable sd2iec firmware.
[edit] Hardware
- 2005-03-01: uIEC version 1.0 prototype design. ATMega32, 1 IDE drive supported, minimal CBM DOS support.
- 2005-05-15: uIEC/IDE version 2.0 PCB layout release (differences to version 1: ATmega128, CompactFlash slot, parallel IO port) - 12 pieces made.
- 2005-05-15: uIEC/CF version 2.0 CB layout release - 24 pieces made
[edit] Firmware
As of February, 2008, the original uIEC DOS firmware was retired and the sd2iec firmware was patched to support the uIEC hardware and IDE drives. Further development is being done on sd2iec.
- 2008-01-31: uIEC DOS 0.4 release. Switch to use open source FatFs FAT library
- 2008-01-15: uIEC DOS 0.3 release. Add long file name support and initial FAT-allocation code.
- 2005-05-15: uIEC DOS 0.2 release. Switch to ATMega128 CPU.
- 2005-03-01: uIEC DOS 0.1 initial release.
[edit] Hardware Features
- Support for IDE drives > 137GB.
- support for CompactFlash (CF) cards.
- Support for Secure Digital (SD) cards.
- All ATMega128X IO is available on headers for general purpose experimentation.
[edit] FAQ
[edit] Where can I find more information?
- The Pictures of the Micro IEC Peripheral Page.
- The sd2iec (firmware) Page.
- The sd2iec Read Me
[edit] How do I change the device number (device address)?
- OPEN 15,(CD),15,"U0>"+CHR$(ND):CLOSE15 (CD = current device number, ND = new device number) is supported, other U0 commands are currently not implemented.
- Can this be done through a JiffyDOS-like @ command?
- JiffyDOS never supplied a command to alter the device number. (There's a utility program on the HD utils disk, but it's even more work than the above.)
- To make it permanent (as in "survives a power-cycle"), send the command "XW" to the new device number. If you use JiffyDOS, you can send it by using @"XW" - without quotes you'll just receive an error. See the Extended commands section of the sd2iec Read Me
[edit] Software
Bootloader
- Reads firmware .bin file from IDE drive or CF card (FAT32, FAT16, and FAT12 supported) and updates ATMega flash if needed
- On powerup, power LED is on. Activity LED will dim as bootloader scans root directory of partition #1 for new firmware file.
- If an updated firmware is found, activity light blinks as each sector of firmware is loaded into the unit.
- Firmware (.bin) needs to reside in the root directory or the first drives's primary partition. Only file size and signature have to match.
