DAP
Demo Assurance Program
by Dan McInnis
Notes from Dan McInnis DAP.cd The write up should be done in conjunction with running since SIMH doesn't give exactly the same indications as the real 1401, I think. It will require that the printer,punch, reader and tape unit 1 be on. It reads the data card, compares what it read with what it thinks it should be, prints two card images, punches two card images,writes two card images to tape, backspaces, reads the image and compares the first 12 characters. I had a bunch of branch on errors but SIMH didn't like how I did it so took them out. Also had skip two spaces between each print line but SIMH didn't like that either. Therefore we have at this juncture a trimmed down program without much checking. I guess my feel is this should just make sure the devices are operational. If this gets off the ground, I can put in more checking and stuff. If you should get to run DAP, there are two halts. the first at address 346, is to make sure everything is turned on. The second at 546 would mean program completion. Halt 530 or 531 read error, 532 tape error. Printer or punch error would be from inspection or output. --- object deck of 1401 DEMONSTRATION ASSURANCE PROGRAM --- ,008015,019026,030,034041,045,053,0570571026 0001 L068112,102106,113/101099/I99,027A070028)027B0010270B0261,001/001113I0 0002 ,008015,022029,036040,047054,061068,072/061039 ,00100110400003 /080,001/332/.FA1 L017349,337341,345346,34734910400004 C012549B530/,351A552353C353555B393S)351L039388,357362,366373,38038510400005 B350,073C080545B531/)073M0802802 L032420,393397,404409,41342010400006 M5562012M0801804M5571014L550081 L031451,428429,436437,44444510400007 /299L550281U%U1RM%U1001WM%U1001WU%U1B L037488,456463,468476,48404010400008 M%U1201R,201C212549B532/22U%U1R L031519,497501,508513,51451510400009 /299FA.341...2 L014533,524526,530531,53253310400010 .5260123456789SK"1208412 L024557,538550,551553,55655710400011 /333080 0012 0123456789SK0123456789SK0123456789SK0123456789SK0123456789SK0123456789SK01234567 --- end of deck ---
CLEAR STORAGE 1 ,008015,019026,030,034041,045,053,0570571026 1 CLEAR STORAGE 2 L068112,102106,113/101099/I99,027A070028)027B0010270B0261,001/001113I0 2 BOOTSTRAP ,008015,022029,036040,047054,061068,072/061039 ,0010011040 3 0 1401 DEMONSTRATION ASSURANCE PROGRAM (DAP) PAGE 1 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 101 JOB 1401 DEMONSTRATION ASSURANCE PROGRAM (DAP) 102 * CTL 6611 103 *************************************************************************** 104 * 105 * 106 * PROVIDE A PROGRAM TO ASSURE ALL COMPONENTS OF THE 107 * 1401 SYSTEM ARE OPERATIONAL. TO BE USED BY DEMONSTRATORS 108 * BEFORE RUNNING DEMONSTRATIONS FOR MUSEUM VISITORS. 109 * 110 * PROGRAM WRITTEN IN AUTOCODER 111 * PROGRAMMER: DAN MCINNIS 112 * DATE: APRIL 16, 2007 113 * 114 *************************************************************************** 115 * 116 ORG 333 0333 117 * 118 * 119 * CLEAR CARD READER STORAGE AND SET WORD MARK AT LOCATION 1 120 * 121 BEGIN CS 080 4 0333 / 080 4 122 SW 001 4 0337 , 001 4 123 * CLEAR PRINT STORAGE 124 START CS 332 4 0341 / 332 4 125 CS 1 0345 / 4 126 H *HALT CHECK PRINTER,PUNCH,TA 1 0346 . 4 127 * READ DATA CARD AND TEST VALIDITY 128 CC A *SKIP PAPER TO CHANNEL 1 2 0347 F A 4 129 R *READ DATA CARD 1 0349 1 4 130 CLOOP C 012,CDDATA *COMPARE 12 CHARS IN CARD AR 7 0350 C 012 549 5 131 BU RDER1 *BRANCH IF UNEQUAL - READ E 5 0357 B 530 / 5 132 SW *-14 *SET WORD MARK FOR ADD 4 0362 , 351 5 133 A @12@,*-19 *ADD 12 TO CARD AREA ADDRESS 7 0366 A 552 353 5 134 C *-26,@084@ *COMPARE ADDRESS LAST FULL A 7 0373 C 353 555 5 135 BE ENDRD *IF LAST GO TO NEXT COMPARE 5 0380 B 393 S 5 136 CW *-37 *CLEAR WORD MARK FROM ADDRES 4 0385 ) 351 5 137 B CLOOP *GO BACK TO COMPARE AGAIN 4 0389 B 350 6 138 ENDRD SW 073 *LAST AREA SET WORD MARK 4 0393 , 073 6 139 C 80,CDDATA-4 *COMPARE 8 CHARACTERS 7 0397 C 080 545 6 140 BU RDER2 *BRANCH IF UNEQUAL- READ ERR 5 0404 B 531 / 6 141 CW 073 *CLEAR WORD MARKREAD AREA 4 0409 ) 073 6 142 MCW 080,280 *MOVE CARD DATA PRINT AREA 7 0413 M 080 280 6 143 W *PRINT DATA 1 0420 2 6 144 MCW @1@,201 7 0421 M 556 201 7 145 W *PRINT DATA AGAIN 1 0428 2 7 146 MCW 080,180 *MOVE DATA TO PUNCH AREA 7 0429 M 080 180 7 147 P *PUNCH CARD 1 0436 4 7 1 1401 DEMONSTRATION ASSURANCE PROGRAM (DAP) PAGE 2 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 148 MCW @2@,101 7 0437 M 557 101 7 149 P *PUNCH ANOTHER CARD 1 0444 4 7 150 TAPE LCA GRPMRK,081 *GROUP MARK TO 81 7 0445 L 550 081 7 151 CS 299 *CLEAR PRINT AREA 4 0452 / 299 8 152 LCA GRPMRK,281 *GROUP MARK TO 281 7 0456 L 550 281 8 153 RWD 1 *REWIND TAPE 1 5 0463 U %U1 R 8 154 WT 1,001 *WRITE CARD AREA TO TAPE 1 8 0468 M %U1 001 W 8 155 WT 1,001 *WRITE SECOND RECORD 8 0476 M %U1 001 W 8 156 BSP 1 *BACKSPACE OVER LAST RECORD 5 0484 U %U1 B 8 157 RT 1,201 *READ IN RECORD 8 0489 M %U1 201 R 9 158 SW 201 *SW PRINT AREA 4 0497 , 201 9 159 C 212,CDDATA *COMPARE FIRST 12 CHARS 7 0501 C 212 549 9 160 BU TPER1 *TAPE ERROR 5 0508 B 532 / 9 161 W 1 0513 2 9 162 W *PRINT TAPE DATA 1 0514 2 9 163 RWD 1 *REWIND TAPE 5 0515 U %U1 R 9 164 CS 299 *CLEAR PRINT AREA 4 0520 / 299 10 165 CC A *SKIP PAPER TO BEGINNING 2 0524 F A 10 166 END H START *RESTART PROGRAM 4 0526 . 341 10 167 * START OF ERROR HALT LOCATIONS 168 RDER1 H 1 0530 . 10 169 RDER2 H 1 0531 . 10 170 TPER1 H *DEBUG HALT INST 1 0532 . 10 171 W 1 0533 2 10 172 H END 4 0534 . 526 11 173 * START OF LITERAL LOCATION 174 CDDATA DCW @0123456789SK@ *DATA 12 0549 11 175 GRPMRK DCW @"@ *GROUP MARK 1 0550 GMARK 11 DCW @12@ 2 0552 LIT 11 DCW @084@ 3 0555 LIT 11 DCW @1@ 1 0556 LIT 11 DCW @2@ 1 0557 LIT 11 176 END BEGIN / 333 080 1 1401 DEMONSTRATION ASSURANCE PROGRAM (DAP) PAGE 3 0SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS BEGIN 333 CDDATA 549 CLOOP 350 END 526 ENDRD 393 GRPMRK 550 RDER1 530 RDER2 531 START 341 TAPE 445 TPER1 532