PDP-1 spacewar

I got it to work on the PDP-10. But this is the one I really wanted to see. The original 1962 video game on the PDP-1 at MIT. The PDP-10 version is cool but not the original, with “the needle” and “the wedge”. It certainly was one of the first video games. It was out 10 years before Pong in 1972, an the Magnavox Odyssey the first consumer video game. I had one, only because I had wonderful parents… not the very first model, but not long after.

I tried to get spacewar to run under an emulated PDP-1 in simh… and I did. But it was so slow that it was unplayable. You basically boot from paper tape, which is a spacewar.rim file. I think I got it here.

I also tried and failed, to get it to run under mame. It took some trial an error to figure out how it expected the directory to be, but I finally came to the conclusion that I needed to put a zip file… containing spacewar.zip (containing spacewar.rim) into /usr/share/games/mame/roms/pdp1_ptp/. Because when I did that it complained about the length of spacewar.rim, so I knew it found it. Where previously before I created the pdp1_ptp subdirectory (I got this info from /usr/share/games/mame/hash/pdp1_ptp.xml) and put the zip file into it, it just said it couldn’t find it.

Actually the only one that would work flawlessly was the javascript one that ran in a browser., that I talk about here.

It seems odd that the best PDP-1 version is a javascript one.

I made a couple videos concerning ITS

Right now they’re just for me although they could be used to create an ITS howto. The first one is startup, login, create directory, create file in that directory and shutdown. The second video was to show the playing of spcwar (Space War). But I also added some basic programming info. I do think I’ll do a quick edit of the first video to compress the exciting 5 minute shutdown.

Controlling the ship in spcwar on the PDP-10

SpaceWar is actually my primary interest in the ITS on the PDP-10. I talk more about it here. I don’t have much interest in doing actual work on this obscure OS.

I asked the PiDP-10 google group, if anyone knew how to play spacwar running in ITS. And Lars Brinkhoff replied “To play Spacewar, you need to plug in USB game controllers. The now-regular PlayStation type.”

So I dug out my old Logitech WingMan Precision Gamepad, and it seems to work fine!

Directional pad:
Left - Left
Right - Right
Top - thrust
Bottom -?

Buttons
A - Fire
B - Hyperspace
X - Start
Y - ?

Running spcwar on ITS

Lars Brinkhoff
2:35 AM (5 hours ago) 
to PiDP-10

Forgot to say, you can adjust the number of stars and players.  Type ^Z to stop the game, $^K to load symbols and then NSUNS/x or NSHIPS/x to adjust parameters.  X is a number, 1-3 for stars, 1-4 for players.  Restart with $P.

My computer started beeping

I actually fell asleep at the keyboard, and was awakened by beeping. Went to all my virtual desktops and didn’t see anything running. I closed my browser because I wondered if it might be coming from one of the tabs. That didn’t help. I almost re-booted. Decided to look at running processes and saw gnome-clocks. Killed the process and it stopped. Looked at ‘clocks’ app and there was an alarm for 10:15PM. So as a test, I set an alarm for one min past now. Sure enough it started making the same repeating beeping noise. So I set it again and closed the app. Sure enough is started beeping. That’s cool and useful, but I always assumed the app needed to be opened. I know that wouldn’t be nearly as useful, but that’s what I thought. I have other apps that need to run but if I close them thy just go to the system tray where you can see them, so you realize they’re actually still running. But gnome-clocks doesn’t do that so I assumed, it’s not running if you close it. I also realized (now in hindsight) I could have stopped it by responding to a notification in the system tray at the bottom. But I don’t remember setting an alarm. I could have also given it a name like “Go to bed”. But surely I would have remembered doing that. The only logical explanation is I had set it in the past then earlier when I used the “Timer”, which I often do for a short reminder and somehow I turned on the “Alarm”. I use the “Timer” for a quick reminder, for example, to let my dog back in, in 10 minutes. Because I can easily get lost in what I’m doing. I only use the “Timer” for short reminders where I’ll be sitting at my computer, because it’s just one quick tone, and if I walked away, I could easily miss it. Where as the alarm repeats constantly.

ITS – directory

