Skip to content

Notes on restoring and using a vintage Timex Sinclair 1000 / Sinclair ZX81 personal computer.

License

Notifications You must be signed in to change notification settings

Andy4495/timex-sinclair-1000

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Timex Sinclair 1000

Check Markdown Links

Notes on restoring and using a vintage Timex Sinclair 1000 / Sinclair ZX81 personal computer.

Modifications

Keyboard Replacement

The keyboard cable to the PCB through connectors KB1 and KB2 had become brittle and partially disintegrated, rendering the keyboard unusable. This is a common problem with the Sinclair membrane keyboards, so much so that replacements are readily available on eBay.

All the remnants from the old cable need to be removed from connectors KB1 and KB2 before installing the new keyboard. Using tweezers, picks, and a magnifying lens helps to get all the bits out.

Video Output

I modified the RF output video signal so that it bypasses the RF Modulator and instead outputs a composite video signal. I used the "single transistor, 2 resistor" design. The composite video signal produced is not fully compliant, but is good enough to work on my TV with a composite video input. However, my cheap composite-to-HDMI converter box has difficulty with consistently syncing to the signal.

Circuit modifications:

  • Although I left it in place, I think it should be possible to remove the existing circuit board inside the RF shield can
  • Outside of the shield can, unsolder the middle wire from the "USA" via and move it to the "2" via (this is the video output signal from the ULA chip) (photo)
  • Inside the shield can, cut the 5V and video signal wires from the circuit board inside the can (leave enough wire to solder the transistor legs)
  • Remove the channel select switch (near the regulator)
  • Solder a jumper between the two switch vias nearest the regulator to route 5V to the RF shield can (see photo)
  • Cut the RF signal wire connected to the RCA jack (see photo)
  • Disconnect the two parts behind the RCA socket (see photo)
  • Install the transistor/resistor modification. I used a general-purpose 2N3904 transistor:
    • Collector pin to 5V wire coming into shield can
    • Solder two resistors to the emitter pin
      • 18 Ohm resistor between the emitter and the RCA output connector
      • 100 Ohm resistor between the emitter and to ground (RF shield can)
    • Base pin to video input wire
  • Post-rework photo; note the electrical tape under the transistor and on the side of the shield can to insulate against possible shorts

Regulator

All the other TS1000 and ZX81 restoration articles discuss removing the 7805 voltage regulator and replacing it with a switching DC-DC converter (like a Traco TSR 1-2450). However, since everyone has a pile of regulated 5V USB wall chargers, why not just bypass the regulator circuit and power the board directly with a regulated 5V supply? The main disadvantage to this approach is that 9 V is no longer available on the edge connector; that pin will supply 5 V instead. I am not sure if there are any cartridges that make use of the 9 V power. A 500 mA supply should be sufficient, but I ran across one reference that suggested that the TS1000 needs up to 700 mA.

This requires a few modifications to the PCB:

  • Remove inductors I1 and I2
  • Remove capacitors C13 and C14 (note that these are radial capacitors that look like resistors, but have a light green tint)
  • Remove the 7805 voltage regulator and attached heatsink
  • Solder jumper wires across the old I1 and I2 vias (i.e., replace I1 and I2 with zero ohm resistors)
  • Solder a jumper across the regulator input and output vias, making sure not to connect the middle pin
    • These are the two outer pins on the regulator (the middle pin is ground)

Note that the only TS1000-specific schematic that I could find does not match the circuit on my board. In particular, on my board, I2 is connected between external power ground and PCB ground, which is why the zero ohm jumper across I2 is needed for this modification. I created a hand-drawn version of what I think is the actual power input section.

