ZX Spectrum 16k: Upgrade to 48k the hard way

I picked up a ZX spectrum for €10 at a market a few years ago, without any cables or power supply, plugged it in when I got home and it booted to the 'Sinclair Research' screen without any problems. A good find!

Eventually I wanted to play some old games but the keyboard was unresponsive when I tried it out, so back it went on the shelf until I could find time to take a proper look.

That time is today! There are a lot of excellent resources around for repairing and refurbishing Sinclair Spectrum computers and a lot of small suppliers that can provide any parts you need. I particularly recommend Spectrum for Everyone.

Rescued

So, let's have a look at this rescued stray. The keyboard fascia is held on by duct tape and someone has obviously peeled it back without loosening the glue at some stage in the past.

Before

The metal is bent out of shape and isn't going to be easy to restore. Otherwise everything looks good here; the paintwork, case and keyboard all look fine.

Back

Flip it over and 3 of the 4 original feet are still there. You can see the perforations for the speaker at the bottom left, around the foot.

16k

Wait, what's this - 16k? I'm not going to be playing too many games without the full 48k complement. You can buy a RAM pack that fits on to the edge connector at the rear, but they're mostly famous for falling off while in use.

Prep

Diagnosis

The machine boots, the rf jack works and the case is in good order. This seems like a good candidate for fixing up. The keyboard is not responding but that can usually be attributed to a broken membrane as they are known to grow fragile over time. The main problem is that there is not enough RAM to run anything more sophisticated than Jetpac - but that is fixable too.

So here's the full kit for restoring the machine:

  1. RAM upgrade kit from Retro Spares Shop
  2. New keyboard fascia SellMyRetro
  3. Replacement membrane, also from SellMyRetro
  4. Flat head and Philips head screwdrivers
  5. The 16k ZX Spectrum
  6. Soldering Iron
  7. Penknife and Solder
  8. Receptacle to hold screws

Membrane

The computer is held together with 5 identical screws. You have to be careful removing the cover as the keyboard membrane is part of the top but is also attached to the motherboard at the bottom.

In this case part of the membrane had disintegrated, explaining the input problems I was having.

Slots

Upgrading RAM

Now we can get a closer look with the Keyboard out of the way. All the capacitors, the 9 blue cylinders in the photo, look good with no sign of leakage.

This is a two-step process, which is well described in the document that the Retro Spares Shop supplied with the upgrade kit.

  1. Solder the wire links that tell the memory controller which half of the RAM chips to use
  2. Slot the new RAM and TTL chips into the correct slots.

This is an Issue 3 Spectrum, so the wire links that I need to solder are under the heatsink. The earlier Issue 2 design has the wire links just to the right of the large ULA chip.

You can also see, in the highlighted red rectangle in the image above, where the new memory and logic chips have to go.

Heatsink

The heatsink is held on by a single flathead screw. Be careful though, there is a nut behind the motherboard which will fall out when you remove the single screw. It's also likely to get attached to the speaker magnet if you let it loose inside the case.

Wirelink

Here you can see the links that need to be bridged. Apparently wiring either side will do, as the modern memory has a very low error rate and the link decides which half of the chip is 'best' to use. In my case I will be joining 'TI' and '4'. The holes are filled with solder from the factory.

I don't have a 'desoldering pump' so I'm just going to use the iron to remove the solder.

Hoop

I found it best to bend the wire link in place before placing it on the board. Leave some length in the legs so they go right through - they can always be crimped later.

Hoop In

I have cleared away the solder and driven the link through the PCB. You can see I have singed the board slighty in the first two holes - it's enough to have the soldering iron at a low setting to melt the factory solder.

Ready

Chips

As you can see, I have seated the RAM chips and also the TTL in the following marked slots.

  • IC23: 74LS/HCT32
  • IC24: 74LS/HCT00
  • IC25: 74LS/HCT157
  • IC26: 74LS/HCT157

They just click into place with the text on top oriented the same way as the existing chips. That pretty much concludes the upgrade process!

Replacing the membrane

Old Fascia

Next I remove the old fascia, heating it gently with a hairdryer to soften the glue and then slowly prising it off.

New Fascia

This is a good opportunity to give the rubber keyboard a mild soapy wash. The old membrane is just underneath.

New Membrane

The tabs from the new membrane pass through the cover and slot into the motherboard. Replace the top slowly to make sure the new tabs fold gracefully into the case.

Old bits

Everything is in place, now it is time to put the 5 screws back in.

Boot

