return to main page

Dan McInnis -
BIG PRINT with Tape

Started April 16, 2008

Table of Contents

Dan's BigPrint/Tape Users Guide
Source Code
Listing
Object Deck
Blurb-Draft


Dan's BigPrint/Tape Users Guide - Rough Draft 3/24,2008
Dan's WORD version
BigPrint/Tape Users Guide Rough Draft 3/24,2008

The BigPrint/Tape program was originally written by Ed Thelen. Dan Mcinnis has added several enhancements. The program was chosen to be used along with a verbal demo presentation as a CHM demo offering to visitors.

The program deck has the following organization:

A: Object deck
B: "Blurb" deck
C: "-" end of deck control card
D: Date card.
E: Visitor name cards .
F: Control cards. As desired by Docent
G: "-" end of deck control card

The program uses the following sense switches:

1: SS A Last card detection (currently is inoperative, thus the use of "-" card).
2: SS B OFF write to tape ON skip tape writing
3: SS C OFF print ON skip printing
4: SS D OFF Punch cards ON skip punching
5: SS E: OFF stacker select ON skip stacker select
The sense switches may be turned on or off at any time while the program is running
The intended use is at program load time to disable using a feature that is inoperative
Thus if all features are working all switches except A would be off. The A switch should be ON. (the feature may be fixed).

Control cards:

Control card usage permits changing program operation by inserting the cards into the visitor name card deck to provide halts and other functions.

  1. '-' end of deck card has a minus sign in col 1 all other columns are ignored. This is used to signal end of blurb cards. Also used to signal end of program (if A switch is off or inoperative)

  2. '$' stop printing card has a dollar sign in col 1 all other columns are ignored. the program halts when this card is encountered, the run button is pushed to continue the program. Name cards will continue to be read but there will be no further printing or punching. Could be used to increase tape write time.

  3. '=' change tape record size card has an equal sign in col 1 all other columns are ignored. The original tape record size is 332 characters. This feature enables records of 2700 characters to be written. This is a way to write enough tape to provide a high speed rewind. The program halts when this card is read and the run button must be pushed to continue. The use of the '$ card and blank cards may be necessary to reach high speed rewind. The '$' card would be inserted after the last guest name card and 'dummy' cards added (the number to be dependent on the number of guests and how many total cards are needed to get to high speed rewind on tape drive) these would be followed by the end of card control card.

  4. '?' Halt card has a question mark in col 1 all other columns are ignored. This enables halts while the program is running. The presenter may want to halt in order to provide explanations. The printer is noisy. Pressing run will continue the program.
The program output consists two pages of print for each name card encountered.
The first page has the following all in "big print" format: visitors name, followed by the information on the date card followed by "VISITED THE COMPUTER HISTORY MUSEUM "
The second page contains a full page of single spaced 1401 information. the 'blurb', this consists of a deck of cards the first 65 columns is used in each card thus 2 cards are needed for each line of print. The blurb deck immediately follows the last object card (the clear read area and branch to start of program card) and is followed by a '-' control card to indicate end of the deck.

Note: Preceding the date by "ON " makes a more sensible presentation.

The program will stacker select the name cards into stacker 1, this helps when the cards are to be given to the guests.

The program will also punch the guest name. They would also be given to guest, let him check for punch errors.

The program will write a tape record for each print line. Thus the tape drive will continuously write.

All the above are under control of sense switches and control cards. When the last card is read or end of deck control card encountered, the program rewinds tape and halts. The demo will probably require two people- a presenter and an operator. Before the demo the operator will bring up power on all components, Run an assurance program to insure all features are operational and use sense switches to disable any 'down' features. The operator will have to insure that cards are in the punch station, the tape drive has a tape mounted and loaded and that low density has been selected. The printer paper has to be positioned to be a beginning of the page and the carriage control tape reset. During the presentation the operator will have to depress the run button whenever a program halt is encountered, this depends on control card usage. The program without control cards has only one halt at the beginning of the program and at end of program.

The master program deck and 'blurb' cards will be kept in the restoration lab. There should be several decks produced and stored. The operator will be responsible to know where the decks are located. The operator will keypunch the date and name cards and insert them into their correct locations in the program deck before the demo begins.

The use of control cards will have to be coordinated with each docent presenter, and desired ones inserted along with the name cards.

Program Halts:

343 – Beginning of program halt. Press run to start reading blurb cards.

534 – End of program. Does not restart.

1540 – Dollar control card sensed, stop printing, press run to continue.

1566 – Question mark control card sensed. press run to continue.

1557 – Equal control card sensed, write long tape records, press run to continue


