Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Spacewar on the PDP-9

188 views
Skip to first unread message

Bernie Cosell

unread,
Oct 10, 1991, 2:06:12 PM10/10/91
to
l...@sequent.com (Lou Fernandez) writes:

}What I would like to know is where the PDP-9 version of Spacewar came
}from and who did the port. ...

Oddly enough, in the course of trying to dig out the spacewa sources, I
ran across a listing for [ta DAH] PDP-9 spacewar. I haven't a clue how
or why I came upon the sources for the thing, I don't think it was a
port, per se, but it was undoubtedly "based on" the PDP-1 version.

}So, if there is anyone out there who knows about the history of the
}PDP-9/Graphic-2 version of Spacewar, it would answer some 20 year old
}questions.

I know essentially nothign about its history, other than what I can glean
from a listing of the thing. I'll see if I can find it again [if you saw my
house, you'd know that locating things is a nondeterministic operation] and
what light it might shed...
/Bernie\

Lou Fernandez

unread,
Oct 10, 1991, 12:28:53 PM10/10/91
to
Before the Spacewar thread disappears altogether, I would like to ask a
few history questions. But first, a brief history of Spacewar at
Dartmouth.

In the summer of 1971, Jim (?) Browning was cleaning up the PDP-9 room
and discovered the tape, a standard 8-channel grey fanfold paper tape
with the notation "Spacewar -- switch 8 = tumble mode". When we first
booted it and saw the stars, ships and twinkling sun appear and watched
the ships start to fall towards the sun, we were immediately hooked.

The first goal was to store the binary on a more reliable medium and
make some copies. Next, we turned out attention to figuring out how it
worked. Andy Behrens wrote the program to turn the paper tape into a
PDP-9 assembly source with absolute numeric addresses and we massaged it
until the cross-assembler would produce the same binary as the original
tape. I think it was Warren Montgomery who discovered that the funny
looking instructions around location 100 were constants like gravity,
fuel supply, etc. From there, we replaced the numeric values with
symbolic names and produced a profusely commented source. The square
root and sin/cosine routines were the hardest to untangle and we
marveled at their crafty construction and tight coding.

After we figured out how the original program worked, we started playing
around with variations. We made mirror walls, negative gravity,
positive on the X axis and negative on the Y axis gravity, and the very
weird electron in a magnetic field gravity, thanks to Sidney Marshall.
We added a third ship, partial damage, and an autopilot but I think the
original version was still the best.

From the descriptions given here and the code typed in by Bernie Cosell,
the PDP-9 version is quite similar in appearance to the PDP-1 version
but the internal implementation isn't the same. The low core constants
are in a different order and the sin/cosine and square root routines
look quite different.

What I would like to know is where the PDP-9 version of Spacewar came

from and who did the port. I suspect it came from Bell Labs because we
shared an unusual graphics interface. Our PDP-9 had a Graphic-2
graphics co-processor which read commands from memory and executed them
independently of the PDP-9. It was a vector drawing processor and the
CRT was about 12" in diameter with 1024x1024 addressable points. The
Spacewar program did not use the vector drawing capability but simply
plotted points for all its output. This makes me suspect it was a fairly
direct port of some PDP-1 version.

So, if there is anyone out there who knows about the history of the
PDP-9/Graphic-2 version of Spacewar, it would answer some 20 year old
questions.

Thanks,
...Lou
--
Louis F. Fernandez Sequent Computer Systems
lfern...@sequent.com Mail Stop DES2-798
503-578-5113 (voice) 15450 SW Koll Parkway
503-578-5110 (fax) Beaverton, OR 97006-6063

Bernie Cosell

