Hacker News new | ask | show | jobs
by kens 3944 days ago
Your description of the IBM 1401 startup sequence is absolutely right. I'll fill in some details since it's a strange process. There's no operating system at all: pressing the load button on the card reader causes one card to be read into memory and the first instruction executed. The first few cards in a program deck have special loader initialization code. As you say, the first instruction is "write two word marks", making the next two instructions executable. The next few instructions are more "write two word marks" instructions, until there enough word marks in place to run a few other instructions, which clear memory and load the next card.

The cards for the program to be executed have program code on the left half and loader code on the right half. That is, each card has code to move its program code into the right place in memory, add necessary word marks, and then load the next card. This code is running from the reader buffer (locations 1 through 80). The final card jumps to the location in memory to start execution.

TL;DR: Since the IBM 1401 doesn't have an operating system, when loading a program from cards, each card also contains the code to load itself into memory.

And yes, 4K of memory is 4000 characters, not 4096, because it's a decimal machine, not a binary machine.

1 comments

What about timing? Did you have to hurry to input the second punchcard? Did the cores lose their bits overnight?

Also, what kind of data can you process with 4K? They say "accounting software" and "paysheets", was it actually quicker than writing paysheets manually?

These were just glorified card sorting machines. Data and code was on them cards -- 4K was just temporary registers, which was plenty. And cores did not lose their data too easily. Manual bootstrapping was needed mostly because of programming errors or you used the expensive memory area for something else.

Cards were quite handy, because they were reusable. You could construct a program just using old ones. In university I remember a special box for "100 CONTINUE"-cards.