Dan's BigPrint/Tape Source Code .S

     *         BIGPRINT/TAPE
     *  PROGRAM BY ED THELEN
     *  MODIFIED BY DAN MCINNIS    APRIL 1,2008
     *  ADDED SENSE SWITCH CONTROLS AND CONTROL CARDS
     *      SS B OFF - WRITE TO TAPE   ON - SKIP TAPE WRITING
     *      SS C OFF - PRINT           ON - SKIP PRINTING
     *      SS D OFF - PUNCH           ON - SKIP PUNCHING
     *      SS E OFF - SS NAME CARDS   ON - DON'T SS NAME CARDS
     *      CONTROL CARD - COL 1  END OF BLURB CARDS OR
     *                      END OF NAME CARDS GO TO PROGRAM END
     *      CONTROL CARD $ HALT AND THEN STOP PRINTING AND PUNCHING
     *      CONTROL CARD ? HALT  PRESS RUN TO RESTART
     *      CONTROL CARD = HALT AND THEN CHANGE TO LONG TAPE RECORDS  
     INBUF     DS   1   
     *
               ORG  87
     X1        DSA  0                *  index register 1
               ORG  92
     X2        DSA  0                *  index register 2
               ORG  97
     X3        DSA  0                *  index register 3
     *
               ORG  201              * START PRINT OUTPUT AREA
     PRNTA     DC   1
     PRNTA1    DC   1
     PRNTA2    DC   1
     PRNTA3    DC   1
     PRNTA4    DC   1
     *
     * -------------------------------------------------------------
               ORG  335             * START ORIGINAL PROGRAM AREA
     PICKUP    DCW  000
     START2    CS   80              * CLEAR WORD MARKS FROM CARD READ
               H                    * HALT TO CHECK PAPER AND TAPE
               SW   001             * SET WORD MARK
               B    LOADTS          * CALL SUB TO READ TEXT UNTIL -
               R                    * READ DATE CARD
               MCW  25,DATE25       * PUT IT IN A SAFE PLACE
     RDGEST    BSS  SKIPC1,C        * IF C SWITCH ON SKIP PAPER SKIP
               CC   1               *  TOP OF FORM
     SKIPC1    R                    * READ GUEST CARD
               BSS  SKST,E          * SKIP STACKER SELECT
               SS   1               * GUEST CARD IN STACKER 1
     SKST      C    LMINUS,001      * IS FIRST COL MINUS?
               BE   NEND            *    YES, STOP
               C    LQUES,001
               BE   DOQUES
               C    L1DOL,001       * IS IT A DOLLAR CARD
               BE   DODOL           * GO SET DODOL SWITCH
               C    L1EQU,001       * IS IT EQUAL CARD
               BE   DOEQU           * GO SET EQU SWITCH 
               BSS  NEND,A          * TEST FOR LAST CARD
               C    DOLSW,ONE1      * IS DOLLAR SWITCH ON
               BE   SKIPPU          * SKIP PUNCH
               BSS  SKIPPU,D        * SKIP PUNCHING
               LCA  080,180         *
               P                    * PUNCH GUEST CARD
     *     NEW TOP OF FORM  
     *     GUEST CARD IMAGE IN CARD READ AREA
     SKIPPU    B    BIGPRT        * CALL SUB TO PROCESS GUEST CARD & VISITED
     *                                 DOUBLE SIZE CONTROL IS RETURNED AS ZERO OK
     *
               MCW  L1V0,DOUBLE    * SET FOR SINGLE SIZE BIG PRINT
               MCW  DATE25,WORK    * PRINT DATE LINE
               B    PRINTS
               MCW  LINE3,WORK
               B    PRINTS
               MCW  LINE4,WORK
               B    PRINTS
               BSS  SKIPC2,C      * SKIP PAPER TOP OF FORM IF SENSE SWITCH C ON
               CC   1             *  TOP OF FORM
     SKIPC2    B    PNTTXT        * PRINT TEXT DATA FROM MEMORY
               B    RDGEST        * AND GOTO NEXT GUEST CARD           
     *
     NEND      SS   1
               BSS  SKIPC3,C      * SKIP TOP OF FORM IF SS C ON 
               CC   1             *  TOP OF FORM
     SKIPC3    BSS  NOREW,B       *  IF NOT SSB REWIND TAPE
               RWD  1             *  REWIND TAPE - HOPEFULLY HSPEED
     NOREW     H    111           * MAKE WORD MARK 
     *
     *     LOAD TEXT CARD PAIRS INTO MEMORY, SETTING INDEX LIMIT AT END
     LOADTS    SBR  LOADTX&3 * SET RETURN ADDRESS
               NOP   
               MCW  L3V65,X3 * 65=>X3 * SET UP INDEX PUT AWAY
               MCW  L3V000,TXLIM  * SET UP LIMIT
               CS   80       * CLEAR CARD INPUT AREA
               SW   001
     LOADC     R                 *   READ 1ST CARD OF PAIR
               C    LMINUS,001  *     HAS IT A LEADING - ?
               BE   LOADTX      *       YES, EXIT
               C    P3V130,TXLIM
               BE   LOADC       * 16,000 NEAR FULL, SKIP TIL - SIGN
               A    L3V001,TXLIM *   ADD 1 TO LINE COUNT
               MCW  065,TXTSTR&X3  * MOVE 65 CHAR OF CARD IMAGE TO STORE
               MA   L3V65,X3    * INCREMENT PUT AWAY INDEX
               R                *   READ 2ND CARD OF PAIR
               C    LMINUS,001  *     HAS IT A LEADING - ?
               BE   LOADTX      *       YES, EXIT
               MCW  065,TXTSTR&X3  * MOVE 65 CHAR OF CARD IMAGE TO STORE
               MA   L3V65,X3    * INCREMENT PUT AWAY INDEX
               B    LOADC
     LOADTX    B    000      * RETURN FROM SUBROUTINE
     L3V65     DCW  065
     LMINUS    DCW  @-@
     *
     *
     * BIG PRINT SUBROUTINE
     BIGPRT    SBR  BIGPTX&3 * SET RETURN ADDRESS
               MCW  L1V1,DOUBLE      *
               MCW  L3V000,PICKUP    * INITIALIZE PICKUP
               MCW  BLANKS,WORK   * BLANK WORK AREA, FOR 1ST NAME
               MCW  PICKUP,X1     * START SCAN
               MCW  L3V000,X2     * START PUTAWAY
     BIGPTA    MCW  1&X1,PCHAR  * MOVE 1ST  CHAR OF 1ST NAME
               MCW  PCHAR,WORK-24&X2   *
               A    ONE3,X1
               A    ONE3,X2
               C    L3V012,X2   * TOO MANY?
               BE   BIGPTB     * YES, PRINT
               C    L1VBL,PCHAR  * WAS IT BLANK
               BU   BIGPTA
     BIGPTB    MCW  X1,PICKUP
               B    PRINTS
     *
               MCW  BLANKS,WORK   * BLANK WORK AREA, FOR 2ND NAME
               MCW  L1VBL,BIGLST  * SHOW NO CHARS IN LAST NAME
               MCW  PICKUP,X1     * START SCAN
               MCW  L3V002,X2     * START PUTAWAY
     BIGPTC    MCW  1&X1,PCHAR  * MOVE 1ST  CHAR OF LAST NAME
               MCW  PCHAR,WORK-24&X2   *
               A    ONE3,X1
               C    X1,L3VO79    * DON'T SCAN PAST END OF CARD
               BE   BIGPTD      *  YES, TERMINATE 
               C    L1VBL,BIGLST * IF INTO LAST NAME, DON'T EAT MANY BLANKS
               BU   BIGNET
               C    L1VBL,PCHAR   * BLANK
               BE   BIGPTC      * YES, EAT LEADING BLANKS
     BIGNET    MCW  PCHAR,BIGLST * 
               A    ONE3,X2
               C    L3V012,X2   * TOO MANY?
               BU   BIGPTC
     BIGPTD    MCW  X1,PICKUP
               B    PRINTS       * PRINT LAST NAME
     BIGPTX    B    000          * SUBROUTINE RETURN
     BIGLST    DCW  1
     * -------------------------------------------------------------
     *
     *  NOW WE PRINT THAT BABY OUT :-))
     * PROPOSED FORMAT
     * 2
     * 0        1         2         3         4         5         6         7         8
     * 12345678901234567890123456789012345678901234567890123456789012345678901234567890  
     *
     PRINTS    SBR  PRINTX&3  * set return address
               MCW  ZERO3,WROW * initialize print row counter
     PRINT1    MCW  ZERO3,WCOL * initialize work character pick up
               MCW  L3V000,PCOL * initialize output index
               CS   332     * clear printer area
               CS
               SW   201
     PRINT2    MCW  WCOL,X1 * prepare to pick up next character to be processed
               MCW  WORK-24&X1,PCHAR  * and get it 
               A    ONE3,WCOL
     *  process character into INDX
               MCW  L3V0BB,INDXLO  * iniialize three char INDX
               C    L1VCMA,PCHAR     * is it a comma, low already zeroed
               BU   PCXA          *
               MCW  L1V3,INDXMD
               B    PC5           * done
     PCXA      C    L1VDOT,PCHAR     * is it a period, low already zeroed
               BU   PCXB          *
               MCW  L1V1,INDXMD
               B    PC5          * done
     PCXB      C    L1VMIN,PCHAR      * is it a bar, minus
               BU   PCXC
               MCW  L1V2,INDXMD
               B    PC5          * done
     PCXC      MN   PCHAR,INDXLO  * move numerical 8421 
               C    PCHAR,ZERO1           * branch if PCHAR <> ZERO
               BU   PC1
               MCW  L1V4,INDXMD    * force index 40
               MCW  ZERO1,INDXLO
               B    PC5            * zero processed
     PC1       C    L1VZ,PCHAR   * branch if PCHAR <= 0
               BH   PC5
               C    L1VS,PCHAR  * branch if PCHAR < S
               BL   PC2
               A    ONE1,INDXMD
     PC2       C    L1VJ,PCHAR  * branch if PCHAR < J
               BL   PC3
               A    ONE1,INDXMD
     PC3       C    L1VA,PCHAR  * branch if PCHAR < A
               BL   PC4
               A    ONE1,INDXMD
     PC4       C    
               C    L1VZ,PCHAR   * branch if PCHAR in range
               BE   PC5
               BL   PC5
               MCW  ZERO3,INDXLO  * form blank
               MCW  L1VBL,PCHAR   * print blank
     PC5       NOP               * dummy - START MPY BY 14
               MCW  INDXLO,WORK3  * times 1
               A    INDXLO,WORK3  * times 2
               A    INDXLO,WORK3  * times 3
               A    INDXLO,WORK3  * times 4
               A    INDXLO,WORK3  * times 5
               A    INDXLO,WORK3  * times 6
               A    INDXLO,WORK3  * times 7
               A    WORK3,WORK3   * times 14
               MCW  WORK3,INDXLO  * back into position - tidy??
               A    WROW,INDXLO   * make INDEX+(2*WROW)
               A    WROW,INDXLO   * make INDEX+(2*WROW)
               A    TWO3,INDXLO   * add element size
     *  prepare to output
               MCW  PCOL,X3      * output column
               MCW  INDXLO,X1    * pickup proper mask
               MCW  CODEA&X1,MASK2   * 
     * ---------------------------------
               MCW  L3V000,X2       * set up bit select index
     LOOP1     C    BITSEL&X2,MASK2 * do compare
               BL   L2
               MCW  PCHAR,WCHAR     * yes, print special
               S    BITSEL&X2,MASK2 * fix mask
               MN   MASK2,NOZONE
               MCW  NOZONE,MASK2        
               B    L3         
     L2        MCW  L1VBL,WCHAR
     L3        A    L3V002,X2       * go to next bit
               MCW  WCHAR,PRNTA&X3  * print proper character
               A    L3V001,X3
               C    L1V0,DOUBLE    *are we going double?
               BE   L4       * no             
               MCW  WCHAR,PRNTA&X3  * print proper character
               A    L3V001,X3       *
     L4        C    L3V009,X2
               BL   LOOP1
               A    L3V001,X3
               C    L1V0,DOUBLE
               BE   L5
               A    L3V001,X3
     L5        MCW  X3,PCOL         *save column pointer  
               C    L3V132,X3       *
               BL   PRINT2
     *         W                    *write the print area to the printer - SIMH blanks col 2?
               B    TAPE
               C    L1V0,DOUBLE     *are we going double?
               BE   L6       * no             
     *         W                    *write the print area to the printer COMMENTED OUT
               B    TAPE
     L6        A    ONE3,WROW       * increment row counter
               C    L3V007,WROW
               BL   PRINT1          * do another row
               CS   332             * clear printer area
               CS
               SW   201
     *         W           *write the print area to the printer - SIMH blanks col 2?
               B    TAPE
     PRINTX    B    0              *** RETURN TO CALL
               DCW  0
     TAPE      SBR  RTN1&3
               BSS  SKIP,C
               C    DOLSW,ONE1      * DOLLAR SWITCH IS ON
               BE   SKIP
               C    L1EQU,001
               BE   SKIP
               W       
     SKIP      BSS  RTN1,B
     LGPM      LCA  GPMK,333
               WT   1,1 
     RTN1      B    0
               DCW  0   
     DODOL     SBR  RTN2&3          * SET DON'T PRINT SWITCH
               LCA  ONE1,DOLSW      * SET SWITCH TO 1  
               H                    * HALT FOR PRESENTOR
     RTN2      B    0
               DCW  0
     DOEQU     SBR  RTN3&3          * SET LONG TAPE RECORD SWITCH
               LCA  LNOP,LGPM       * PUT NOP IN SET GROUP MARK LOC
               H                    * HALT FOR PRESNETOR
     RTN3      B    0
     DOQUES    SBR  RTN4&3
               H                    * HALT AND THEN RETURN
     RTN4      B    0
     *
     *    START PRINT TEXT STUFF, 130 COL (65 X 2) UNTIL LIMIT - MUST HAVE ONE LINE
     PNTTXT    SBR  PNTTXX&3  * SET UP RETURN
               NOP
               MCW  P3V130,X3       * SET UP INDEX FETCH
               MCW  L3V000,X2       * INITIALIZE LINE COUNTER
               CS   332             * CLEAR TOP OF PRINT AREA
               SW   201             * ASSURE WORD MARK AT BEGIN PRINT AREA
     *    TOP OF FORM HERE??
     PNTCYC    C    X2,TXLIM
               BE   PNTTXX
               MCW  TXTSTR&X3,330   * MOVE 130 CHAR
     *         W                    * WRITE TO PRINTER  COMMENTED OUT
               B    TAPE            * MODIFICATION FOR TAPE 
               MA   P3V130,X3       * ADD LENGTH TO FETCH
               A    L3V001,X2       * INCREMENT LINE COUNTER
               B    PNTCYC          *    AND LOOP MORE
     PNTTXX    B    000             * RETURN FROM SUBROUTINE
     P3V130    DCW  130  
     *
     *
     *
     *
     *  GENERAL PARAMETER AREA
     DOUBLE    DCW  0         * ZERO PRINTS SINGLE SIZE
     *
     *
     *
     *  work areas for PRINTS
               DCW  @WCOL:@
     WCOL      DCW  000     *  pickup index from input area
               DCW  @WROW:@
     WROW      DCW  000
               DCW  @PCHAR:@
     PCHAR     DCW  0
     WCHAR     DCW  0
               DCW  @INDX:@
     INDXHI    DCW  1             * fabricate the fancy index
     INDXMD    DC   1
     INDXLO    DC   1
     * INDX      EQU INDXLO
               DCW  @MASK2:@
     MASK2     DCW  @00@         * 2 character mask
               DCW  @WORK3:@
     WORK3     DCW  000
               DCW  @PCOL:@
     PCOL      DCW  000
               DCW  @ZERO3@
     ZERO3     DCW  000
     ZERO1     DCW  0
     ONE3      DCW  001
     ONE1      DCW  1
     TWO3      DCW  002
     FIVE3     DCW  005
     TWO4S2    DCW  16
     TWO3S2    DCW  08
     TWO2S2    DCW  04
     TWO1S2    DCW  02
     ONE2      DCW  01
     NOZONE    DCW  0
     L1V1      DCW  @1@
     L3V000    DCW  @000@
     L3V012    DCW  @012@
     L1VBL     DCW  @ @
     L3V002    DCW  @002@
     L1V0      DCW  @0@
     L3V0BB    DCW  @0  @
     L1VCMA    DCw  @,@
     L1V3      DCW  @3@
     L1VDOT    DCW  @.@
     L1VMIN    DCW  @-@
     L1DOL     DCW  @$@
     L1EQU     DCW  @=@
     L1V2      DCW  @2@
     L1V4      DCW  @4@
     L1VZ      DCW  @Z@
     L1VS      DCW  @S@
     L1VJ      DCW  @J@
     L1VA      DCW  @A@
     L3V001    DCW  @001@
     L3V009    DCW  @009@
     L3V132    DCW  @132@
     L3V007    DCW  @007@
     L3VO79    DCW  @079@
     DOLSW     DCW  0
     LNOP      DCW  @N@
     LQUES     DCW  @?@
     BITSEL    DCW  16
               DCW  08
               DCW  04
               DCW  02
               DCW  01
               DCW  00
     *
     *
     *  NEW VARIABLES
     TXLIM     DCW  @000@    * TEXT INDEX LIMIT
     *               1234567890123456789012345 
     DATE25    DCW  @0000000000000000000000000@   * SAVE DATE  25 LONG
     *
     *
     *
     *   WORKING AREAS
     *          ORG  1750
     *               1234567890123456789012345678
     WORKA     DS   0
               DS   0
     WORK      DCW  @0000000000000000000000000@   * WORK AREA FOR STRING  25 LONG
     *
     *   Ron Mak says that blanks process as zeros
     *          
     *               0        1         2         3         4
     *               1234567890123456789012345678901234567890
     BLANKS    DCW  @                         @    * SET WORK TO BLANKS
     LINE3     DCW  @VISITED THE COMPUTER     @
     LINE4     DCW  @  HISTORY MUSEUM         @
     *  BCD collating sequence    A .lt. Z .lt. 0 .lt. 9 .lt. B 
     *  MASK IS 14 CHR                 BA8421
     CODEA     DS   0                                                           
               DC   @00000000000000@       
               DC   @04120404040414@       
               DC   @14170102030431@                        
               DC   @31020402010114@                             
               DC   @02061018310202@      
               DC   @31163001011714@      
               DC   @06081630171714@      
               DC   @31010204080808@      
               DC   @14171714171714@ 
               DC   @14171715010212@      
               DC   @00000000001212@      
               DC   @14171717311717@      
               DC   @30171730171730@      
               DC   @14171616161714@      
               DC   @24181717171824@      
               DC   @31161630161631@      
               DC   @31161630161616@      
               DC   @14171623171715@      
               DC   @17171731171717@      
               DC   @14040404040414@      
               DC   @00000031000000@      
               DC   @07020202021812@      
               DC   @17182224221817@      
               DC   @16161616161631@      
               DC   @17272121171717@      
               DC   @17172521191717@      
               DC   @14171717171714@      
               DC   @30171730161616@      
               DC   @14171717212213@      
               DC   @30171730201817@      
               DC   @00000000120408@      
               DC   @00010203041600@      
               DC   @15161614010130@      
               DC   @31040404040404@      
               DC   @17171717171714@      
               DC   @17171717171004@      
               DC   @17171721212110@      
               DC   @17171004101717@      
               DC   @17171710040404@      
               DC   @31010204081631@      
               DC   @14171921251714@      
               DCW  @123456789012345678901234567890@                          
               ORG  2700 
     GPMK      DCW  @"@                   * GROUP MARK 
     TXTSTR    DCW  @0@
               END   START2  * NEW LAST CARD IN DECK, TRANSFER ADDRESS                 


