IBM 1410 PR108 RPG Processor 1410-RG-910-43 Important Manauals: C28-0287-1: IBM 1410 Processor Operating System Using IBM 1301 Disk Storage (1410-PR-134 - which is an extension on 1410-PR-108) NOTE: The above manual also documents the very very few messages that RPG can produce in the messages section as well. C28-0334-2: IBM 1410 Input/Output Control System for Card and Tape Systems (RPG generates these macros) C28-0251 : IBM 1410 Input/Output Control System for 1301 Disk Storage J24-0215-2: Report Program Generator IBM 1401 Card and Tape Systems [NOTE: 1401, NOT 1410 here - see below] C28-0309-1: IBM 1410 Autocoder There are a few manuals we do NOT have that make this harder to figure out. J28-0243: 1410 Processor Operating System Using Magnetic Tape and 1301 Disk Storage C28-1443: Report Program Generator for the 1410 J24-1443: Report Program Generator for the IBM 1410 -- Preliminary Specifications J28-0256: Report Program Generator for the IBM 1410 -- Supplement for 1301 Disk Storage I had at one point nearly given up because of the lack of any of the last 3 manuals. However, as luck and history would have it, the following forms are the same RPG forms for both the RPG for 1401 Card amd Tape Systems and the 1410 RPG: X24-1336, X24-1337, X24-1338, X24-1339 In addition, the aforementioned IBM 1401 manual contains an explanation of the flow of the generated Autocoder program that matches what the IBM 1410 RPG processor generates closely enough to be useful. File Contents: These files provide the information that I was able to glean by making test runs and doing other research on the IBM 1410 PR108 RPG processor. File RPG-RG-CARD-DOC.txt documents most of the RG control card (see the 1410-PR-134 manual, cited above for background) File RPG1.au - A partial disassembly of phase RPG1 which helped decipher some of the RG card columnts/ File rpg2.crd: A simple RPG "program" based on the IBM 1401 RPG manual, above File rpg2-data.crd: Input data for the above program File rpg2-carriage.txt: Carriage tape specifications for carriage tape to use for this program (based on my 1410 simulator outputting toa 66 line page) File rpg3.crd: Another simple RPG "program" based on the IBM 1401 RPG manual, with some changes. File rpg3-data.crd: Input data for the above program File rpg3-carriage.txt: Carriage tape specifications for carriage tape to use for this program Using 1410 RPG When I ran 1410 RPG, the setup I used was based on a minimum of processor operating system control cards 1) I found that including the PUNCHELEM control card caused more confusion that it was worth. It was clear that this IBM 1410 RPG was NOT following the conventions stated in C28-0287, whereas the COBOL and FORTRAN compilers seem to follow those conventions. Including a PUNCHELEM4 card caused RPG to want to punch its Autocoder output to card pocket *2* which is not valid on an IBM 1410. So I left it off. Channel 1 Unit 0: Processor operating system tape (e.g., "PR108.bcd" if you are running Rich Cornwell's SimH 1410/7010 Simulator) Channel 1 Unit 4: Autocoder Source program output from RPG Processor (and input to Autocoder) Channel 2 Unit 5: Scratch Tape (And, loadable binary output from Autocoder) Channel 2 Unit 6: Scratch Tape Channel 2 Unit 7: Scratch Tape Card Reader: RPG input "program", Application program inout Printer: Autocoder Listing, Application Program output 2) 1410 RPG is *very* spartan. It does NOT produce a listing (except as comments in the Autocoder program) as near as I could tell. IT DOES NOT PRODUCE DIAGNOSTICS - instead it tends to simply halt in a phase that is processing a particular type of input card. It can thus take some time to figure out what is upsetting it. It will happily produce GIGO: If you specify an output blocksize of, *literally* "ABCD" then that is exactly what gets stuck into the Autocoder program (this was actually quite handy while I was figuring out what columns of the RG card were what). Based on my version of the PR108 Tape, the phase records (for the actual code, not the header - so these would be the last record read before a halt) Phase Record RPG1 725 RPG2 727 RPG3 729 RPG4 731 RPG5 733 RPG6 735 RPG8 737 RPG9 739 RPG10 741 RPG11 743 RPG7 745 RPGIN 747 (Processes Input Specifications) RPGDA 749 (Processes Data Specifications) RPGCL 751 (Processes Calculation Specifications) RPGFM 753 (Processes Format Specification) RPGED 755 (Presumably processes some kind of Edit specifications?) RPG13 757 3) If you mess up the input specification cards, RPG can loop, or it can simply run through your RPG deck without doing very much. I have not tested any disk RPG programs, and while I figured out how to specify I had tape input, I didn't actually generate and run any tape input (or output) programs, nor did I generate any Disk related programs. Jay Jaeger cube1us@gmail.com