Jump to content
IGNORED

watching a PDP-1 play Space War is amazing


Recommended Posts

If you ever get a chance to go to the computer history museum in Albuquerque, NM you can watch it for yourself - and flip the switches on an Altair. It's awesome.

 

Interesting yes... awesome no.

 

I got to flip the switches on a Harris mini-computer for a "Machine and Assembly Language Programming" class.

Assembling programs by hand, entering them a word at a time by manually setting the address and data bit by bit, then pushing the write switch to store it... it's ugly.

Even entering them in HEX on an AIM computer was ugly.

We only had one session with the Harris and a couple assignments on the AIM.

It was a great learning experience, I just wouldn't want to have to do it all the time.

Makes you appreciate how someone was able to create space war on such a machine, though I'm guessing they used one of the editors that became available rather than flipped switches.

 

One can only imagine what wiring those modules together was like. You have to wonder how many bits each module dealt with.

Each one of those is probably the equivalent of a single 74LSXX chip. .

 

  • Like 1
Link to comment
Share on other sites

 

Interesting yes... awesome no.

 

I got to flip the switches on a Harris mini-computer for a "Machine and Assembly Language Programming" class.

Assembling programs by hand, entering them a word at a time by manually setting the address and data bit by bit, then pushing the write switch to store it... it's ugly.

Even entering them in HEX on an AIM computer was ugly.

We only had one session with the Harris and a couple assignments on the AIM.

It was a great learning experience, I just wouldn't want to have to do it all the time.

Makes you appreciate how someone was able to create space war on such a machine, though I'm guessing they used one of the editors that became available rather than flipped switches.

 

One can only imagine what wiring those modules together was like. You have to wonder how many bits each module dealt with.

Each one of those is probably the equivalent of a single 74LSXX chip. .

 

It's awesome as an exhibit, and as a trip down memory lane. It's awesome in that it lets you touch stuff most of us never got to (like a real Altair) or see things we've never seen (the actual letter from Bill Gates to a magazine about why software shouldn't be free, and an Apple 1). Do I want to still write software with switches or paper tape in 2017? No, of course not.

  • Like 1
Link to comment
Share on other sites

I guess it's awesome depending on your perspective. Personally I think it would be awesome to drive a Model-T Ford .... that is till I saw someone do it on YouTube and I shuddered at how crazy that car is.

 

lol, I think it would be awesome to fiddle with something like a pdp1, or even touching an Altair ... but when I made my Z80 computer I decked it out with blinkin lights and toggle switches (mini lights and switches mind you, its not very big at all) I entered a serial port loader to get basic like once and installed a eeprom to bootstrap a CF card

 

course now its in a box somewhere in my attic since its been 3 moves from our apartment to our house in 2 years

Edited by Osgeld
  • Like 2
Link to comment
Share on other sites

Call a garbage truck'n haul it away.. Replace it with an R-Pi.

Just kidding!

 

---

 

Programming an Altair or PDP or anything with switches IS rightfully awesome. Awesome because awesome means,"extremely impressive or daunting; inspiring great admiration, apprehension, or fear."

 

And I would be afraid of sitting in a room all day flipping switches.

Edited by Keatah
Link to comment
Share on other sites

Call a garbage truck'n haul it away.. Replace it with an R-Pi.

 

Just kidding!

 

---

 

Programming an Altair or PDP or anything with switches IS rightfully awesome. Awesome because awesome means,"extremely impressive or daunting; inspiring great admiration, apprehension, or fear."

 

And I would be afraid of sitting in a room all day flipping switches.

 

People seem to have the misconception that you spent all day flipping switches.

The truth is, you spent 15 to 30 minutes flipping switches to enter a bootstrap program, and then loaded everything else from paper tape.

Eventually, the bootstrap was built into the machine so you didn't have to flip switches other than to reset the machine.

And consider that once you got it running, you left it running and just told it to execute the address with the loader to launch a new program.

Most actual programming would probably have been done by meticulously assembling your code by hand and then typing it on a machine that creates the paper tape.

They didn't show a paper tape machine in the video, but something had to create that.

 

Once people created editors on the PDP-1, you probably typed in your program at the terminal and the PDP-1 converted it to paper tape.

 

I'd guess that even though you may enter a program with a paper tape, most of the debugging and patching was done from the switches at first.

At least until someone created a monitor that worked from the terminal.