Listing

 CLEAR STORAGE 1     ,008015,022026,030037,044,049,053053N000000N00001026                                         1
 CLEAR STORAGE 2     L068116,105106,110117B101/I9I#071029C029056B026/B001/0991,001/001117I0?                      2
 BOOTSTRAP           ,008015,022029,036040,047054,061068,072/061039              ,0010011040                      3
0                                                                                                         PAGE    1
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD
 
  101         *         BIGPRINT/TAPE
  102         *  PROGRAM BY ED THELEN
  103         *  MODIFIED BY DAN MCINNIS    APRIL 1,2008
  104         *  ADDED SENSE SWITCH CONTROLS AND CONTROL CARDS
  105         *      SS B OFF - WRITE TO TAPE   ON - SKIP TAPE WRITING
  106         *      SS C OFF - PRINT           ON - SKIP PRINTING
  107         *      SS D OFF - PUNCH           ON - SKIP PUNCHING
  108         *      SS E OFF - SS NAME CARDS   ON - DON'T SS NAME CARDS
  109         *      CONTROL CARD - COL 1  END OF BLURB CARDS OR
  110         *                      END OF NAME CARDS GO TO PROGRAM END
  111         *      CONTROL CARD $ HALT AND THEN STOP PRINTING AND PUNCHING
  112         *      CONTROL CARD ? HALT  PRESS RUN TO RESTART
  113         *      CONTROL CARD = HALT AND THEN CHANGE TO LONG TAPE RECORDS
  114         INBUF  DS    1                                                           0333
  115         *
  116                ORG   87                                                                 0087
  117         X1     DSA   0                *  INDEX REGISTER 1                     3  0089  000                  4
  118                ORG   92                                                                 0092
  119         X2     DSA   0                *  INDEX REGISTER 2                     3  0094  000                  5
  120                ORG   97                                                                 0097
  121         X3     DSA   0                *  INDEX REGISTER 3                     3  0099  000                  6
  122         *
  123                ORG   201              * START PRINT OUTPUT AREA                         0201
  124         PRNTA  DC    1                                                        1  0201                       7
  125         PRNTA1 DC    1                                                        1  0202                       7
  126         PRNTA2 DC    1                                                        1  0203                       7
  127         PRNTA3 DC    1                                                        1  0204                       7
  128         PRNTA4 DC    1                                                        1  0205                       7
  129         *
  130         * -------------------------------------------------------------
  131                ORG   335             * START ORIGINAL PROGRAM AREA                      0335
  132         PICKUP DCW   000                                                      3  0337                       8
  133         START2 CS    80              * CLEAR WORD MARKS FROM CARD READ        4  0338  / 080                8
  134                H                     * HALT TO CHECK PAPER AND TAPE           1  0342  .                    8
  135                SW    001             * SET WORD MARK                          4  0343  , 001                8
  136                B     LOADTS          * CALL SUB TO READ TEXT UNTIL -          4  0347  B 534                8
  137                R                     * READ DATE CARD                         1  0351  1                    8
  138                MCW   25,DATE25       * PUT IT IN A SAFE PLACE                 7  0352  M 025 Y17            8
  139         RDGEST BSS   SKIPC1,C        * IF C SWITCH ON SKIP PAPER SKIP         5  0359  B 366 C              9
  140                CC    1               *  TOP OF FORM                           2  0364  F 1                  9
  141         SKIPC1 R                     * READ GUEST CARD                        1  0366  1                    9
  142                BSS   SKST,E          * SKIP STACKER SELECT                    5  0367  B 374 E              9
  143                SS    1               * GUEST CARD IN STACKER 1                2  0372  K 1                  9
  144         SKST   C     LMINUS,001      * IS FIRST COL MINUS?                    7  0374  C 645 001            9
  145                BE    NEND            *    YES, STOP                           5  0381  B 511 S              9
  146                C     LQUES,001                                                7  0386  C X77 001           10
  147                BE    DOQUES                                                   5  0393  B V61 S             10
