[Simh] Blinkenlight Real Console (not only for PDP-11) -- DIY kit

Gooijen H GOOI at oce.nl
Tue Jul 6 03:06:00 EDT 2004


  Hello all!

I have posted a message  to bring this project to your attention many
weeks ago, but the  progress state is such that we are about to place
an order  for the boards and  all the components to  build a complete
kit.  If you did not see that email, you might be asking what is this
project?  If you saw a previous email  about this project and are not
interested,  my apologies to  waste the bandwidth.  This  will be the
last time I "advertise" for it.  This email  contains all the updates
implemented as we went on, so it  might be interesting reading stuff!
If you are interested in PDP-8, read the last paragraph of section 1!

In this email 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.


Introduction
------------
Although  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 hardware, for example
a robot arm with some stepper motors ... just use your imagination!
On my website are 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.  Goto http://www.pdp-11.nl/  and click on the "homebrew PDP-11"
link in the left pane.



** 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!
     You can use one output port or, say 6 bits, to drive an analogue
meter via an R/2R network (simple DAC). Same goes on the input side :
you can connect a potentiometer via a DAC.
     Interface a  peripheral.  One person  was thinking of connecting
an IDE drive to in/out ports and access it under program control.
     I found on the  Internet the file "tcj_sub.zip".  Google is your
best friend.  The zip file contains the 6809 source code to emulate a
PDP-8/e, search in the zip file for "Pdp8e.asm". The code is "dirty",
as it must be put in RAM;  it uses self-modifying code!  I am working
on the source code to  make it work on the Core Board ... and the I/O
Board, of course ---> the 2 boards will effectively be your PDP-8/e!!
Note that this  PDP-8/e simulation is not available (yet), but I will
get it working!



** 2 **  The hardware.

The 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 output (64 lines), and eight 8-bit inputs
(64 lines). If you checked my website and had a look at the schematic
diagrams, I must tell you that there are a few major changes. The CPU
is the Motorola 6809, and the Core Board  has sockets for 16kb EPROM,
8 kb RAM and one socket for an extra (optional) 32 kb EPROM or RAM.
The 6809 is well suited for  high level language programming, like C.
One Core Board  can control up to six (theoretical limit up to 8) I/O
Boards. The I/O Boards are all simply connected to the same flatcable
from the Core Board.  The practical load limit is based on the number
of octal latches that you can connect to the buffer IC 74LS245 in the
datapath to the I/O Boards.  So, there is  almost no limit to drive a
large console, for example the PDP-8i (over 80 lamps), the IBM S3 ...
The proto-type Core and I/O Board were made by Olimex. They have been
build and tested.  Next week we will order the "production run" by an
American company. The boards will have professional quality, a solder
mask and a silk-screen. See the *prototype* Core Board on my website,
the URL is:
 http://www.pdp-11.nl/homebrew/newdesign/core-fullsize.jpg

Note that the file is 419 kb, the picture is 1576 x 1116 pixels.  The
real dimensions of the Core board are 127 x 90 mm.



** 3 **  The firmware.

The firmware contains a debug monitor (including a 6809 disassembler)
and the console software. W hich 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.
To prove the functionality  I used the console to  load the bootstrap
of the RL02 drive to start RT11 from an "attached" RL02 .dsk file.
I did not use the "boot" command of SIMH to succesfully start RT11!



** 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 two PCB's (Core and I/O Board) will cost approximately $35, and a
kit which contains *all* components (including a fully configured 8+8
I/O Board) will come at approximately $80.
The  shipping cost  will be a few bucks, so I think it is safe to say
the boards *plus* all components will very probably be below $90.
Payment.
Vince Slyngstad  will order all the parts.  It would be  stupid to do
that from  The  Netherlands, get the parts here, and then ship almost
everything back to the USA!  Payment can be done in many ways for all
US-resident  people.  Internationally,  I guess  PayPal is  not a bad
choice, but if you use  Paypal you must add  +4 % to the total amount
to cover the  Paypal fees.  Vince  has agreed  to pay the total order
in advance (!thanks Vince!) so you will hear  within a few weeks what
the exact figures are.



** 6 **  What will you get if you join the project?

A clear, well documented manual that describes all relevant information
such as the partslists, assembly and configuration of the boards, brief
and detailed description of  both the  Core and I/O Board, the firmware
and  an  example of the  implementation of the  PDP-11/40 console using
SIMH to control the Real Console is almost finished. It is currently 39
pages.  You can download this (almost finished) preliminary  version of
the documentation as a .PDF file from the following URL:

 http://home.hetnet.nl/~tshaj/real-console-02jul04.pdf

The firmware and the modified SIMH files can be downloaded from  my web
site. However, the kit will contain a pre-programmed 27256 for just the
cost of the chip.
If you  would like to  participate in this project, but are not sure to
successfully solder the PCB(s), I offer a payed service that delivers a
working/tested pair of PCB's.
The modifications required in SIMH are done for version 3.2.0. However,
when a new version of SIMH is available I will put the required changes
on  my website within, say two weeks. If SIMH changes much, I will need
a little more time, but continuity will be guaranteed on short notice!
If you like to 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 too.
I will try to  give answers to the best I can as long as they are about
the design, or the software.  I have good knowledge of  MC6809 assembly
programming.

Please feel free to write an email to me if you have any questions!
I will try to answer all questions in private e-mail.

Thanks for your patience and the interest in this project!

  kind regards,

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



More information about the Simh mailing list