Anyone know how to play spcwr in ITS?

374 views
Skip to first unread message

Bill B

unread,
Apr 7, 2024, 9:30:31 AM4/7/24
to PiDP-10
The instructions say to play standalone because Timeshare doesn't work. But the screens look the same, to me. It appears that there are 4 ships, heading towards the center, I thought there were only supposed to be 2.  Is the 1st screen below the 4 ships? How do you control them?
SPCWAR1.pngSPCWAR2.png

Steve Pitcher

unread,
Apr 7, 2024, 1:02:10 PM4/7/24
to PiDP-10
I'm interested.. I'll pay $100,000 to play SpaceWar!!  I did play it once on some computer (??) in the basement of Keiwet at Dartmouth, around 1970.  I'm not a gamer... About the only games I've ever played are this, MS Flight Simulator and Tux Racer.  

Bill B

unread,
Apr 7, 2024, 7:18:49 PM4/7/24
to PiDP-10
stpit...@gmail.com, you can play it on a virtual PDP-1 here https://www.masswerk.at/spacewar/
If you can send me the 100K by the end of the week, that'd be great :)

Steve Pitcher

unread,
Apr 7, 2024, 8:06:32 PM4/7/24
to PiDP-10
Awesome..  Thanks.  I thought I remembered the missiles (bullets) followed gravity... They don't!!  Maybe that's a later incarnation?

Steve Pitcher

unread,
Apr 7, 2024, 8:06:52 PM4/7/24
to PiDP-10
Oh... Check's in the mail.

Michael Thompson

unread,
Apr 7, 2024, 8:35:04 PM4/7/24
to PiDP-10
Comments from the source code:
; On the ninth of April 1976, the new nine-bit Space-War consoles were completed.
;The consoles were designed and constructed by Kevin Hunter (KH).  Ken
;Harrenstein (KLH) and Lee Parks (LSP) spent ten hours wiring the new consoles
;into the PDP-6 alternate data switches bank.
So it looks like it can use game consoles like on the PDP-1.

WCNSLS=420 ; Space-War consoles
..D420=WCNSLS
The game consoles are an I/O device.

GSSBX: 0 ;control selection: 0=consoles, 1=data sws
You can also use the console data switches like on the PDP-12.

TRNN T,400 ;turn clockwise?
MOVN A,MAA ; yes - put -maa into a
TRNN T,200 ;turn counter-clockwise?
MOVE A,MAA ; yes - put maa into a
TRNN T,100 ;thrust on
MOVE B,SAC ; yes - get acceleration
TRNE T,40 ;hyperspace on?
JRST NOTON ;no
SKIPE HYPLOS(MP1) ;IS IT A LOSSAGE WARCONSOLE?
TRNN T,20 ; YES - DO IT ONLY IF FIRE ALSO ON

Some clues about which console switches correspond to which commands.


--
You received this message because you are subscribed to the Google Groups "PiDP-10" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pidp-10+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pidp-10/339ff048-5bb3-4039-9e4e-626b8b682bdbn%40googlegroups.com.


--
Michael Thompson

Bill B

unread,
Apr 7, 2024, 11:34:49 PM4/7/24
to PiDP-10
michael.9...@gmail.com Interesting, Thanks. So it's basically expecting these "consoles" as can be seen here, https://youtu.be/1EWQYAfuMYw?t=810

Lars Brinkhoff

unread,
Apr 8, 2024, 2:32:46 AM4/8/24
to PiDP-10
To play Spacewar, you need to plug in USB game controllers.  The now-regular PlayStation type.

Lars Brinkhoff

unread,
Apr 8, 2024, 2:33:32 AM4/8/24
to PiDP-10
This is the latest incarnation.  No, the torpedoes are not affected by gravity.

Lars Brinkhoff

unread,
Apr 8, 2024, 2:35:02 AM4/8/24
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.


Bill B