1                                                                                                         PAGE    2
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD
 
  148                C     L1DOL,001       * IS IT A DOLLAR CARD                    7  0398  C X52 001           10
  149                BE    DODOL           * GO SET DODOL SWITCH                    5  0405  B V28 S             10
  150                C     L1EQU,001       * IS IT EQUAL CARD                       7  0410  C X53 001           10
  151                BE    DOEQU           * GO SET EQU SWITCH                      5  0417  B V45 S             10
  152                BSS   NEND,A          * TEST FOR LAST CARD                     5  0422  B 511 A             11
  153                C     DOLSW,ONE1      * IS DOLLAR SWITCH ON                    7  0427  C X75 X15           11
  154                BE    SKIPPU          * SKIP PUNCH                             5  0434  B 452 S             11
  155                BSS   SKIPPU,D        * SKIP PUNCHING                          5  0439  B 452 D             11
  156                LCA   080,180         *                                        7  0444  L 080 180           11
  157                P                     * PUNCH GUEST CARD                       1  0451  4                   11
  158         *     NEW TOP OF FORM
  159         *     GUEST CARD IMAGE IN CARD READ AREA
  160         SKIPPU B     BIGPRT        * CALL SUB TO PROCESS GUEST CARD & VIS     4  0452  B 646               11
  161         *                                 DOUBLE SIZE CONTROL IS RETURNED AS ZERO O
  162         *
  163                MCW   L1V0,DOUBLE    * SET FOR SINGLE SIZE BIG PRINT           7  0456  M X44 W45           12
  164                MCW   DATE25,WORK    * PRINT DATE LINE                         7  0463  M Y17 Y42           12
  165                B     PRINTS                                                   4  0470  B 875               12
  166                MCW   LINE3,WORK                                               7  0474  M Y92 Y42           12
  167                B     PRINTS                                                   4  0481  B 875               12
  168                MCW   LINE4,WORK                                               7  0485  M Z17 Y42           12
  169                B     PRINTS                                                   4  0492  B 875               13
  170                BSS   SKIPC2,C      * SKIP PAPER TOP OF FORM IF SENSE SWIT     5  0496  B 503 C             13
  171                CC    1             *  TOP OF FORM                             2  0501  F 1                 13
  172         SKIPC2 B     PNTTXT        * PRINT TEXT DATA FROM MEMORY              4  0503  B V70               13
  173                B     RDGEST        * AND GOTO NEXT GUEST CARD                 4  0507  B 359               13
  174         *
  175         NEND   SS    1                                                        2  0511  K 1                 13
  176                BSS   SKIPC3,C      * SKIP TOP OF FORM IF SS C ON              5  0513  B 520 C             13
  177                CC    1             *  TOP OF FORM                             2  0518  F 1                 14
  178         SKIPC3 BSS   NOREW,B       *  IF NOT SSB REWIND TAPE                  5  0520  B 530 B             14
  179                RWD   1             *  REWIND TAPE - HOPEFULLY HSPEED          5  0525  U %U1 R             14
  180         NOREW  H     111           * MAKE WORD MARK                           4  0530  . 111               14
  181         *
  182         *     LOAD TEXT CARD PAIRS INTO MEMORY, SETTING INDEX LIMIT AT END
  183         LOADTS SBR   LOADTX&3 * SET RETURN ADDRESS                            4  0534  H 641               14
  184                NOP                                                            1  0538  N                   14
  185                MCW   L3V65,X3 * 65=>X3 * SET UP INDEX PUT AWAY                7  0539  M 644 099           14
  186                MCW   L3V000,TXLIM  * SET UP LIMIT                             7  0546  M X36 X92           15
  187                CS    80       * CLEAR CARD INPUT AREA                         4  0553  / 080               15
  188                SW    001                                                      4  0557  , 001               15
  189         LOADC  R                  *   READ 1ST CARD OF PAIR                   1  0561  1                   15
  190                C     LMINUS,001  *     HAS IT A LEADING - ?                   7  0562  C 645 001           15
  191                BE    LOADTX      *       YES, EXIT                            5  0569  B 638 S             15
  192                C     P3V130,TXLIM                                             7  0574  C W44 X92           15
  193                BE    LOADC       * 16,000 NEAR FULL, SKIP TIL - SIGN          5  0581  B 561 S             16
  194                A     L3V001,TXLIM *   ADD 1 TO LINE COUNT                     7  0586  A X62 X92           16
  195                MCW   065,TXTSTR&X3  * MOVE 65 CHAR OF CARD IMAGE TO STORE     7  0593  M 065 P?1           16
  196                MA    L3V65,X3    * INCREMENT PUT AWAY INDEX                   7  0600  # 644 099           16
  197                R                 *   READ 2ND CARD OF PAIR                    1  0607  1                   16
1                                                                                                         PAGE    3
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD
 
  198                C     LMINUS,001  *     HAS IT A LEADING - ?                   7  0608  C 645 001           16
  199                BE    LOADTX      *       YES, EXIT                            5  0615  B 638 S             16
  200                MCW   065,TXTSTR&X3  * MOVE 65 CHAR OF CARD IMAGE TO STORE     7  0620  M 065 P?1           17
  201                MA    L3V65,X3    * INCREMENT PUT AWAY INDEX                   7  0627  # 644 099           17
  202                B     LOADC                                                    4  0634  B 561               17
  203         LOADTX B     000      * RETURN FROM SUBROUTINE                        4  0638  B 000               17
  204         L3V65  DCW   065                                                      3  0644                      17
  205         LMINUS DCW   @-@                                                      1  0645                      17
  206         *
  207         *
  208         * BIG PRINT SUBROUTINE
  209         BIGPRT SBR   BIGPTX&3 * SET RETURN ADDRESS                            4  0646  H 873               17
  210                MCW   L1V1,DOUBLE      *                                       7  0650  M X33 W45           18
  211                MCW   L3V000,PICKUP    * INITIALIZE PICKUP                     7  0657  M X36 337           18
  212                MCW   BLANKS,WORK   * BLANK WORK AREA, FOR 1ST NAME            7  0664  M Y67 Y42           18
  213                MCW   PICKUP,X1     * START SCAN                               7  0671  M 337 089           18
  214                MCW   L3V000,X2     * START PUTAWAY                            7  0678  M X36 094           18
  215         BIGPTA MCW   1&X1,PCHAR  * MOVE 1ST  CHAR OF 1ST NAME                 7  0685  M 0'1 W68           19
  216                MCW   PCHAR,WORK-24&X2   *                                     7  0692  M W68 YJ8           19
  217                A     ONE3,X1                                                  7  0699  A X14 089           19
  218                A     ONE3,X2                                                  7  0706  A X14 094           19
  219                C     L3V012,X2   * TOO MANY?                                  7  0713  C X39 094           19
  220                BE    BIGPTB     * YES, PRINT                                  5  0720  B 737 S             20
  221                C     L1VBL,PCHAR  * WAS IT BLANK                              7  0725  C X40 W68           20
  222                BU    BIGPTA                                                   5  0732  B 685 /             20
  223         BIGPTB MCW   X1,PICKUP                                                7  0737  M 089 337           20
  224                B     PRINTS                                                   4  0744  B 875               20
  225         *
  226                MCW   BLANKS,WORK   * BLANK WORK AREA, FOR 2ND NAME            7  0748  M Y67 Y42           20
  227                MCW   L1VBL,BIGLST  * SHOW NO CHARS IN LAST NAME               7  0755  M X40 874           21
  228                MCW   PICKUP,X1     * START SCAN                               7  0762  M 337 089           21
  229                MCW   L3V002,X2     * START PUTAWAY                            7  0769  M X43 094           21
  230         BIGPTC MCW   1&X1,PCHAR  * MOVE 1ST  CHAR OF LAST NAME                7  0776  M 0'1 W68           21
  231                MCW   PCHAR,WORK-24&X2   *                                     7  0783  M W68 YJ8           21
  232                A     ONE3,X1                                                  7  0790  A X14 089           22
  233                C     X1,L3VO79    * DON'T SCAN PAST END OF CARD               7  0797  C 089 X74           22
  234                BE    BIGPTD      *  YES, TERMINATE                            5  0804  B 859 S             22
  235                C     L1VBL,BIGLST * IF INTO LAST NAME, DON'T EAT MANY BLA     7  0809  C X40 874           22
  236                BU    BIGNET                                                   5  0816  B 833 /             22
  237                C     L1VBL,PCHAR   * BLANK                                    7  0821  C X40 W68           22
  238                BE    BIGPTC      * YES, EAT LEADING BLANKS                    5  0828  B 776 S             23
  239         BIGNET MCW   PCHAR,BIGLST *                                           7  0833  M W68 874           23
  240                A     ONE3,X2                                                  7  0840  A X14 094           23
  241                C     L3V012,X2   * TOO MANY?                                  7  0847  C X39 094           23
  242                BU    BIGPTC                                                   5  0854  B 776 /             23
  243         BIGPTD MCW   X1,PICKUP                                                7  0859  M 089 337           23
  244                B     PRINTS       * PRINT LAST NAME                           4  0866  B 875               24
  245         BIGPTX B     000          * SUBROUTINE RETURN                         4  0870  B 000               24
  246         BIGLST DCW   1                                                        1  0874                      24
  247         * -------------------------------------------------------------
