Teaching kids about computers...

Gordon JC Pearce gordonjcp at gjcp.net
Thu Nov 22 06:39:29 CST 2007


On Thursday 22 November 2007 00:28:24 Tony Duell wrote:

> The problem is that there are few good books on computer operation (and
> plenty of very bbad ones). I learnt a lot from the Philips P850 CPU
> techncial manual, and more from the PDP8/e and PDP11/45 manuals and
> printsets. But trying to understand those is really starting at the deep
> end.

I think my "lightbulb moment" was with the SC/MP processor, really.  Among a 
pile of junk that my Dad had salvaged from stuff getting binned at work was a 
manual for a Sinclair MK14.  I never saw the board, but I still have the 
manual.

Now, this looked like an interesting little project, so I set out to find as 
much as I could about it.  The answer turned out to be "not much" - this was 
well before the Internet was such a pervasive thing.  A few scattered 
articles in old copies of Wireless World, and the manual.  And that was about 
it.

I had a very old (mentions drums and discrete transistor logic, and how modern 
integrated circuit techniques will soon be able to pack as many as 10 or 20 
gates into a package no larger than a shilling), which mentioned the concept 
of a function decoder mesh.  Hmm, I thought.  Ok, so there must be a pattern.  
Now I knew from reading the Z80 opcodes in the back of my ZX Spectrum manual 
that there was a clear pattern - these bits meant "select a register", and so 
on.  So I thought to myself, right, if I make a table of the opcodes in 
binary, there's only 256 of them at most, so it shouldn't take long, and then 
I might see the pattern.

So then I sat down for an evening of quietish contemplation with the new PWEI 
album (Now for a Feast) and a glass or two of wine and a big fat A4 pad and 
some graph paper "appropriated" from the Maths classroom, and got to work.  
Before long I'd written out all the opcodes, worked out the binary patterns, 
and started to group them together.  Aha!  Now we're getting somewhere, I can 
see how *that* bit controls what the ALU is doing, *that* bit says whether 
it's a jump or an ALU instruction, and so on.  Thus was Friday night spent, 
and I still have those random jottings and carefully-drawn tables.

Saturday dawned wet and windy, so a nice day for staying inside.  By teatime, 
I had a slow-but-workable SC/MP emulator, written in Turbo Pascal on an 
Amstrad PCW8256.  Sunday was spent writing stuff to deal with the I/O 
(terribly slow).  Then I lost interest in it, and found a greater interest in 
the girl sitting two desks over in my English class, as is often the way with 
teenagers.  Heigh-ho.

I still have it kicking around on 3" disks.  I must dig the Amstrad out of the 
attic some time and see if they still work.

Gordon



More information about the cctalk mailing list