return to main page

1401 Software Development

available for use on Win7, Mac and Linux

Goal: Show what ROPE can do, and how to use it -
ROPE is "our" 1401 Software development system
    - - includes "our" 1401 Autocoder assembler and 1401 emulator
    - runs on a home PC under Win7, Mac and LINUX.
    - run a debugged program on "our" IBM 1401 machines.

Table of Contents
Latest and greatest ROPE from Luca Severini Oct 2014
Latest and greatest ROPE (PC & MAC) from Ken Shirriff Jan 2015

Introduction to "ROPE"

Ron Mak has made a Graphical Development Environment that combines:
    - a simple editor, with line and character positions displayed :-))
    - Van Snyder's Autocoder assembler
    - control of Bob Supnik's SIMH very competent and complete 1401 simulator
    - with the Autocoder output listing
    - set/unset a breakpoint, just click the line in the listing
and wrapped the above in a Graphical User's Interface (GUI) that makes life easy.

If you want to examine 1401 memory, just open a window or two, want to see printed output? it is in a window on screen, want an operator display? open a window, want to step one instruction? click a button. You should see a demo! much better than any typed description!

Ron calls his environment "ROPE" (Ron's Own Programming Environment)
I (Ed Thelen) think ROPE is WONDERFUL.
The example to the right is the 1st 1401 program I ever wrote and ran :-))

After down loading "ROPE" as below,
see Van Snyder's 1401 Programming Hints

ROPE example
also full size 300 KB

"ROPE", Ron Mak's Graphical User's Development Environment - updated Jan 3, 2010
(I find this easiest to download and run - Ed Thelen)
Here is early User Instructions and update instructions
- scanned 1401 Autocoder manual
Here is an on-line pdf of IBM's 1401 Reference Manual A24-1403-5 with a good description of the commands.
Windows update April 2008, v0.7, can use new Autocoder V3.1, rough 1401 running timer

Down load the zip file (for Windows only) at This version incorporates Van Snyder's Autocoder assembler v. 3.1. -- Ron

LINUX Version (June 25, 2008)
Download it from This matches the latest Windows version that I did last April ( Unzip and detar into your favorite directory. Then cd to the directory and run the shell script "./rope".
Note that I compiled the two binary executables "autocoder" and "i1401r" for an Intel box. This is version 3.1 of Autocoder and (sigh, still) version 3.3-1 of i1401 (simh) slightly modified to talk nicely with my Java code. -- Ron

SIMH Simulator
Note: you do not need the following information to run ROPE just fine. Reference only
From The Computer History Simulation Project
    - SIMH documentation by Bob Supnik
    - Supplemented I1401 User Manual - locally generated -
    - SIMH Help file
This simulator is command line only, no GUI at all. Really Spartan!
For really deep research,
    - Tricks for Simulating/Emulating the 1401 System
    - a listing of Van Snyder's Autocoder parameters & help file.
    - SIMH documentation by Bob Supnik

Autocoder Assembler
Note: you do not need the following information to run ROPE just fine. Reference only
Van Snyder Utilities.
Van Snyder remarks about MACROs - July 9, 2010
By "have to be five characters" I mean the names of macros in columns 16-20, to be used to search for macro template files, have to be five nonblank characters, or MA or ma. Actually, I check that the trimmed length is five, so having blanks in the middle would be OK. I suspect "real" Autocoder wouldn't accept that.

READ and OPEN are IOCS macros. My Autocoder doesn't support IOCS at all.

It does allow an op code in 19 and a D-modifler in 20, so long as 16-18 are blank.

Developers and users of our environment using ROPE
  • Bob Supnik - developed the simulator framework SIMH. (SIMH-FAQ is here., used by
  • Van Snyder - who provided the specific 1401 simulator and the AutoCoder assembler Van can also supply a 1401 disassembler.
  • Ron Mak - incorporated all of the above into "ROPE", an easy to use Windows environment
  • Stan Paddock - provided the interface to a keypunch so you can punch ROPE object decks to run on an IBM 1401
    Stan also provides consulting to users.
  • Michael Albaugh -
  • Joel Franusic - < >
  • Ray Tracing from Lawrence Kesteloot -
  • Luca Severini -
  • Ken Shirriff -
  • Paul Laughton -
  • Ed Thelen -

- A known bug in ROPE. added April 13, 2013
Occasionally, exact circumstances unknown, ROPE gets into a mode where it loads and runs a previously assembled version of the program you are developing. The symptom is that you are looking at the current listing, but running a previous version, the changes you just made are not in the running code !!

Work-around - Just exit ROPE, ( the current source code has already been saved before the last assembly). Then restart ROPE, assemble the code you were working on, and you will then run the currently assembled code.

Paul Laughton (Nov 23, 2014) reports

This problem occurs when when using a card data input.

When you are using card input,
after you do a new assembly,
before you start the program again,
go to directory where your source program is
and delete any file of the form
(where xxx.s is your source filename and yyy.* is your card filename).

and Peripherals, card reader & punch, magnetic tapes. (printer is attached by default)
OK, the run time environment includes a display of the printout as it occurs :-))

