PDP7: GRAPHICS-2 A bit more description on the hardware, and UNIX-7 usage,
additional thoughts on creating a web interface!!!
This commit is contained in:
parent
3167abeb93
commit
736bf138b9
1 changed files with 40 additions and 0 deletions
|
@ -35,6 +35,46 @@
|
||||||
realized that the axis was perpendicular to the loading dock 4 floors
|
realized that the axis was perpendicular to the loading dock 4 floors
|
||||||
below. A 90-degree turn solved the problem.
|
below. A 90-degree turn solved the problem.
|
||||||
|
|
||||||
|
GRAPHICS-2 was a command list based graphics display system,
|
||||||
|
and included a light pen, a "button box" and status bits
|
||||||
|
for a "dataphone" interface to speak to a GECOS system.
|
||||||
|
|
||||||
|
The UNIX-7 system driver only uses text display, and reserves 269
|
||||||
|
words (holding two characters each; the buffer is 273 words, but
|
||||||
|
three contain display "setup" commands, and the final word in the
|
||||||
|
buffer must be a display "TRAP" instruction that ends the display
|
||||||
|
list).
|
||||||
|
|
||||||
|
The UNIX system code triggers a refresh every 10 60Hz "ticks" of
|
||||||
|
the real time clock. This driver attempts to do detect new text
|
||||||
|
and send it to a user who has TELNETed in.
|
||||||
|
|
||||||
|
Thoughts on implementing a web interface:
|
||||||
|
|
||||||
|
538 characters redisplaying at 6Hz (every 10 "ticks") gives a
|
||||||
|
bandwith requirement of only 26Kbit, and most refreshes won't
|
||||||
|
change the screen and could be suppressed. So it seems like it
|
||||||
|
would be reasonable to create a web interface.
|
||||||
|
|
||||||
|
Make a SIMH TCP server port which implements a tiny HTTP server.
|
||||||
|
The base URL serves up a skeletal page with (lighted) buttons,
|
||||||
|
and a "display window".
|
||||||
|
|
||||||
|
And either:
|
||||||
|
|
||||||
|
1) Use "AJAX": an (invisible) <iframe> on in the HTML served by the
|
||||||
|
"base URL" keeps a never-ending connection that is sent "script"
|
||||||
|
tags to alter the "screen" (div) contents, and light push buttons.
|
||||||
|
Keypresses and buttons could be implemented using "onclick"
|
||||||
|
actions which trigger a GET (or a POST) on a URLs which
|
||||||
|
open new (temporary) HTTP connections to SIMH. The key/button
|
||||||
|
press URL could contain a session UUID which has to match
|
||||||
|
a value sent in the initial page.
|
||||||
|
|
||||||
|
2) Have the "home" page HTML establish a bi-directional WebSocket
|
||||||
|
connection to Encapsulate all the traffic (screen contents,
|
||||||
|
button lighting, key & button presses).
|
||||||
|
|
||||||
The graphics system responds as ten PDP-7 "devices";
|
The graphics system responds as ten PDP-7 "devices";
|
||||||
UNIX only uses six, and only three of the six are simulated here
|
UNIX only uses six, and only three of the six are simulated here
|
||||||
(and *JUST* enough of those to figure out the text being displayed),
|
(and *JUST* enough of those to figure out the text being displayed),
|
||||||
|
|
Loading…
Add table
Reference in a new issue