unread,
Apr 8, 2024, 7:27:11 AM4/8/24
to PiDP-10
Very cool, thank you Lars Brinkhoff. I know I have a USB controller somewhere. Now just to find it.

Bill B

unread,
Apr 8, 2024, 2:08:50 PM4/8/24
to PiDP-10
I found my old Logitech WingMan Precision Gamepad. It seems to work fine. Best I can tell, it functions like this
Directional pad:
Left - Left
Right - Right
Top - thrust
Bottom -?

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

Thanks, again, Lars Brinkhoff
LogitechWingmanpeg.jpeg

Michael Thompson

unread,
Apr 8, 2024, 2:26:37 PM4/8/24
to Bill B, PiDP-10
The data buttons on the PiDP-10 console should work too.

On Apr 8, 2024, at 2:08 PM, Bill B <bill...@gmail.com> wrote:

I found my old Logitech WingMan Precision Gamepad. It seems to work fine. Best I can tell, it functions like this
Directional pad:
Left - Left
Right - Right
Top - thrust
Bottom -?

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

Thanks, again, Lars Brinkhoff
<LogitechWingmanpeg.jpeg>

On Monday, April 8, 2024 at 7:27:11 AM UTC-4 Bill B wrote:
Very cool, thank you Lars Brinkhoff. I know I have a USB controller somewhere. Now just to find it.

On Monday, April 8, 2024 at 2:35:02 AM UTC-4 Lars Brinkhoff wrote:
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.


--
You received this message because you are subscribed to the Google Groups "PiDP-10" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pidp-10+u...@googlegroups.com.
<LogitechWingmanpeg.jpeg>

Steve Pitcher

unread,
Apr 11, 2024, 4:13:19 PM4/11/24
to PiDP-10
Is the USB game controller useful on the PDP-1 emulator (www.masswerk.at/spacewar)?  I don't know if javascript from a webpage can access a USB device.  Or is this only useful from the PiDP-10?

Steve Pitcher

unread,
Apr 11, 2024, 8:27:06 PM4/11/24
to PiDP-10
I think us newbies have absolutely no idea how to run SpaceWar, standalone on this thing.  Could someone smarter than me please explain?  I don't know that Oscar will be including that in the manual... and I don't want to slow down production of the manual to include that new chapter.

I've gotten a couple of PlayStation game controllers from Amazon.  I've never used such a thing before.  I'm not a gamer.  Do I run SpaceWar from the Blinken program that runs from PDPCONTROL START 0??  Or something else??  Oh. I don't have the PiDP kit yet... I'm running on just the Raspberry Pi, with Oscar's software.

Thanks.
- stp

Lars Brinkhoff

unread,
Apr 12, 2024, 12:36:12 AM4/12/24
to Steve Pitcher, PiDP-10
Steve Pitcher wrote:
> Is the USB game controller useful on the PDP-1 emulator (www.masswerk.at/spacewar)? I don't know if javascript from a webpage can access a USB device. Or is this only useful from the PiDP-10?

There is a "Gamepad API" for JavaScript, but I don't think the PDP-1
emulator uses it.

Lars Brinkhoff

unread,
Apr 12, 2024, 12:55:10 AM4/12/24
to Steve Pitcher, PiDP-10
Steve Pitcher wrote:
> I think us newbies have absolutely no idea how to run SpaceWar, standalone on this thing. Could someone smarter than me please explain?

The easiest way is to start it from ITS, like so: :GAMES;SPCWAR

If you really want to run it standalone, start the PiDP-10 as you
would for running ITS. E.g. pdpcontrol 1. Then, when DSKDMP appears,
type SPCWAR and Enter. Or try the much older PDP-6-only version WAR.

Bob Lash

unread,
Mar 8, 2025, 3:38:24 PMMar 8
to PiDP-10
I built the PiDP-10 kit and attached two USB gaming controllers (see photo) who's buttons and axis controls are fully recognized by the Raspberry Pi 5,  but when I run Spacewar under ITS the ships do not respond to the controls at all.
Photo iof PiDP-10 with game controllers.jpg

