return to main page

1401 Software Development
available for use on a PC :-))

was Simulator Status page

The goal of this page is to give the capabilities of
    - ROPE, "our" 1401 Software development system
    - - which includes "our" 1401 Autocoder assembler
    - - which includes "our" 1401 emulator/simulator
which runs on a home PC.
Also how we punch a debugged program "object deck" from ROPE "object deck" to run on "our" IBM 1401 machines.

Table of Contents
Coding Reference Documents

Development Environment ( with editor, assembler, simulator, debugger )

Floating point subroutines from Van Snyder - Oct 7, 2014
An alternate source and instructions - Oct 6, 2014
Punching object decks from ROPE to a keypunch.
Developers of our environment using ROPE
Porting ROPE to the MAC Ron Mak and Michael Albaugh Feb 9, 2014
Ray Tracing from Lawrence Kesteloot Oct 17, 2014
Latest and greatest ROPE from from Luca Severini Oct 17, 2014


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 :-))

Instructions for:

Note: You may have to use another editor to make an initial .s file to load into ROPE.
- A known bug in ROPE.

ROPE example
also full size 300 KB

Coding Reference Documents
We are blessed by having a large number of 1401 documents on line at
http://www.bitsavers.org/pdf/ibm/140x/
courtesy of Al Kossow.
Of particular interest to people wishing to code and simulate the 1401 are:




Note: you do not need the following information to run ROPE just fine. Reference only

"ROPE", Ron Mak's Graphical User's Development Environment - updated Jan 3, 2010
Note: you do not need the following information to run ROPE just fine. Reference only
Here is early User Instructions and update instructions

OK - Autocoder - Instruction manuals

- 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.

latest update April 2008, v0.7, can use new Autocoder V3.1, rough 1401 running timer
Note: you do not need the following information to run ROPE just fine. Reference only
Down load the zip file (for Windows only) at http://www.apropos-logic.com/ROPE1401v07.zip. This version incorporates Van Snyder's Autocoder assembler v. 3.1. -- Ron
LINUX Version (June 25, 2008)
Download it from http://www.apropos-logic.com/ROPE1401v07Linux.tar.gz. This matches the latest Windows version that I did last April (http://www.apropos-logic.com/ROPE1401v07.zip). 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 of our environment using ROPE


- 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 xxx_yyy.cd
(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.

An alternate source and instructions
Joel Franusic < joel@franusic.com > wrote Oct 6, 2014

" Yes, here is the site I've been directing people to: https://github.com/jpf/ROPE "

Porting ROPE to the MAC - Ron Mak and Michael Albaugh, Feb 9, 2014
Hi, Michael.

Sorry for the slow reply. It's the start of spring semester and I always get caught up in all the work that entails.

ROPE is a runtime integration of three sets of code. My Java code provides the GUI. It spawns as separate processes Van Snyder's assembler written in Fortran 90 and Robert Supnik's SIMH 1401 written in C and manages all the interprocess communications. I made some small modifications to both the Fortran and the C code to make ROPE for Windows.

So to port to the Mac, you have to compile all three sets of code, the sources of which I've attached as zip files. Put the Autocoder and SIMH executable files in the Java program's home directory and start up the Java GUI. I think someone has successfully done this before on the Mac, but I don't remember who it was.

One of my students at SJSU and a museum volunteer, Luca Severini (cc'd), is working on adding features to the Java code, which I wrote during a few swing and graveyard shifts at NASA and JPL while keeping an eye on my software for the twin Mars rovers. Fortunately, my rover software had no problems, so the devil made use of my idle hands.

Van sent me Autocoder 4.8 last month which I still need to compile and test with ROPE. Currently, ROPE uses an old version (3.2). I haven't been able to keep up with all of Van's new features, but perhaps Luca is.

-- Ron

-----Original Message-----
From: Michael Albaugh
Sent: Friday, January 17, 2014 3:05 PM
To: Ron Mak
Subject: ROPE for OS X?

Hello. I believe we have corresponded before. I am a longtime (founding, actually) member of the Computer History museum, and a volunteer docent. I am "in training" for demonstrating the 1401s at CHM, and recently wrote and ran my first 1401 program since 1969 (one-card HELLO, WORLD). I actually started on the 1440, but that machine was replaced by a 1401 in 1967.

Anyway, I wanted to do more 1401 programming, possibly for demos and possibly to "finish" some stuff I started back than. The crew at the museum seem pretty adamant that I don't want to use "bare" SIMH and Van's Autocoder, although I am usually more comfortable on the command line. They said I really should use ROPE, but to do that I'd have to un-crate my old WinME laptop and see if it still powered up. If ROPE could run on a Mac OSX machine, I'd be in better shape (my other machines besides Macs are FreeBSD, but old, and a bootleg Win2K partition on that WinME machine, so I'm not sure how hard I could lean on anything graphical)

I see that there is also a Linux version, and I have to wonder how much it depends on Linux-isms, versus just being "Unixy with X". Is it worth my trying? Other suggestions? (other than "just buy a Windows machine", as I have too many computers and too little money as it is).

Thanks for any advice you can give,
Mike

Ray Tracing from Lawrence Kesteloot Oct 17, 2014
Last week I wrote a ray tracer for the IBM 1401. The source code is available here:
https://github.com/lkesteloot/1401

I've only run it in Rope, but hope to run it on the CHM machine soon. The example scene (with two spheres) should take about 25 minutes to run on the real machine.

Thank you for fixing the 1401 and for writing Rope! I had great fun working on this program.

Lawrence Kesteloot

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: https://www.dropbox.com/s/bdgncrcaaa5e3a5/ROPE.zip?dl=0

Any comment or suggestion about it is welcome.

Luca


Started Jan 21, 2012
Last updated Nov 23, 2014
Return to main page