1                                                                                                         PAGE    4
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD
 
  248         *
  249         *  NOW WE PRINT THAT BABY OUT :-))
  250         * PROPOSED FORMAT
  251         * 2
  252         * 0        1         2         3         4         5         6         7
  253         * 1234567890123456789012345678901234567890123456789012345678901234567890123
  254         *
  255         PRINTS SBR   PRINTX&3  * SET RETURN ADDRESS                           4  0875  H U67               24
  256                MCW   ZERO3,WROW * INITIALIZE PRINT ROW COUNTER                7  0879  M X10 W61           24
  257         PRINT1 MCW   ZERO3,WCOL * INITIALIZE WORK CHARACTER PICK UP           7  0886  M X10 W53           24
  258                MCW   L3V000,PCOL * INITIALIZE OUTPUT INDEX                    7  0893  M X36 X02           24
  259                CS    332     * CLEAR PRINTER AREA                             4  0900  / 332               25
  260                CS                                                             1  0904  /                   25
  261                SW    201                                                      4  0905  , 201               25
  262         PRINT2 MCW   WCOL,X1 * PREPARE TO PICK UP NEXT CHARACTER TO BE PR     7  0909  M W53 089           25
  263                MCW   WORK-24&X1,PCHAR  * AND GET IT                           7  0916  M Y/8 W68           25
  264                A     ONE3,WCOL                                                7  0923  A X14 W53           25
  265         *  PROCESS CHARACTER INTO INDX
  266                MCW   L3V0BB,INDXLO  * INIIALIZE THREE CHAR INDX               7  0930  M X47 W77           25
  267                C     L1VCMA,PCHAR     * IS IT A COMMA, LOW ALREADY ZEROED     7  0937  C X48 W68           26
  268                BU    PCXA          *                                          5  0944  B 960 /             26
  269                MCW   L1V3,INDXMD                                              7  0949  M X49 W76           26
  270                B     PC5           * DONE                                     4  0956  B /44               26
  271         PCXA   C     L1VDOT,PCHAR     * IS IT A PERIOD, LOW ALREADY ZEROE     7  0960  C X50 W68           26
  272                BU    PCXB          *                                          5  0967  B 983 /             26
  273                MCW   L1V1,INDXMD                                              7  0972  M X33 W76           27
  274                B     PC5          * DONE                                      4  0979  B /44               27
  275         PCXB   C     L1VMIN,PCHAR      * IS IT A BAR, MINUS                   7  0983  C X51 W68           27
  276                BU    PCXC                                                     5  0990  B '06 /             27
  277                MCW   L1V2,INDXMD                                              7  0995  M X54 W76           27
  278                B     PC5          * DONE                                      4  1002  B /44               27
  279         PCXC   MN    PCHAR,INDXLO  * MOVE NUMERICAL 8421                      7  1006  D W68 W77           28
  280                C     PCHAR,ZERO1           * BRANCH IF PCHAR <> ZERO          7  1013  C W68 X11           28
  281                BU    PC1                                                      5  1020  B '43 /             28
  282                MCW   L1V4,INDXMD    * FORCE INDEX 40                          7  1025  M X55 W76           28
  283                MCW   ZERO1,INDXLO                                             7  1032  M X11 W77           28
  284                B     PC5            * ZERO PROCESSED                          4  1039  B /44               28
  285         PC1    C     L1VZ,PCHAR   * BRANCH IF PCHAR <= 0                      7  1043  C X56 W68           29
  286                BH    PC5                                                      5  1050  B /44 U             29
  287                C     L1VS,PCHAR  * BRANCH IF PCHAR < S                        7  1055  C X57 W68           29
  288                BL    PC2                                                      5  1062  B '74 T             29
  289                A     ONE1,INDXMD                                              7  1067  A X15 W76           29
  290         PC2    C     L1VJ,PCHAR  * BRANCH IF PCHAR < J                        7  1074  C X58 W68           29
  291                BL    PC3                                                      5  1081  B '93 T             30
  292                A     ONE1,INDXMD                                              7  1086  A X15 W76           30
  293         PC3    C     L1VA,PCHAR  * BRANCH IF PCHAR < A                        7  1093  C X59 W68           30
  294                BL    PC4                                                      5  1100  B /12 T             30
  295                A     ONE1,INDXMD                                              7  1105  A X15 W76           30
  296         PC4    C                                                              1  1112  C                   30
  297                C     L1VZ,PCHAR   * BRANCH IF PCHAR IN RANGE                  7  1113  C X56 W68           30
1                                                                                                         PAGE    5
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD
 
  298                BE    PC5                                                      5  1120  B /44 S             31
  299                BL    PC5                                                      5  1125  B /44 T             31
  300                MCW   ZERO3,INDXLO  * FORM BLANK                               7  1130  M X10 W77           31
  301                MCW   L1VBL,PCHAR   * PRINT BLANK                              7  1137  M X40 W68           31
  302         PC5    NOP                * DUMMY - START MPY BY 14                   1  1144  N                   31
  303                MCW   INDXLO,WORK3  * TIMES 1                                  7  1145  M W77 W94           31
  304                A     INDXLO,WORK3  * TIMES 2                                  7  1152  A W77 W94           31
  305                A     INDXLO,WORK3  * TIMES 3                                  7  1159  A W77 W94           32
  306                A     INDXLO,WORK3  * TIMES 4                                  7  1166  A W77 W94           32
  307                A     INDXLO,WORK3  * TIMES 5                                  7  1173  A W77 W94           32
  308                A     INDXLO,WORK3  * TIMES 6                                  7  1180  A W77 W94           32
  309                A     INDXLO,WORK3  * TIMES 7                                  7  1187  A W77 W94           32
  310                A     WORK3,WORK3   * TIMES 14                                 7  1194  A W94 W94           33
  311                MCW   WORK3,INDXLO  * BACK INTO POSITION - TIDY??              7  1201  M W94 W77           33
  312                A     WROW,INDXLO   * MAKE INDEX+(2*WROW)                      7  1208  A W61 W77           33
  313                A     WROW,INDXLO   * MAKE INDEX+(2*WROW)                      7  1215  A W61 W77           33
  314                A     TWO3,INDXLO   * ADD ELEMENT SIZE                         7  1222  A X18 W77           33
  315         *  PREPARE TO OUTPUT
  316                MCW   PCOL,X3      * OUTPUT COLUMN                             7  1229  M X02 099           34
  317                MCW   INDXLO,X1    * PICKUP PROPER MASK                        7  1236  M W77 089           34
  318                MCW   CODEA&X1,MASK2   *                                       7  1243  M Z/7 W85           34
  319         * ---------------------------------
  320                MCW   L3V000,X2       * SET UP BIT SELECT INDEX                7  1250  M X36 094           34
  321         LOOP1  C     BITSEL&X2,MASK2 * DO COMPARE                             7  1257  C XP9 W85           34
  322                BL    L2                                                       5  1264  B T01 T             35
  323                MCW   PCHAR,WCHAR     * YES, PRINT SPECIAL                     7  1269  M W68 W69           35
  324                S     BITSEL&X2,MASK2 * FIX MASK                               7  1276  S XP9 W85           35
  325                MN    MASK2,NOZONE                                             7  1283  D W85 X32           35
  326                MCW   NOZONE,MASK2                                             7  1290  M X32 W85           35
  327                B     L3                                                       4  1297  B T08               35
  328         L2     MCW   L1VBL,WCHAR                                              7  1301  M X40 W69           36
  329         L3     A     L3V002,X2       * GO TO NEXT BIT                         7  1308  A X43 094           36
  330                MCW   WCHAR,PRNTA&X3  * PRINT PROPER CHARACTER                 7  1315  M W69 2?1           36
  331                A     L3V001,X3                                                7  1322  A X62 099           36
  332                C     L1V0,DOUBLE    *ARE WE GOING DOUBLE?                     7  1329  C X44 W45           36
  333                BE    L4       * NO                                            5  1336  B T55 S             37
  334                MCW   WCHAR,PRNTA&X3  * PRINT PROPER CHARACTER                 7  1341  M W69 2?1           37
  335                A     L3V001,X3       *                                        7  1348  A X62 099           37
  336         L4     C     L3V009,X2                                                7  1355  C X65 094           37
  337                BL    LOOP1                                                    5  1362  B S57 T             37
  338                A     L3V001,X3                                                7  1367  A X62 099           37
  339                C     L1V0,DOUBLE                                              7  1374  C X44 W45           38
  340                BE    L5                                                       5  1381  B T93 S             38
  341                A     L3V001,X3                                                7  1386  A X62 099           38
  342         L5     MCW   X3,PCOL         *SAVE COLUMN POINTER                     7  1393  M 099 X02           38
  343                C     L3V132,X3       *                                        7  1400  C X68 099           38
  344                BL    PRINT2                                                   5  1407  B 909 T             38
  345         *         W                    *WRITE THE PRINT AREA TO THE PRINTER - SIMH
  346                B     TAPE                                                     4  1412  B U69               39
  347                C     L1V0,DOUBLE     *ARE WE GOING DOUBLE?                    7  1416  C X44 W45           39
1                                                                                                         PAGE    6
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD
 
  348                BE    L6       * NO                                            5  1423  B U32 S             39
  349         *         W                    *WRITE THE PRINT AREA TO THE PRINTER COMMENT
  350                B     TAPE                                                     4  1428  B U69               39
  351         L6     A     ONE3,WROW       * INCREMENT ROW COUNTER                  7  1432  A X14 W61           39
  352                C     L3V007,WROW                                              7  1439  C X71 W61           39
  353                BL    PRINT1          * DO ANOTHER ROW                         5  1446  B 886 T             39
  354                CS    332             * CLEAR PRINTER AREA                     4  1451  / 332               40
  355                CS                                                             1  1455  /                   40
  356                SW    201                                                      4  1456  , 201               40
  357         *         W           *WRITE THE PRINT AREA TO THE PRINTER - SIMH BLANKS CO
  358                B     TAPE                                                     4  1460  B U69               40
  359         PRINTX B     0              *** RETURN TO CALL                        4  1464  B 000               40
  360                DCW   0                                                        1  1468                      40
  361         TAPE   SBR   RTN1&3                                                   4  1469  H V26               40
  362                BSS   SKIP,C                                                   5  1473  B V03 C             41
  363                C     DOLSW,ONE1      * DOLLAR SWITCH IS ON                    7  1478  C X75 X15           41
  364                BE    SKIP                                                     5  1485  B V03 S             41
  365                C     L1EQU,001                                                7  1490  C X53 001           41
  366                BE    SKIP                                                     5  1497  B V03 S             41
  367                W                                                              1  1502  2                   41
  368         SKIP   BSS   RTN1,B                                                   5  1503  B V23 B             41
  369         LGPM   LCA   GPMK,333                                                 7  1508  L P00 333           42
  370                WT    1,1                                                      8  1515  M %U1 001 W         42
  371         RTN1   B     0                                                        4  1523  B 000               42
  372                DCW   0                                                        1  1527                      42
  373         DODOL  SBR   RTN2&3          * SET DON'T PRINT SWITCH                 4  1528  H V43               42
  374                LCA   ONE1,DOLSW      * SET SWITCH TO 1                        7  1532  L X15 X75           42
  375                H                     * HALT FOR PRESENTOR                     1  1539  .                   42
  376         RTN2   B     0                                                        4  1540  B 000               43
  377                DCW   0                                                        1  1544                      43
  378         DOEQU  SBR   RTN3&3          * SET LONG TAPE RECORD SWITCH            4  1545  H V60               43
  379                LCA   LNOP,LGPM       * PUT NOP IN SET GROUP MARK LOC          7  1549  L X76 V08           43
  380                H                     * HALT FOR PRESNETOR                     1  1556  .                   43
  381         RTN3   B     0                                                        4  1557  B 000               43
  382         DOQUES SBR   RTN4&3                                                   4  1561  H V69               43
  383                H                     * HALT AND THEN RETURN                   1  1565  .                   44
  384         RTN4   B     0                                                        4  1566  B 000               44
  385         *
  386         *    START PRINT TEXT STUFF, 130 COL (65 X 2) UNTIL LIMIT - MUST HAVE ONE L
  387         PNTTXT SBR   PNTTXX&3  * SET UP RETURN                                4  1570  H W41               44
  388                NOP                                                            1  1574  N                   44
  389                MCW   P3V130,X3       * SET UP INDEX FETCH                     7  1575  M W44 099           44
  390                MCW   L3V000,X2       * INITIALIZE LINE COUNTER                7  1582  M X36 094           44
  391                CS    332             * CLEAR TOP OF PRINT AREA                4  1589  / 332               44
  392                SW    201             * ASSURE WORD MARK AT BEGIN PRINT AR     4  1593  , 201               45
  393         *    TOP OF FORM HERE??
  394         PNTCYC C     X2,TXLIM                                                 7  1597  C 094 X92           45
  395                BE    PNTTXX                                                   5  1604  B W38 S             45
  396                MCW   TXTSTR&X3,330   * MOVE 130 CHAR                          7  1609  M P?1 330           45
  397         *         W                    * WRITE TO PRINTER  COMMENTED OUT