unread,
Oct 13, 1991, 10:15:10 AM10/13/91
to
In article <1991Oct10.1...@sequent.com> l...@sequent.com (Lou Fernandez) writes:
} Before the Spacewar thread disappears altogether, I would like to ask a
} few history questions....


} From the descriptions given here and the code typed in by Bernie Cosell,
} the PDP-9 version is quite similar in appearance to the PDP-1 version
} but the internal implementation isn't the same. The low core constants
} are in a different order and the sin/cosine and square root routines
} look quite different.

} What I would like to know is where the PDP-9 version of Spacewar came

} from and who did the port. ...

} So, if there is anyone out there who knows about the history of the
} PDP-9/Graphic-2 version of Spacewar, it would answer some 20 year old
} questions.

Dunno about the 'graphic-2' part, I think this is for a vanilla PDP-9 [as I
recall, the display was basically the same sort of unaided point-plotting
display the PDP-1 had. Anyhow, here's a snippet of the source code:

.TITLE ORBIT-9
/5 DEC 1968 C. LANDAU

/CONSTANTS
MOM NOP /SKP FOR CONSERVATION OF ANGULAR MOMENTUM
RC 500 /ROTATION CONSTANT
ACC 13000 /ACCELERATION CONSTANT
GRC 400 /GRAVITATION CONSTANT
TCR 6400 /COLLISION RADIUS
CLT -300 /TORPEDO COLLISION LIFE
CLS -3000 /SHIP COLLISION LIFE
SCO -4400 /SOLAR COLLISION RADIUS
TRT -400 /TORPEDO RECHARGE TIME
TLF 4000 /TORPEDO LIFE
TVE 40000 /TORPEDO VELOCITY
HRT -6000 /HYPERSPACE RECHARGE TIME
HBT -3000 /HYPERSPACE BREAKOUT TIME
HYV 20000 /HYPERSPACE INDUCED VELOCITY
DS 2000 /SHIP SIZE
TNU -50 /NUMBER OF TORPEDOES
FUL -100000 /AMOUNT OF FUEL
GRT -3000 /GAME RESET TIME

DXL=700506
DXS=700546
DYL=700606
DYS=700646
DLB=700704
IOF=700002
ION=700042
KSF=700301
KRB=700312
TSF=700401
TLS=700406
TCF=700402
SPQ=741300

/BEG. OF SHIP BLOCK
X1 0
Y1 0
/BEG. OF TORPEDO BLOCK
X 0
Y 0
LIFE 0 /TORPEDOES - LIFE (EXPLODING IF NEG)
/SHIPS:
/1 ALIVE
/0 EXPLODING
/-1 HYPERSPACE
/-2 NONEXISTENT
DXB 0 /DX/DT, LOW 18 BITS
DX 0 / " , HIGH BITS
DYB 0 /DY/DT
DY 0
R 0 /DISTANCE FROM SUN
/ZERO IF NOT MOVING
BLAM SKP /SKP!CLA UNLESS EXPLODING
/OTHERWISE LAW -LIFE
ORIENT 0 /ORIENTATION
ANV 0 /ANGULAR VELOCITY
FUEL -100000 /FUEL LEFT
TORS -50 /TORPEDOES LEFT
TORT -1000 /TORPEDO RECHARGE TIME
HYP SKP /SKP UNLESS IN HYPERSPACE
/OTHERWISE LAW -BREAKOUT TIME LEFT
HYPR -10000 /HYPERSPACE RECHARGE TIME
HUB 1 /HYPERSPATIAL UNCERTAINTY
SHAPE M1-1 /
BUTN JMP B2 /BUTTON ROUTINE
/ 0 /INITIAL ORIENTATION
/ 200000 /INITIAL X
/ 200000 /INITIAL Y

L=10
L2=30

/RANDOM CONSTANTS
C1 1
C2 2
C3 3
C4 4
C7 7
C10 10
C11 11
C12 12
C13 13
C14 14
C16 16
C17 17
CL L
CL2 L2
CM7 -7
C200 200
CLAC LAC
CXCT XCT
CJMS JMS
CLRSS LRSS
CLLSSF LLSS+44-100
CTOR TOR
CBOSM1 BOS-1
CEOSM1 EOS-1
CTOR1 TOR+1
CLM1 L-1
CL2M3 L2-3
CXM1 X-1
CX1M1 X1-1
CPD1L2 PD1+L2-1
CM264 -264
C256051 256051
C514263 514263
C572733 572733
C466737 466737
C537204 537204
C377777 377777
C777760 777760
C777770 777770

ENTRY IOF
KSF
JMP .-1
KRB /READ NO. OF SHIPS
TAD CM264
SMA!SZA
JMP ENTRY+1
TAD C4
SPQ!CLL
JMP ENTRY+1
MUL
L2
LACQ
CMA
TAD CTOR1
DAC SNP
LAW 15
TLS
TSF
JMP .-1
LAW 12
TLS
TSF
JMP .-1
TCF
ION

/INITIALIZE SHIPS
INI LAC CTOR
DAC EOT
LAC CBOSM1
DAC* C14
LAC TCR
CLL
MUL
303735 /SIN 22.5
DAC TCRP
LAC GRC
DAC GRC1
DAC GRC2
LAC HYV
DAC HYV1
DAC HYV2
LAC SNP
INIS JMS GET
LAC* 10
DAC ORIENG
LAC* 10
DAC X
DAC X1
LAC * 10
DAC Y
DAC Y1
LAC CSKPC
DAC HYP
DAC BLAM
LAC FUL
DAC FUEL
LAC TNU
DAC TORS
DZM TORT
DZM HYPR
LAC C1
DAC HUB
DAC LIFE
DAC R
.REPT 4,1
DZM DXB
DZM ANV
JMS PUT
LAC* C10
SAD CTOR
CSKPC SKP!CLA
JMP INIS
JMP SPE+1

Lars Brinkhoff

unread,
Jan 15, 2020, 2:43:52 AM1/15/20
to
I'm sorry to be a bit late on this.

> Lou Fernandez wrote:
> } So, if there is anyone out there who knows about the history of the
> } PDP-9/Graphic-2 version of Spacewar, it would answer some 20 year old
> } questions.

