Saturday, 28 November 2015

The Long Version (the last post was the short version)

Elektor SC/MP Early Trainer
Some people are pathological hoarders. Some aren’t. I’m definitely not.

My wife definitely is. Our house is full of stuff that will never get used.

Sometimes things you wish you’d kept in retrospect get dumped – like my SC/MP Introkit (given away I think), or Jupiter Ace (broken tinkering). Those two on eBay would pay for a nice holiday nowadays. 

But you don’t know that at the time ; my parents said when they had me they had to sell their car, which was one of those old ones, nowadays it would be worth a shedload. 

When I was a kid I was interested in Electronics, which I came to via Meccano and the Ladybird Book “How to build a Transistor Radio” (this book is fascinating in comparing the skills children were expected to have then versus now ….). Computers weren’t really practical as something you might have, it was about as likely as owning a moon rocket or a gold mine.

I subscribed to the UK magazine “Electronics Today International” which still exists I think as ETIEEPE or something like that, having subsumed both Practical Electronics and Everyday Electronics, two similar magazines of that era. I wanted to do something with electronics as a career.

Anyway, in the mid 1970s, 1975 I think, they started a series of articles, a year’s worth I think, about these new-fangled microprocessors. It was mostly organised around the Motorola 6800 microprocessor. By the end of that article I wanted to get into computers rather than electronics.

Problem was, such were horribly expensive at the time; this is still pre Pet/Apple/Tandy, and I’m in the UK which makes it even worse.

My Grandmother’s cupboard came to the rescue. We didn’t have a vast amount of cash, but we did have a lot of odd rolls of wallpaper. When I was little I drew roads on it. (Once a geek, always a geek) Now I was a bit older. So I designed my own computer, on wallpaper.

It started off as a simple thing, just a trainer board of the sort I had seen. But then it expanded a bit.
One of the advantages of designing a machine that you aren’t planning to build is you don’t have to worry about cost very much, heck it’s another sheet of wallpaper.

So my basic trainer with toggle switches, LEDs and three buttons, gained more memory, then a RAM and ROM board (which would probably need a personal power station and an industrial freezer if you filled up the whole 64k) and an ASCII keyboard, a cassette interface, a video display,  a sort of sound board, and (my favourite) a printer whose design Clive Sinclair would probably have rejected as too cheap.

Software came too ; a monitor program and (for some reason) PILOT. PILOT was a text based Computer Aided Instruction package that has died out.  I have absolutely no idea why I wrote this. I think it might have been an article in ETI.

I also remember (as an aside) when I had a Commodore PET later on, adding a PILOT interpreter to PET BASIC through a hack of the USR() command, and it was published either in Personal Computer World or Practical Computing, two UK magazines of the time.

Likewise, the design uses not the 6800 as you might think, it uses Nat Semis SC/MP chip (as used in the MK14). I’m not even sure if the chips are electrically compatible.  Though a consequence of those articles is the prevalence of the 6810 (128x8 RAM chip) and 6830 (1k x 8) ROM chip.

The choice of National Semiconductors SC/MP as much of a mystery as the choice of PILOT as a programming language. I suspect it was another article.

Nat Semi's SC/MP Introkit.
(Same design as MK14)
Eventually I got a real computer, the SC/MP Introkit (it is basically the same as Sinclair’s MK14)  machine which my parents somehow found the money for, and it was built by an engineer friend of my fathers. A sort of wirewrapped kludge of a TTY board in a wooden box. 

But I thought it was wonderful, and the old design, well, why bother with that when you have a real computer with a whole 256 bytes of RAM memory. I don’t think I ever filled that 256 bytes up. Partly because there was no cassette storage or battery backed up SRAM, so power off, or crash the program, start again. 

You dreamt TERM/MEM/TERM during the early hours. You’d have to have used this or an MK14 to appreciate that sequence.

So into the distant memory box the design went, and I thought that was it. Except it wasn’t. My parents put it in a cupboard and left it for … well, ages. And then I got it back.

Not complete though. I have the main design, the video design, the cassette design, the keyboard design (well…. ), the memory board, the printer design (ahem), and a page or two of software. But enough.

The remarkable thing is it’s not total rubbish. The cassette tape interface isn’t brilliant. The PAL timing on the video board is to pot, though the basic idea is right – counters drive a RAM chip drive a Character ROM and it looks like at first view I forgot about the Front Porch and Vertical Positioning. The printer would sort of work, it would just be impossible to make it work consistently because of timing issues. I didn’t know what a stepper motor was at 14 L

The software would be comically buggy – it’s all hand written assembler on wallpaper – but it’s not ridiculous. But I’m quite impressed with the teenage me, I mean does anyone understand PAL timing at 14 ? (Or 54 for that matter !). The basic idea is right.

Star Trek - the BASIC game
Has anyone of a certain age not played this ?
So, Retrochallenge 2016 is going to be to actually document and "build" the thing, as a software emulator running under both Windows and as a ‘quasi-replica’ running on an Arduino board. 

(Though I did build one part of it the Audio board, for reasons which will become apparent),

This won't take very long, so then I'll write some software for it. Which will include, at least, a monitor, and some sort of more useable HLL. 

Then I’m going to get Star Trek to run on it, an example of which you can see if you’ve never played text based Star Trek.

It never had a name, or at least there’s not one on the sheets, and I can’t remember calling it anything, so it’s now “Wallpaper One”.

Hence the blog title.

Introduction to my Retrochallenge 2016

Nice subtle 70s cover (cheap trick indeed)
When I was about 14, I had been reading the magazine “Electronics Today International” for 2 or 3 years. They started a series which was an introduction to the Microprocessor based around the Motorola 6800, which went on for about a year. By the end, I wanted to work in Computers rather than Electronics.

As we couldn’t afford to buy a computer, I designed my own on Wallpaper that my Grandmother had left over and wrote some software for it. Some of that wallpaper turned up in a clearout a few months back ; enough to figure the system out (almost all circuit diagrams).

My Retrochallenge for January 2016 is to recreate it to a reasonable degree of accuracy, and write a monitor and simple high level language for it, and get Star Trek running on it.

* I think not being able to understand PAL timing at 14 is not unreasonable …..