3

(coco) #1

Homebrew computing with the C88 and C


FEATURE


omputers today are designed, by
and large, with one purpose in
mind: to abstract away the inherent
complexity of a black box filled with
billions upon billions of electronic
switches into something that you can
point at, click on, and have your social media feeds
pop up, or a game load, or your favourite tunes
blare out, and so on.
The earliest computers, by contrast, were built with
little to no abstraction: fans of vintage computing will
easily recall devices like the MITS Altair 8800, and its
multitudinous Altair-bus clones, which dominated early
‘personal’ computing. These boxy machines were
programmed by toggling physical switches on their
face plates in order to set individual bits of memory
to their zero or one (on or off, true or false) states,
introducing the program bit-by-bit and word-by-word
until there was enough in the machine’s memory to
achieve something useful.
Go back still further and the desktop Altair
becomes the room-filling Manchester Small Scale
Experimental Machine (SSEM), also known as the
Manchester Baby. Barely recognisable as a computer
to anyone used to modern machines, its 32-bit by
32-word vacuum-tube design is by modern standards
laughably limited – but served as inspiration for Daniel
Bailey, who decided to create a modern version which
would take up less room.
“I wanted to start slow, to make the simplest thing
I could, and then continue from there,” Daniel explains
of his creations, unique desktop devices dominated by
two-dimensional LED displays. “I was inspired by the
Manchester Baby. I think it was the beautiful simplicity
of it, that the entire state of the system is visible on
the ‘screen.’ I just thought ‘that makes things so much
easier, you can see exactly what’s going on.’ It’s a great
way to introduce someone to how a computer works.

C


Homebrew computing


with the C88 and C


How historical systems inspired a truly clever pair of microcomputers


By Gareth Halfacree @ghalfacree

“I thought, ‘I could do that, but I’m not going to go for
a big 32 × 32 grid straight away,’ found these little 8 × 8
LED matrix things, thought ‘yeah, I could do that, a few
switches, should be fairly easy.”
That 8 × 8 LED matrix, typically found in hobbyist
electronics kits for simple animations or scrolling text,
forms the equivalent of the wall-sized 32 × 32 matrix
of vacuum tubes that powered the Manchester Baby.
Each individual LED corresponds to an individual bit –
the smallest unit of computing, equal to a zero or a one


  • in the computer’s memory. Where the Manchester
    Baby has 32 words of 32 bits each for a total of 1,
    bits of memory – a kilobit – Daniel’s first machine, the
    C88, has just eight words of eight bits each for a total
    of just 64 bits.


TAKING THE FIRST BYTE
In modern computing, where a mid-range smartphone
family might start at a gigabyte of memory – eight billion
bits – a computer with 64 bits is a true marvel, and
doubly so for the fact it can achieve functional results.
“I made this as a hobby project, mostly just to prove
to myself that I knew how to build a computer,” Daniel
explains. “It’s the simplest possible computer that I
could come up with that can do something, well...
perhaps not useful, but meaningful.”
The heart of the C88 is a field-programmable
gate array (FPGA), a chip whose function is not set
in concrete like its mass-produced equivalent the
application-specific integrated circuit (ASIC), but with
internals that can be connected together like logical
building blocks. Using these, an FPGA can be told to
act as almost any other type of chip – including the
central processing unit (CPU) needed to drive the C88.
Programming an FPGA isn’t like programming a normal
computer: the chip itself is modified using a hardware
description language, and when you’re finished there’s
still the software to write.
Free download pdf