In other words, when running jstest on /dev/input/js0 and /dev/input/js1 all of the buttons and axes on the controllers are detected under Linux and do change as expected in real time:

bob@raspberrypi:/sbin $ jstest /dev/input/js0
Driver version is 2.1.0.
Joystick (USB Gamepad ) has 2 axes (X, Y)
and 10 buttons (Trigger, ThumbBtn, ThumbBtn2, TopBtn, TopBtn2, PinkieBtn, BaseBtn, BaseBtn2, BaseBtn3, BaseBtn4).
Testing ... (interrupt to exit)
Axes:  0:     0  1:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off 

bob@raspberrypi:/sbin $ jstest /dev/input/js1
Driver version is 2.1.0.
Joystick (USB Gamepad ) has 2 axes (X, Y)
and 10 buttons (Trigger, ThumbBtn, ThumbBtn2, TopBtn, TopBtn2, PinkieBtn, BaseBtn, BaseBtn2, BaseBtn3, BaseBtn4).
Testing ... (interrupt to exit)
Axes:  0:     0  1:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off 

Also, I confirmed that the "set wcnsls enabled joystick" directive in the /opt/pidp10/systems/its/boot.pidp file is not commented out.

I see that WCNCLS is defined as ITS I/O Device 420 for spacewar consoles.

What needs to be done to associate these controllers with spacewar?

Thanks!

- Bob Lash

Lars Brinkhoff

unread,
Mar 9, 2025, 10:58:25 AMMar 9
to PiDP-10
It could be that the mapping of axes and buttons for this controller doesn't match what the PDP-10 emulator expects.  The first two axes are expected to be analog.

Or it could be that SDL2 doesn't find the two controllers.  Does some other SDL2-based software work?

Bob Lash

unread,
Mar 9, 2025, 5:45:38 PMMar 9
to PiDP-10
The axes values being seen by jstest when the up, down, left, and right controls are pressed are:
                                      
                                       Axis 1 = -32767
                                           |
                                           |
Axis 0 = -32767  <----------|--------->  Axis 0 = 32767
                                           |
                                           |
                                         Axis 1 = 32767

and each value is zero when not pressed.

The 4 pushbuttons:  [SELECT] [START] [A] [B] map to jtest reported buttons B8, B9, B2, and B1 respectively.

As a test, I attached the two USB gamepad controllers to an Ubuntu desktop machine and they worked properly with an SDL2 game (eggnogg+). The four directions of the axes worked properly out-of-the-box in the game, but for the buttons I did need to remap them using the game's built-in remapping feature as it expected some buttons that did not exist on the controllers.

In SPCWAR, would a ship be expected to be seen rotating right when pressing the joystick to the right (Axis 0 = 32767), and rotating to the left when pressing the joystick left (Axis 0 = -32767)?

Best,

Bob

Bob Lash

unread,
Mar 19, 2025, 8:30:06 PMMar 19
to PiDP-10
I saw that Bill B reported (back on 4/8/24 in this thread) that he was able to get his Logitech WingMan Precision USB Gamepad to work with SPCWAR, so I bought two of these on eBay and attached them to my PiDP-10's Raspberry Pi 5 (see photo). Unfortunately, SPCWAR still does not respond to any of the gamepad axes controls or buttons even though both of these controllers are recognized by Linux on the Pi when running jstest on /dev/input/js0 and /dev/input/js1 :

PiDP-10 with Two Logitech WingMan Precision USB Gamepads - Cropped.jpg

bob@raspberrypi:~ $ jstest /dev/input/js0
Driver version is 2.1.0.
Joystick (Logitech WingMan Precision USB) has 2 axes (X, Y)
and 6 buttons (Trigger, ThumbBtn, ThumbBtn2, TopBtn, TopBtn2, PinkieBtn).

Testing ... (interrupt to exit)
Axes:  0:     0  1:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off

