Entries in this series:
- 1) TS1000 upgrade
- 2) More Power!
- 3) On The Big Screen!
- 4) Oh the memories we’ll make with 16k! « you are here
2023, 03 , 14
The story so far
At this point, we’re about mid-way through our upgrade journey of my original, vintage Timex Sinclair 1000. My goal is to bring it into the 21st century, but do so in a way that any modification can be totally reversible, bringing the unit back to original factory state should we want to do that.
Current progress:
- Verified that the little unit still works after 40 years and is a candidate for an upgrade (Part One)
- Replaced the original power regulator and honkin’-large aluminum heat sink with a modern efficient component (Part Two)
- Installed a composite video modification to allow the TS-1000 output to be displayed on a modern TV (Part Three)
*** update 2024-10-19 — 16:13 ***
Yeah, I’ve not gotten around to the next part yet, but I do have a little thing for you — I pointed a LLM at this blog post and it generated a podcast — here, give it a listen: https://soundcloud.com/user181126/ts-1000-memory-upgrade
A complex job
This will likely be the most complex upgrade — internally expanding the onboard memory to 16k. The previous projects have progressed in complexity / difficulty from very easy to ‘a bit more challenging’. This memory upgrade continues that trend.
A quick search reveals quite a few memory upgrade options but I opted to go with the solution in The Byte Attic video.
Survey the terrain
The Timex Sinclair 1000 boards were a very clever design — in fact, they were basically Sinclair ZX-81 boards with a slight modification that upgraded them to 2k of RAM from the factory. The stock Sinclair ZX-81 only had 1k.
A look at the motherboard shows that the unit has a single 2k memory chip. Interestingly, the board has markings for an alternate configuration of two 1k chips — though I’ve not seen photos of that configuration yet.
Either way, we’ll be pulling that perfectly good 2k chip out of that chip socket, and replacing it with a new 32k chip, though we’ll only be configuring the system for 16k. And here’s where we notice our first little snag — the socketed 2k RAM chip has 24 pins. Our upgrade RAM chip has 28!
Well, the boffins at Sinclair Research planned ahead for that. Looking closely, you’ll see that the board actually has locations for a 28 pin chip of this type.
But now there’s the problem of that socket that’s missing four pins. We have a few options here:
- Desolder the socket, solder the new chip directly to the board
- Desolder the socket, solder in a new 28 pin socket or set of pin headers
- Leave the socket in place and add in 4 pin headers
I’m a fan of doing the least amount of work possible, so I chose the third option. Also, this meant less opportunity for things to go wrong as I’d not be heating/cooling the board and solder points to get the chip/sockets replaced. Less to go wrong = less risk. And less work 🙂
It was a simple matter to clip out some nice machine-pin headers and mount them to the board. First we needed to clean out the through-holes. That 40 year-old solder wouldn’t mix well with the new I’d need to apply. A few moments with a 300 degree iron and a solder sucker desoldering pump and they were ready for the pins.
I used blue tack putty to help keep their alignment and hold them in place. Gold looks great don’t you think?
And the fit was great!
Now things get weird (wired?)
Following the installation done in The Byte Attic video, and cross-referencing against Tynemouth Software’s post leads to this rather interesting observation. It really doesn’t matter which data lines you connect the RAM data pins to, as the processor logic has it all figured out.
With a RAM chip, the order of the address and data lines is not actually important, as it reads back using the same pins in the same order as it was written. So rather than connecting to the matching pins on the RAM chip, just go for the easiest options.
Adding to this apparently haphazard process, we now get to *bend* a few pins on the RAM chip! Yep, these lines need to be routed along a different path than what the engineers at Sinclair Research determined. So yes, we carefully bend up a few pins (#1, #21, #23, and #26 to be precise) to provide clearance for us to attach wires for the new data path.
And as for the data lines, we’ll be connecting the RAM chip to them at the conveniently-placed diodes, just adjacent to the RAM chip socket.
As we’ll be soldering to the RAM chip pins and the wire of the diodes, I’ve given them a bit of a cleaning with an abrasive fiberglass pen, though anything that’ll clean off any oxidation would work; sandpaper, a pencil eraser, harsh language…
For the wire, my regular 22 AWG project wire was too thick, so I chose some 30 AWG wire wrap wire that I’ve had for years.
First I soldered the wire to the Diodes. I’d roughly measured the length of wire needed, but left a bit of slack just in case.
Then, after placing the chip in the socket, completed measuring the length, trimmed and stripped the other ends, and finished the job. Oh, and to help keep the job looking neat, before soldering the wires to the diodes, I added some heat-shrink tubing to the RAM chip connectors.
Well, that was a bit of work. But all neat and tidy ‘eh?
Briefly, on the topic of memory mapping
The internal memory is mapped and addressed above the 16K location in the memory map — the first 8K is the ROM, the second, reserved for addons and stuff. That brings us to the user memory space.
On unexpanded devices, the 1K or 2K available would live here. With our 16K expansion, accessing that chip (those chips?) is disabled and replaced with our chip, using the full 16K space. Only half of our 32K chip.
Now, in a different universe/timeline (I just watched Everything Everywhere All at Once — amazing movie), if the memory map was different, say, contiguously mapped to 32 k, then our shiny-new RAM chip upgrade would give us a 32K upgrade. But that’s not our universe, so to get to 32K, we’d need to do more jiggery-pokery. I’m not sure that’s needed as there’s not much software out there that uses 32k (or more).
Which all goes to say, now we need to test the RAM chip and our work. Of course I could just key in a program that writes a value to a RAM location and then reads it back, but what fun would that be?
Rather, let’s just load in Mazogs — a glorious 16K dungeon crawler from 1982, and give it a good play.
Oh, you noticed that?
Yeah, I did kinda skip over the whole grab-a-cassette-tape-and-load-it-thing. While authentic, it’s also a one of the things I miss the least about the early years of personal computing. So I did the thing that you likely knew I’d do, I built a thing that lets me avoid all that ‘fun’ and jump to near-instant gratification. And for details on that, you’d best read the next entry ‘eh? (sorry if you’re reading this before that entry is published — consider that a bit of a teaser?)
Notes:
- Wire Stripping — it’s a royal pain without a really good stripper (hmmm…). Here’s what I use, not an affiliate link, makes things so much easier.
- Hi Res graphics. I guess that’s a thing with some 16K upgrades, but not all. I have more reading to do.
Bonus photo:
Because I really like the gold pin sockets 😀
Leave a Reply