KA10: LDS-1
I'm vaguely interested in making a simulation of the Evans & Sutherland LDS-1 display system. You can assign this to me, but it's a long-term project.
There are some short programming examples in the manuals on bitsavers:
http://bitsavers.org/pdf/evansAndSutherland/lds-1/
There is a Fortran program, but the LDS-1 library is missing:
https://github.com/aaron-marcus/cybernetic-landscapes
The PDP-10 MAZE server has a few lines involving the LDS-1.
There was a flight simulator with an aircraft carrier. There was a version of Spacewar.
I have now found some bits and pieces of LDS-1 software from the MIT PDP-10s, mainly Dynamic Modeling.
- "Map test"
- DRAW, paint program.
- MUDGRF, Muddle graphics library with support for the LDS-1.
https://github.com/PDP-10/its/issues?q=label%3A%22e%26s+lds-1%22
I'm tempted to start playing with this.
The hardware connects to both the I/O bus and the memory bus. Do we have any strong arguments to do this a particular way:
- Built into SIMH.
- External program with AUXCPU-like interface.
- New interface with shared memory.
CC @aap
I would probably build this into simH, I already have a couple devices that talk to both I/O bus and Memory. Also the III display uses I/O to start of processing, but takes it's list from memory.
Having found what I believe to be the DM ITS "Maze Watcher" for the E&S display, I have started the emulator. Here's a first session with one of the sample programs, and a rather stubbed out display emlation. This looks reasonable.
DBG(322266172)> ES CONO: 000000515330 PC=173743
DBG(1205613531)> ES CONO: 000000005010 PC=065540
DBG(1205614242)> ES CONO: 000000515330 PC=065573
DBG(1205614249)> ES CONO: 000000515330 PC=065575
DBG(1205614274)> ES CONI: 000000000000 PC=065605
DBG(1205617340)> same as above (511 times)
DBG(1205617350)> ES DATAIO: DATAO 000501052405 PC=065605
DBG(1205617360)> ES DATAIO: DATAO 300541163032 PC=065605
DBG(1205617370)> ES DATAIO: DATAO 300441163033 PC=065605
DBG(1205617380)> ES DATAIO: DATAO 302641163034 PC=065605
DBG(1205617390)> ES DATAIO: DATAO 302701163035 PC=065605
DBG(1205617400)> ES DATAIO: DATAO 000100000000 PC=065604
DBG(1205617403)> ES CONI: 000000000000 PC=065605
DBG(1205617415)> ES CONI: 000000000000 PC=065611
DBG(1205617423)> ES CONO: 000000000400 PC=065614
DBG(1205617426)> ES CONO: 000000222016 PC=065615
@rcornwell, possible future use case: If I want to run an LDS-1 emulator on a separate computer/microcontroller, how would you suggest I attach it to the KA10 emulator? The LDS-1 will both read and write to main memory, and there is an I/O bus connection as well.