Hello all!
I have been busy interfacing the "real console" to SIMH last week.
During last week Vince has drawn some Printed Circuit Boards (PCBs).
Vince and I had frequent e-mail contact working through the designs.
Basically, this e-mail is an inquiry to which extend people would
like to embark on this project.
So, let me know if you would like to participate in this project!!
But before you put the $$ on the table I will try to explain in more
detail what the status of my project is and what use it can have ...
In this e-mail I address the following topics:
1. Some ideas where this project can be used.
2. A small description of the hardware.
3. An introduction to the firmware.
4. The interfacing to SIMH, state of affairs.
5. An estimate on the building costs.
6. What the project participants can expect.
Allthough my primary design goal was a "blinkenlight" console based
on the PDP-11 and a PC running SIMH, the hardware is multi-functional
with the large amount of digital inputs and outputs. You can think of
several other applications to control with this harware, for example
a robot arm with some stepper motors ... just use your imagination!
During this weekend I will update my website with a few .mpg files to
show you a console in operation with SIMH, and a few samples of the
console running in stand-alone mode. So, check next Monday the site
http://www.pdp-11.nl/ and click on the link "homebrew PDP-11" in the
left pane. The latest software version will also be downloadable.
** 1 ** Ideas for use.
First, let me say that I do NOT support the idea of trashing a nicely
working real PDP-11 computer to get a console!
If you have a real PDP-11 console, this project will allow you
to use the computer that runs SIMH (PC) to be controlled with the
PDP-11 console as the real thing!
This hardware is an other option for people that do not have a
real PDP-11 with blinkenlight console or do not have the space for
such a big (UNIBUS) machine.
A third option for usage of this hardware is for people that
*have* a real PDP-11, but running that system is noticed on the
electrical bill! One could build a PC inside the real PDP-11, and
disconnect the flat cables from the real console and connect them to
this hardware. Running the PC/SIMH with the real console looks like
the REAL THING but without the big energy consumption. Of course, the
real disks and other peripherals are all "inside" the PC ... This
setup might be a solution for a museum. The system is exhibited in
a running state, and the changes made can simply be reverted to the
original state.
The fourth usage is for other computers that have a blinkenlight
console, and are emulated by SIMH. The PDP-11 file in SIMH shows how
to interface your favorite machine. You can run your favorite vintage
computer in SIMH with that sexy switches and light console!
** 2 ** The hardware.
We have two different design approaches.
The first is called the "combi-board". The combi-board is a single
PCB which contains the CPU etc. and *eight* 8-bit output ports and
*six* 8-bit input ports. This in/out configuration can support the
largest PDP-11 console, viz. PDP-11/70 full console!
The second design consists of *two* PCBs, one is called the Core
Board, the other the I/O Board. The Core board holds the CPU, etc.
and the I/O Board offers also 8 8-bit output and 6 8-bit input.
The combi-board is a little cheaper, but the two-PCB design offers
expandability if you need more outputs/inputs.
(who said this hardware design is for console interfacing only ?!)
The design efforts of Vince and I are focussed on the 2 PCB version.
Note.
If you checked my website and had a look at the schematic diagrams,
I must tell you that there are a few minor changes. For example, the
expensive Dallas RS-232 converter chip is replaced by the cheaper
MAXIM MAX232A chip. Further the 8kbytes firmware EPROM 2764 was full
up till the last 500 bytes, so there was little room for any future
development. The address decoder LS138 is substituted by one 74LS139
thus enabling the change from the 2764 to one 27128 16 kbytes EPROM.
That also eliminates the need for an optional 2nd 2764 EPROM socket,
which saves space on the PCB.
** 3 ** The firmware.
The firmware contains in approx. 8 kbytes a simple debugging monitor
and the console software. Which software (monitor or console) starts
is determined by a push-button at reset. Both talk to a terminal via
the RS-232 port at 9600 Bd. In the console mode, the RS-232 connects
to the interface software added to SIMH to control the console from
SIMH.
It is completely free to which input port and bit(s) you connect the
switches and the (momentary) toggles. Via the firmware you 'learn'
the console where the switches/toggles are connected. The firmware
handles the appropriate way of processing toggles and debouncing.
** 4 ** Interfacing to SIMH.
I added two extra files (one .c and .h), and made simple changes and
additions to the files scp.c and pdp11_cpu.c of the SIMH software.
Current state of affairs: ADDRESS and DATA LEDs are functional, also
the USER, VIRTUAL, CONS, and RUN LEDs. I have not yet spend time to
find a way to implement the control from SIMH for the BUS & PROC LED.
The toggles LOAD ADRS, EXAM, CONT, START, and DEP work as you would
expect on a real PDP-11/40 (aka PDP-11/35 OEM version).
The ENAB/HALT switch is operational too, HALTs the emulated software
when it runs, and changes CONT and START to STEP and RESET while in
the halted state, the switch in the position HALT.
While STEPping the software the ADDRESS & DATA LEDs are correctly
updated after every single instruction execution.
** 5 ** The costs of the project.
First, I need to know how many people would like to participate in
this project. The more people join, the cheaper the production costs
of professionally made PCBs become.
The (single) combi-board will be somewhere around $40 to $50, and the
two PCB design (Core and I/O) will be slightly more expensive, the 2
boards will cost approx $10 more than the combi-board. This solution
provides expandability for hobbyists, or use in other projects.
The required components to populate the PCB(s) can be seen in the
diagrams on my website. You can make an approximate calculation what
these components cost. Probably prices are lower in the USA compared
to The Netherlands where I live ...
** 6 ** What will you get if you join the project?
I will write a clear, well documented manual that describes the PCBs,
the protocol, and a step-by-step DIY building the PCB(s) with clear
*full color* pictures.
The firmware and the modified SIMH files can be downloaded from my
website. However, I will offer a pre-programmed 27128 for just the
cost of the IC (here in The Netherlands). You can also snail-mail me
an *empty* 27128, and I will program that one for you, but I doubt if
that option would be cheaper ...
REMARK.
If you would like to participate in this project, but are not sure to
successfully solder the PCB(s), I will offer a (payed) service that
delivers a working/tested PCB (or two PCBs).
The modifications required in SIMH are done for version 3.2.0. The
first work was done on version 2.4.0, and I found a few changes were
needed, as scp.c was changed. However, when a new version of SIMH is
available I will put the required changes on my website within, say
two weeks. So, unless SIMH changes drastically, continuity will be
guaranteed on short notice, else I will need a little more time!
If you join the project for the hardware, but do not intend to use
it for a console, but in some other project, you can ask me questions
too. I will give answers to the best I can as long as they involve
the design, or the software. I have good knowledge of MC6802 assembly
programming.
Please feel free to write an e-mail to me if you have any questions!
I will try to answer all questions in private e-mail, next week.
If the question is general I will post a follow-up in this thread.
regards,
- Henk, PA8PDP.