IBM 1401 Simulator [B1401] Tutorial

Lesson 7

Objective: Write small program for Ron’s Autocoder and run under

both simulators – Simh and B1401.

Installation: Copy Lesson7.zip and Lesson7.doc to a folder.

Unzip the Lesson7.zip.

Note: In order to keep it simple all files necessary to accomplish

the objective are included, there is overlap with other lessons.

Files included:
auto.bat
autocoder.exe
i1401.exe
welcome.s
B1401.exe
B1401.cfg
B1401.cmc
B1401.ini
welcome.ocl

Step 1:

Compile the welcome.s program that means you don’t have to enter
all those option arguments every time.
Refer to Rons’s email of January 4, for details on running, just substitute
welcome.s for pi5c.s.
To use auto.bat, from the DOS prompt enter auto welcome.
Now run i1401 with the following entries:
at cdr window.cd
at lpt window.out
b cdr

You should get a message: card reader empty IS: 342 <R>
At the simulator prompt enter q to leave the program
Do you understand why? Examine the welcome.s source file.

Step 2:

Using an editor edit welcome.cd.
Insert the this data in the line following the last line of the file.
Starting at column 30 enter your name.
Starting at column 51 enter the date.
30 51
Example: DAN MCINNIS January 6, 2005
Rerun i1401 again. You should get Halt instruction, IS: 465 <B 333>
Enter q at the prompt.
Examine the welcome.out file.
Run the i1401 program again, this time enter g at the prompt.
Do you understand what happened?
Enter q at the prompt and again examine the welcome.out file.
As a further exercise you could add more "cards" to the object deck.
and repeat running i1401.exe.
You could also modify the source program to reflect what you think
should be on the output.

Step 3:

This will attempt to run the object deck above (welcome.cd) using
the B1401 simulator, rather than SIMH.
From the Lesson 7 window, not DOS, double click on B1401.exe.
What happens? The fun begins. Notice you now have two new
Empty files.
Two options: Try to understand and correct what is happening.

Follow what I did to finally reach a somewhat hazy
conclusion.

What I did:
Obviously the loader cards weren’t going to work. So I looked
Around and found a single card loader that worked.
it was:

,008015,022029,036040,047054,061068/039,072001N000000N000000N0000001040BOOTSTRAP

Substituted and it ran. But with a serious problem with the output.
What is the problem? What is your "solution".

What I did was:
Put a halt instruction in the loader card.
,008015,022029,036040,047054,061068/039,072001.333333B068000N0000001040BOOTSTRAP

Then at the halt, ran single step. Found that the ZS instruction to clear word mark at
Location 540 was being interpreted by the simulator as a ) rather than the crazy square
which is not on my keyboard.
I went to the welcome.ocl file CHAR DECK ENTRY, and swapped the crazy square
With the ) which. It worked.
I’m sure there are other explanations.