Working on various systems with varying success

Another “this and that” post.

Atari 800

I finally got a replacement screen for my SDrive MAX, which has allowed me to actually use it reliably. It’s been great! It looks like, while the compatibility of the memory upgrade isn’t perfect, it’s good enough for many things. This has, however, allowed me to run the vast majority of titles for this platform.

SDrive Max in the foreground.

I do, however, find the 8 character display incredibly frustrating. There’s no reason it should be limited to 8 characters. In fact, once you scroll over a title it shows you the full title rather than it ending in something that looks like “teleng~1.xex”. Why not just show as many characters across as the display will support? Drop the extension if it’s a supported disk format or just let it flow off the edge of the screen?
I’d rather see 3 to 4 “wizard of wa” entries (12 characters) that I can then scroll over for more information rather than the extremely unhelpful “wizard~1.xex”. Is it Wizard of Wor? Wizardry? There’s dozens of titles where I have to drill in and scroll around one by one.
For now I have hand shortened all file names to 8 characters. It’s a horrible kludge but it’s easier than tilde followed by number.

Creativision / Dick Smith Wizzard

It’s been a bit of a rollercoaster on the old DSW. Now I have the beast reasonably under control, I looked at repairing my right controller. This controller is suffering from a damaged membrane (Who builds a joystick with a bloody membrane?) that I damaged even further while trying to repair it.

Rather than getting all depressed, I’ve been mostly working on whether I can build a replacement for it. I did, however, try conductive paint to sse if it would help.

Conductive paint connecting across a break in the membrane

Turns out the answer is “no, no it did not help” so for now I have put that controller aside. I’ll look at whether I can “hack” it into something useable later, or whether I just build a brand new controller, possibly something you simply plug a Megadrive controller into and it translates it into something the Creativision understands.

However, this spurred me on in my attempts to build the replacement keyboard and with this I did make a breakthrough. Having finally worked out that the entire keyboard is implemented, not as a keyboard matrix, as I’d expected, but instead as a series of “three contact” switches in the membrane, I was completely stumped for a while as to how I was going to implement this as a “real” (eg physical) keyboard. Most keyboards rely on a Momentary, or “Single Pole, Single Throw” pushbutton. What I needed was a “Double Pole, Single Throw” pushbutton. The vast majority that I found were completely unsuitable. I could buy something I could test my design with, but my chances of being able to build anything were slim, until I accidently stumbled on these switches over at Mouser. While not exactly free, they were cheap enough for what I needed.

Now I knew I could actually source a switch suitable for inclusion, it was now worth my time to build up a prototype to test my design.
Behold! The most user unfriendly keyboard in the world!

There’s a photocppy of the original keyboard membrane visible behind the Wizzard. The schematic for the final keyboard is under the pencil.

It consists of a ribbon cable connected to the pins on the controller port on one end, and to a breadboard on the other. I can then jumper a three way switch (Actually a “Double Pole, Single Throw, with one of the poles bridged to the third wire) between the tracks on the breadboard and check if my understanding of the circuit was correct.

After much uncertainty (And discovering I had my pin order reversed on the connector) I was able to test my first key press. It printed “7” on the screen. I was so overjoyed I pressed it a whole bunch more times. It printed “ERROR 06” on the screen. I didn’t care!

Now I knew the principal was correct I was able to test all the different key combinations. This allowed me to find a handful of errors, but overall, it wasn’t too bad. I had two keys switched and a missing line on another one. Overall it was pretty easy.

I’ve updated my KiCAD schematic and started PCB work. I’ve designed up the chosen button as a footprint, but having converted one entire side into a design I realised I’d numbered my pins on the footprint incorrectly :-/

After that I’ll need to order the switches and a PCB. Exciting times.

Amstrad CPC 464

Only a small update on this one. I took a cheap third party megadrive controller apart, bypassed its control chip (with a sharp blade) and used some wire wrapping wire to re-wire the connections to be Amstrad compatible.

The “guts” of the clone Megadrive controller.
I’ve cut the tracks with a knife and a screwdriver here
Here’s a shot of the board before I reassembled.

Button 1 is the default button (Oddly, this is button 2 on the Amstrad).
Button 2 is mapped to “up” on the joystick. Great for games that use the up direction for “jump”.
Button 3 is mapped to the secondary button (Button 1 on the Amstrad)
Button Z is mapped to “down”. This is for Starquake, which uses it for “jump”.

The wire wrapping wire (Aka “Kynar” wire) is really nice for doing traces like this. I’m tempted to buy a bunch of rolls of it in different colours. It’s both stiff enough to hold a shape you bend into it, yet flexible enough to be easily routed, and has a heatproof sheath so you can “dunk” it into molten solder and it won’t shrink off the wire. Lovely stuff.


Posted

in

by

Comments

2 responses to “Working on various systems with varying success”

  1. […] back with the DSW, I have been busy finishing off the keyboard. I’d already done the schematic in KiCAD, so the next logical step was to fix the mistake with the key footprint and actually lay the […]

  2. […] and feel of gamepads these days, despite being raised on traditional joysticks. In the past I have hacked a couple of Genesis / MegaDrive controllers, purchased cheaply on AliExpress but I have always […]

Leave a Reply

Your email address will not be published. Required fields are marked *