ROPE/1401 Version 0.3 Beta (Windows) ROPE/1401 (Ron's Own Programming Environment) is a development and debugging environment for the IBM 1401 programming. It wraps Van Snyder's Autocoder assembler (written in FORTRAN 90) and the SIMH 1401 simulator (written in C) with a Java GUI. INSTALLATION Create a directory, such as c:\rope1401, and unzip everything into that directory. You will find: rope1401.exe -- the executable that starts up the main GUI window autocoder.exe -- the Windows edition of Van Snyder's Autocoder assembler i1401r.exe -- the SIMH 1401 simulator that I modified to talk nicely with Java *.gif -- three image files needed by the GUI *.s -- some sample autocoder programs written by Van and me You can move the *.s assembly source files to another directory. However, all the other files must stay together, and do not rename them. By default, the *.cd, *.lst, and *.out files will all be created in the same directory as the corresponding *.s file. Give ROPE a try. I know it's still flaky, but let me know what you find something wrong or that needs improvement. If you see a stack trace come out in the DOS window, that means something bad has happened. Cut and paste the stack trace into an e-mail for me, and tell me what you were doing when the trace occurred. So far, I've put in only a few error checks, so it's still quite easy to make bad things happen. STARTUP Simply run rope1401.exe. You can run it with a command line in a DOS window, or you can double-click its name in a folder window. In the latter case, it will open its own DOS window. You can even make a shortcut on your desktop and double-click that ROPE needs the Java runtime engine (JRE). If you don't already have that installed, ROPE will fail to start. If so, you need to download and install the JRE by going to http://www.java.com/en/download/manual.jsp. After downloading the installer, run it to install the JRE onto your system. Then try running rope1401.exe again. EDIT WINDOW When the main GUI window first opens, the only subwindow open will be the Edit window. Click the Browse button to open an assembly source file. The Edit window currently has very limited editing capabilities. The Line and Column fields tell you where the cursor is. Press the Save button to save the file after you've made edits. Press the Assemble File button to invoke the Autocoder assembler. Try assembling the file errors.s, which contains several syntax errors. The error messages will appear in the Assembly Errors box. Click on an error message, and the editor will highlight the offending line. You can make corrections and then save or assemble. Note that the Assemble File button will first save the file before invoking the assembler. Assembling a file will also open the Exec window. None of its buttons will be enabled if there are any assembly errors, but you can scroll around and look at the errors in the listing. Click the Assembler Options button to bring up a dialog box where you can set options for the Autocoder assembler. EXEC WINDOW The contents of the Exec window come from the Autocoder listing, but without the page breaks and page headers. This window is where you'll execute your Autocoder program. Try assembling an error-free program, such as mersenne.s. The Exec window will invoke the SIMH 1401 simulator i1401r.exe and issue the necessary "attach" commands to set up the files. (The r is to differentiate from the original i1401.exe.) Any messages from SIMH will appear in the Simulator Messages box. The Printout window will also open at the bottom of the main GUI window, hidden behind the other subwindows. In the listing, you can set breakpoints on the lines that are preceded by the blue + signs. Click the START line with the mouse (listing line 127 for mersenne.s) , and the + sign turns into a red ball. Click the line again to turn off the breakpoint. You can set multiple breakpoints. The Exec window issues the corresponding "br" and "nobr" commands to SIMH. With the breakpoint set on the START line, click the Start Program button. This issues a "b cdr" command to SIMH. and the program will break at the START line. The current line will be highlighted. The Start Program button has changed into the Continue Program button (issues the "c" command). You can press it, or the the Single Step button (issues the "s") command. If you press the Auto Step button, the Exec window will repeatedly issue the "s" command to SIMH, until it reaches a breakpoint or a halt instruction. You can press the Faster or Slower buttons. The Auto Step button turns into a Stop Stepping button, which you can press to stop the auto stepping. The Quit button issues the "q" command. You can press it any time, but especially after your program is done. If you want to run your program again, press the Restart Simulator button. You will need to reset your breakpoints after a restart. The Exec window normally filters out non-program listing lines, such as page header lines. Check the Show All checkbox to see all the lines. Whenever you toggle this checkbox, you will have to reset your breakpoints. MEMORY WINDOW Press the Show Memory button to open a Memory window. Enter the From and To addresses. (If you only enter the From address, it will assume the To address is the same as the From address.) For mersenne.s, try 3200 to 3700. Press the Show button to get a memory dump. If you select Auto Update, the memory dump will automatically update after each single step or at a halt instruction. This is especially useful for watching memory change during auto stepping. You can open multiple memory windows. If they're all on auto update, things will get slower. If you have some windows on auto update and others not, you can then see how memory changed between breakpoints or halt instructions. You can toggle between having bars or not in the background with the Bars checkbox. CONSOLE WINDOW Press the Show Console button to open a Console window. This window shows the I instruction register, the A and B storage address registers, and the logic flags OVFLO, B = A, B # A (not equal to), B > A, and B < A. The Check box shows the the Process and I/O check lights. The Error box shows the A and B storage error flags. (I'm actually not sure what these are -- they're SIMH's ASERR and BSERR registers.) The Console window also contains the sense switches, represented by checkboxes. Whenever a program starts, sense switch A is on, and all the others are off. You can change the sense switch settings only after a program has started and then is stopped at a breakpoint or a halt instruction. You can only have at most one Console window open at a time. Like a Memory window, you can set it for auto update. If not, press the Update button to get the current settings. PRINTOUT WINDOW The Printout window opens automatically at the bottom of the main GUI window, often under the other subwindows. It shows what's been sent to the line printer. You can set it for auto update, or if not, press the Update button to get the current printout. You can toggle between having stripes and bars in the background with the Bars and Stripes checkboxes. If you are auto-stepping your program at a fast speed while it is printing, the background stripes may cause strange printing effects. If that happens, simply turn off the stripes. UPCOMING A Simulator Options dialog box to allow you to set SIMH options and to attach files. VERSION HISTORY Beta version 0.3 @ January 31, 2005 (R. Mak) New assembler options dialog box. Added Show All to the Exec window. Added background stripes and bars in the Show Memory and Printout windows. Beta version 0.2 @ January 26, 2005 (R. Mak) Eliminated orphaned i1401r processes. New look for the Console window. Beta version 0.1 @ January 24, 2005 (R. Mak) Initial version. DISCLAIMER I am developing ROPE/1401 on a volunteer basis strictly to support the educational goals of the IBM 1401 Restoration Project of the Computer History Museum. This project is not sponsored or supported by NASA or by the University of California. Please direct questions about the Autocoder assembler to Van Snyder at "Van.Snyder AT jpl DOT nasa DOT gov". For information about the SIMH 1401 simulator, go to the website http://simh.trailing-edge.com. I am responsible only for the Java GUI. Ronald Mak University Affiliated Research Center (UARC) University of California at Santa Cruz Mail Stop 269-3 NASA Ames Research Center Moffett Field, CA 94035-1000 "rmak AT mail DOT arc DOT nasa DOT gov" ---------------------------------------------------------------------------------------------------------------------------------------------