Toms Boot Sequence Hack
Tom found an ingeniosly simple Hack to the Computer.
The IBM 1800, being a very primitive device, did not boot directly from memory and disk. The Bootstrap sequence which we all currently take for granted:
- Push Power button.
- Wait a few seconds.
- Log on.
- Watch the computer autostart half a dozen key applications.
- Done.
was just a dream. We had to:
- Turn computer on. Not a small Power button, this was more like the typical huge ass Power Lever in a SciFi movie, requiring a significant arm movement.
- Activate the Boot sequence switch (behind the main front door on the Processor box).
- Load the Boot deck into card reader.
- Push the Boot button (beside the Boot sequence switch on the Processor box).
- The Processor contained very primitive Boot Code.
- Read The Primary Boot Sequence card.
- Load the contents of that ONE card into memory.
- Execute the contents of that ONE card. That contents being an 80 column, 12 row punch card, essentially, 960 Bits, or 120 Bytes of code. How much code could YOU write in 120 Bytes? Most modern programs are written in Kilobytes or Megabytes. Remember, the IBM 1800, with Translation Sequence Executive (aka TSX) had a grand amout of 24K of physical memory.
- The 120 Byte boot program contained code to read the following 6 to 8 cards, load them into memory, and execute their contents.
- The 720 to 960 Byte Secondary Boot Sequence contained the code to read the TSX Operating System from disk, and start everything going.
- As a final detail, I point out that a 600K disk was approximately 2 Feet in diameter, 4 Inches thick, and weighed 20 pounds or so. The IBM 1800 Disk Cabinet (as I said, the size of a very large refrigerator) contained 3 Disk Drives, being used as TSX - 1, TSX - 2, and NUTran.
- Read The Primary Boot Sequence card.
- The System Console (essentially an IBM typewriter, wired to the Processor) would spring to life, and type a couple introductory comments informing us that we were doing an Initial Program Load.
- TSX would load NUTran, the Teletypes would spring to life, and the college computer users would get to work.
Anyway, Tom one day realised the possibilities for the Primary Boot Card. What if, instead of Reading the following 6 to 8 cards, it was to simply Punch those 6 to 8 (and any additional) following cards? The IBM 1800 Card Reader did double duty as a Card Punch, for things like outputting compiled code to cards. So, Tom wrote a simple 120 byte program to punch all cards in the Boot Sequence deck, 80 columns by 12 rows, and having written his program, had it punched onto a card.
Tom produced several copies of his pseudo Primary Boot Sequence card, labeled each as Boot Master, and substituted his card for the PBS cards on the Main and Backup Boot Decks. The Boot Decks were kept next to the system console, and were well used - in a typical day, maybe several times, for recovery from a MuLTiPle Error Alert Control sequence. The instability of Microsoft code is nothing, compared to IBM 1800 TSX.
Tom's code was very simple. Lace all cards, 12 rows by 80 columns, until the computer was reset and the code was cleanly wiped from memory. If a Secondary Boot Sequence deck was loaded, that would be laced, along with any Backup and Second Backup decks, and anything following. And, of course, his custom card would be laced, thereby destroying the evidence. A devilish bit of work that was.
But Tom's work was only the secondary part of our prank in progress. I provided the primary part of the prank.
>>More
No comments:
Post a Comment