Thursday, 16 October 2014

Commodore 128 Repair - Part 2 Keyboard

The Commodore 128 repair is coming on well, but some of the keys are not working.
The keyboard is not in too bad condition, it needs a good clean, and there is some yellowing to the keys (apart from Run Stop for some reason). Sometimes if the odd key is not working, repeatedly pressing it can bring it back to life, but the best option is to clean it properly. The procedure is the same as the Commodore Vic 20 / 64 keyboards, a few steps less than the cleaning the keyboard on the Commodore Pet.
The first step is to remove it from the case, the LED board is held in place under the keyboard with a small back spacer (although with this one, it came in a separate bag with the rest of the screws). The keyboard can then be removed.
The keys are removed using a key puller, trying to avoid the springs going everywhere. The keyboard has two additional smaller springs, so keep these separate. The box of keys can then go off to be washed in hot soapy water.
Shift Lock, Caps Lock and 40/80 Column are mechanical latching switches, and are wired separately to the back of the keyboard.
Theses need to be desoldered before the PCB can be removed.
The PCB is held on with dozens of tiny screws, remove those, but keep the frame down of all the plungers will fall out.
The contacts on the plungers and the PCB can then be cleaned with contact cleaner.
The principal of the keyboard is fairly simple, the PCB has two carbon covered pads for each switch.
The plunger is held up by a spring, and when pressed down, the pads on the bottom of the plunger connect the two pads on the PCB together and the computer registers the switch pressed.
Whilst the principle is the same as the standard C64/VIC20 keyboard, the C128 keys are about half the height.
With the PCB cleaned and reinstalled and the switches soldered back on, the base is cleaned up.
Once the keys have dried, put all the keys and springs back on.
Be careful with the screws when reinstalling in the case. Some of them have spacers in place to stop the screw going through the front plastic. The original screws were a bit tarnished and the spacers a bit fiddly, so I just went for some shorter screws.
Back in the Commodore 128, all keys are now working. Still a bit yellow, maybe a candidate for retrobrite?

Monday, 13 October 2014

Commodore 64 Diagnostics Test Harness

This is something I've been meaning to get around to for a while, and testing the Commodore 128 has brought it to the front. Last year I built up a couple of Commodore 64 Diagnostic cartridges, the C64 Dead Test and the standard C64 Diag.
They both test RAM, VIC and SID functions, the standard diagnostic cartridge can also test the external ports of the C64. With just the cartridge, these test fail, the keyboard is reported as open, and the cassette, control, serial, user ports and interrupt tests are marked as bad. The chip list shows the two 6526 CIA's are shown as bad these drive the ports. The 6581 SID is also shown as bad even if you can hear it playing the sound test, as it provides two analogue inputs for the control ports.
To test these, most of the ports need loopback adapters, basically sending a single to one pin and reading it back via a loopback connection to another pin. There are a couple of schematics on the net. The first appears to be reverse engineered from an original test harness. This is slightly difficult to follow as all the wiring goes back to a 26 pin connector on the user port adapter, so you have to trace it through that. The second source also includes ROM images and manuals for the diagnostic cartridges. Zimmers.net contains a slightly different schematic and also the ROM image. Credit to all those guys for providing the schematics.
I've been adding bits as required over time. The first was the serial loopback, The red button on the top is wired as a reset switch.
The next was the user port. The Commodore original had a cartridge sized box as part of the user port, which housed the circuitry for the control ports, but that meant a lot of wires going from there to the control ports, The user port tests is just a series of loopback connections, all it got from there was power, which can also be got from the control ports, so I just made this as a loopback.
The cassette port is also looped back, but provides a switching signal to the control port tests, derived from three outputs via two resistors. There is some discrepancy between the two schematics I referred to, the resistors values are exchanges and there is no loopback. I built mine according to the first and it seems to work fine.
These two were given D shell covers (37 way for the user port and 15 way for the cassette port) which fit reasonably well.
I made the keyboard connector loopback form on old keyboard cable. I've also added an LED and resistor to form a power indicator.
The joystick tester uses two 4066 switches to switch the fire button and four direction signals between the two ports. Theses are controlled by the signal from the cassette port. I built these up on a small board. Also on there are the four 120K resistors used to test the X and Y analogue inputs on each port.
This was all housed in a small box to hopefully plug directly into the side of the case. It didn't quite work out as it obstructs the power switch, and also the sloped side of the C64C case.
To get around this, I made a set of extenders for the joystick connections. Just a plug soldered to a socket with some tape wrapped around.
With these extenders, it fits fine, just looks a bit odd.
And that completes the loopback test setup.
Without opening the case, the keyboard tests shows 'open', but all the others now pass.
This board has been removed from it's case, and the keyboard loopback installed. All tests now pass.
I had a productive day going through a small backlog of faulty C64 boards, All but a few were repaired, or at least the faulty chips marked up for replacements. At the end of the day, I tracked down a couple of faulty 6526 CIA's, a couple of 6569 VICs, and a faulty 6510 CPU. There were more 6581 SID's than I usually find (several partial failures), and the usual pile of 906114-01 PLAs. Also fixed but not shown, a couple of 7406's, some 4264 DRAM's and a 74LS257 - most of the memory faults had previously been fixed.
The same cable set can be used on the C64C.
And also on the C128, which is where all this started.