:cwd games
*
:lf
KA:GAMES;
  2   ADV3DB 1       11 +202    5/9/2018 03:05:12 (4/4/2024) -??-
  3   ADV3SB 2        3 +908    5/9/2018 03:05:12 (4/4/2024) -??-
  0   ADV3SB REL      4 +471    4/4/2024 12:14:06 (4/4/2024) -??-
  2   ADV3SR 1       12 +647    5/9/2018 03:05:12 (4/4/2024) -??-
  3   ADV3SR REL      8 +885    4/4/2024 12:14:05 (4/4/2024) -??-
  3   ADV4MA 3       17 +390    5/9/2018 03:05:12 (4/4/2024) -??-
  2   ADV4MA REL     10 +769    4/4/2024 12:14:15 (4/4/2024) -??-
  1   ADV4SU 16       6 +868    5/9/2018 03:05:12 (4/4/2024) -??-
  3   ADV4SU REL      5 +246    4/4/2024 12:14:17 (4/4/2024) -??-
  0   ADVENT DAT      3 +960    5/9/2018 03:05:12 (4/4/2024) -??-
  2   ADVENT DRW     15 +434    5/9/2018 03:05:12 (4/4/2024) -??-
  1   ADVENT F4       2 +700    5/9/2018 03:05:12 (4/4/2024) -??-
  1   ADVENT REL      3 +892    4/4/2024 12:13:57 (4/4/2024) -??-
  0   ANIMAL (INIT)   0 +889    5/9/2018 03:05:12 (4/4/2024) -??-
  0   ANIMAL 133     12 +453    5/9/2018 03:05:12 (4/4/2024) -??-
  3   ANIMAL BARE     0   +7    5/9/2018 03:05:12 (4/4/2024) -??-
  2   ANIMAL BUGS    28 +556    5/9/2018 03:05:12 (4/4/2024) -??-
  2   ANIMAL FASL    23 +530    4/4/2024 12:42:38 (4/4/2024) -??-
  3   ANIMAL INFO     0 +197    5/9/2018 03:05:12 (4/4/2024) -??-
  3   ANIMAL NEWS     0  +90    5/9/2018 03:05:12 (4/4/2024) -??-
  1   ANIMAL ONEWS    0 +440    5/9/2018 03:05:12 (4/4/2024) -??-
  3   ANIMAL ORIGIN   0 +568    5/9/2018 03:05:12 (4/4/2024) -??-
  3   ANIMAL RULES    0 +140    5/9/2018 03:05:12 (4/4/2024) -??-
  0   ANIMAL SAVE    14 +528    5/9/2018 03:05:12 (4/4/2024) -??-
  3   ANIMAL UNFASL   3 +923    4/4/2024 12:42:38 (4/4/2024) -??-
  0   BREATH 1        0 +176    5/9/2018 03:05:12 (4/4/2024) -??-
  0   CHASE  (INIT)   0  +15    5/9/2018 03:05:12 (4/4/2024) -??-
  3   CHASE  79       2 +554    5/9/2018 03:05:12 (4/4/2024) -??-
  1   CHASE  FASL     2 +557    4/4/2024 12:42:56 (4/4/2024) -??-
  1   CHASE  INFO     1  +96    5/9/2018 03:05:12 (4/4/2024) -??-
  2   CHASE  UNFASL   0 +248    4/4/2024 12:42:56 (4/4/2024) -??-
  0   DOC    (INIT)   8 +531    5/9/2018 03:05:12 (4/4/2024) -??-
  3   DOC    102      8 +591    5/9/2018 03:05:12 (4/4/2024) -??-
  0   ELIZA  (INIT)   0  +15    5/9/2018 03:05:12 (4/4/2024) -??-
  2   ELIZA  FASL     5 +669    9/5/1977 12:43:18 (4/4/2024) -??-
  1   FT01   DAT     18 +487    5/9/2018 03:05:12 (4/4/2024) -??-
  2   GO     (INIT)   0  +99    5/9/2018 03:05:12 (4/4/2024) -??-
  0   GO     INFO     0 +600    2/2/1978 22:01:29 (4/4/2024) -??-
  3   GO1    FASL     3 +702    2/5/1978 02:30:08 (4/4/2024) -??-
  0   GO2    FASL     6 +176    2/5/1978 02:31:20 (4/4/2024) -??-
  1   GOBRD  FASL     2  +79    2/25/1978 16:19:40 (4/4/2024) -??-
  1   GUESS  21       0 +519    5/9/2018 03:05:12 (4/4/2024) -??-
  0   ITSTER (INIT)   0  +14    5/9/2018 03:05:12 (4/4/2024) -??-
  1   ITSTER FASL     2 +534    4/4/2024 12:43:04 (4/4/2024) -??-
  3   ITSTER SCORES   0   +1    5/20/2018 08:49:09 (4/4/2024) -??-
  2   ITSTER UNFASL   0 +393    4/4/2024 12:43:04 (4/4/2024) -??-
  3   JOTTO  101      3 +479    5/9/2018 03:05:12 (4/4/2024) -??-
  0   JOTTO  BIN      1 +674    4/4/2024 12:14:51 (4/4/2024) -??-
  2   JOTTO  DICT     9 +739    5/9/2018 03:05:12 (4/4/2024) -??-
  1   LSRRTN INSERT   0 +870    5/9/2018 03:05:12 (4/4/2024) -??-
  1   PARSE  20       1 +280    5/9/2018 03:05:12 (4/4/2024) -??-
  2   PARSE  FASL     0 +729    4/4/2024 12:42:33 (4/4/2024) -??-
  3   PARSE  UNFASL   0 +202    4/4/2024 12:42:33 (4/4/2024) -??-
  0   PATTRN 7        1 +980    5/9/2018 03:05:12 (4/4/2024) -??-
  0   PATTRN FASL     0 +837    4/4/2024 12:42:34 (4/4/2024) -??-
  1   PATTRN UNFASL   0 +134    4/4/2024 12:42:34 (4/4/2024) -??-
  1   QB     (INIT)   0  +24    5/9/2018 03:05:12 (4/4/2024) -??-
  3   QB     FASL     2 +248    9/5/1977 15:20:18 (4/4/2024) -??-
  1   SPROUT RULES    3 +546    5/9/2018 03:05:12 (4/4/2024) -??-
  0   STONE  (INIT)   0  +30    5/9/2018 03:05:12 (4/4/2024) -??-
  2   STONE  FASL     4 +587    12/3/1977 22:42:58 (4/4/2024) -??-
  1   THINK  (INIT)   0  +29    5/9/2018 03:05:12 (4/4/2024) -??-
  2   THINK  2        2 +718    5/9/2018 03:05:12 (4/4/2024) -??-
  1   THINK  FASL     2 +891    4/4/2024 12:42:49 (4/4/2024) -??-
  2   THINK  UNFASL   0 +434    4/4/2024 12:42:49 (4/4/2024) -??-
  2   TREK   2        9 +738    5/9/2018 03:05:12 (4/4/2024) -??-
  1   TREK   REL     13 +183    4/4/2024 12:14:26 (4/4/2024) -??-
  1   TS     ADV350  32   +8    4/4/2024 12:14:12 (4/4/2024) -??-
  0   TS     ADV448  39   +8    4/4/2024 12:14:23 (4/4/2024) -??-
  0   TS     ANIMAL  90   +8    4/4/2024 12:42:45 (4/4/2024) -??-
  1   TS     BKG     28 +434    9/5/1979 02:40:10 (4/4/2024) -??-
  2   TS     C       45 +780    4/4/2024 12:14:40 (4/4/2024) -??-
  0   TS     CHESS    3 +397    4/4/2024 12:14:34 (4/4/2024) -??-
  3   TS     CHESS2   9  +73    4/4/2024 12:14:32 (4/4/2024) -??-
  3   TS     CKR      1 +450    4/4/2024 12:14:45 (4/4/2024) -??-
  0   TS     DAZDRT   3 +531    4/4/2024 12:33:15 (4/4/2024) -??-
  2   TS     GAME     6 +691    4/4/2024 12:14:58 (4/4/2024) -??-
  3   TS     GUESS    0 +458    4/4/2024 12:15:05 (4/4/2024) -??-
  2   TS     MAZE     8 +635    4/4/2024 12:21:34 (4/4/2024) -??-
  2   TS     MLIFE    2 +215    4/4/2024 12:33:44 (4/4/2024) -??-
  0   TS     NIMLIN  29   +8    9/30/1977 14:43:48 (4/4/2024) -??-
  2   TS     O       17 +996    8/26/1978 20:09:21 (4/4/2024) -??-
  1   TS     OCM     39 +678    4/4/2024 12:14:36 (4/4/2024) -??-
  3   TS     SPCWAR   5 +907    4/4/2024 12:33:12 (4/4/2024) -??-
  1   TS     SPROUT  24 +344    8/11/1977 02:39:50 (4/4/2024) -??-
  2   TS     TREK    13   +8    4/4/2024 12:14:30 (4/7/2024) -??-
  3   TS     TVWAR    1 +289    4/4/2024 12:33:24 (4/4/2024) -??-
  2   WA     (INIT)   2 +486    5/9/2018 03:05:12 (4/4/2024) -??-
  3   WA     10      45 +634    5/9/2018 03:05:12 (4/4/2024) -??-
  3   WA     FASL    30  +63    4/4/2024 12:42:51 (4/4/2024) -??-
  3   WA     PLYRS8   9 +175    5/9/2018 03:05:12 (4/4/2024) -??-
  0   WA     UNFASL   5 +266    4/4/2024 12:42:51 (4/4/2024) -??-
  2   WORD   3        0 +891    5/9/2018 03:05:12 (4/4/2024) -??-
  0   WORD   FASL     0 +379    4/4/2024 12:42:36 (4/4/2024) -??-
  1   WORD   UNFASL   0 +227    4/4/2024 12:42:36 (4/4/2024) -??-
  2   WORDS  50       6 +660    5/9/2018 03:05:12 (4/4/2024) -??-
  2   WORDS  FASL     8 +975    4/4/2024 12:42:35 (4/4/2024) -??-
  3   WORDS  UNFASL   0 +744    4/4/2024 12:42:35 (4/4/2024) -??-
  1   WUMPUS 103      2 +422    5/9/2018 03:05:12 (4/4/2024) -??-
  0   YAHTZE (INIT)   0  +36    5/9/2018 03:05:12 (4/4/2024) -??-
  2   YAHTZE 27       1 +547    2/24/1978 10:00:37 (4/4/2024) -??-
  3   YAHTZE FASL     1 +746    4/4/2024 12:43:02 (4/4/2024) -??-
  0   YAHTZE UNFASL   0 +187    4/4/2024 12:43:02 (4/4/2024) -??-