Now about the other "standard" Peripherals, card reader & punch, magnetic tapes -
After assembling your program, another sub-window is displayed,
Before running your program you can "attach" the above peripherals by clicking on "Runtime Data..."
This image is for a sort I wrote which runs under ROPE simulation :-))
I understand that you can change the default file names.
I ?think? if you feed the card reader an ASCII file, that it will do "the right thing" and translate it to BCD.

Latest and greatest ROPE from from Luca Severini Oct 17, 2014
Hi Lawrence,

I'm Luca Severini, a CS student and volunteer at the museum (I should say I was because know I don't have the time between school and work).

Ron Mak who, as you probably know, wrote Rope is one of my professors at SJSU. In the last period I worked on Rope adding some features and fixing bugs. I wish I could have more time to complete some useful features but I don't really have the time now. Hopefully I will finish to implement small-c for the end of the year as part of school project for my Compiler Design class.

I saw from the png in your repository that you are using it already... ;-) In any case here is the link to the latest version:

Any comment or suggestion about it is welcome.


Latest and greatest ROPE aor PC & MAC from from Ken Shirriff Jan 16, 2015
PC Ed, here's the process I used to run ROPE 2.0 beta:
  1. Go to
  2. Click the "Download ZIP" button on the right. (Or clone the repository if you are familiar with git.)
  3. unzip (Expand) the downloaded file.
  4. Go inside the ROPE-master directory and unzip the file there.
    For some reason, on Windows this gives me warnings about "Do you want to copy this folder without encryption". Click "Yes" about 8 times.
    You have now installed ROPE and can run it:
  5. Go to the command prompt. (On Windows: Start, then type "cmd" into the search field.)
  6. Change directory to the dist directory you created when unzipping
  7. Type: java -jar rope1401.jar
To use ROPE, first note that the options under the File menu at the top don't really do anything, and creating a new file through the Edit window doesn't work either. You need to open an existing file by clicking Browse.

Go up a couple directories to ROPE-master, then down into examples and open lincoln.s. The left window is the source code. Click "Assemble file".
The right window is the assembled code. Click "Start program".
The window at the bottom is the printer output, and you should see an image of Lincoln there.

You can now edit the file in the left window, and then assemble and start as before. Note that spaces are very, very important.For example, everything must start in the right column and there are usually two spaces between the opcode and the arguments. The error messages are very basic; you may need to scan the right window carefully.

If you want to create a new file, you need to create it outside ROPE, and then load it with Browse.

The "Memory" window is very helpful for debugging. Word marks are indicated by a 1 under the character. Half my problems are due to word marks not where I expect them.

If the simulator goes into an infinite loop, I couldn't find any way to stop it except going back to the command line and giving a Control-C to the java command.

Here are instructions for Mac:
  1. Go to
  2. Click Download ZIP
  3. Open and drag ROPE-master somewhere, e.g. Desktop
  4. Start a Terminal: Finder -> Application -> Utilities, double click on Terminal
  5. Type:
    cd Desktop/ROPE-master
  6. To run, type:
    cd dist
    java -jar rope1401.jar

    The java command gave me a weird clipboard error the first time but worked after that.


Coding Reference Documents
We are blessed by having a large number of 1401 documents on line at
courtesy of Al Kossow.
Of particular interest to people wishing to code and simulate the 1401 are:

Started in 2006
Last updated Jan 16, 2015
Return to
main page