bob@raspberrypi:~ $ jstest /dev/input/js1
Driver version is 2.1.0.
Joystick (Logitech WingMan Precision USB) has 2 axes (X, Y)
and 6 buttons (Trigger, ThumbBtn, ThumbBtn2, TopBtn, TopBtn2, PinkieBtn).

Testing ... (interrupt to exit)
Axes:  0:     0  1:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off

Based on jstest results, the axes and buttons are all working properly and correspond to the following:

           UP
LEFT<-I-> RIGHT
        DOWN

UP = Axis 1 (-32767 when pressed, 0 when not)
DOWN = Axis 1 (32767)
LEFT = Axis 0 (-32767)
RIGHT = Axis 0 (32767)

A = Button B0
B = Button B1
X = Button B2
Y = Button B3

Have there been any changes to the code that may have occurred that could have impacted USB gamepad input for SPCWAR since Bill B installed his system a year ago?

Best,

Bob Lash

Andy

unread,
Mar 20, 2025, 9:34:15 AMMar 20
to PiDP-10
Wish you getting luck on the forum - those look pretty sweet!

Bob Lash

unread,
Sep 27, 2025, 7:06:05 PMSep 27
to PiDP-10
As a further test to try to understand why SPCWAR is not responding to my USB controllers, I downloaded and compiled directly on the Raspberry Pi a USB joystick test program that specifically uses SDL2 (See: https://github.com/meleu/jstest-sdl). The SDL2 program correctly recognized both Logitech WingMan Precision USB Gamepads, and all axes and buttons worked properly when individually pressed:

bob@raspberrypi:~/jstest-sdl $ ./jstest-sdl --list
Found 2 joystick(s)

Joystick Name:     'Logitech WingMan Precision USB'
Joystick GUID:     03007bdc6d0400000cc2000010010000
Joystick Number:    0
Number of Axes:     2
Number of Buttons:  6
Number of Hats:     0
Number of Balls:    0
GameController:
  not a gamepad

Joystick Name:     'Logitech WingMan Precision USB'
Joystick GUID:     03007bdc6d0400000cc2000010010000
Joystick Number:    1
Number of Axes:     2
Number of Buttons:  6
Number of Hats:     0
Number of Balls:    0
GameController:
  not a gamepad

I also confirmed that the permissions were correct to read the joysticks for user that the PiDP-10 code runs under (bob). All /dev/input/event* entries are in the "input" group, and so is the user:

bob@raspberrypi:~/jstest-sdl $ ls -l /dev/input/event*
crw-rw----  1 root input 13, 64 Sep 27 13:17 /dev/input/event0
crw-rw----  1 root input 13, 65 Sep 27 13:17 /dev/input/event1
crw-rw----  1 root input 13, 66 Sep 27 13:17 /dev/input/event2
crw-rw----  1 root input 13, 67 Sep 27 13:17 /dev/input/event3
crw-rw----  1 root input 13, 68 Sep 27 13:17 /dev/input/event4
crw-rw----+ 1 root input 13, 69 Sep 27 13:17 /dev/input/event5
crw-rw----  1 root input 13, 70 Sep 27 13:17 /dev/input/event6
crw-rw----  1 root input 13, 71 Sep 27 13:17 /dev/input/event7
crw-rw----+ 1 root input 13, 72 Sep 27 13:17 /dev/input/event8

bob@raspberrypi:~/jstest-sdl $ whoami
bob
bob@raspberrypi:~/jstest-sdl $ groups
bob adm dialout cdrom sudo audio video plugdev games users input render netdev lpadmin gpio i2c spi

Assuming there has not been a change in the PiDP-10 code since the time that Bill B reported in this discussion thread (back on 4/8/24) that he successfully ran SPCWAR with a Logitech WingMan Precision USB controller, could there be some sort of difference in the environments between his system and mine, or some other explanation?

Best,

Bob

Reply all
Reply to author
Forward
Message has been deleted
0 new messages