IBM 1401 autocoder & SPS
programming JAVA sundials sun dials
IBM 1401 SPS system

There are several simulators for the IBM 1401, this one supports SPS, check:-
http://www.members.optushome.com.au/intaemul/Emul1401.htm

Download B1401D15.ZIP and unzip it. The author makes the source (Delphi) available, and welcomes your
playing around with the sim.  This is a complete system, namely the simulator, and an SPS assembler (two
phase). Useful materials may be found at:-

http://www.bitsavers.org/pdf/ibm/140x/
J28-200-1_Jan60_1401asm.pdf                good insights
A24-1403-5_1401RefMan_Apr62.pdf        details of op codes
A24-3071-2_1401_specFeature.pdf          special features
R29-0044-2_1401SPStraining.pdf             fair details

I programmed the IBM 1401 back in the mid 1960s before moving on to the IBM 360, then later the IBM 370.
This is presented as an echo of what programming was like over 40 years ago. I also wrote a simulator for the
IBM 1401 to run on an IBM 360 model 30, this was because the simulators available then did not support the
sterling feature, and my company had old 1401 programs using
sterling.      
                                                            
IBM 1401 Autocoder system ~ this is the gold seal of 1401 emulators

A GUI simulator for Windows with an integrated editor, autocoder, and execution system is here:

http://www.ed-thelen.org/1401Project/SimulatorStatus.html#SIMH

and about half way down there is a section entitled "Ron Mak's Graphical User's Development Environment "ROPE".
Autocoder came after SPS (see next simulalor) and the author's history of the ROPE simulator is fascinating.

Of interest is:-

http://www.apropos-logic.com/ROPE1401v07.zip    

this should be downloaded into a file in the root directory or into folders whose names have no blanks in them. Do
not unzip it into a folder elsewhere as the  Autocoder  assembler will fail with ERROR 3. I created a folder in the root
directory called: "c:\z-rope1401v7", placed this zip there, and unzipped the file. There is a BAT file, which should be
double clicked. This needs the JAVA system installed. It also works first time. It is so nice when programs work first
time and you don't have to fiddle with them.

The BAT file brings up an IDE with an editor and in it you may code an Autocoder program. And you may assemble it, which brings up the assembler window.
There are three graphical simulators available for the IBM
1401.

Like the IBM 360 simulator I wrote using Lazarus,
my IBM
1401 one (open source) works with the HDIAL and VDIAL
programs in the ZIP file, see below.  I have Autocoder
and SPS programs, and some use "cards" and some
use switches. This works in Windows 8, 7, Vista Win64
as well as Win32 on XP. Lazarus itself is also cross
platform but ONLY use the 32 bit version.

Another was written in JAVA, and the Autocoder which is
integrated into a GUI  IDE, was written in FORTRAN.

Another is oriented towards SPS, and it runs the two pass
SPS system, and was written in Delphi. All these
simulators are small, free, and work first time.
OTHER IBM 1401 RESOURCES

The IBM 1401 Restoration Project and Computer History Museum
IBM 360 sundial stuff also
and the new GUI 360
free IBM 1401 Autocoder & SPS  
~ complete system
~ all source included
~ as well as the executable ~ turnkey!
~ download the ZIP file, extract all, then
run the  ibm1401project.exe
~ McCafee virus checked clean

(Simon's GUI 1401 simulator together with SPS and Autocodes sundial V and H dial programs)

is like my Lazarus (a free Pascal open source IDE) based IBM 360 system simulator, includes an SPS and
Autocoder 2 pass assembler, loader, and simulator with trace and dump facilities. Implementation:
all
opcodes except multiply and divide ( multiply, divide, sin/cos/tan/cot/atn routines provided)
, and
R/W/P combinations, and
chaining where the 1401 implemented it  The HDIAL and VDIAL programs for this
simulator are fully functional. True arithmetic on signed numbers works, and MN, MZ, MCW, LCA, ZA, ZS,
A, S, MA, and C fully support the signs. Arithmetic handles up to 99 character fields but this can
easily be expanded dramatically as the only limit is one parameter. BLC, BSS B-G, BH, BL, BE, BU, BIN
are supported, as are index registers 1-3, and console support (MU). HDIAL/VDIAL parameters are from
the "card reader", and HDIALSW uses the sense switches as does HDIAL.SPS. The dial programs  can do
east or west of meridian. You can use Lazarus to extend this system, and to change core size which is
currently set to 8192 as well as other system parameters. The 1401 panel in the simulator shown to the
right, allows the CE or customer engineer to change device:file names in the configuration and loop
detect limit. The simulator assumes the source code is Autocoder, but you can tell it the code is SPS
when it will convert SPS to Autocoder on the fly. If you
download the ZIP file, unzip it
and click on ibm1401project.exe then it runs the default program which
is HDIAL
. You just do POWER ON and keep hitting START. All other switches and buttons are optional.
A true turnkey system but with the option to configure only if you want to. Oh, the SPS HDIAL output
differs from the Autocoder program by a couple of degrees because it uses BE/BU and not BH/BL in its
multi pass ATAN routine, BH/BL was a special feature on the 1401. Recompiled Dec 22, 2014 for no good
reason other than to change the input source code filename default; and the default program for hDials
has better printout notes.
Notes          Simulator & programs for Windows                   this works on win32 XP, Vista win64, and also on Windows 7 and 8.

Please let me know by email if you like this simulator.
This page, at the bottom, has links to IBM 1401 manuals.   http://www.ed-thelen.org/1401Project/SimulatorStatus.html

IBM 1401 manuals:                                                         http://www.bitsavers.org/pdf/ibm/140x/
programming JAVA sundials sun dials
programming JAVA sundials sun dials
programming JAVA sundials sun dials
download Programming Shadows, it is free,
and has many hints to get you up to speed on
many languages
youTube 1401 video           www.youtube.com/watch?v=ZPpV8X91neQ