Well, part of my motivation for doing this is that
I'm really an
operating systems guy, so in a perfect world I'd be able to make
something I could hack around with easily. With that in mind, I'm
thinking a serial terminal interface, but also including a front panel
with toggles and lights to play with. It would be really fun to go so
crazy as to do a PDP-11 to the point where I could boot one of the old
OS's, but that may be too ambitious for me at this time (can you even
buy PDP-11 microprocessors anymore?).
Given my druthers, I'd go with a 32-bit system, but I'm not sure if
that will increase the complexity beyond my abilities. I'm competent
Making a 32 bit system is not inherently any harder than making a 16 bit
one, there are just more data bus lines to wire up, more RAM/EPROM chips,
more bufferes, etc.
It ;s worth rememberign at this point that the cirtcuit can be divided
into 'data path' and 'control' sectiosn. In this case, 'data path'
is the
data buffers nas the physical connetions to the chips, which is
relatively easy to design, but the number of connections increases with
the data width. 'Control' is when to enable those buffers, the chip
selects to the RAMs, EPROMs, etc, the DTACK/ generator, and so on. More
complesx to design, but essentially independant of data width.
with soldering and ok when it comes to breadboarding;
things could
quickly go downhill if I tried to assemble on perfboard since I've
only tried that for very small circuits. The whole process of
assembling a computer system from the chip level is new to me, so any
tips would be appreciated. My reasons for preferring 32-bit is that
the potential capabilities are much greater.
I don't want to put you off, bnt I think you might be taking on rather
more than you should to start with.
Avoid those plugblock-type solderless breadboards. You will have no end
of problems from bad connections, and maybe even stray capacitance.
Solder it up (or wire wrap it) from the start. You can build it on
stripboard (in fact I would recomend against making a PCB for an
experimental machine, since you want to be able to change things).
My recomentation is that you look at that book I suggested. And possibly
uild the machine descried there (if you can get a 68008, are they easy to
get now?). The point is, it's an 8 bit bus, with 8K of RAM, or something
like that. Easy to wire up. You know the instruction set (I beleive), so
you'll have no problems writing simple programs for it. Maybe all you'll
do is blink LEDs, detect swtich closeures, that sort of thing. But I can
assure you ity's agreat feeling when your homebuilt machine runs a
program, no matter how simple.
And from building that you'll get skils and confidence to try soemthing
bigger.
What does it take to do video (bitmapped) output, by the way? That
would be especially interesting, in my opinion.
A sup[rising amount of logic. Basically you need an area of memory that
can be accessed both by the CPU and by the video hardware. Typvially RAM
with multiplexers to switch it between the 2 devices. Then counters to
scan trhough the RAM, and also generate the video sync signals (take a
look at the 6845 chip to have some idea as to what's involved). Read
bytes out of RAM into a shift register, shift htem along to make the dot
stream, combine it with the syncs to make a composite signal and feed it
to the monitor
I guess yuo could use an FPGA to house most of the logic, but I find it's
easire to debug something like this when I can clip my 'scope or logic
analyser onto just about any point in the circuit.
-tony