Also, I did not have a 5V charger with the correct plug (a two pin 1/8" audio plug), so I ended up cutting the plug from the original TS1000 9V charger and replaced the plug on my 5V charger. I was extra careful and double-checked that the "tip" conductor of the audio plug was positive and the "ring" connector was ground before attempting to power the computer with the modified charger.

In addition, the metal springs inside the power jack were a little loose and didn't make a reliable contact, which caused the TS1000 to power cycle it was bumped. I bent the springs slightly to tighten them. I think these may need to be replaced at some point. If I do replace the power connector, I would probably use either a USB or barrel jack.

Capacitors

I replaced the two electrolytic capacitors (C3 and C5) on the board. This was probably not necessary as neither were leaking and both measured the correct capacitance within their rated tolerances. I added some small strips of electrical tape under the new capacitors to keep the leads from shorting to the PCB traces.

  • C3 is rated at 22 uF and 16 V and is connected between the 9V rail and ground near the edge connector. This capacitor is not included on the VISTA schematic. With the regulator modifications mentioned above, this effectively puts this capacitor across the 5V rail and ground on my board.
  • C5 is rated at 1 uF and 50 V and is connected between the Z80 reset pin and ground. The VISTA schematic notes this as a 5 V capacitor, but the one I removed was marked as 50 V.

ULA Heat Sink

The Ferranti 2C210E ULA (IC1) appears to be functionning correctly. However, this chip is known to run hot, so I mounted a small IC heatsink on the package.

RAM Upgrade From 2K to 16K

The TS1000 comes with a 2K RAM chip. I replaced this with a 62256 32K chip, of which 16K is usable due to the way the ULA decodes memory addresses. The 2K RAM chip is not socketed and needs to be unsoldered from the PCB. The replacement chip has a slightly different pin configuration, so some modifications need to be made to route the correct PCB signals to the correct pins.

I used this procedure by Tynemouth Software, but soldered the jumper wires to the socket instead of the new RAM chip. This leaves the RAM chip intact. Once again, I used some electrical tape to insulate the PCB traces from the modifications.

Signal Mapping to Standard RAM

The RAM in my TS1000 was a Toshiba part TMM2016P-1 (24-pin, 2Kx8, 100ns). I replaced it with a 62256 RAM (28-pin, 32Kx8, 100ns). Fortunately, the TS1000 PCB footprint has space for a 28-pin chip.

The signal locations are mostly matching between the two parts if the "bottom" of the two chips are aligned (i.e., line up 2016 pin 12 with 62256 pin 14). The table below lists the changes needed for the signals that don't match.

A TS100 should be configured from the factory with a jumper wire placed on the PCB location "LK2" and location "LK1" should be empty. This jumper configuration routes the A10 signal to the RAM chip.

To simplify the modification, some address signals are swapped. This only impacts where the data is stored internal to the chip. It does not impact actual operation becase the same address location is used for both reads and writes. The physical jumper wires for this modification are connected to the cathode side of several diodes for ease of connection, as some of the signals are not otherwise easily accessible on the PCB.

2016 Pin RAM Footprint Signal 62256 Pin 62256 Signal Notes
N/A RFSH 1 A14 Bend up socket pin. Connect to Diode D1 (A11)
N/A Vcc 2 A12 See Note below
1 A7 3 A7
2 A6 4 A6
3 A5 5 A5
4 A4 6 A4
5 A3 7 A3
6 A2 8 A2
7 A1 9 A1
8 A0 10 A0
9 D0 11 D0
10 D1 12 D1
11 D2 13 D2
12 Vss/GND 14 Vss/GND
13 D3 15 D3
14 D4 16 D4
15 D5 17 D5
16 D6 18 D6
17 D7 19 D7
18 /CS 20 /CE
19 A10 21 A10
20 /OE 22 /OE
21 /WE 23 A11 Bend up socket pin. Connect to Diode D3 (A12)
22 A9 24 A9
23 A8 25 A8
24 Vcc 26 A13 Bend up socket pin. Connect to Diode D5 (A13)
N/A /WE 27 /WE
N/A Vcc 28 Vcc
Note on 62256 Pin 2

Since the TS1000 can only address 16K of RAM without additional logic, one of the 62256 address lines needs to be tied either high or low. Fortunately, the existing 28-pin RAM layout on the PCB routes 5V to pin 2 of the 28-pin RAM footprint. So A12 is tied high without needing to make any physical board modifications. This effectively uses one less address bit, and therefore only 16K of the 32K chip's address space will be accessed.

Photos

Unmodified Components

The ROM (IC2) and Z80 CPU (IC3) appear to be fully functional. The ROM contains the "improved" ROM code version.

Memory Map

Start End Description Notes
0 1FFF BASIC ROM
2000 3FFF Shadow ROM Disabled with 56K RAM packs
4000 47FF 2K RAM Default internal RAM
4000 7FFF 16K RAM External RAM pack disables 2K built-in RAM
2000 FFFF 56K RAM Shadow ROM and internal RAM disabled

Memory Size Test

To check the RAM size, enter the following one-line program:

PRINT PEEK 16388+256*PEEK 16389

An unmodified TS1000 would print 2048. Upgrading a RAM chip in the motherboard to 16K would print 32768 (16K ROM + 16K RAM).

ROM Chip Adapter to Use Standard EPROMS

The TS1000 uses a mask ROM (Motorola part ZCM38818P) which has the pinout of the obsolete 2364 ROM. A more readily available 2764 EPROM can be used with the 23xx Adapter from Retro Innovations. The bare-PCB version of the adapter can be used as-is with the default jumper settings and does not need the 74HCT138 decoder chip.

Mapping a 2764 EPROM to the TS1000 2364 ROM

The signal connections from a 2764 to 2364 are listed in the table below. Note that the 2364 has 24 pins and the 2764 has 28 pins. The pins are mostly the same if the bottom of the 2364 is aligned with the bottom of the 2764 (i.e., line up 2364 pin 12 with 2764 pin 14).

2364 Pin 2364 Signal 2764 Pin 2764 Signal Notes
N/A N/A 1 Vpp Pull high (connect to Vcc)
N/A N/A 2 A12 2764 pin 2 -> 2364 pin 21
1 A7 3 A7
2 A6 4 A6
3 A5 5 A5
4 A4 6 A4
5 A3 7 A3
6 A2 8 A2
7 A1 9 A1
8 A0 10 A0
9 D0 11 D0
10 D1 12 D1
11 D2 13 D2
12 Vss/GND 14 Vss/GND
13 D3 15 D3
14 D4 16 D4
15 D5 17 D5
16 D6 18 D6
17 D7 19 D7
18 A11 20 /CE Pull low (connect to Vss/GND)
19 A10 21 A10
20 /CE 22 /OE
21 A12 23 A11 2764 pin 23 -> 2364 pin 18
22 A9 24 A9
23 A8 25 A8
24 Vcc 26 N/C Pull high (connect to Vcc)
N/A N/A 27 /PGM Pull high (connect to Vcc)
N/A N/A 28 Vcc 2764 pin 28 -> 2364 pin 24

ROM Versions

There are multiple versions of the Timex Sinclair ROM. The Timex Sinclair 1000 and ZX81 ROMs are the same. Differences between the machines, e.g. TV frame rate, are performed in software based on a PCB jumper.

Version/Download Link Description
Standard The original, buggy, first version of the ROM as shipped by Sinclair
Improved The debugged second version of the ROM as shipped by Sinclair
Shoulders of Giants Debugged variant by Geoff Wearmouth
Other Languages Replacement ROMs for other programming languages like Forth and assembly
Clones Some clones had slightly modified ROMs

Next steps

  • Use zxtext2p to convert program to WAV files so that I can load programs from a computer instead needing a cassette player

References

License

The software and other files in this repository are released under what is commonly called the MIT License. See the file LICENSE.txt in this repository.

All hardware modifications mentioned here are for informational purposes only, and are a summary of changes made to my particular hardware, which may be different from yours. You should do your own research before making modifications to your hardware.

About

Notes on restoring and using a vintage Timex Sinclair 1000 / Sinclair ZX81 personal computer.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published