Subject: Re: Minimal CP-M SBC design
From: Gordon JC Pearce <gordonjcp at gjcp.net>
Date: Sun, 18 May 2008 10:09:45 +0100
To: "General Discussion: On-Topic and Off-Topic Posts" <cctalk at
classiccmp.org>
On Sun, 2008-05-11 at 16:25 -0400, Allison wrote:
Bob's SBC6120 is as close or better than a
real 8e for playing with code.
That s the point too. Emulation you just cant pay with wires or add
a parallel port.
Aha, I disagree. You can't get at the innards of the 6120 at all,
because it's a chip. If you want to get at the innards of an emulator
then you can, although how accurately the emulator models the logic of
the -8 might be an issue (my emulator doesn't model it at all, but
largely does its own thing).
True, you can carry it with one hand and it does run os/8 rather than
os/278. If I want to be in the innards of a CPU I hav e a real pdp-8
and a decent scope. I've yet to see a emulator that can let me see
the r/m/w cycles of core on the scope.
But I can add ports to a SB6120.
If of course if you program a large CPLD or FPGA you can have your
software verion of the chip and you can even get at the innards with
your VHDL complier. No different from the 6120 as hardware but now you
can play in software.
Neither is wrong but if your designing a board that plug into a real
PDP-8 and is software interactive then for all cases if (software
emulation, parallel port kluge) sb6120, FPGA) our results will be
"simulation" and at best does not have the feel, or actual dynamics
of the electronic issues( termination, bus ringing, grounding and
so on).
Adding a parallel port is easy - you've got one on
your PC. Work out
what you want to talk to the parallel port, and graft on a bit of code
to do it. Dead easy.
Sorry doesn't work when you need 12 bits, or Data break and the
hardware is very code interactive.
Need more ports, or a smart-ish peripheral? Get one of
those
microcontroller boards with a USB device port and a bunch of IO lines.
The Arduino Diecimila looks pretty good for this, although having more
than one UART would be nice. The UART talks to a generic USB-to-Serial
chip (FTDI, for those interested) and you've got an assortment of
digital IO, analogue input and PWM lines to play with, and a bunch of
timers and things. It presents to the PC as a serial port, and you
program it in C. I reckon with one of them and a bit of interfacing
hardware (level shifters and latches, mainly) I could drive most PDP-8
peripherals (if I had any).
If I wanted to build a PC for the task I'd use one. The original goal
was to emulate or simulate in software the unique hardware for the
pupose of writing new code that would run on the real (z80 powered)
thing with that unique hardware.
If I want to run an abstraction and I do on occasion then many of
the sims are great for that. Most sims allow for good many of the
available "peripherals" and thats fine if your running real
hardware the same way or wishing you could.
Allison