I'm sure the first year or two after the PDP-1 was introduced was the toughest.

 

I've heard several stories where Altair owners got so they knew the bootstrap program by heart and could enter it from memory.

It would not surprise me to find out someone could do the same on a PDP-1 back in the day.

 

its only all day if you screw up

You actually don't have to re-enter the code unless your program wipes memory.

You can examine address content much quicker to see where you made a mistake... at least if your hand assembly was correct.

If what's in the machine matches what you have on paper, you have to check your hand assembly again.

Once you find the bug on paper, you can probably just modify the address involved.

Worst case you redo everything from the point of the error on.

NOP (no operation) instructions would have been very useful.

I'd guess entering them every so many instructions would keep you from having to redo as much code during the debugging process as they would leave room for changes.

 

  • Like 3
Link to comment
Share on other sites

 

You actually don't have to re-enter the code unless your program wipes memory.

You can examine address content much quicker to see where you made a mistake... at least if your hand assembly was correct.

If what's in the machine matches what you have on paper, you have to check your hand assembly again.

Once you find the bug on paper, you can probably just modify the address involved.

Worst case you redo everything from the point of the error on.

NOP (no operation) instructions would have been very useful.

I'd guess entering them every so many instructions would keep you from having to redo as much code during the debugging process as they would leave room for changes.

 

 

You make the assumption that you know which byte wasn't entered correctly. In either case, checking 1000s of bytes of code can be tedious. Trust me, I've had to do it a few times...

Link to comment
Share on other sites

James, I do not know if you have or not confirmed memory locations on a computer with switches. All I am saying is that yeah, it doesn't take too long to go through a small program. But a large one can force one to sit there examining locations for quite some time. Especially if he missed a byte, or doesn't know which one he entered correctly. I know on the first z80 computer I made I decide to create a breakout Hex keypad so that I could plug information into the machine faster, and scroll through memory locations faster. Because without it, my larger programs were simply taking forever.

As far as the PDP-1 is concerned, I'd have to think you'd be correct in that they probably had a paper tape boot strapper embedded in memory. Once the fascination with flipping switches wears off, and you just want to test some real code, you start looking for faster ways of getting it into the computer.

Link to comment
Share on other sites

Well, I didn't mean I'd done a lot of debugging from the switches. Debugging there wasn't so much going through every line, it's testing memory at certain places to see if you forgot a line.
I don't know about the PDP-1, but the Harris had an optional auto advance to the next address that saved a huge amount of time flipping address switches when you were entering a program.
If you got to the end of the program and you were on the wrong address, you'd check the half way point to see if that was correct, then you'd split whichever block you needed to examine in half again and so on until you located the mistake.
You'd also create break points or single step through code and see if values at certain addresses were as expected.
I suppose you could also enter simple patches if something didn't work right rather than create an enter a new tape. We never used paper tape though.
I just don't know what the PDP-1 supported.

I would think someone would have created a simple disassembler rather quickly that outputted code to a printer or the terminal so you could compare it with your source code.

Then it's a lot quicker to find mistakes in your hand assembly.
Editors and assemblers surely followed within the first year or two. I just wonder how they dealt with data storage.

I can see a tape puncher for certain things, but... it's not random access.
They would have had to write an operating system for something like that.
I wonder... how much did they do on a mainframe to bootstrap the PDP-1.

Edited by JamesD
Link to comment
Share on other sites

Well, I've never used a PDP-1, but I can tell you that on the simplest of "Panel Operated" Computers, they typically do not have an auto-advance. But even if you do, mistakes still happen. And one byte entered incorrectly could mean you have to go through the entire code in memory to double check. Now, on mine I added the ability to increment and decrement the address location being viewed (It was a software driven panel, I'm not sure what he PDP-1 has). This allowed me to start at the bottom of the address space in question and scroll through the code fairly quickly checking for errors. However, it's still VERY time consuming when you're talking about KBs of code. That is another reason I wanted Intel Hex transfers on my new project. I can literally transfer 32k of code and verify it in just under 30 seconds.

Link to comment
Share on other sites

Years ago I read about the PDP-1 and Space War in the book "Hackers" by Steven Levy which was a VERY GOOD READ!

It was nice to see it in action! -- Great post!

 

Yeah. That book instantly came to mind. I was going to recommend it before I saw your post.

 

The part where some programmers made up a song/chant about the superiority of some computer's instruction set was the dorkiest thing I've ever read. :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...