* ***************************************************************** * ***** SOURCE CONSTRUCTION OF DIAGNOSTICS 0001 THROUGH 0003. * ***** INTERPRETATION BY BOB FERETICH * ***************************************************************** * 1 2 3 4 5 6 7 *789012345678901234567890123456789012345678901234567890123456789012 *LABEL OP---OPERAND--------------------------------------------- * ***************************************************************** * ***** LOAD TEST, PART 1 - CHECK LOCATION 001 FOR A BLANK * ***** PRESS RESET THEN LOAD TO CONTINUE * ***** SET 000 TO 1399 WITH BLANKS * ***************************************************************** ORG 001 * SET SOME WORD MARKS AND READ THE NEXT CARD SW 008,015 * 001 , 008 015 SW 036,040 * 008 , 036 040 B RDCRD1 * 015 B 036 RDCRD1 R 001 * 036 R 001 * LOAD LOCATIONS 000 TO 1400 BLANKS AND HANG MACHINE ORG 001 * SET MORE WORD MARKS SW 008,015 * 001 , 008 015 SW 022,029 * 008 , 022 029 * LOAD BLANKS INTO 1399 LCA DATL1,1399 * 015 L 030 T99 * RIPPLE LOAD FROM 1399 TO 000; DECRIMENT 000 HANG LCA 1399,1398 * 022 L T99 T98 DATL1 DCW @ @ * 029 * ***************************************************************** * ***** LOAD TEST, PART 2 - CHECK LOCATION 001 FOR A G * ***** PRESS RESET THEN LOAD TO CONTINUE * ***** SET 000 TO 1399 WITH THE CHARACTER G * ***************************************************************** ORG 001 * SET WORD MARKS SW 008,015 * 001 , 008 015 SW 022,029 * 008 , 022 029 * LOAD CHARACTERS BLANK,G INTO 1398-1399 LCA DATL2,1399 * 015 L 030 T99 * RIPPLE LOAD FROM 1399 TO 000; DECRIMENT 000 HANG LCA 1399,1398 * 022 L T99 T98 DATL2 DCW @ G@ * 029 G * ***************************************************************** * ***** LOAD TEST, PART 3 - CHECK LOCATION 001 FOR A BLANK * ***** PRESS RESET THEN LOAD TO CONTINUE * ***** SET 000 TO 1999 WITH BLANKS * ***************************************************************** ORG 001 * SET WORD MARKS SW 008,015 * 001 , 008 015 SW 022,029 * 008 , 022 029 * LOAD BLANKS INTO 1998-1999 LCA DATL3,1999 * 015 L 030 Z99 * RIPPLE LOAD FROM 1999 TO 000; DECRIMENT 000 HANG LCA 1999,1998 * 022 L Z99 Z98 DATL3 DCW @ @ * 029 * ***************************************************************** * ***** LOAD TEST, PART 4 - CHECK LOCATION 001 FOR A G * ***** PRESS RESET THEN LOAD TO CONTINUE * ***** SET 000 TO 1999 WITH THE CHARACTER G * ***************************************************************** ORG 001 * SET WORD MARKS SW 008,015 * 001 , 008 015 SW 022,029 * 008 , 022 029 * LOAD CHARACTERS BLANK,G INTO 1998-1999 LCA DATL4,1999 * 015 L 030 Z99 * RIPPLE LOAD FROM 1999 TO 000; DECRIMENT 000 HANG LCA 1999,1998 * 022 L Z99 Z98 DATL4 DCW @ G@ * 029 G * ***************************************************************** * ***** LOAD TEST, PART 5 - CHECK LOCATION 001 FOR A BLANK * ***** PRESS RESET THEN LOAD TO CONTINUE * ***** SET 000 TO 3999 WITH BLANKS * ***************************************************************** ORG 001 * SET WORD MARKS SW 008,015 * 001 , 008 015 SW 022,029 * 008 , 022 029 * LOAD BLANKS INTO 3998-3999 LCA DATL5,3999 * 015 L 030 I99 * RIPPLE LOAD FROM 3999 TO 000; DECRIMENT 000 HANG LCA 3999,3998 * 022 L I99 I98 DATL5 DCW @ @ * 029 * ***************************************************************** * ***** LOAD TEST, PART 6 - CHECK LOCATION 001 FOR A G * ***** PRESS RESET THEN LOAD TO CONTINUE * ***** SET 000 TO 3999 WITH THE CHARACTER G * ***************************************************************** ORG 001 * SET WORD MARKS SW 008,015 * 001 , 008 015 SW 022,029 * 008 , 022 029 * LOAD CHARACTERS BLANK,G INTO 1398-1399 LCA DATL6,3999 * 015 L 030 I99 * RIPPLE LOAD FROM 3999 TO 000; DECRIMENT 000 HANG LCA 3999,3998 * 022 L I99 I98 DATL6 DCW @ G@ * 029 G * 1 2 3 4 5 6 7 *789012345678901234567890123456789012345678901234567890123456789012 *LABEL OP---OPERAND--------------------------------------------- * ***************************************************************** * ***** MOVE TEST, PART 1 - CHECK LOCATION 040 FOR A 1 * ***** PRESS START TO LOOP ON THIS TEST * ***** PRESS LOAD TO CONTINUE TO THE NEXT TEST * ***** SET 040 TO 1399 WITH THE CHARACTER 1 * ***************************************************************** ORG 001 * SET SOME WORD MARKS AND READ THE NEXT CARD SW 008,015 * 001 , 008 015 SW 036,040 * 008 , 036 040 B RDCRD7 * 015 B 036 RDCRD7 R 001 * 036 R 001 ORG 001 * SET MORE WORD MARKS SW 008,015 * 001 , 008 015 SW 022,029 * 008 , 022 029 SW 036,040 * 015 , 036 040 LPM1 MLC DATM1,1399 * 022 M 040 T99 MLC 1399,1398 RIPPLE MOVE FROM 1399 TO 040 * 029 M T99 T98 H LPM1 * 036 . 022 DATM1 DCW @1@ * 040 1 * ***************************************************************** * ***** MOVE TEST, PART 2 - CHECK LOCATION 040 FOR A 2 * ***** PRESS START TO LOOP ON THIS TEST * ***** PRESS LOAD TO CONTINUE TO THE NEXT TEST * ***** SET 040 TO 1399 WITH THE CHARACTER 2 * ***************************************************************** ORG 001 * SET MORE WORD MARKS SW 008,015 * 001 , 008 015 SW 022,029 * 008 , 022 029 SW 036,040 * 015 , 036 040 LPM2 MLC DATM2,1399 * 022 M 040 T99 MLC 1399,1398 RIPPLE MOVE FROM 1399 TO 040 * 029 M T99 T98 H LPM2 * 036 . 022 DATM2 DCW @2@ * 040 2 * ***************************************************************** * ***** MOVE TEST, PART 3 - CHECK LOCATION 040 FOR A 4 * ***** PRESS START TO LOOP ON THIS TEST * ***** PRESS LOAD TO CONTINUE TO THE NEXT TEST * ***** SET 040 TO 1399 WITH THE CHARACTER 4 * ***************************************************************** ORG 001 * SET MORE WORD MARKS SW 008,015 * 001 , 008 015 SW 022,029 * 008 , 022 029 SW 036,040 * 015 , 036 040 LPM3 MLC DATM3,1399 * 022 M 040 T99 MLC 1399,1398 RIPPLE MOVE FROM 1399 TO 040 * 029 M T99 T98 H LPM3 * 036 . 022 DATM3 DCW @4@ * 040 4 * ***************************************************************** * ***** MOVE TEST, PART 4 - CHECK LOCATION 040 FOR A 8 * ***** PRESS START TO LOOP ON THIS TEST * ***** PRESS LOAD TO CONTINUE TO THE NEXT TEST * ***** SET 040 TO 1399 WITH THE CHARACTER 8 * ***************************************************************** ORG 001 * SET MORE WORD MARKS SW 008,015 * 001 , 008 015 SW 022,029 * 008 , 022 029 SW 036,040 * 015 , 036 040 LPM4 MLC DATM4,1399 * 022 M 040 T99 MLC 1399,1398 RIPPLE MOVE FROM 1399 TO 040 * 029 M T99 T98 H LPM4 * 036 . 022 DATM4 DCW @8@ * 040 8 * ***************************************************************** * ***** MOVE TEST, PART 5 - CHECK LOCATION 040 FOR A A * ***** PRESS START TO LOOP ON THIS TEST * ***** PRESS LOAD TO CONTINUE TO THE NEXT TEST * ***** SET 040 TO 1399 WITH THE CHARACTER A * ***************************************************************** ORG 001 * SET MORE WORD MARKS SW 008,015 * 001 , 008 015 SW 022,029 * 008 , 022 029 SW 036,040 * 015 , 036 040 LPM5 MLC DATM5,1399 * 022 M 040 T99 MLC 1399,1398 RIPPLE MOVE FROM 1399 TO 040 * 029 M T99 T98 H LPM5 * 036 . 022 DATM5 DCW @A@ * 040 A * ***************************************************************** * ***** MOVE TEST, PART 6 - CHECK LOCATION 040 FOR A B * ***** PRESS START TO LOOP ON THIS TEST * ***** PRESS LOAD TO CONTINUE TO THE NEXT TEST * ***** SET 040 TO 1399 WITH THE CHARACTER B * ***************************************************************** ORG 001 * SET MORE WORD MARKS SW 008,015 * 001 , 008 015 SW 022,029 * 008 , 022 029 SW 036,040 * 015 , 036 040 LPM6 MLC DATM6,1399 * 022 M 040 T99 MLC 1399,1398 RIPPLE MOVE FROM 1399 TO 040 * 029 M T99 T98 H LPM6 * 036 . 022 DATM6 DCW @B@ * 040 B * ***************************************************************** * ***** MOVE TEST, PART 7 - CHECK LOCATION 040 FOR A D * ***** PRESS START TO LOOP ON THIS TEST * ***** PRESS LOAD TO CONTINUE TO THE NEXT TEST * ***** SET 040 TO 1399 WITH THE CHARACTER D * ***************************************************************** ORG 001 * SET MORE WORD MARKS SW 008,015 * 001 , 008 015 SW 022,029 * 008 , 022 029 SW 036,040 * 015 , 036 040 LPM7 MLC DATM7,1399 * 022 M 040 T99 MLC 1399,1398 RIPPLE MOVE FROM 1399 TO 040 * 029 M T99 T98 H LPM7 * 036 . 022 DATM7 DCW @D@ * 040 D * ***************************************************************** * ***** MOVE TEST, PART 8 - CHECK LOCATION 040 FOR A G * ***** PRESS START TO LOOP ON THIS TEST * ***** PRESS LOAD TO CONTINUE TO THE NEXT TEST * ***** SET 040 TO 1399 WITH THE CHARACTER G * ***************************************************************** ORG 001 * SET MORE WORD MARKS SW 008,015 * 001 , 008 015 SW 022,029 * 008 , 022 029 SW 036,040 * 015 , 036 040 LPM8 MLC DATM8,1399 * 022 M 040 T99 MLC 1399,1398 RIPPLE MOVE FROM 1399 TO 040 * 029 M T99 T98 H LPM8 * 036 . 022 DATM8 DCW @G@ * 040 G * 1 2 3 4 5 6 7 *789012345678901234567890123456789012345678901234567890123456789012 *LABEL OP---OPERAND--------------------------------------------- * ***************************************************************** * ***** SENSE SWITCH TEST * ***** 1. SET CONTROL LOCATIONS IN STORAGE... * ***** 1252(S52) TO 1 TO ENABLE PRINTING * ***** 1398(T98) TO " (GM) IF RUNNING FROM TAPE, * ***** YOUR NOT SO MAKE SURE ITS NOT A " (GM). * ***** THE TAPE SECTION OF THIS MODULE IS OMITTED. * ***** 2. TURN SENSE SWITCHES ON BEFORE STARTING * ***** 3. START DIAGNOSTIC * ***** TEST THAT SWITCHES ARE READ AS ON * ***** 4. IF PRINTING IS DISABLED THEN IF ERROR OCCURRED THEN HALT * ***** ELSE (NO ERROR) CONTINUE * ***** ELSE (PRINTING ENABLED) THEN PRINT SUCCESS OR ERROR MESSAGE * ***** 5. HALT 700, TURN SENSE SWITCHES OFF * ***** 6. PRESS START TO CONTINUE OR ALTER INSTRUCTION TO LOOP * ***** TEST THAT SWITCHES ARE READ AS OFF * ***** 7. IF PRINTING IS DISABLED THEN IF ERROR OCCURRED THEN HALT * ***** ELSE (NO ERROR) CONTINUE * ***** ELSE (PRINTING ENABLED) THEN PRINT SUCCESS OR ERROR MESSAGE * ***** 8. THE DIAGNOSTIC DOES NOT END CLEANLY. (SEE SUB1) * ***** IT READS EXTRA CARDS AND BRANCHES TO AN INVALID ADDRESS. * ***** IT CAN BE MADE TO END CLEANLY BY CHANGING * ***** 900-903 FROM B348 TO B361 * ***** * ***** MEMORY LAYOUT... * ***** 001-080 CARD READER BUFFER * ***** 201-332 PRINTER BUFFER * ***** 333-367 FIRST HALF OF DIAGNOSTIC * ***** 368-611 SECOND HALF OF DIAGNOSTIC * ***** 400 START ENTRY POINT FOR THE DIAGNOSTIC. * ***** 650-724 ERROR PRINT ROUTINE WITH SWITCHES ON * ***** 850-903 ERROR PRINT ROUTINE WITH SWITCHES OFF * ***** 1109-1199 (/09-/99) PRINT LINE CONSTANTS * ***** 1200-1245 (S00-S45) PRINTS * ***** BLANK LINE, 049-077, BLANK LINE, * ***** 3 SETS OF COUNTERS, BLANK LINE * ***** 3201-3260 (?01-?60) DATA AREA - COUNTERS AND CONSTANTS * ***** * ***** LOCATIONS 1252(S52), 1255(S55), 1288(S88), 1604(W04), * ***** AND 1398(T98) ARE REFERENCED, BUT NEVER LOADED. * ***** THERE SEEMS TO BE AN OPTIONAL MODULE THAT IS LOADED * ***** AT THESE LOCATIONS WHEN THE TAPE VERSION OF THIS * ***** DIAGNOSTIC IS LOADED. * ***** THE LOCATIONS ARE EXPECTED TO BE CLEARED, FOR THE * ***** DIAGNOSTIC TO RUN PROPERLY WITHOUT THE MODULE PRESENT. * ***** (BEING SET TO THE CHARACTER G IS OK TOO.) * ***** * ***** LOCATION 1398(T98) IS NEVER LOADED, BUT COMPARED TO " (GM) * ***** IF EQUAL, THE PROGRAMS STARTS AT W04, OTHERWISE IT * ***** STARTS AT 400 * ***** * ***** PRINT LINE LAYOUT... * *****2 2 2 2 2 2 2 * *****0 1 2 3 4 5 6 * *****123456789012345678901234567890123456789012345678901234567890 * *****COUNTERS SHOULD BE COUNTERS ARE * *****99 99 99 99 99 99 99 99 99 99 99 99 99 99 * *****2 2 2 2 3 3 3 * *****6 7 8 9 0 1 2 * *****123456789012345678901234567890123456789012345678901234567890 * ***** ERROR * ***** * ***** SHOULD BE COUNTER FIELDS * ***** 201-202 00 CYCLE CTR * ***** 204-205 00 B CTR * ***** 207-208 00 C CTR * ***** 210-211 00 D CTR * ***** 213-214 00 E CTR * ***** 216-217 00 F CTR * ***** 219-220 00 G CTR * ***** * ***** ARE COUNTER FIELDS * ***** 231-232 00 CYCLE CTR * ***** 234-235 00 B CTR * ***** 237-238 00 C CTR * ***** 240-241 00 D CTR * ***** 243-244 00 E CTR * ***** 246-247 00 F CTR * ***** 249-250 00 G CTR * ***** * ***** 281-285 EITHER THE WORD ERROR OR BLANKS * ***** * ***************************************************************** * ***************************************************************** * ***************************************************************** * ***** BOOTSTRAP LOADER SEGMENT * ***** THESE 3 CARDS CONSTRUCT A PROGRAM TO START AT 333. * ***** (DOES NOT PERFORM DIAGNOSTIC FUNCTION) * ***************************************************************** * ***************************************************************** ORG 001 CARD 0 0F 2 - HEADER * SET SOME WORD MARKS AND READ THE NEXT CARD SW 008,012 * 001 , 008 012 R 001 * 008 R 001 ORG 001 CARD 1 OF 2 * SET MORE WORD MARKS SW 008,012 * 001 , 008 012 SW 019 * 008 , 019 SW 026,030 * 015 , 026 030 * CONSTRUCT A PROGRAM JUST ABOVE THE PRINTER AREA * LOAD CHARACTERS FROM 30-65 TO 333-368 LCA DATS1,368 * 022 L 065 368 R 001 * 029 R 001 DATS1 DCW @,008012,00110011B361080AB421/340080 @ * 030 .... ORG 001 CARD 2 OF 2 * SET MORE WORD MARKS SW 037,044 * 001 , 037 044 NOP 000 * 008 N 000 * SET WORD MARKS IN CONSTRUCTED PROGRAM AREA 333-368 SW 340,344 * 012 , 340 344 SW 348,349 * 019 , 348 349 SW 357 * 026 , 357 SW 361,368 * 030 , 361 368 CS RDCRD,080 CLEAR THIS AND BRANCH TO LOADED PROGRAM * 037 , 333 080 * THIS IS THE LOADED PROGRAM * ***************************************************************** * ***************************************************************** * ***** RDCRD - READ NEXT CARD ROUTINE * ***** SET WORD MARKS AT 001,008,010 * ***** READ A CARD AND GOTO 001 * ***************************************************************** * ***************************************************************** ORG 333 CONSTRUCTED PROGRAM * SET WORD MARKS, READ A CARD, AND GOTO 001 RDCRD SW 008,012 * 333 , 008 012 SSLP1 SW 001 * 340 , 001 R 001 READ CARD & BRANCH TO 001 * 344 1 001 * ***************************************************************** * ***************************************************************** * ***** THE NEXT SECTION IS A ROUTINE THAT IS USED * ***** TO CONDITIONALLY TERMINATE THE LOADER. * ***** IT READS A CARD AND CHECKS COL 80 FOR AN @A@. * ***** IF IT IS AN @A@, * ***** THEN CLEAR THE CARD AREA, READ A NEW CARD, AND GOTO 001, * ***** THUS IGNORING THE CARD WITH THE @A@ * ***** IF ITS NOT AN @A@, WE BRANCH TO 421 * ***** WHICH IS IN THE MIDDLE OF AN INSTRUCTION!!! * ***************************************************************** * ***************************************************************** SUB1 R * 348 1 * THE BRANCH ADDRESS OF THE BELOW INSTRUCTION IS ALTERED MBR BCE SSSK1,080,A SKIP NEXT IF COL 80 EQ A * 349 B 361 080 A B 421 BRANCH TO INVALID ADDRESS * 357 B 421 SSSK1 CS SSLP1,080 CLEAR CARD AREA AND EXIT * 361 / 340 080 * ***************************************************************** * ***************************************************************** * ***************************************************************** * ***** CONSTRUCT THE TITLE PRINT ROUTINE AT LOCATION 1200. * ***** CARD 1 - LOAD THE PROGRAM CHARACTERS TO 1200. * ***** CARD 2 - SET WORD MARKS IN CARD READER BUFFER. * ***** CARD 3 - SET WORD MARKS AT THE 1200 REGION. * ***************************************************************** * ***************************************************************** * ***************************************************************** ORG 001 CARD 1 OF 3 LCA TPD1,S45 LOAD 012-057 TO 1200-1245 * 001 L 057 S45 R 001 * 008 R 001 TPD1 DCW @2,049L0772772/2772