1                                                                                                         PAGE    7
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD
 
  398                B     TAPE            * MODIFICATION FOR TAPE                  4  1616  B U69               45
  399                MA    P3V130,X3       * ADD LENGTH TO FETCH                    7  1620  # W44 099           45
  400                A     L3V001,X2       * INCREMENT LINE COUNTER                 7  1627  A X62 094           46
  401                B     PNTCYC          *    AND LOOP MORE                       4  1634  B V97               46
  402         PNTTXX B     000             * RETURN FROM SUBROUTINE                 4  1638  B 000               46
  403         P3V130 DCW   130                                                      3  1644                      46
  404         *
  405         *
  406         *
  407         *
  408         *  GENERAL PARAMETER AREA
  409         DOUBLE DCW   0         * ZERO PRINTS SINGLE SIZE                      1  1645                      46
  410         *
  411         *
  412         *
  413         *  WORK AREAS FOR PRINTS
  414                DCW   @WCOL:@                                                  5  1650                      46
  415         WCOL   DCW   000     *  PICKUP INDEX FROM INPUT AREA                  3  1653                      46
  416                DCW   @WROW:@                                                  5  1658                      47
  417         WROW   DCW   000                                                      3  1661                      47
  418                DCW   @PCHAR:@                                                 6  1667                      47
  419         PCHAR  DCW   0                                                        1  1668                      47
  420         WCHAR  DCW   0                                                        1  1669                      47
  421                DCW   @INDX:@                                                  5  1674                      47
  422         INDXHI DCW   1             * FABRICATE THE FANCY INDEX                1  1675                      47
  423         INDXMD DC    1                                                        1  1676                      47
  424         INDXLO DC    1                                                        1  1677                      47
  425         * INDX      EQU INDXLO
  426                DCW   @MASK2:@                                                 6  1683                      48
  427         MASK2  DCW   @00@         * 2 CHARACTER MASK                          2  1685                      48
  428                DCW   @WORK3:@                                                 6  1691                      48
  429         WORK3  DCW   000                                                      3  1694                      48
  430                DCW   @PCOL:@                                                  5  1699                      48
  431         PCOL   DCW   000                                                      3  1702                      48
  432                DCW   @ZERO3@                                                  5  1707                      48
  433         ZERO3  DCW   000                                                      3  1710                      49
  434         ZERO1  DCW   0                                                        1  1711                      49
  435         ONE3   DCW   001                                                      3  1714                      49
  436         ONE1   DCW   1                                                        1  1715                      49
  437         TWO3   DCW   002                                                      3  1718                      49
  438         FIVE3  DCW   005                                                      3  1721                      49
  439         TWO4S2 DCW   16                                                       2  1723                      49
  440         TWO3S2 DCW   08                                                       2  1725                      50
  441         TWO2S2 DCW   04                                                       2  1727                      50
  442         TWO1S2 DCW   02                                                       2  1729                      50
  443         ONE2   DCW   01                                                       2  1731                      50
  444         NOZONE DCW   0                                                        1  1732                      50
  445         L1V1   DCW   @1@                                                      1  1733                      50
  446         L3V000 DCW   @000@                                                    3  1736                      50
  447         L3V012 DCW   @012@                                                    3  1739                      51
1                                                                                                         PAGE    8
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD
 
  448         L1VBL  DCW   @ @                                                      1  1740                      51
  449         L3V002 DCW   @002@                                                    3  1743                      51
  450         L1V0   DCW   @0@                                                      1  1744                      51
  451         L3V0BB DCW   @0  @                                                    3  1747                      51
  452         L1VCMA DCW   @,@                                                      1  1748                      51
  453         L1V3   DCW   @3@                                                      1  1749                      51
  454         L1VDOT DCW   @.@                                                      1  1750                      52
  455         L1VMIN DCW   @-@                                                      1  1751                      52
  456         L1DOL  DCW   @$@                                                      1  1752                      52
  457         L1EQU  DCW   @=@                                                      1  1753                      52
  458         L1V2   DCW   @2@                                                      1  1754                      52
  459         L1V4   DCW   @4@                                                      1  1755                      52
  460         L1VZ   DCW   @Z@                                                      1  1756                      52
  461         L1VS   DCW   @S@                                                      1  1757                      53
  462         L1VJ   DCW   @J@                                                      1  1758                      53
  463         L1VA   DCW   @A@                                                      1  1759                      53
  464         L3V001 DCW   @001@                                                    3  1762                      53
  465         L3V009 DCW   @009@                                                    3  1765                      53
  466         L3V132 DCW   @132@                                                    3  1768                      53
  467         L3V007 DCW   @007@                                                    3  1771                      53
  468         L3VO79 DCW   @079@                                                    3  1774                      54
  469         DOLSW  DCW   0                                                        1  1775                      54
  470         LNOP   DCW   @N@                                                      1  1776                      54
  471         LQUES  DCW   @?@                                                      1  1777                      54
  472         BITSEL DCW   16                                                       2  1779                      54
  473                DCW   08                                                       2  1781                      54
  474                DCW   04                                                       2  1783                      54
  475                DCW   02                                                       2  1785                      55
  476                DCW   01                                                       2  1787                      55
  477                DCW   00                                                       2  1789                      55
  478         *
  479         *
  480         *  NEW VARIABLES
  481         TXLIM  DCW   @000@    * TEXT INDEX LIMIT                              3  1792                      55
  482         *               1234567890123456789012345
  483         DATE25 DCW   @0000000000000000000000000@   * SAVE DATE  25 LONG      25  1817                      55
  484         *
  485         *
  486         *
  487         *   WORKING AREAS
  488         *          ORG  1750
  489         *               1234567890123456789012345678
  490         WORKA  DS    0                                                           1817
  491                DS    0                                                           1817
  492         WORK   DCW   @0000000000000000000000000@   * WORK AREA FOR STRING    25  1842                      56
  493         *
  494         *   RON MAK SAYS THAT BLANKS PROCESS AS ZEROS
  495         *
  496         *               0        1         2         3         4
  497         *               1234567890123456789012345678901234567890
1                                                                                                         PAGE    9
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD
 
  498         BLANKS DCW   @                         @    * SET WORK TO BLANKS     25  1867                      57
  499         LINE3  DCW   @VISITED THE COMPUTER     @                             25  1892                      58
  500         LINE4  DCW   @  HISTORY MUSEUM         @                             25  1917                      59
  501         *  BCD COLLATING SEQUENCE    A .lt. Z .lt. 0 .lt. 9 B
  502         *  MASK IS 14 CHR                 BA8421
  503         CODEA  DS    0                                                           1917
  504                DC    @00000000000000@                                        14  1931                      59
  505                DC    @04120404040414@                                        14  1945                      60
  506                DC    @14170102030431@                                        14  1959                      60
  507                DC    @31020402010114@                                        14  1973                      61
  508                DC    @02061018310202@                                        14  1987                      61
  509                DC    @31163001011714@                                        14  2001                      62
  510                DC    @06081630171714@                                        14  2015                      62
  511                DC    @31010204080808@                                        14  2029                      63
  512                DC    @14171714171714@                                        14  2043                      63
  513                DC    @14171715010212@                                        14  2057                      64
  514                DC    @00000000001212@                                        14  2071                      64
  515                DC    @14171717311717@                                        14  2085                      65
  516                DC    @30171730171730@                                        14  2099                      65
  517                DC    @14171616161714@                                        14  2113                      66
  518                DC    @24181717171824@                                        14  2127                      66
  519                DC    @31161630161631@                                        14  2141                      67
  520                DC    @31161630161616@                                        14  2155                      67
  521                DC    @14171623171715@                                        14  2169                      68
  522                DC    @17171731171717@                                        14  2183                      68
  523                DC    @14040404040414@                                        14  2197                      69
  524                DC    @00000031000000@                                        14  2211                      69
  525                DC    @07020202021812@                                        14  2225                      70
  526                DC    @17182224221817@                                        14  2239                      70
  527                DC    @16161616161631@                                        14  2253                      71
  528                DC    @17272121171717@                                        14  2267                      71
  529                DC    @17172521191717@                                        14  2281                      72
  530                DC    @14171717171714@                                        14  2295                      72
  531                DC    @30171730161616@                                        14  2309                      73
  532                DC    @14171717212213@                                        14  2323                      73
  533                DC    @30171730201817@                                        14  2337                      74
  534                DC    @00000000120408@                                        14  2351                      74
  535                DC    @00010203041600@                                        14  2365                      75
  536                DC    @15161614010130@                                        14  2379                      75
  537                DC    @31040404040404@                                        14  2393                      76
  538                DC    @17171717171714@                                        14  2407                      76
  539                DC    @17171717171004@                                        14  2421                      77
  540                DC    @17171721212110@                                        14  2435                      77
  541                DC    @17171004101717@                                        14  2449                      78
  542                DC    @17171710040404@                                        14  2463                      78
  543                DC    @31010204081631@                                        14  2477                      79
  544                DC    @14171921251714@                                        14  2491                      79
  545                DCW   @123456789012345678901234567890@                        30  2521                      80
  546                ORG   2700                                                               2700
  547         GPMK   DCW   @"@                   * GROUP MARK                       1  2700              GMARK   81