And plug it in! Apparently it takes slighlty longer to boot with the extra RAM - I can't say I noticed the difference.

Peek

There is a more accurate way of checking; test the RAM with PRINT PEEK 23733which will return 255 if the upgrade is successful. It returned 127 for me until I got the soldering right.

Closeup

Looking good!

Finished

And here's the finished ZX Spectrum, cleaned, polished and turbo-charged!

How long did it take and how much did it cost?

It took about two hours all told, mostly because I'm not good at soldering.

16k Spectrum€10.00
Membrane £7.50
RAM upgrade Kit £9.99
Keyboard Fascia £16.88
Power Supply £7.50
Cables£4.00

About €50, so not much cheaper than buying a Spectrum on eBay, although the new parts should mean this one has a few more decades left to go. The people who sell refurbished hardware on eBay are definitely doing this for love rather than money.

The next step is probably just to plug my phone into the Spectrum to load some TAP files so that I can play games and then maybe get a DivMMC if I get really into one of them and want to save (or use a joystick).

How to do Super 8 Enlargement & Printing

Who hasn't looked at a great scene they've shot on Super 8 and thought "I'd love a big print of that"? Well, I finally got the opportunity to try this out courtesy of one of the huge enlargers at Darkroom.

There are a couple of hurdles that need to be overcome to get good prints;

  1. It is very hard to get good focus over such a long distance.
  2. Most Super 8 is reversal rather than negative.
  3. Producing good quality black-and-white prints from a colour image is not easy.

Giant Enlarger

If you look at the enlarger plate above you can see something that looks like a microscope. That's a grain focuser; harder to use than a loupe but vital for doing these kind of prints. For this setup we used a 50mm lens and about a 6 foot drop.

As you can see below, this gave us a decent 8x10 image. You can see sprocket holes and some of the preceding and following frames but that's a nice formalist touch that I think adds to the print. Once the film is on spools, it is relatively easy to run up and down the frames until you see one that you want.
Film Strip

The first print is going to be a negative. It is important to have the focus correct here because all the prints will come from this original. Once you have the negative print you can do positive contact prints from it in a normal enlarger.

The new sheet is place face up, the negative is placed face down above it and then the two sheets are pressed together under glass. Mella from Dark Room worked out the settings for these particular prints;

  1. 90 seconds at Grade 4
  2. 90 seconds at Grade 4
  3. 10 seconds at Grade 0

The final exposure is to bring up the midtones that are knocked out by the yellow filter that you get with colour film. You can skip that step if you are working with Black and White stock like Tri-X or Orwo.

Super 8 Prints

Once processed and dried, these are ready to frame!

Star Wars Day

Myles & I built a Lego Jabba The Hutt palace and lit it up with a torch for some flickering shadows.

Jabba's Palace

May the fourth be with you!

Pi2Scart 15khz 240p with a Philips PAL Tv

I have set up Scart out on my Philips 28" TV with Pi2Scart and this is a tricky one to call. The interface worked perfectly, although the Pi can no longer be seated in the Picade enclosure (in fact it will require some work just to get the door to close).

The default parameters worked perfectly;

  disable_audio_dither=1
  dtparam=audio=on
  dtoverlay=vga666
  enable_dpi_lcd=1
  display_default_lcd=1
  dpi_group=2
  dpi_mode=87
  hdmi_timings=320 1 16 30 34 240 1 2 3 22 0 0 0 60 0 6400000 1

And I played around with some optimal output resolutions from pi2jamma

    1600x240

but in the end I got best results from letting libretro output the native resolution with some black bars on most games.

The picture is now a lot more stable (you can see some of the flicker in the composite screenshot) and the colours are more vibrant. However games higher than 240p look clipped and the Emulation Station interface is tricky to use at the lower resolution.

The best of both worlds would probably involve having a separate Pi+Pi2Scart for Mame games up to the 1990s. Anything after Neo Geo would probably be better, even with flickery composite.

pi2scart Pi2Scart

compositeComposite

You can open the images in a new tab if you want to zoom in. The pictures were taken with auto focus and exposure, so they're not 100% accurate.

ReactVR at Dogpatch

I gave a lightning talk at DublinJS yesterday, accompanied by a live ReactVR demo. There were some great talks on VueJs and React, plus some good tech demos - I particularly liked the hacked Daydream controller.

My slides are here and you can clone and run the demo in your browser here.

The tech is already very stable but geometry requires a lot of optimisation and you'll need to use technques like texture baking to get a fast enough experience for users with headsets.

ReactVR Demo

ReactVR Demo