Hi guys-
Pardon me while I climb on the soapbox in defense of young
Skywalker's arguement of a Z80 microprocessor design.
I too am redoing a Z80 class system. There are some
compelling reasons to do so.
1. There are a certain range of problems that lend
themselves to the 8 bit microprocessor when memory intensive
applications do not lend themselves to a PIC, AVR
class of microcontrollers. In this range, including an
IBM class motherboard would be entirely silly. There are
single board computers available at about $500 bucks a
pop where you can load up a full blown linux system and
have at it. With a little bit of additional hardware you
can get "really tiny" linux systems starting at $110.00
that you can network a file system into and rock and roll.
BUT, again there are cases where even that is overkill.
I have a ball with the PICs, but when you have to have
a couple of K of ram, the designs get a little
ineffective.
2. The cost of the Z80 and assoicated memory is, as
mentioned, dirt cheap. You can whomp one up for about
$10.00 sans the cost of the sockets for your integrated
ICs. For that $10.00 you can get a processor, EPROM,
32K of RAM and a crystal oscillator.
3. These are through hole DIP devices. I do my own
circuit boards at home. Many of these older micros were
designed using two sided boards. Something that the
advanced hobby guy can do at home. Alternatively, one
can use one of the available PC houses that cater to
the hobby crowd and even have plated through holes. I
don't think that there are too many of use that want to
tackle a high density surface mount design without the
aid of a professional circuit board house, which can cost
hundreds of dollars. I am working on a 2 sided design for
a Z80 (wanted a 6502 but can't find them for sale any more
in any of the surplus houses, darn it).
4. These devices are SLOW. So we can have a little
leeway on the I/O designs (relatively speaking). We don't
have to have nanosecond tolerances on a 66MHz frontplane
logic. So, we can poke around with the older slower logic
and still get something working without haveing a 1GHz
scope on our bench.
5. Initialization of any "funny peripherals" is not
required, and you don't have to go through and figure out
what the silly BIOS is doing dinking around with Northbridge
and Southbridge chips, etc, etc. Got a couple of latches
and buffers? No problem. No initialization required.......
Now, I certainly would not go and try to do a floppy disk
interface. Please refer to my answer on the computer
engineering article on why that's not the best of ideas,
or reference the reply from automatic2 above.
I might suggest looking at a compact flash implementation
which seems to be a much eaiser interface. And you can
certainly find designs for them for the Z80 via google.
I did, but don't have the links handy.
As far a operating systems go, there's a whole other kettle
of fish. You know there are a whole bunch of applications
that don't need an operating system at all. And there
are several cross assemblers for the PC --> Z80 out there.
If you insist on an operating system, the two ideas that I
had but haven't followed through on.
1. Hack the CP/M driver to have buffered memory to implement
the 512 byte sectors remapped for the floppy format size.
This might include a double buffer write rather than disk
cashing (which CP/M doesn't do). These days you would
find that the IDE interface more than makes up for a
single write for the floppy. Alternatively, you could
just waste half the storage of the new device and not
look at the rest of it's sector. That too is feasable
as there is orders of magnitude more storage available
versus the 1.4 Meg or so of the floppy.
2. Research porting another operating system, like ConTiki
which seems to be very doable. Although designed primarily
for the 6502, most of the source is written in C, which
can be ported much more easily. I personnaly would look
real long and hard at that one. Fortunately, this line
of research is being sidetracked by a job right now.
My little Z80 system will have the chip, a crystal
oscillator on it, a little 74LS glue logic, an EPROM
(or EEPROM), and 32k worth of ram. No o/s, just the
appication. Again, I'm sorry to say that this line of
research has been sidetracked by me, but I'll get back
to it sometime soon.
Hope these words of encouragement helps!
Back off the soapbox.
Cheers,
Rich S.