- Mon, 2012-02-27 23:40
- 61 Comments
**NOTE** This is a multi-page BLOG.
To get to the NEXT page in this crazy software, CLICK HERE!!!!!!!
You'll get this blurb again, but you'll then be able to read the rest of my trials and tribulations!!
Back in the Early/Mid 80's, I was an Australian Commodore 64 hacker. Probably not a very good one - but I didn't kill any gear, and actually repaired a fair bit of friends' equipment (the 1541, in particular was not the most reliable piece of kit in the Commdore Lineup!!).
**bless me padre for I have sinned ** - I was also a cracker, and had quite a good gig with friends in computer shops sending me programs to crack - which I would later circulate. It's a wonderful (if dodgy) way to learn your way around the 6502, and Commodore hardware. In due course, protection schemes moved into the disk drive, and of course I had to follow. With the help of a fantastic book "Inside Commodore DOS", another more in-depth, but sparsely documented ROM disassembly, and Drive/64MON (by Mike Henry of Starpoint software - a totally awesome virtualising machine code monitor, that could operate virtually inside the drive) - I was soon cracking (and writing!) code for the 1541 Drive. It was about this time that the love of my live, my (now) wife presented me with the most romantic gift a woman could give a budding geek - a dolphinDOS kit for a Commdore 1541... Much wow and enjoyment was had from such a brilliant piece of kit.
Effectively it's an 8K RAM expansion ($8000-$9FFF), 24K ROM ($A000-$FFFF), adds parallel port data transfer, and 40 track operation. The 8K RAM expansion allows entire tracks to be cached in the one revolution, and the extra ROM allowed for the extra routines, and a less memory efficient (but faster) GCR<>BINARY conversion. ON the PC side, a basic ML monitor, DOS wedge, enhanced screen editor, unnew, and other goodies were avaliable. As I said - a brilliant piece of kit.
Come 1992, and time constraints, growing family commitments, and a blossoming (computer) engineering career, and my poor Commodore gear was stored - but not forgotten.
~~~ Wavy lines of the passage of time ~~~
It's now 2010, I've been retired for a few years (retired at 41) to spend more time with my (now) wife. Just over a year ago, my C64 was out of storage, and, with a new PSU, working just like a bought one :). A new-ish keyboard was procured (the old one was literally worn out), and everything was setup. I've also recently procured a complete C128D setup (including monitor), and spare 128 for (as last resort) donor spares. I have my eye on expanding the collection, too. I still have some PET B & D series gear, a D9090 HDD, 4040 and 8250 in storage. I'm currently starting to get my head around the C128 - it's a VERY different beastie. Whereas the C64 felt very "bare metal" - the C128D feels a bit less of a hacker machine. Part of that, I'm sure is due to the necessarily increased complexity, and partly due to my lack of familiarity. Crikey, the 8563 VDC, with it's ported video - is a weird and clumsy thing to drive...
But back to the DolphinDOS...
The first thing I noticed was that the Parallel speedup was sending data with stuck bits. No problem - the 6522 in the drive had a blown bit or two - I pulled one out from a donor drive, and all appeared fine.
It soon became apparent that when the drive warmed up, weird stuff was happening. data coming off the drive was being silently corrupted - and worse, the drive was FALSELY reporting error 23 errors (checksum in data block). These problems vanished when the DolphinDOS was disabled.
Suspecting RAM, I swapped out the 2K RAM in the drive controller - but the problem remained :(
I'm currently exploring a couple of theories in parallel: (http://www.lemon64.com/forum/viewtopic.php?t=41396 has more detail of my travail)
1: DolphinDOS RAM is faulty - fails when warm. I've ordered what I believe to be the correct part (a 6264 replacement - AMIC - A623308A-70SF), and I'm awaiting it's arrival. I'm a bit concerned - it's quite a bit faster than the encumbent chip (70ns Vs 100ns) - but since there's now whacky timing stuff going on, as is the case with the C64/128) I'm not that concerned.
2: Although the soldering on the daughterboard looks of high standard, I'm very suspect of the 6502 CPU piggyback socket. it's a closed, single-wipe design that I've had a lot of problems with in the past. It's possible that a temperature-related fault may be causing the symptoms.
3: The enable-disable system is really dodgy - Basically A15 from the CPU is bypassed and either shunted off to the board (giving it all address space from $8000> ) - or wired back to the controller board. Problem is, this switch is connected to a return length of 37cm of suspect, IDC wire (crimp wiring) - with pretty average soldering on the switch. Whilst I believe you can take some liberties with the 6502 buss, I think that may be taking just a bit too much of a liberty with the lady. Although the propagation delay of that would only be about 1ns, electrically it could shake things up a bit (as it's not carrying a state, but an actual signal)- so I'll be experimenting along that line of enquiry.
The real kicker - The makers of the device (Micro-accessories SA - in my hometown of Adelaide, Australia, no-less) - sold it through Ingram Micros, I believe - ground off all the chip markings of the discreet logic chips..
Ah - the joys of playing with 27 year-old gear...