Callan's Commodore ventures :)

**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...
 
Callan
 

The 6551 is pretty sweet....

The 6551 is pretty sweet....

User port

I suspect the reason it's in is twofold - first, it's their "business" (ha) oriented TED machine, and also due to a severe limitation of the user port.
The user port is driven by a 6529, which is a basic 8bit I/O port with a Data Direction register that works across all 8 bits (IE the 8bits of the port are either ALL output, or ALL input!) - hence it's useless for RS232 comms. Thus, a separate chip is needed for RS232 comms was needed.
 
Quite daft, really. Mind you, there's bugger all space on that PCB, with all those useless office ROMS are onboard.
 
Callan
 

It works!!!!

Well, there's plenty more work to do with the poor thing, but the plus4 boots, at least!

 

I'm not sure about the interference pattern around the border. it doesn't appear to be present in the main body of the screen, but I hope it's an artefact of the Svideo connection, and not a sign that all is not well with the TED chip. (/worried). I have a grand sample of 1, so I don't know if it's normal. With the keyboard out of action atm, I can't check.

 

The wonderful (not!) keyboard ribbon cable has failed - the metal contacts are pulling away from the plastic backing - so I'll need to completely rebuild that using a sawnoff donor C64 keyboard connector, ribbon cable and a tag-strip. Also, the only PSU I have  is an antique C64 power supply with a square connector bodged into it. Despite being underrated (the PSU at 1.5A, the plus4 pulls 1.7A), it was enough for a quick test. In the next few days I plan to build another PSU, similar to the one above (I bought TWO of those bare SMPS, for just such a contingency). The 8501R1 processor now has a nice heatsink on it, and the TED chip heat sink goop re-applied. With some active ventilation within the case, hopefully the coolth factor will be enough to stop these antiques popping their clogs.

I reworked the board before - the wave soldering is pretty third rate, and a couple of smaller chips have actually been pushed up a bit during the wave soldering process!!

. Interestingly there is a significant amount of factory hand working, particularly around the power supply/input, and external connectors solder joints. When I have the board out again to replace ther keyboard connector, I'll take some more photos. Certainly all the handworking will have significantly bumped up the manufacturing costs here. 

 