1                                                                                                         PAGE   10
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD
 
  548         TXTSTR DCW   @0@                                                      1  2701                      81
  549                END    START2  * NEW LAST CARD IN DECK, TRANSFER ADDRESS                / 338 080
1                                                                                                         PAGE   11
0SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS  

 BIGLST    874    BIGNET    833    BIGPRT    646    BIGPTA    685    BIGPTB    737    BIGPTC    776    BIGPTD    859   
 BIGPTX    870    BITSEL   1779    BLANKS   1867    CODEA    1917    DATE25   1817    DODOL    1528    DOEQU    1545   
 DOLSW    1775    DOQUES   1561    DOUBLE   1645    FIVE3    1721    GPMK     2700    INBUF     333    INDXHI   1675   
 INDXLO   1677    INDXMD   1676    L1DOL    1752    L1EQU    1753    L1V0     1744    L1V1     1733    L1V2     1754   
 L1V3     1749    L1V4     1755    L1VA     1759    L1VBL    1740    L1VCMA   1748    L1VDOT   1750    L1VJ     1758   
 L1VMIN   1751    L1VS     1757    L1VZ     1756    L2       1301    L3       1308    L3V000   1736    L3V001   1762   
 L3V002   1743    L3V007   1771    L3V009   1765    L3V012   1739    L3V0BB   1747    L3V132   1768    L3V65     644   
 L3VO79   1774    L4       1355    L5       1393    L6       1432    LGPM     1508    LINE3    1892    LINE4    1917   
 LMINUS    645    LNOP     1776    LOADC     561    LOADTS    534    LOADTX    638    LOOP1    1257    LQUES    1777   
 MASK2    1685    NEND      511    NOREW     530    NOZONE   1732    ONE1     1715    ONE2     1731    ONE3     1714   
 P3V130   1644    PC1      1043    PC2      1074    PC3      1093    PC4      1112    PC5      1144    PCHAR    1668   
 PCOL     1702    PCXA      960    PCXB      983    PCXC     1006    PICKUP    337    PNTCYC   1597    PNTTXT   1570   
 PNTTXX   1638    PRINT1    886    PRINT2    909    PRINTS    875    PRINTX   1464    PRNTA     201    PRNTA1    202   
 PRNTA2    203    PRNTA3    204    PRNTA4    205    RDGEST    359    RTN1     1523    RTN2     1540    RTN3     1557   
 RTN4     1566    SKIP     1503    SKIPC1    366    SKIPC2    503    SKIPC3    520    SKIPPU    452    SKST      374   
 START2    338    TAPE     1469    TWO1S2   1729    TWO2S2   1727    TWO3     1718    TWO3S2   1725    TWO4S2   1723   
 TXLIM    1792    TXTSTR   2701    WCHAR    1669    WCOL     1653    WORK     1842    WORK3    1694    WORKA    1817   
 WROW     1661    X1         89    X2         94    X3         99    ZERO1    1711    ZERO3    1710   


Object Deck

,008015,022026,030037,044,049,053053N000000N00001026                   0001     
L068116,105106,110117B101/I9I#071029C029056B026/B001/0991,001/001117I0?0002     
,008015,022029,036040,047054,061068,072/061039              ,00100110400003     
000                                    L003089,040040,040040,04004010400004     
000                                    L003094,040040,040040,04004010400005     
000                                    L003099,040040,040040,04004010400006     
11111                                  L005205)201201,040040,04004010400007     
000/080.,001B5341M025Y17               L024358,338342,343347,35135210400008     
B366CF11B374EK1C645001B511S            L027385,364366,367372,37438110400009     
CX77001BV61SCX52001BV28SCX53001BV45S   L036421,393398,405410,41704010400010     
B511ACX75X15B452SB452DL0801804B646     L034455,427434,439444,45145210400011     
MX44W45MY17Y42B875MY92Y42B875MZ17Y42   L036491,463470,474481,48504010400012     
B875B503CF1BV70B359K1B520C             L026517,496501,503507,51151310400013     
F1B530BU%U1R.111H641NM644099           L028545,520525,530534,53853910400014     
MX36X92/080,0011C645001B638SCW44X92    L035580,553557,561562,56957410400015     
B561SAX62X92M065P?1#6440991C645001B638SL039619,586593,600607,60861510400016     
M065P?1#644099B561B000065-H873         L030649,627634,638642,64564610400017     
MX33W45MX36337MY67Y42M337089MX36094    L035684,657664,671678,04004010400018     
M0'1W68MW68YJ8AX14089AX14094CX39094    L035719,692699,706713,04004010400019     
B737SCX40W68B685/M089337B875MY67Y42    L035754,725732,737744,74804010400020     
MX40874M337089MX43094M0'1W68MW68YJ8    L035789,762769,776783,04004010400021     
AX14089C089X74B859SCX40874B833/CX40W68 L038827,797804,809816,82104010400022     
B776SMW68874AX14094CX39094B776/M089337 L038865,833840,847854,85904010400023     
B875B0001HU67MX10W61MX10W53MX36X02     L034899,870874,875879,88689310400024     
/332/,201MW53089MY/8W68AX14W53MX47W77  L037936,904905,909916,92393010400025     
CX48W68B960/MX49W76B/44CX50W68B983/    L035971,944949,956960,96704010400026     
MX33W76B/44CX51W68B'06/MX54W76B/44     L034'05,979983,990995,'0204010400027     
DW68W77CW68X11B'43/MX55W76MX11W77B/44  L037'42,'13'20,'25'32,'3904010400028     
CX56W68B/44UCX57W68B'74TAX15W76CX58W68 L038'80,'50'55,'62'67,'7404010400029     
B'93TAX15W76CX59W68B/12TAX15W76CCX56W68L039/19,'86'93,/00/05,/12/1310400030     
B/44SB/44TMX10W77MX40W68NMW77W94AW77W94L039/58,/25/30,/37/44,/45/5210400031     
AW77W94AW77W94AW77W94AW77W94AW77W94    L035/93,/66/73,/80/87,04004010400032     
AW94W94MW94W77AW61W77AW61W77AX18W77    L035S28,S01S08,S15S22,04004010400033     
MX02099MW77089MZ/7W85MX36094CXP9W85    L035S63,S36S43,S50S57,04004010400034     
BT01TMW68W69SXP9W85DW85X32MX32W85BT08  L037T00,S69S76,S83S90,S9704010400035     
MX40W69AX43094MW692?1AX62099CX44W45    L035T35,T08T15,T22T29,04004010400036     
BT55SMW692?1AX62099CX65094BS57TAX62099 L038T73,T41T48,T55T62,T6704010400037     
CX44W45BT93SAX62099M099X02CX68099B909T L038U11,T81T86,T93U00,U0704010400038     
BU69CX44W45BU32SBU69AX14W61CX71W61B886TL039U50,U16U23,U28U32,U39U4610400039     
/332/,201BU69B0000HV26                 L022U72,U55U56,U60U64,U68U6910400040     
BV03CCX75X15BV03SCX53001BV03S2BV23B    L035V07,U78U85,U90U97,V02V0310400041     
LP00333M%U1001WB0000HV43LX15X75.       L032V39,V15V23,V27V28,V32V3910400042     
B0000HV60LX76V08.B000HV69              L025V64,V44V45,V49V56,V57V6110400043     
.B000HW41NMW44099MX36094/332           L028V92,V66V70,V74V75,V82V8910400044     
,201C094X92BW38SMP?1330BU69#W44099     L034W26,V97W04,W09W16,W2004010400045     
AX62094BV97B0001300WCOL:000            L027W53,W34W38,W42W45,W46W5110400046     
WROW:000PCHAR:00INDX:111               L024W77,W59W62,W68W69,W70W7510400047     
MASK2:00WORK3:000PCOL:000ZERO3         L030X07,W84W86,W92W95,X00X0310400048     
0000001100200516                       L016X23,X11X12,X15X16,X19X2210400049     
0804020101000                          L013X36,X26X28,X30X32,X33X3410400050     
012 00200  ,3                          L013X49,X40X41,X44X45,X48X4910400051     
.-$=24Z                                L007X56,X51X52,X53X54,X55X5610400052     
SJA001009132007                        L015X71,X58X59,X60X63,X66X6910400053     
0790N?160804                           L012X83,X75X76,X77X78,X80X8210400054     
0201000000000000000000000000000000     L034Y17,X86X88,X90X93,04004010400055     
0000000000000000000000000              L025Y42,040040,040040,04004010400056     
                                       L025Y67,040040,040040,04004010400057     
VISITED THE COMPUTER                   L025Y92,040040,040040,04004010400058     
  HISTORY MUSEUM         00000000000000L039Z31,040040,040040,04004010400059     
0412040404041414170102030431           L028Z59)Z32Z32,040040,04004010400060     
3102040201011402061018310202           L028Z87)Z60Z60,040040,04004010400061     
3116300101171406081630171714           L028!15)Z88Z88,040040,04004010400062     
3101020408080814171714171714           L028!43)!16!16,040040,04004010400063     
1417171501021200000000001212           L028!71)!44!44,040040,04004010400064     
1417171731171730171730171730           L028!99)!72!72,040040,04004010400065     
1417161616171424181717171824           L028J27)J00J00,040040,04004010400066     
3116163016163131161630161616           L028J55)J28J28,040040,04004010400067     
1417162317171517171731171717           L028J83)J56J56,040040,04004010400068     
1404040404041400000031000000           L028K11)J84J84,040040,04004010400069     
0702020202181217182224221817           L028K39)K12K12,040040,04004010400070     
1616161616163117272121171717           L028K67)K40K40,040040,04004010400071     
1717252119171714171717171714           L028K95)K68K68,040040,04004010400072     
3017173016161614171717212213           L028L23)K96K96,040040,04004010400073     
3017173020181700000000120408           L028L51)L24L24,040040,04004010400074     
0001020304160015161614010130           L028L79)L52L52,040040,04004010400075     
3104040404040417171717171714           L028M07)L80L80,040040,04004010400076     
1717171717100417171721212110           L028M35)M08M08,040040,04004010400077     
1717100410171717171710040404           L028M63)M36M36,040040,04004010400078     
3101020408163114171921251714           L028M91)M64M64,040040,04004010400079     
123456789012345678901234567890         L030N21,040040,040040,04004010400080     
"0                                     L002P01,P01040,040040,04004010400081     
                                       /338080                         0082     


