A P L \ 1 1 3 0 Development Environment
Total Page:16
File Type:pdf, Size:1020Kb
A P L \ 1 1 3 0 Development Environment A Guide to Building APL\1130 from Source September 2011 ********************************************************************** * * * This document applies to APL\1130 Release 2 published in May 1669. * * It describes a method to assemble and test APL\1130 and to build * * an APL\1130 binary distribution under the IBM 1130 simulator * * published at http://ibm1130.org. The sources used are from file * * apl_source.zip found in the download section of IBM1130.org. This * * file contains the complete sources for the APL\1130 system itself, * * but not for all utilities needed to build it. Some but not all of * * the missing utility components can be extracted in binary form * * from an APL\1130 binary distribution found in file aplsetup.zip on * * ibm1130.org. For the remaining utilities missing, workarounds have * * been put in place to support running the full APL\1130 development * * cycle (assemble, test and build distribution) under the IBM 1130 * * simulator. An extensive analysis of the differences between the * * APL\1130 system as built from source and the binary distribution * * is provided. * * * ********************************************************************** * * * A main source of information on APL\1130 is the User’s Manual * * dated 5/5/69. It can be found on bitsavers at the following link: * * http://bitsavers.org/pdf/ibm/1130/lang/1130-03.3.001_APL_1130_May69.pdf * * Information from the User’s Manual will be referenced throughout * * this guide. * * * ********************************************************************** * * * Jürgen Winkelmann, September 2011 * * [email protected] * * * ********************************************************************** 2 Table of Contents A P L \ 1 1 3 0 Development Environment ............................................................... 4 Introduction ............................................................................................................. 4 How to use this Guide ............................................................................................. 4 Usage of the APL\1130 Development Environment ................................................ 5 Assemble APL\1130 and build the binary installation decks ................................ 5 Run the APL\1130 system directly from the APL development disk .................... 7 Switch to DMS Mode and Assemble an Updated Source Program ..................... 8 APL\1130 Distributions and Installation................................................................... 9 Binary Distribution ............................................................................................... 9 Source Distribution ............................................................................................ 10 APL\1130 Disks .................................................................................................... 14 APL runtime disk ............................................................................................... 14 APL development disk ....................................................................................... 14 Disk Layouts ...................................................................................................... 15 Why create Installation Card Decks at All? ........................................................ 15 Was something like an APL development disk ever used in reality? ................. 15 Components of the APL\1130 Development Environment and their Usage .......... 17 Dump Utility Control Cards ................................................................................ 21 Generate the APL\1130 Development Environment ............................................. 23 IBM 1130 Simulator Issues ................................................................................... 28 Card Reader ...................................................................................................... 28 APL\1130 Version Considerations ........................................................................ 29 Code Analysis ................................................................................................... 29 Code Differences ............................................................................................... 34 Summary of Code Analysis and Differences ..................................................... 41 Version Timeline ................................................................................................ 42 Appendix ............................................................................................................... 44 Core Map ........................................................................................................... 44 Disk Map ........................................................................................................... 45 Download Links to ZIP Archives ........................................................................ 46 3 A P L \ 1 1 3 0 Development Environment Introduction Norm Aleks and Brian Knittel, two IBM 1130 enthusiasts, have created a fully func- tional IBM 1130 simulator, which they published around 2002 on their website http://ibm1130.org. Besides the emulator this website contains tons of authentic ma- terials around the IBM 1130 system. Having no idea what an IBM 1130 was or even that such a machine once existed I was browsing the web in search for vintage APL versions, because I wanted to find an APL version that would work on an MVS 3.8j system that I’m currently running on an emulated IBM S/370. This search brought me to IBM1130.org and it was most surprising for me to find a fully functioning binary version of the original APL\1130 Release 2 system and a source deck of it there. But obviously no one succeeded up to now in compiling the source deck and building a working APL\1130 system from it. APL\1130 Release 2 was published in May 1969 as one of the first publicly available APL terminal systems. Although having been designed to run on an IBM 1130 with only 8 kW (=16 Kbytes) of core memory it supported a rich set of APL operators. On- ly some very few weren’t available, like for example the “circle” operator for trigono- metric and hyperbolic functions. From further research on the web I learned that APL\1130 and APL\360 were quite close relatives. Thus, in absence of a usable APL implementation for the 360 or 370 architecture I became interested in learning a bit more about APL\1130 which finally lead me to trying to get it compiled and built from the source deck found on IBM1130.org. As I’ve never seen or used a real IBM 1130 system (in fact I was in kindergarten age when IBM started marketing these systems) it was an absolutely thrilling experience to get beamed a decade further into the past by this excursion to the roots of APL\1130, than the era of S/370 systems running OS/VS2 MVS I “grew up” with. Sharing Brian’s and Norm’s opinion on “Preserving Historic Software” as expressed on page http://ibm1130.org/sim/resurrecting-dms absolutely, I’ve created this guide to provide and hopefully preserve the information necessary to build that historic piece of software on the IBM 1130 simulator from source. How to use this Guide Due to time constraints I’m not able to fully structure this guide into a “User’s Guide” part and a reference part containing background information, assumptions and ra- tionales that lead to the current layout of the APL development environment. So, us- age and background information is often somewhat intermixed. If you really want to know what I did and why I did it this way, it probably will be nec- essary to read the whole guide (sorry about that!). But if you’re only interested in building APL\1130 from source and creating the three binary installation card decks 4 from the newly built APL\1130 system reading chapter “Usage of the APL\1130 De- velopment Environment” should be sufficient. Before using APL\1130 (be it a version built from source as documented in this guide or the binary version found in aplsetup.zip or aplpreview.zip on IBM1130.org) I strongly recommend reading “Card Reader” on page 28. Usage of the APL\1130 Development Environment The APL development environment is a set of tools supporting the following opera- tions: Assembly of the APL\1130 system under DMS using a disk with a special lay- out of files in the user area (UA). That disk is called the APL development disk. Build the three installation card decks that comprise the binary distribution of APL\1130 from the newly compiled APL\1130 system under DMS. Run the assembled APL\1130 system from the APL development disk it was compiled on by switching that disk to “APL mode”, thus bypassing the need to punch the three installation decks and install APL\1130 on its own dedicated disk. Switch the APL development disk back to “DMS mode”, for example to change and reassemble a source module that can then be tested immediately by switching the disk to APL mode again. Switching back and forth between DMS and APL mode on the same APL develop- ment disk is supported as long as there are no more than 10 APL workspaces as- signed to users. Once more workspaces have been assigned, they will overlay DMS components on the disk and switching back to DMS mode isn’t possible any more. The disk then is equivalent to a dedicated APL disk as installed by loading the three installation decks to a DCIP initialized but otherwise empty disk. The following sections give step by step instructions on how to perform the