:KILL
* 
:fdir
DSK:GAMES; (61.5% used)
 ADV3DB 1        ADV3SB 2        ADV3SB REL      ADV3SR 1        ADV3SR REL
 ADV4MA 3        ADV4MA REL      ADV4SU 16       ADV4SU REL      ADVENT DAT
 ADVENT DRW      ADVENT F4       ADVENT REL      ANIMAL (INIT)   ANIMAL 133
 ANIMAL BARE     ANIMAL BUGS     ANIMAL FASL     ANIMAL INFO     ANIMAL NEWS
 ANIMAL ONEWS    ANIMAL ORIGIN   ANIMAL RULES    ANIMAL SAVE     ANIMAL UNFASL
 BREATH 1        CHASE  (INIT)   CHASE  79       CHASE  FASL     CHASE  INFO
 CHASE  UNFASL   DOC    (INIT)   DOC    102      ELIZA  (INIT)   ELIZA  FASL
 FT01   DAT      GO     (INIT)   GO     INFO     GO1    FASL     GO2    FASL
 GOBRD  FASL     GUESS  21       ITSTER (INIT)   ITSTER FASL     ITSTER SCORES
 ITSTER UNFASL   JOTTO  101      JOTTO  BIN      JOTTO  DICT     LSRRTN INSERT
 PARSE  20       PARSE  FASL     PARSE  UNFASL   PATTRN 7        PATTRN FASL
 PATTRN UNFASL   QB     (INIT)   QB     FASL     SPROUT RULES    STONE  (INIT)
 STONE  FASL     THINK  (INIT)   THINK  2        THINK  FASL     THINK  UNFASL
 TREK   2        TREK   REL      TS     ADV350   TS     ADV448   TS     ANIMAL
 TS     BKG      TS     C        TS     CHESS    TS     CHESS2   TS     CKR
 TS     DAZDRT   TS     GAME     TS     GUESS    TS     MAZE     TS     MLIFE
 TS     NIMLIN   TS     O        TS     OCM      TS     SPCWAR   TS     SPROUT
 TS     TREK     TS     TVWAR    WA     (INIT)   WA     10       WA     FASL
 WA     PLYRS8   WA     UNFASL   WORD   3        WORD   FASL     WORD   UNFASL
 WORDS  50       WORDS  FASL     WORDS  UNFASL   WUMPUS 103      YAHTZE (INIT)
 YAHTZE 27       YAHTZE FASL     YAHTZE UNFASL

