Re: homebrew computer - where to start?




Charles Jean (alchemcj@xxxxxxxxxxxxx) writes:

> If you can stand starting at the microprocessor level, try getting
> your hands on "Build Your Own Z80 Computer" by Steve Ciarcia, BYTE
> Books, McGraw-Hill, circa 1981, ISBN 0-07-010962-1.
>
> Sounds like it might be just what your 'e looking for.
> Cheers!
> Charlie

I've never looked closely at the book, but my impression was that it
was to build a working system, circa whatever year it came out.

No matter how fancy a system was back then, it's going to be nothing
compared to what you can find in the garbage today. Thus I think
there's little reason to build a computer to that extent.

I think there's still plenty of reason to have something on the level
of the KIM-1, ie a calculator style keyboard and readout, a good monitor
that can single step etc, a cassette interface to save programs, and
some sort of general purpose I/O so you can play with things. There
were plenty of such single board computers back then, I use the KIM-1
as an example because I had one as my first computer.

But the single stepping meant you could run programs and see what
happened at every step. You could even just put in a line of code,
and check that out, really useful to getting a real feel for
what the op-codes were supposed to do. Since there was so little
in there, you didn't need to learn a whole lot of GUI stuff before
you tried out your simple program to add some numbers. The monitor
did have what you needed.

The general I/O meant that you could play with real things, like
hook some LEDs onto it and learn how to control them. Or have
inputs from something, to control the program.

These computers are of such a simple level that they are easy to build,
and you will get ample use of it (as opposed to trying to build a full
blown S-100 bus computer from 1976, which would have real limitations
today if you wanted to run applications). In some ways, it's even easier,
because whereas the KIM-1 needed 8 ICs to get 1K of memory, you can
scrounge up a static RAM that fills the address space that will draw
less current and require much less wiring. If you can live with
hooking it up to a terminal (ie your home computer running a terminal
emulator), then you can toss the readout and keyboard. Many of
those old boards allowed for hooking up a terminal to an RS-232 port,
though many of us didn't since the terminal cost more than the computer.
Likewise, one could use the home computer to store the programs, which
beats out a cassette interface in terms of speed and reliability.

ONe great project from the era was in Byte, though I can't remember the
year, or even a general idea. 1978 and 1980 somehow come to mind. Someone
wrote an article about bootstrapping an 8085. Jam a NOP onto the data
bus, so the processor advances the address bus while doing nothing. By
single stepping, this means you can load the RAM without any bootstrap
ROM. The input mechanism was a piece of circuit board that he'd carved
up with a hacksaw to make pads, and a "stylus" to connect a wire to
the needed pad. Some LEDs on the data bus. Not much else. Build
up the simple hardware, he just used wire to do it if I recall, and
you can start playing right away. None of that fussing with a bootstrap
ROM, but something you can infinitely play with it. Get some coding in,
and then add that monitor ROM. Or dig up the listing from an old single
board computer, and use that.

SOme years later, Byte put out a book about the 68000, and it had
an article (which I think had never run in Byte because I never
saw it elsewhere) using similar techniques to bootstrap the 68000.

Michael

.