Thanks Kevin. I am having a lot of fun with this project.
At the very beginning I did enter and run the little CIRCLE program with ET and MACRO. It gave me a whole new appreciation for the amount of effort that was required in the early 60's to write and execute programs, let alone one with the complexity of Spacewar! I wonder how much blank paper tape cost back then because they must have burned through a lot of it. Also I imagine that they got pretty good at applying patches to the code directly on the PDP-1 to test little fixes before they did another iteration.
At any rate I did most of the development on the Pi via VNC from my laptop. I edited the code using the default text editor (Mousepad) and assembled the code with macro1_1. Then I just loaded the rim "tape" via the Paper tape app and hit the physical READ IN switch on my Console. Here is my setup with my Type 30 display.
The biggest "challenge" I had was with the screen. Type 30 displays by default are mapped with the origin at the center so:
-512
|
-512 ------------------------ 0,0 -------------------------- 512
|
512
(Now there is an option to relocate the origin to the lower left corner of the screen but it is not yet implements on the PiDP-1.)
Furthermore the x and y coordinates that are passed to the dpy opcode have to be moved to the upper 10-bits of the word. To make matters worse all numbers have to be converted to octal, and oh ya negative numbers on the PDP-1 are 1's compliment not 2's compliment. I gave me headaches.
Mike
Very nice! I copied the code to my Windows machine, compiled it with macro1, slapped it on a thumb drive (aka modern paper tape) and loaded it onto my machine and it ran just fine. Actually quite challenging, I've only managed to land successfully once, but I was having a lot of fun trying to land, so nice work recreating the game!