:KILL
*
:cwd ;
*
:fdir
DSK:BILL; (0.4% used)
 -READ- -ME-

:KILL
*

ITS – programming

:cwd hello
:lf

Looks like these are the options.

KA:HELLO;
  0   -READ- -THIS-   0  +61    5/7/2018 04:40:52 (4/4/2024) -??-
  0   AR     XFILES   1 +276    4/4/2024 12:32:31 (4/4/2024) -??-
  2   HELLO  (DUMP)   0 +110    2/22/2021 11:19:15 (4/4/2024) -??-
  2   HELLO  C        0  +39    2/22/2021 11:19:15 (4/4/2024) -??-
  0   HELLO  CLU      0 +108    2/22/2021 11:19:15 (4/4/2024) -??-
  0   HELLO  FAI      0 +153    2/22/2021 11:19:15 (4/4/2024) -??-
  0   HELLO  FOR      0  +83    2/22/2021 11:19:15 (4/4/2024) -??-
  3   HELLO  LISP     0  +46    2/22/2021 11:19:15 (4/4/2024) -??-
  3   HELLO  LOADER   0  +10    2/22/2021 11:19:15 (4/4/2024) -??-
  3   HELLO  MAC      0 +124    2/22/2021 11:19:15 (4/4/2024) -??-


:print hello for

C     Fortran hello world.
C
C Compile the source code with the F40 compiler:
C *:dec sys:f40
C *hello=hello.for
C
C Then load and link the relcatable file:
C *:dec sys:loader
C *hello/g
C
C Finally start DECUUO to dump an executable:
C *45$g
C Command: dump
C *:pdump ts hello

C       Unit 5 is the user teletype.
        WRITE(5,10)
10      FORMAT(12H HELLO WORLD)
        STOP
        END
*