[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