back to article ZX Spectrum prototype ROM is now available for download courtesy of boffins at the UK's Centre for Computing History

Got some unexpected time on your hands and a yearning for simpler times? May we present an original prototype ROM of the Sinclair ZX Spectrum, courtesy of The Centre for Computing History, for your tinkering pleasure. It has been just over a year since Kate and John Grant let the team at CCH get hold of the prototype, replete …

  1. Captain Scarlet
    Pint

    Hardware failed to boot

    This is a real shame they couldn't fire it up, emulation is nice but sometimes it just nicer to look at something on what it was designed for.

    Have a beer for at least extracting and sorting out the legal side of the backed up Rom.

    1. steviebuk Silver badge

      Re: Hardware failed to boot

      One person has already decompiled it when I saw their video go up :)

  2. SVV

    known and loved (and argued over) in 1980s playgrounds across the land.

    Yes indeed, and for those of us who were there at the time, this comments section is of course the digital equivalent of that playground nearly 40 years later. At break times only of course.

    1. BebopWeBop

      Re: known and loved (and argued over) in 1980s playgrounds across the land.

      For many, break time seems to have been extended.

      1. Dave559 Silver badge

        Re: known and loved (and argued over) in 1980s playgrounds across the land.

        Two words:

        Skool Daze

    2. Anonymous Coward
      Anonymous Coward

      Re: known and loved (and argued over) in 1980s playgrounds across the land.

      Yeah that sentence struck me as really inaccurate: It wasn't just playgrounds, or the 80s. And nobody who counts ever loved a speccy - all the sensible people were Commodore users ;)

      On a more serious note, this is really cool news. I never really used a spectrum (just once or twice back in the day) but I'm all for any preservation efforts and particularly for making the rom available.

  3. Zippy´s Sausage Factory

    His comment about preservation is quite true. If I go to a museum to see the one and only prototype of the Spectrum, I'm not too bothered whether it works - its value as a artefact is the key thing. I'd want to see the original prototype, as it looked, with all its original components. Whereas if I want one for myself, I probably wouldn't care too much about the actual model so long as I can switch it on, use it and tinker with it (although I doubt I'd want a 16K one).

    It's a bit like going to a museum to see an amphora they've dug up from ancient Rome. I'm quite happy to see a replica next to it, but leave the original as the bits and pieces you dug out of the supermarket car park, please?

  4. Dan 55 Silver badge
    Holmes

    "Device unformatted"

    Look, it's there! It's a different thing just above the thing you're changing! Look at it! Say something about it! Talk about the built-in disk filing system the Spectrum never had! Please? Go on? Would you...? Oh well, never mind.

  5. Irongut
    Pint

    Wow great job by the restoration team!

    I must get a copy of this even if I never tinker with it, just to know I've got it. My 12 year old self would be overjoyed.

  6. Pascal Monett Silver badge

    16KB

    The rom's size is 16KB. That is what you call tight.

    I wonder what's the size of the next XBox rom (yeah, ok, its not a rom, I know, but you get the point) ?

    1. Will Godfrey Silver badge
      Linux

      Re: 16KB

      I seem to remember the ZX81 was only 8K.

      1. ThomH

        Re: 16KB

        The ZX80's is 4kb, but its version of BASIC is integer-only.

        1. Bitbeisser

          Re: 16KB

          >The ZX80's is 4kb, but its version of BASIC is integer-only.

          And more bugs than bytes... >:)

      2. Mage Silver badge

        Re: 16KB

        Jupiter Ace had 1 K RAM and could run Pacman written in Forth on that. I had one and even got a 2nd for work to control some test gear.

        Allegedly it was a sort of cost reduced Spectrum, according to Wikipedia, because I've forgotten most of what I knew. It had 8 K ROM. I did remember that the designers had worked on the ZX81 and Spectrum. Nowadays in the USA, they'd likely have to work at something else for years due to Serf contracts.

        I gave it away maybe less than a year after buying it in 1983. I was using an ACT Sirius 1 (Victor 9000) in work (replaced later by an Apricot) which made the IBM look stupid when I first used it in 1982. I'd had a Spectrum as a test card generator in 1982 to align and check Thorn TX10 CTVs customised as AV/Computer monitor/TVs for Apple & BBC Micro and VHS.

        1. Blane Bramble

          Re: 16KB

          "Jupiter Ace had 1 K RAM and could run Pacman written in Forth on that. I had one and even got a 2nd for work to control some test gear."

          You are confusing your ROM and RAM.

          1. Dan 55 Silver badge

            Re: 16KB

            It did actually have 1KB RAM available for programming. It also had a further 2KB video RAM, but it wasn't a bitmapped display, more like tilemapped 8x8 black and white characters (sort of like spectrum UDGs).

      3. Andy Non Silver badge

        Re: 16KB

        Surprising what you can cram into limited space. I remember writing ping-pong and various other games for the ZX81. Compared to my programmable Casio calculator it had a vast amount of memory and unlimited programming potential. Disliked the keyboard though, some of the keys wore out quickly and became somewhat hit and miss.

  7. Jason Bloomberg Silver badge
    Flame

    "It produced a black screen with [a] white border."

    That is at least encouraging. A whole lot better than 'magic smoke' and a cry of "fuck!" from the R&D lab.

    Next thing to do would be to hook up a logic analyser, plug in a 'ROMulator', start writing and downloading code to exercise signal lines and see what peripherals work and don't. Just like we had to do back in the era.

    1. Dave559 Silver badge

      Re: "It produced a black screen with [a] white border."

      That sounds like the first stage of what normally happens when you power on a Spectrum. The black screen lasts for maybe a second or two (is it checking the RAM or something, somebody presumably knows/remembers?) and then it clears down to the well-remembered copyright message...

      It sounds as though it's nearly getting there, but maybe something in the self-test (if that is what it is) is failing. But, as others have said, even if someone can identify the problematic part, best just to leave it in peace.

      1. Dan 55 Silver badge

        Re: "It produced a black screen with [a] white border."

        The black screen lasts for maybe a second or two (is it checking the RAM or something, somebody presumably knows/remembers?)

        Here you go:

        How to Quickly Diagnose 48K RAM Failures, Ninja Style

  8. Caver_Dave Silver badge
    Happy

    Published

    I used to have a book called "The Complete Spectrum ROM Disassembly" and I only threw it out a few years ago. (Now it's online).

    I found it very informative and it really helped me learn the assembler language.

    1. archie99

      Re: Published

      I have The Complete Spectrum ROM Disassembly too. I also have The Spectrum Operating System by Kramer which taught me how to use Z80 assembler to interface to the Spectrum ROM, the 8K Interface ROM to talk to Microdrives, the RS232 interface and the ZX Printer. We used to joke, that's no LDA that's my DEFW 1F. Oh we could pull any girl in a nightclub back then.....:-)

  9. Vaughtex

    Piggy Back

    Black screen white border? Memory fault? Just get a 4116 and piggy back it onto each of the ones on the board until it powers up.

    I wonder if the fault finding chart in Your Spectrum would help....

    1. ovation1357

      Re: Piggy Back

      Now that brings memories flooding back!

      We used to have a special piggy-back clip with a socket on the top which was lovingly referred to as "the plonker"

      IIRC I'd go along each ram chip and look for a clean waveform on pin 2 using the oscilloscope until I found one giving of a load of noise. Stick the plonker on - prove that the speccy now stars up correctly and then set about desoldering the chip and adding a socket before replacing with a new one.

      This was one of the first repairs I ever learnt to do - aged around 9 or 10 years old! I was immensely privileged that the man who ran the local repair shop (and had already fixed my spectrum+2 a few times) let me come and help him on Saturdays and school holidays... I learnt a huge amount over the 6 years I was there and it set me up for life.

      I do miss the days of tinkering with those machines of the eighties. I know we've got Raspberry Pis and Arduinos these days but it's still not quite the same.

  10. Woodnag

    Nostalgia

    What makes me sad is how bloated modern design teams are, with cookbook assembled software using libraries, when in the days of Acorn Atom, Beeb, ZX8x, Speccy the teams were 2 engineers and the cat, and they did everything hard and soft. The cat just supervised, of course.

    1. ChrisC Silver badge

      Re: Nostalgia

      In the world of embedded system development, having an extra engineer, let alone a supervisory cat as well, working on a project is more often than you might think an unimaginable luxury. In the 21 years I've been in the industry so far, the firmware development team for almost all of the projects I've worked on has consisted of me. And on around half of them, I've also been the hardware designer too...

      Right now I'm in the unbelievable position of working on a project alongside TWO other fulltime FW/HW engineers and, right right now thanks to the current fad for working from home, two supervisory cats as well. Though in reality, I think their focus is more on supervising the contents of their food bowls than anything else. The cats that is, not the other engineers. Probably.

  11. -tim
    Boffin

    Keyboard?

    Was the prototype keyboard better or worse to use than the production model?

    1. Will Godfrey Silver badge

      Re: Keyboard?

      From what I can see in that picture I would say better... considerably!

  12. Anonymous Coward
    Anonymous Coward

    Much lost.....but not everything!

    Interesting to read the reminiscences. I skipped the Sinclair stuff, and waited till I could afford something with disks and real OS.....which turned out to be an Osborne 01......CP/M (and all its utility software), Wordstar, Supercalc, dBASE-II, BDS C, two flavours of BASIC. Amazing to think that each application came on a 192K floppy, and the OS and the application software ran in 64K of RAM.

    *

    What is really surprising is that I'm still using a dBASE clone today (Harbour), and still writing (a little) C today.....so my slow learning curve nearly forty years ago wasn't altogether wasted. Some of the learning curve has been thrown away long since (notably BASIC and 8080 assembler), but then predicting the future has always been a lottery!

  13. Evil Auntie

    Troubleshooting a prototype

    The most common problem is in the sockets. Production ICs are soldered in but, prototypes with wirewrap pins are socketed. Most often they are tin or nickel plated, (sometimes gold plated to prevent this very issue) and the IC pins are usually a different alloy. Look at the IC pins - are they bright silver or sort of a dull grey with darkish spots? Atmospheric oxidation and corrosion due to galvanic activity can cause a connection to become a semiconductor.

    Usually all that is required is gently lifting each IC out of its socket and re-seating it.

    1. Will Godfrey Silver badge
      Happy

      Re: Troubleshooting a prototype

      They also have a habit of slowly walking out of their sockets, so often all you need is a bit of gentle thumb pressure until you feel then shift.

      1. Zippy´s Sausage Factory

        Re: Troubleshooting a prototype

        My Commodore 128 was like that. It's probably still in my ex's garage, which means it probably died in the floods a couple of years ago.

  14. Lunatic Looking For Asylum
    Facepalm

    Aaah wire-wrappping. I used to really enjoy wire-wrapping, very therapeutic. Annoyingly, you always got one wire wrong and it was always early in the build and first on the terminal so meant you had to undo and replace several wires....

  15. J.G.Harston Silver badge

    "hints of an early incarnation of the Microdrive software, which was later removed in production."

    No, the code wasn't removed. The production ROM that went to customers was masked before the Microdrive code had been put in. This ROM is a continuation of the ROM development, putting code *in*, in the expectation that what Sinclair had been sending out was a temporary measure and would be replaced with the "real" finished version.

  16. Cynic_999

    Was done decades ago

    Surely they have just re-invented the wheel?

    In the 1980's I had a Spectrum and bought a paperback entitled "Over the spectrum". This contained a complete disassembly of the ROM code together with the entry and exit parameters of all the many subroutines in the ROM.

    Nowadays there's a well-commented online disassembly of the Spectrum ROM here

    http://primrosebank.net/computers/zxspectrum/docs/CompleteSpectrumROMDisassemblyThe.pdf

    I wrote some assembler code on the Spectrum to provide a perpetual almanac and sight reduction calculations, which was used for astro-navigation on a small yacht for a while. Eventually replaced by an HP-41C programable calculator which did the same thing without the need for a power-gobbling portable TV while also saving all parameters to use for the next day's ded. reckoning, set & drift and course to steer calculations, which the Spectrum did not do (though I could have programmed it to save to tape I suppose).

    More recently I translated the Z80 code into ARM assember, doing so on an almost a line-by-line basis (but re-writing the I/O routines to be compatible with my ARM hardware board). It worked great - though obviously way faster than the Spectrum so software timing loops had to be tweaked. As it is not a Z80 emulator it will not run any Spectrum binary code programs, but works OK with spectrum Basic programs.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon