Commodore 64

Repairs first

I won a "Commodore 64 - working" on a popular auction site. There must have been some mistake for the machine I received did not actually work. And I wanted a working C64 right now so returning it and trying to win another one would take time...

Maybe I wanted to put my large format C64 schematic to good use (finally) or perhaps I was looking for a challenge. So I got a partial refund ("Working" auction converted to "As-is - untested") and impatiently began the repair.


1. A small soldering problem

The board and its schematic

The board and its schematic

With the C64 open and the schematic nearby, I did the following: (order approximate)
  • Removal and reinsertion of all socketed chips. No change.
  • Check for 5volt on the CPU, memory, and a few logic gates. No problem, nice clean 5v.
  • Check if the CPU clock input has a signal. Yes.
  • Check if the reset circuit work. Seems ok.
  • Notice another 5 volt supply on-board (+5V CAN) obtained from the 9V AC input. I check it with a voltmeter: 0 volt. Ah ha! Finally a problem!
So, why was the 5v supply not working? Simply due to a bad solder joint at the power connector. I guess the forces involved when connection/disconnecting the power cable are to blame for this.

2. Replacing the RAM chips

Replaced RAM chips

Replaced RAM chips

After fixing the solder joint, I was full of hope and turned the machine on. I quickly confirmed +5V CAN was working, but unfortunately, still no image. A video signal was also being produced, albeit fully black. No text.

This time, I had a look to the CPU BUS and there was activity... I then somehow suspected the RAM might be in cause. In order to swap the chips with new ones (new many years ago), dis-soldering the chips and installing sockets is necessary. There are 8 DRAM chips so it took a while. I did it one chip at a time, testing the machine after each step. In order to quickly find the bad one(s), I did it from the dirtiest (the pins were black) to the cleanest, hoping I would find the bad one sooner. Well no luck, it only worked after the last chip was replaced. To remember: Never judge a DRAM chip by its appearance.

3. Black and white picture?

LCD: ...where are my colors!?

LCD: ...where are my colors!?

So once the RAM chips were replaced, I finally got the welcoming Commodore basic screen telling me it was "READY." on a nice blue background Oh no, what now, no colors! And why is the image slowly "rolling" vertically?

At that point I was using the RF modulator so I decided to try a composite connection instead. But it did not help. The result was a black screen with a "No signal" message. In short: RF = B&W + vsync problem, Composite = No picture.

CRT TV: Ok!

CRT TV: Ok!

Before diving once more in the schematic to hunt for a possible cause, I decided to try on an old CRT TV. Good thing I did for it worked perfectly. So now I knew the C64 was probably working correctly. But I was not going to give up and put up with the annoying 15 kHz pitch CRT TVs emit (I'm not used to it anymore).

In the following section, the battle to convince my LCD monitor to accept and display the C64 composite video signal.




Composite video and and LCD TV

First circuit

First circuit

I inspected the composite video signal with the scope and initially I did not see anything wrong. Being in fact a video signal newbie, I assumed the C64 output was too weak. In fact, I learned later it is not so important. But this was based on the observation that the amplitude was much lower when connected to the monitor (due to an internal 75 ohm termination resistor).

With that in mind, I built a simple test circuit using a THS7314DR to obtain a 6db gain (you get 2V per volt). Now the output signal was strong. But still no picture on the LCD.

Without knowing exactly what could be wrong, I modified the circuit in many way to experiment various theories without success, until in an attempt to "trunc" the video signal from below to try and see if reducing the depth of the sync pulses would help. I did this by connecting the IC ground pin to a potentiometer.

Changing the sync depth did not work. However, by setting the potentiometer very carefully such that the sync pulses are almost completely gone, a nice picture suddenly appeared!
First working signal

First working signal

Resulting picture

Resulting picture




Signal from C64

Signal from C64

Signal from C64

Signal from C64

I concluded that the sync pulses were probably part of the problem so I inspected this aspect of the video signal more closely and discovered a discrepancy in the V-sync sequence. Compare how the portion marked 'm' in figure-2-2 from the ITU-R BT.470-6 standard with the waveforms pictured on the right:


Sketch

Sketch

So it would seem the C64 video signal does not conform exactly to this part of the standard, and I assume this is what confuses my LCD. On the other hand, the CRT monitor does not mind.

My little experiment did yield a picture, but it was not an acceptable solution. The GND voltage had to be tweaked very precisely, and after a few minutes, it had to be fine tuned again (voltage drifting due to heating up, etc...).

The next thing I did was to work on a better solution. I added an LM1881 sync separator to convert the sync pulses to a logic signal directly usable by a micro-controller. I also added an AVR micro-controller programmed to suppress the invalid sync pulse.

At first, the software only suppressed the small (approx 3us) incorrect pulse shown above. And just doing that was enough to get a picture on the LCD. However, I noted some horizontal jitter... After some experimentation, I found that completely suppressing the 'm' period worked well (the picture was stable), but it would probably be better to inject the correct pulses. I may do this eventually, but for now, it's working well!






SD2IEC

I did not buy a disk drive for the computer, but it does not matter. There are now better solutions where the drive is replaced by an SD card!

I considered buying an 1541Ultimate, an SD2IEC or a Chameleon64. I went with an SD2IEC for its availability, and also the price. I bought it here:
http://www.sd2iec.co.uk/id14.html

The SD2IEC has a disadvantage in that it does not support most fastloaders. Many games are available in cracked versions where the fastloader can be disabled, or with the fastloader removed. I'm told many demos are not available in no-fastloader versions so the SD2IEC would not be a good choice for demos.

Fortunately, SD2IEC supports, among a few others, the SJLoad fastloader which really reduces load time. Combined with CBM FileBrowser for navigating directories and disk images, it is really easy to use, and also not too slow. Some typing is required though: LOAD"!",8 and RUN followed by LOAD"FB",8 and then RUN again. ("!" is SJLoad and "FB" is the file browser. Manually-typed filenames are best when they are short).

SD2IEC

SD2IEC

SD2IEC

SD2IEC

CBM FileBrowser

CBM FileBrowser





SNES controller

While I sometimes use my competition pro joystick, I tend to prefer SNES controllers because that's what I grew-up with. Using SNES controllers with on a Commodore 64 is possible with my SNES to Atari/Commodore adapter. In many games, the joystick-up direction is used to jump which is not comfortable on a gamepad. This is why my adapter has mappings (see Style 2 and 3) to map this direction to buttons.





A few games

In conclusion, here are a few pictures of games I recently played.


Armalyte



Bandits



Bubble bobble



Burger time



Dig Dug



Winter Games



The great Giana Sisters