On a Debian machine, using simh emulating a PDP-10 running ITS:
- Write some Lisp files on ITS, compile them, and run them.
- Run MACSYMA and view rendered plots on an emulated Tektronix 4010
- https://en.wikipedia.org/wiki/PDP-10
- https://en.wikipedia.org/wiki/MIT_Computer_Science_and_Artificial_Intelligence_Laboratory#Project_MAC
- https://en.wikipedia.org/wiki/Incompatible_Timesharing_System
- https://en.wikipedia.org/wiki/Maclisp
- https://en.wikipedia.org/wiki/Macsyma
- https://github.com/PDP-10/its/blob/master/doc/new-user.md
- https://github.com/PDP-10/its/blob/master/doc/EMACS.md
- http://www.maclisp.info/pitmanual/
sudo apt-get install -y \
build-essential git expect libgtk-3-dev libpcap-dev libpcre3-dev vde2 \
ncurses-base ncurses-bin libncurses5-dev \
libsdl1.2debian libsdl1.2-dev libsdl2-2.0-0 libsdl2-dev \
telnet simh
Not all of these are stricrtly necessary, iirc; however, I was doing a lot of debugging / troubleshooting / investigating, and ended up using all of them ;-)
git clone https://github.com/PDP-10/its.git
cd its
make EMULATOR=simh
This will run for quite a while. 20 minutes? 40 minutes? Not sure; never timed it. When it's done:
./start
Once you see DSKDMP
:
its <ENTER>
<ESC> g
Note the port given (mine was 10004); you'll connect to the server via telnet using this port.
git clone https://github.com/rricharz/Tek4010
cd Tek4010
rm tek4010
make
./tek4010 -b1200 -fullv -autoClear telnet localhost 10004
At which point you will see this:
Connected to the PDP-10 simulator DZ device, line 0
<CTRL> Z
:LOGIN oubi
<CTRL> R
oubi; ..NEW. (UDIR).
:INQUIR
:EMACS
Enter text, then save with <CTRL> X <CTRL> S
(sound familiar?). Exit EMACS with <CTRL> Z
.
:LISP
(LOAD "REDUCE.LISP")
Then use the loaded function (see screenshots below).
TBD
After running on Debian, I decided to give it a try on Mac OS X. All that was required were the deps:
brew install simh expect sdl sdl_ttf sdl2 sdl2_ttf
(Note that I'd already installed developer tools for the OS).
I ran into an issue when running make, though:
make EMULATOR=simh
About 10-15 minutes into the build, and it would lock up:
...
NSHARE UNFASL
OCTAL UNFASL
OD UNFASL
OPTDEF UNFASL
PHSPRT UNFASL
PRIVOB UNFASL
PROMPT UNFA
I'll follow up on this when I have time + need to run on Mac ...
The Tektronix emulator was not a good fit for EMACS (the status line wasn't rendered at the bottom of the screen, default key-mappings weren't a good fit, etc.) I just ended up using a "retro" CRT emulator.