On a more mundane note, I spent most of today working in the office. Tore our accountant a new one over some sloppy work that cost us a pretty penny in tax, chasing up insurance companies, Body Corporate secretary business (I'm Secretary to our body corporate - I live in a block of 28 apartments), a spot of banking, etc. etc. All boring stuff, but has to be done.

Next jobs for the plus4 - the PSU - and the keyboard connector cum cable. 

 

Callan.

 

Oh, one more thing

My last Amazon order had what must be the world's smallest 4 channel oscilloscope/signal generator!!

It's not much, but I'm sure it's enough for basic work on retro gear :)

Here it is, displaying the clock signal on my own original C64, wot I got in 1983......

 

 

 

Aww... Ain't it cute :D

 

Callan

 

It works, Igor! - it LIVES!!!

Hmm - the forum software munched my two posts - Nasty. I'll take a backup before posting, in case it does it again.

 

Spent some time last night, and today on the plus4 - and finally jerry-rigged enough to try booting it. and it came up!!. 

 

 

I don't know whether the interference pattern in the border is normal - or whether it's a warning that the TED chip is on it's way out. The pattern doesn't seem to appear in the "main" part of the display, but I can't really tell, because I can't plug in the keyboard to do any testing.  I do recall the TED machines having a much cleaner display than the C64's. though. There is some ringing in the display close up, but I suspect that's probably due to a combination of the Svideo being slightly overdriven, and the fact that it IS, after all - an analogue signal.

 

This machine still needs plenty of work. The keyboard cable is knackered - the metal fingers that contact the socket on the main board are lifting away from their plastic backing, so some creative engineering will need to be performed.  Also, the PSU is a bastardised version of a C64 PSU, and as such, is underrated (1.5A output - the plus4 pulls 1.7A. Fortunately, I have all the parts I need, including a SMPS (I bought two of the one used for the C64 PSU rebuild project above. I'll get that done in the next few days. Spent far to long today in the office doing stuff for other people. That, and shredding our chartered accountants for a cockup that led to a MASSIVE unexpected tax bill.

 

Oh, and my new toy arrived in the mail. Allegedly it can handle up to 70 Mhz, but I think that's a bit ambitious. Mind you, it should be quite enough for retro-computing, where clocks don't go up terribly much beyond 8Mhz anyway.

 Here it is, displaying the clock signal for my original 1983 Commodore 64... Ahh  the memories.!!

 

 

Ooroo

 

Callan

 

Test

Bah - please ignore :)
 

 

.

It all started out innocently enough.. (A repair log)

Browsing an Australian trade site, "Gumtree", I spied an ad for a C128, 1541-II, a Commodore printer and a 1084 monitor. Normally a scammers' paradise, this one looked the goods, and in immaculate condition - and all within a 30 minute drive from Chez Callan. How could I resist??

 

Soon enough, 'twas mine, and picked over my booty. The C128 was given a once-over, the PSU cleaned up & recapped (although never really used, being baked in the attic of an Australian house for 22 years had not done it any favours, and it had trouble maintaining voltage, with baked caps.) . A jiffyDOS ROM was ordered for the 1541-II from Jim Brain, and my intention was to make the drive my primary drive on my C64 setup (due to it's smaller size, immaculate condition, and external PSU). In due course, the ROM arrived, and I set about installing it.

I ripped off the cover, removed the drive, pulled the ROM, and attempted to install the JiffyDOS ROM, and encountered a problem - the pins on the JD ROM were too short, and wouldn't grip the socket - it kept popping out. 

Mentally making a note to mention this problem to Jim, I whipped out the soldering iron, and replaced the Commodore socket with a milled-pin socket, and dropped the ROM chip in. Beautiful!

 

I sited the enable/disable switch, plugged the drive back in, and fired it up to test. The drive booted, spun-up, gave me a directory, and I was about to put the case back on when I noticed something odd.  The drive was STILL SPINNING... Yes, the spindle motor was STUCK ON.  ........    What was then muttered is best kept between me and your Almighty. I then remembered that it seemed to take a long time to spin down when I first tested it, and put it down to a difference in the 1541-II ROM. Seems I was wrong.

What follows is an tale of fuzzy thinking, the insane utility of the Internet, and the satisfaction of tracking down a problem to it's cause, and rectification.

 

My first thought was a solder bridge from some fleck of solder - so a thorough inspection of the board was made. All clean. Next stop - a blown bit in the 6522? Jumping on the internet, 30 seconds later the schematic was onscreen (gotta love that!)

I cracked out the multimeter (note to self - buy myself a new logic probe!), and checked the relevant pin - LOW. The multimeter was too slow to register the transition on reset, so I didn't know whether it was active low, or high. another minute later, and a commented ROM disassembly gave me the answer - Active HIGH. Once again, you just gotta love the Internet for this.

Fuzzy logic time - Although it indicated the problem was downstream, I still thought to myself to swap the 6522's, and see if the problem corrected itself. 2x 40 pin sockets later,( and a repaired trace /blush ), I had my answer. the 6522 was fine - the problem DID lie downstream. Oh well, it'll make things easier if I ever want to drop a parallel port mod into the thing......

 

Suspicion fell to a mysterious, driver-looking chip, the NEC μPA2003C. The 2003C is driven by the gate array at U10, (which in turn is controlled by the 6522 at U8), but I reckoned that an interface chip is more likely to fail than a chip sandwiched between logic chips. The gate array (amongst many other things, including sync detection and a latched shift data register) inverts the MOTOR signal from the 6522 - I can't quite see why the 6522 doesn't directly drive the MOTOR pin directly, but there you go. I'm sure there's a perfectly good reason.

HOWEVER! - it is here that the  1541-II schematic actually contains an obvious mistake.

This is the pinout of the PA2003C Darlington-pair transistor array. (Thankyou again, Mr Internet!)

And the Schematic for the 2003C's place in society - er - PCB. - with the MOTOR line highlighted in RED.

 

So, the motor OUTPUT is connected to pin 11 of the 16 pin chip - it's input should be pin 6 - but that line is missing altogether from the schematic. No matter - we know what it is, and a quick measure showed output on pin 11, irrespective of the state of pin 6 (input). We had a blown darlington pair. 

It should be noted that the chip was not DEAD - the drive stepper motor worked fine- indicating that 4 other pairs on the 7 pair were OK - and I saw my chance.  The 2003C has 7 pairs - 4 drive the stepper motor, 1 (now dead) pair drives the spindle motor, and that left two - I/O pairs 1/16, and 7/10. Perhaps I could revive the drive using one of these spare pairs........ So I pulled the chip. Below is a view of the underside of the board (flipped) - to make correlating the photo to the pinouts easier - pin1 is bottom-left.

And a big FUCK YOU Commodore. Note how the unused inputs (pin 1 and 7) are strapped  to ground, even though their outputs are unconnected. Nothing a craft knife can't fix, but STILL - WHY, I ask you?????

Now for the microsurgery - The strappings were cut, pin 6 rerouted to pin 1, and pin 11 to pin 16, using wirewrap wire. Drop a socket over the lot, pop the 2006C back in, and fire up the drive, now using a spare pair from the Darlington array.

 

SUCCESS!! - the spindle motor now powers up and down on demand. I reassembled the drive, gave it a good test - all working perfectly!!! 

 

Now, I'm dubious about the long-time viability of this damaged chip - my brother (who is an industrial engineer, and spends most of his time designing, building and maintaining factory production lines) - doubly so. So I'm currently sourcing a replacement. Once again, the Internet to the rescue - it seems the Uln2003 (made bit Ti, amongst others) is a suitable replacement. I'll hit up mouser or element14 (even Jaycar seem to have it) and get some. Since the chip is now socketed, replacing it when the new ones arrive is a doddle. 

 

Lessons?

  • Fuzzy thinking wastes time - BE LOGICAL and SCIENTIFIC. 
  • The Internet is fantastic tool for finding out information - use it to research problems if at all unsure.
  • Don't trust schematics - they can lie, or just have mistakes. 

 

All told, though - a thoroughly rewarding repair. 

 

Callan

 

Commodore 16 RAM upgrade.

My Commodore +4 is languishing for the lack of a working TED (blown keyboard line), so I've been after a C16 to pillage for its TED. 

I finally found one - in the UK of all places, but it came with a box of tapes, a tape drive - repaired, and with protective heatsinks on the CPU and TED..  Out of respect for the  seller, I couldn't just rat it for parts now, could I. Let's face it,  the C16 has a better keyboard, and with the extra room in the case, and no useless 3+1 software ROMS pumping out heat, they tend to be a lot more reliable too.. But 16K  now - useless for a lot of games, and/or DEMOs. Nothing for it, it had to be upgraded.

 

Here's a picture of the board The RAM is near the bottom left hand corner.

C16 planar

 

First order of business was to remove the RAM, drop in some sockets, and install 256kbit (64kbitx4) replacements. Fortunately for us, the MUXes are already wired up to handle the 41464 RAM chips, which makes our life easier. Life is a bit harder on the non-multiplexed side, however. 

RAM removed, awaiting socket, and RAM chips

 

Sockets installed, and populated with shiny new RAM (not pulls) from Jameco.

 

So far no rocket surgery - however, when powered up, the machine still displays 12KRAM free. This is because there is no provision on the board for Address lines A14 and A15 to be wired to RAM - and here's where things get a bit noodley.

The multiplexors (U7 and U8) have the unused input pins pulled high, by being strapped to Vcc (+5V), so these strappings need to be cut. U7 has the ADDITIONAL excitement that Pin 16 (Vcc) is tied to our missing address line by a line UNDERNEATH the chip. This means that either the chip has to be unsoldered/socketed, OR some way has to be found that both keeps pin16 provided with juice, but still leave pin 2 isolated, and able to be connected to A14.

 

Most guides suggest stabbing at the PCB underneath the chip with an xacto knife (!) in the hope you can sever the trace - I'm not keen on that idea. NOR did pulling the 74LS257 and socketing it. The traces on these boards damage easily, and the RAM chips were quite enough entertainment  - so I compromised. 

After severing pin 16 from the +5v rail (on the underside), I snipped the leg of pin 16  at it's base (where it meets the PCB), and bent it away. I then removed the residual pin from the PCB, and pulled the solder from the PCB, leaving a hole. I then soldered an (extremely short) length of insulated wirewrap wire from pin 16 to a neighboring passthrough via carrying the +5V rail - thus powering the MUX chip, whilst isolating pin 2 from both +5V, AND pin 16. 

Note that the hole for pin16 is free of solder. 

 

Finally, A14 and A15 need to be plumbed across to the RAM subsystem - I took these signals straight from the horses' mouth (IE the CPU) - I could conceivably  have tracked them through and perhaps found something closer - but I didn't :D

A14 I took through to the cleared passthrough via underneath pin 16 of U7 -being careful to solder it such that it didn't approach the bent-out pin.  A15 just went straight to pin 14 of U8. Finally, a few judicious dobs of hotmelt held these new lines flush against the underside of the PCB.

 

All done now, it's time for the acid test!

 

WOOHOO! - we have liftoff - 64k of Bil & TED's finest computing power. Sure, it lacks a user port or 6551 UART, (and that ghastly 3+1 software) - but it'll be just the ticket now for all those plus4 only games, demos and other bits of fun!.

I'll knock up a composite cable (which will, it seems get rid of the herringbone video interference) in the morning, and I'll all be set!

 

A productive couple of hours!!

Callan

 

More pictures can be found.....

As always, these pictures in full resolution, and many more, can be found by clicking HERE!!
 
Callan
 

Bless me father for I have

Bless me father for I have sinned. It has been a year since my last confession.

Well, anyway, things have been pretty chaotic at Chez Callan, and for a while my Commodoring had to take a back seat. I've dabbled here and there as time permits, but things were put on hold. Real life took over for a bit (My wife was gravely ill, nearly lost her at one stage..), but I've slowly been getting time to play again.. I've been sneaking in the odd bit of Commodore play, but it's been difficult.

 

I recently spotted a mixed grab-bag of some Commodore kit in Queensland, Australia, and it had some interesting stuff - so I overbid, and snarfed it. Amongst the treasures were a a collection of joysticks& paddles, a 1541-II, an excelsior Floppy disk drive with a VERY curious ROM, and a dead 8-pin silver-label C64, in poor condition. A 1530 tape drive, trackball, mouse, some disks. 

 

The C64 turned out to be an early  1982 KU board (Assy KU-14194HB, infamous for flakey timing, and problems with external cartridges.) - Nothing but a blackscreen on powerup. it appeared to have been repaired in 1989, and there was significant corrosion (due, no doubt to it's home on the Gold Coast - subtropical sea air does nasty things to anything electrical up there) The former owner was also a heavy smoker, and the keyboard and case were both badly nicotine-stained. Still, worth a bash at getting going. (Shield/Heatsink from the VIC chip removed)

I had a dead KU board for parting out, and a known-good 250407 board, so after playing a quick swapsies with the usual suspects (PLA, Kernel ROM, VIC), I thought I'd  crack out my mini oscilloscope. (which I really should have done to start with).

I quickly determined that there was output from the VIC chip, there was kernel memory access, RESET was working correctly, and, finally, timer interrupts were being generated - in short, it looked like the machine was actually WORKING - just that video wasn't making it from the VIC chip to the connector.  (well video wasn't, Chroma was). Sure enough, after a few attempts, I was able to blind-type a directory load from a disk drive.. 

 

I haven't been able to find a KU circuit diagram, but some metering out showed me that the video and chroma pins feed straight into the RF modulator - so I the fault likely lay with that component. After some heavy desoldering, the modulator was swapped out from the KU spares board, and - Hey-presto - Instant working machine

WOHOO!.. 

 

Well, I now had it nominally working, but there is much to do..  Next stop, the keyboard.  To get the keys to register you needed to type like Fred Flintstone playing the piano with a mallet. Several keys would stick, and a tarry film covered everything... (Sneak peek, it now works perfectly!)

Next installment - restoring a keyboard movement to as-new.

 

It's nice to be back in the saddle... Callan

 

Work continues...

With the C64 now nominally operating, it was time to address the keyboard, which was in a parlous state. The original owner was clearly a heavy smoker, and cigarette tar discoloured the keys and case. This machine had also well-used, and loved. Not only was it considered of sufficient worth to repairing some 7+ years later (as evidenced by the datestamps of replacement VIA and KERNEL ROM chips,  but the keyboard showed evidence of continued, heavy use. Specifically, all the keyboard stems were scored and worn, and many keys (and the space bar!) were polished smooth. Time had, however taken its toll. Most keys needed to be struck HARD to even occasionally register, and several stuck or jammed. 

Keyboard servicing is a straightforwards, if laborious affair.  First order of business was to remove and open out the keyboard. This had never been done on this keyboard before, so there were no missing screws, or split support pillars. 

 

Next, the keys themselves needed to be split. Each key is made of 4 components. The double-shot molded keytop, the return spring, shaft, and composite silicone rubber contact. The keytops are an interference (friction) fit to the shaft, and detach when pulled. The spring then catapults into low-earth orbit, and the shaft drops through. The spacebar is a special case - it has a STRONGER SPRING than all the keys, and a stabilising wire brace.  Typically I keep the contacts clipped in the shaft when cleaning. they're a bugger to get back in, and dreadfully easily lost when loose.  Here's a closeup of one, in its native habitat.

As can be seen - quite dirty.

Once stripped, the keyboard and components were collated: Blerg - MAN that's filthy. 

 

In short order:

The main plastic panel was washed just in dishwashing soap and warm water, and a soft brush. The keyboard stems/contacts were put in a mesh laundry , dropped in the sink, and vigorously agitated in the same soap/water mix, and laid out on a towel. The keys were dropped in a fresh batch, left to soak for a few hours, then scrubbed with an electric toothbrush. It wasn't possible to remove the discolouration of the white lettering without damaging the painted PETSCII labels on the front of the keyboard, so the discolouration will henceforth be referred to as "Patina"...... The key stems were blown out with compressed air, and all were left to dry. The fibro contact panel with Gold-plated contacts was thoroughly cleaned, first with PCB cleaner, then neat isopropyl alcohol. All contacts were restored to a dust free, polished surface.

Now to the sneaky bits. 

To recondition the conductive rubber contact pads, each was lightly abraded with an emery board, and then wiped clean with a cotton bud (Qtip in USA-speak) wet with isopropyl alcohol. This presents a clean, non-glazed surface to the contacts. 

Then each and every support hole and the guide-channel for the keyboard stems, was wet with a Qtip dipped in Mr Sheen" furniture polish. This is not as mad as it sounds.

"Mr Sheen" is essentially silicone wax in a solution. It dries completely, so it doesn't attract dust, or migrate or wick where it shouldn't (like onto the contact pads)
It acts as a lubricant, smoothing the keyboard, and eliminating binding. 

The space bar stabilising clip received a quick shine-up to remove corrosion, and each contact point against the internal channels and clips was lubricated with a tiny smear of nylon grease (viscose silicone oil saturated with powdered nylon)

Assembly started:

 

Completed (bar the shift-lock key - that's clipped in and soldered) **DON'T FORGET the SPACE BAR spring is LONGER and STRONGER than all the other springs!!**

 

Finally, the shift-lock mechanism was installed, soldered back in, and the whole assembled back in the case. 

A quick test confirmed that all the keys move smoothly, easily, and perfectly reliably. The movement is even across every key, and it feels, frankly, as good and tight as the day it was new.

 

The next challenge: the case. Oh boy, that'll be a doozey. It's so stained with tar there are "rings" of discolouration around the bottom vents. Making that respectable without damaging the label will be a challenge.... 

 

Callan

 

Pages

Log in or register to post comments