Thursday, 9 October 2014

Commodore 128 Repair - Part 1 PSU

Here we go again, it's not long since I finishing the repair / rebuild of one of Commodore's first 8-bit computers, the Commodore Pet. Now I'm tackling their last 8-bit computer, the Commodore 128.
This one doesn't look too bad, a bit of yellowing on the keys and some marks on the case, but otherwise intact. The power supply has a few issues, so before I began, I gave it an initial checkout, and a short run with an Amiga 500 power supply. The Amiga supply uses the same connector, and two of the pins are the same, 0V and 5V. The Amiga PSU's 5V is rated at 4.3A, the C128 was only 2.5A, so it should be fine. The other two pins are 9V AC at 1A on the C128, and +/- 12V on the Amiga. It works well enough to get the welcome screen, but not recommended for normal use.
The PSU that came with this C128 was taped together, the plastic pillars having snapped. The mains plug was European, that would need to be changed, but since the mains cable was also damaged at the input, I'll just go for a replacement cable.
Inside there were a few more problems. With that replaced, there was no output on either the 5V DC or the 9V AC side. Checking further, the 1.4A fuse on the AC side was blown, and the large inductor in the centre was loose.
Although held in place with a cable tie, both solder joints had cracked, and it was wobbling around. This is the main output inductor on the 5V supply, hence no output. With the fuse and mains cable replaced and the inductor re-soldered, I fired it up and found the 9V supply was there, but the 5V was about 4.5V. There was an adjustment, so I trimmed that for 5V again.
I was hoping I'd be able to replace half or all of the case with one from an Amiga 500 PSU. There were a number of models, all the same shape and size. The original 'heavy' linear one is on the left, the 'light' switch mode one in the centre and the C128 on the right.
It looks like the screw holes are in different places on each one, so I won't be able to do that. I'm not happy with the case of the C128 PSU, so I may put that to one side and look at making a new PSU by adapting one of the A500 ones. All I need to do is disconnect the +/- 12V and install a small 9V 1A transformer. That way I'll get a solid case and a mains switch. The original C128 supply will do for the moment, now onto the main unit....

Monday, 6 October 2014

BBC Micro keyboard repair

I recently build a BBC Micro USB keyboard, from the external keyboard of a Viglen BBC case.
That worked well and it is a very nice keyboard to use. There were a couple of problems. One, a few of the keys weren't working properly, and two, the original keyboard had a paper overlay that was too tatty to use, so I had removed it.
The BBC keyboard is made up of individual key switches, so it was a case of identifying the ones which weren't working and replacing them.
The switches are desoldered from the back and then unclip from the front.
A donor keyboard then provides replacement switches, and it's ready to go again.
The key caps were then washed and reinstalled. Two of the arrow keys were marked, so I swapped the 4 arrow  keys and the copy key from my set of spares.
That just left the case, I didn't think I could be able to neatly cut out a suitable black paper label like the original, so I masked and painted the black area.
That's better, much more like a BBC.
More USB keyboards are available for sale in my Etsy store, or contact me if you are looking for something custom.

Friday, 3 October 2014

Windows 10 - First Impressions

