[Simh] Blinkenlights for everybody (not only for PDP-11)

Gooijen H GOOI at oce.nl
Wed Apr 28 11:11:38 EDT 2004


  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!

I have on 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 the site http://www.pdp-11.nl/  and click
on the link  "homebrew PDP-11" in the left pane.  The latest software
version is also 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!
     A fifth usage is actually: anything!  Some examples are:
Use one output port or, say 6 bits, to drive an analogue meter via an
R/2R network (simple DAC). Same on the input side: connect a potentio
meter via a DAC.  Substitute defective logic! Interface a peripheral,
for example  an IDE disk drive  to input/output ports and  access the
drive under program control (no DMA).
Or anything you wanted to give simple intelligence !!!!


** 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 eight 8-bit outputs and eight 8-bit inputs.
The combi-board is a little  cheaper, but the two-PCB  design offers
expandability if you need more outputs/inputs. You can connect up to
eight I/O Boards to the Core Board!  So, there is almost no limit to
drive a  large console,  for example the  PDP-8i (over 80 lamps), or
the IBM S3 .... BTW, 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 or in this list.
This message was also sent to "cctalk" last week.

  regards,
- Henk, PA8PDP.
  e-mail: gooi at oce.nl



More information about the Simh mailing list