Blurb-Draft


                                                                             001
                                                                             002
                                                                             003
                                                                             004
                                   1401 DATA  PROCESSING  SYSTEM             005
                                                                             006
                                                                             007
                                                                             008
THE IBM 1401 DATA PROCESSING SYSTEM,INTRODUCED IN OCTOBER 1959,WA            009
S ONE OF IBM'S MOST IMPORTANT AND SUCCESSFUL PRODUCTS. ABOUT                 010
15,000 1401-FAMILY COMPUTERS WERE MADE AND DELIVERED WORLDWIDE IN            011
 THE 1960'S,FAR EXCEEDING INITIAL EXPECTATIONS.  BY MARCH 1961               012
AFTER ONLY A SINGLE YEAR OF FULL PRODUCTION,2,000 MACHINES HAD AL            013
READY BEEN DELIVERED.  A YEAR LATER INCOME FROM THE 1401 LINE                014
SURPASSED THAT FROM UNIT RECORD ACCOUNTING MACHINES FOR THE FIRST            015
 TIME. CONVINCING IBM THAT THE ERA OF COMPUTERS HAD ARRIVED.                 016
BY 1964,40% OF ALL EXISTING COMPUTERS WERE IBM FAMILY MACHINES.              017
THE RUNAWAY SUCCESS OF THE 1401 INSPIRED TWO APPLICATION                     018
COMPATIBLE COMPUTERS: 1) THE HONEYWELL H-200 MARKETED AS THE "LIB            019
ERATOR", AND 2) THE IBM 360 MODEL 30, THE NATURAL SUCCESSOR TO               020
THE 1401, DELIVERED IN 1965, THAT EMULATED THE 1401'S INSTRUCTION            021
 SET VIA SPECIAL MICROCODE. THE 1401 AND FOLLOW-ON FAMILY                    022
COMPATIBLE MACHINES WERE SOLD UNTIL 1970.                                    023
                                                                             024
                                                                             025
                                                                             026
THE GOAL OF THE 1401'S DESIGN WAS TO BE A CAPABLE BUSINESS SYSTEM            027
 AT LEAST THREE TIMES AS FAST YET CHEAPER THAN THE UBIQUITOUS                028
PLUG-BOARD BASED UNIT-RECORD ACCOUNTING MACHINES OF THE 1950'S, T            029
HE IBM 402,407 AND 604. THE GOAL WAS ACHIEVED BY CLEVER DESIGN               030
OF THE SYSTEM ARCHITECTURE AND THE USE OF MODERATE-SPEED TRANSIST            031
OR CIRCUITRY.  THE METHOD OF READING DATA INTO CORE MEMORY AND               032
MANIPULATING IT THERE, ALONG WITH THE USE OF MAGNETIC TAPE TO REP            033
LACE BULKY CARD DECKS FOR MASTER AND SCRATCH DATA FILES, MADE                034
COLLATE/MERGE/PRINT OPERATIONS MUCH FASTER AND MUCH CHEAPER THAN             035
THE OLD CARD-BASED ACCOUNTING SYSTEMS.                                       036
                                                                             037
                                                                             038
1401 SYSTEMS COULD BE CONFIGURED WITH 1,400 TO 4,000 CHARACTERS O            039
F MEMORY IN THE CPU AND UP TO 12,000 MORE IN AN EXTENDED-MEMORY              040
EXTERNAL UNIT FOR A MAXIMUM OF 16,000. THE TYPICAL INSTALLATION H            041
AD 4,000 OR 8,000 CHARACTERS OF MEMORY FOR PROGRAMS AND DATA.                042
THE MEMORY TECHNOLOGY WAS MAGNETIC CORES, TINY FERRITE DONUTS WOV            043
EN BY HAND INTO A MESH OF FINE WIRES.  EACH DONUT CAN BE                     044
MAGNETIZED IN ONE OF TWO ORIENTATIONS WHICH CAN BE SENSED BY PULS            045
ING A CURRENT THROUGH THE MESH, GIVING A 1 OR 0 VALUE.  CORE                 046
MEMORY BEING HAND-MADE COST IBM AS MUCH AS $4/CHARACTER -- SEVERA            047
L HUNDRED MILLION TIMES THE PER-BYTE COST OF MEMORY TODAY.                   048
                                                                             049
                                                                             050
THE 1401 INSTRUCTION SET WAS DESIGNED FOR EFFICIENT HANDLING OF B            051
USINESS DATA-PROCESSING APPLICATIONS.  IT IS BASED AROUND THE USE            052
OF VARIABLE-LENGTH CHARACTER STRINGS AND DECIMAL ARITHMETIC ON VA            053
RIABLE-LENGTH DECIMAL OPERANDS, UNLIKE THE FIXED PRECISION BINARY            054
ARITHMETIC USED IN MOST CURRENT MACHINES.  A 1401 MEMORY POSITION            055
 HAS 6 DATA BITS PLUS AN END-OF-WORD MARK BIT AND A PARITY BIT.              056
THE 6 DATA BITS ALLOW FOR A SET OF AT MOST 64 CHARACTERS, THE WOR            057
D-MARK BIT DELIMITS THE END OF A VARIABLE-LENGTH OPERAND, EITHER             058
A STRING OR A DECIMAL NUMBER.                                                059
                                                                             060
                                                                             061
                                                                             062
CONTRIBUTING TO THE SUCCESS OF THE 1401 WAS ITS FAMILY OF HIGHLY             063
RELIABLE AND CAPABLE PERIPHERALS.  THE 1402 READER/PUNCH READS               064
AT 800 CARDS/MINUTE AND PUNCHES 250 CARDS/MINUTE. THE 1403 CHAIN             065
PRINTER WRITES UP TO 600 LINES/MINUTE.  AS MANY AS 6 REEL-TO-REEL            066
TAPE DRIVES COULD BE ATTACHED. lATER THE MODEL 1311 DISK STORAGE             067
UNIT BECAME AVAILABLE WITH REMOVABLE DISK PACKS HOLDING UP TO                068
2 MILLION CHARACTERS (WELL UNDER THE CAPACITY OF A REEL OF TAPE).            069
THERE WAS NO OPERATING SYSTEM SO PROGRAMS ACCESSED DISK DATA BY              070
PHYSICAL HEAD AND TRACK. IN 1965 DISKS AND AN OPERARTING SYSTEM B            071
ECAME STANDARD WITH THE IBM 360 LINE.                                        072
                                                                             073
                                                                             074
WHILE THE 1401 COST LESS TO MAKE THAN A UNIT-RECORD INSTALLATION             075
OF COMPARABLE ABILITY, THE 1401 WAS BY NO MEANS SIMPLE. A LARGE              076
1401 SYSTEM COMPRISES ABOUT 100,000 MECHANICAL PARTS AND ABOUT 50            077
,000 ELECTRICAL COMPONENTS, INCLUDING 10,000 TRANSISTORS AND                 078
14,000 DIODES ACROSS 3,000 SMS CARDS. EACH SYSTEM CAME WITH A ROL            079
LING CART WITH DOZENS OF LARGE BINDERS OF CIRCUIT DIAGRAMS AND               080
MAINTENANCE INSTRUCTIONS, AND MANY YARDS OF HEAVY, ARM-THICK DATA            081
 AND POWER CABLES TO CONNECT ITS UNITS.                                      082
                                                                             083
                                                                             084
THE IBM BUSINESS MODEL, DEVELOPED AROUND THE LARGELY-MECHANICAL U            085
NIT-RECORD BUSINESS, WAS TO BUILD TO A HIGH STANDARD AND TO RENT             086
NOT SELL,THE HARDWARE. A TYPICAL 4,000 CHARACTER 1401 SYSTEM RENT            087
ED FOR ABOUT $7,000 PER MONTH: ABOUT $50,000/MONTH IN TODAY'S                088
DOLLARS, ADJUSTED FOR INFLATION. THE LEASE FEE INCLUDED MAINTENAN            089
CE FROM IBM CUSTOMER ENGINEERS (C.E'S) ON CALL 24/7. IF ONE                  090
COMPARES THE COMPUTATIONAL POWER OF A MODERN PC TO THE 1401 SYSTE            091
M IN TODAY'S DOLLARS, THE MODERN PC IS ABOUT 10 BILLION TIMES                092
FASTER PER DOLLAR!                                                           093
                                                                             094
                                                                             095
                                                                             096
COMPUTER HISTORY MUSEUM VOLUNTEERS, INCLUDING ABOUT A DOZEN RETIR            097
ED IBM ENGINEERS, HAVE WORKED FOR OVER 10,000 HOURS AND 4 YEARS              098
TO FULLY RESTORE THIS 1401 SYSTEM.  WE'RE LOOKING FOR NEW VOLUNTE            099
ERS! IF INTERESTED, PLEASE SEE THE PROJECT WEB SITE AT                       100
HTTP://WWW.EDTHELEN.ORG/1401PROJECT/1401RESTORATIONPAGE.HTML                 101
-
ON APRIL 5, 2008
DAN MCINNIS
-

-

BILL WORTHINGTON
DAVID CORTESI
JIM SOMERS
STAN PADDOCK
DAN MCINNIS
-
=
?
$
NP00333M%U1001WB0000HV43LX15X75.       L032V39,V15V23,V27V28,V32V3910400042


return to
main page