Microsoft have announced the next version of Windows, Windows 10, and have made available a technical preview. I've been running that for a few days, and from first impression, it looks like a proper desktop operating system. It has a task bar, aero effects (transparent taskbar etc.), a functional start menu, no charms etc.
So this is version 10. Well, actually it's version 6.4. Vista was 6.0, Windows 7 went out as 6.1. Windows 8 as 6.2 and Windows 8.1 as 6.3. So this is 6.4. A lot of this seems to be down to how applications check which version of Windows is running. A lot of programs were fine in XP (that's Windows 5.1 by the way), which followed on from Windows 2000 (5.0). These programs checked the Windows version started with 5 before they ran. So when Vista came along (6.0), some programs didn't like the new major version number change, so didn't run. Since then, they have stuck with 6.x, even though they called it 7. 8 and 8.1 confused things further and now missing out 9 gives version 6.4 for "Windows 10". Mad. Oh, and why not 9? One theory I've heard is again down to version number checking again. This time programs checking you weren't running Windows 95 or Windows 98 by looking for a version string starting "Windows 9". The version numbering of later OS's comes from the NT line, where NT4.0 (the last OS to actually have the right version number!), was followed by Windows 2000 (5.0). Windows 95 and 98 were part of a different family of operating systems and didn't use that numbering scheme.
Aside from the version numbering, this may be what I've been after. I like Windows 7, and have stuck with it up to now. I've tried to get to like Windows 8 a number of times, since it's initial tech preview. I even bought it when the retail version came out, but have always gone back to 7. I have helped numerous people who bought new computers preloaded with Windows 8 and couldn't find familiar points of reference they were used to from XP or 7. There are many nice things on Windows 8, the incrementally better small internal changes, things like a better task manager, better file copy dialogue etc., but they were always offset by the major changes to the user interface with the start screen and live tiles etc. Windows 10 has kept most of Windows 8, you can configure it to run just like Windows 8, but at least on the Tech Preview, out of the box, it runs a lot more like Windows 7.
The start menu now has the tiles on the left, which can be resized, added, removed, etc. like the Windows 8 start screen. Seems to be very usable like that. Most of the general operating stuff seems to work. It detected all my hardware without a problem. It handles multiple monitors better than 8 did, although you still can't snap to the side of an individual monitor, only the desktop as a whole.
You still get the dual personality of modern Windows, so if you want to use a calculator, you can use the standard Windows calculator, which hasn't changed much since XP, or you can use the Metro (or whatever it's called these days) style app. But now, the Metro apps can run on the same screen, in Windows, appearing on the task bar, almost like it was a proper desktop app.
So two calculator apps, one designed for people with a big screen and a keyboard and mouse, and one for the people with tablets and fingers. So Windows 10 is bringing those more together, but it's still difficult to see why they need to be in the same OS. Microsoft is very keen to push this one OS for all devices, but I'm not sure the users really care. Do they not just want to sit with their desktop or laptop and use apps in the traditional way, I don't think they would expect them use the same apps on a tablet? To facilitate this, they seem to have changed the window chrome (lower case w and lower case c), the box around the windows, for all apps. So any apps which don't use the standard title bar, may look odd.
You may have noticed that internet search results are now part of the same search list, and not clearly distinguished, so you can easily end up with a website when you were looking for an app (for example, Windows 10 doesn't have solitaire - there's a deal breaker right there! So if you click start and type solitaire, you get a bing search which shows a list on online gambling websites. Probably not what you were after.
There are also multiple desktops, like Unix based system have had for decades, where you can have a whole load of apps open, and then switch to a clean desktop and open a new desktop and then switch between them, although that only shows one monitor, so not ideal if you have a multi monitor setup. There are hints that the licensing model may change, the licence agreement seemed to imply it was a licence to use the software, rather than having been purchased. I don't know if the will be the case with the retail version.
So there it is, I'm a lot more positive about this after having used it for a while than I was with Windows 8. There is a theory that every odd numbered Star Trek films was rubbish. Windows was the reverse of that, the odd numbered ones were the good ones (Windows 98SE, XP, 7), and the even ones were the ones to avoid (Windows ME, Vista, 8). By skipping 9, have they missed the good one and gone for another rubbish one, or have they fixed it? Time will tell.