I'm happy to report that a Spacewar version for the PDP-9 and Graphic-2 has
surfaced. Unfortenately, there aren't many clues about its history. It's
written in somthing that looks like MACRO-9. So presumably it's not from
Bell Labs who probably would have used their Unix assembler.

Bernie Cosell wrote:
> Dunno about the 'graphic-2' part, I think this is for a vanilla PDP-9 [as I
> recall, the display was basically the same sort of unaided point-plotting
> display the PDP-1 had. Anyhow, here's a snippet of the source code:
>
> .TITLE ORBIT-9
> /5 DEC 1968 C. LANDAU

I'd love so see this. Does anyone know how to contact Bernie Cosell?

m. thompson

unread,
Jan 15, 2020, 8:33:08 AM1/15/20
to
The RICM has a running PDP-9. We plan to add the 34H graphics option and EAE. Where can we get a copy of the source code for Spacewar?

Quadibloc

unread,
Jan 15, 2020, 5:09:25 PM1/15/20
to
On Wednesday, January 15, 2020 at 12:43:52 AM UTC-7, Lars Brinkhoff wrote:

> Does anyone know how to contact Bernie Cosell?

I don't think that's his real name. There was a famous American sportscaster by
that name.

John Savard

J. Clarke

unread,
Jan 15, 2020, 7:51:20 PM1/15/20
to
The sportscaster was Howard Cosell.

Your best bet for getting in touch with him is probably
<http://thefantasyfarm.com/thefantasyfarm/fiber.html> which has
several possible paths. The Facebook link shows recent activity
however the location of that Fantasy Farm is in a different state. I
think I would start by asking there.

Lars Brinkhoff

unread,
Jan 16, 2020, 1:20:10 AM1/16/20
to
J. Clarke wrote:
> Your best bet for getting in touch with him is probably
> <http://thefantasyfarm.com/thefantasyfarm/fiber.html> which has
> several possible paths.

Thank you. Yes, I think that's him. Email sent.
0 new messages