Adapted from Arduino Nut Blog - Retro Heaven , dated 7 March 2008
see also http://arduinonut.blogspot.com/search/label/acorn atom Blog by Charlie Robson
Retro Heaven
|
I've just hacked together an MMC2IEC interface on my breadboard. Thanks Lars.
It's a serial device that pretends to be commodore 1541 disk drive. It
uses SD card storage and disk images to deliver retrogaming goodness to
my '128. This is #4 of 4 in my old computers that I've added flash storage to series. Seriously - if you have old computers and a few spare hours it's worth the solder burns.
Having
got that device working in its original Lars form I noticed that the
open source design has been picked up by a couple of other bods who have
taken it to another level. Details are scant, unless you speak German,
but I've managed to scrape enough information together to upgrade Lars'
original hardware design with some improved firmware called SD2IEC.
This supports many more features such as high capacity cards, disk
switching, some fastloaders and JiffyDos which should speed things up
considerably. Which if you've ever used a C64 disk system you'll know is
a must.
During the process of upgrading I managed to half-brick an AVR chip. Unlike
PICs they are easy to render unprogrammable by changing their
configuration fuses in an an unfavourable way.
|
My mistake was not reading the output of this avr fuse calculator carefully enough. Instead of making the AVR desire an external
resonator, I made it lust for Clock. Which is different. I've done this a
couple of times before with some 168s. In the aftermath of that
embarrassing mistake I did some research and found that usually these
chips can be resurrected.
If you program a chip to expect a
clock, then it should be possible to reprogram it as long as the
relevant signal is present. I usually program chips in a little
home-made ISP cradle which doesn't have a clock available. For the 168s
it proved possible to get them going again by dropping them in my
Deicimilia board before attempting to reset the fuses.
The mega32
hasn't responded to this trick though. I used an Arduino to provide
what I thought was a good clock to no avail. It's going to need
something a little more ... high voltage. AVRs can be programmed using
SPI in-circuit, or by more conventional parallel means out-of-circuit.
Programming serially you need a well configured support circuit for the
chip. Using a parallel programmer you can reset fuses that would prevent
SPI from working. So here's my next project - an avr fuse reset device.
A cut-down high voltage parallel programmer that only has one job - to
reset the fuses to a factory fresh state. Insert AVR, press button,
bingo! At least in theory :)
I'm off to grab some of
Atmel's brilliant application notes. Then it'll be time for a nice sit down and some strawberry cheesecake.
Posted by Sir Morris
|
|
|