PROGRAM 0 187 BYTES DPY-QUICK 80186 OPERATIONS EXECUTE PROGRAM 5 0: LABEL 0 DPY-QUICK RAM TEST ?A IF REGA = 0 GOTO 1 EXECUTE PROGRAM 1 1: LABEL 1 DPY-QUICK ROM TEST ?A IF REGA = 0 GOTO 2 EXECUTE PROGRAM 2 2: LABEL 2 DPY-QUICK FILL OR VERIFY ?A IF REGA = 0 GOTO 3 EXECUTE PROGRAM 3 3: LABEL 3 DPY-QUICK RAMP ?A IF REGA = 0 GOTO 0 EXECUTE PROGRAM 4 PROGRAM 1 374 BYTES DPY-ADDRESS INCREMENT? /A REGB = REGA SHL SHL SHL SHL REGB = REGB OR 1 DPY-BEGINNING ADDRESS? /A REG9 = REGA OR 2000000 DPY-ENDING ADDRESS? /A REG8 = REGA OR 2000000 WRITE @ REG9 = 0 WRITE @ REG8 = REGB 0: LABEL 0 READ @ REGF IF REGE AND F0 = F0 GOTO 1 IF REGE AND FF = C0 GOTO 2 IF REGE AND F0 = A0 GOTO 3 DPY-BUSY, STATUS $E EXECUTE PROGRAM 5 GOTO 0 3: LABEL 3 DPY-TEST ABORTED GOTO 4 1: LABEL 1 READ @ 200000A REG1 = REGE SHL SHL SHL SHL SHL SHL SHL SHL SHL SHL SHL SHL SHL SHL SHL SHL READ @ 2000008 REG1 = REG1 OR REGE READ @ 2000010 IF REGE = F0 GOTO 5 IF REGE = F1 GOTO 6 GOTO 0 5: LABEL 5 DPY-FAILED RD/WR ERROR @ $1 GOTO 4 6: LABEL 6 DPY-FAILED, DECODING ERROR @ $1 GOTO 4 2: LABEL 2 DPY-RAM OK 4: LABEL 4 STOP PROGRAM 2 308 BYTES DPY-ADDRESS INCREMENT? /A REGB = REGA SHL SHL SHL SHL REGB = REGB OR 1 DPY-BEGINNING ADDRESS? /A REG9 = REGA OR 3000000 DPY-ENDING ADDRESS? /A REG8 = REGA OR 3000000 WRITE @ REG9 = 0 WRITE @ REG8 = REGB 0: LABEL 0 READ @ REGF IF REGE AND F0 = C0 GOTO 1 IF REGE AND F0 = A0 GOTO 2 DPY-BUSY, STATUS $E EXECUTE PROGRAM 5 GOTO 0 1: LABEL 1 READ @ REGF IF REGE AND FF = C1 GOTO 3 IF REGE AND FF = C0 GOTO 4 2: LABEL 2 DPY-TEST ABORTED GOTO 5 3: LABEL 3 READ @ 300000E DPY-INACTIVE BITS DETECTED $E GOTO 5 4: LABEL 4 READ @ 300000C DPY-CHECKSUM = $E GOTO 5 5: LABEL 5 STOP PROGRAM 3 495 BYTES DPY-BEGINNING ADDRESS? /9 DPY-ENDING ADDRESS? /8 DPY-FILL MEMORY ?A IF REGA = 1 GOTO 0 DPY-VERIFY MEMORY ?A IF REGA = 1 GOTO 1 DPY-FILL AND VERIFY ?A IF REGA = 1 GOTO 2 0: LABEL 0 REG1 = 1 DPY-FILL DATA? /A WRITE @ REG9 = REGA GOTO 3 1: LABEL 1 REG1 = 2 GOTO 3 2: LABEL 2 REG1 = 3 DPY-FILL DATA? /A WRITE @ REG9 = REGA GOTO 3 3: LABEL 3 DPY-ADDRESS INCREMENT? /A REGB = REGA SHL SHL SHL SHL REGB = REGB OR REG1 REG9 = REG9 OR 4000000 REG8 = REG8 OR 4000000 WRITE @ REG9 = 0 WRITE @ REG8 = REGB 4: LABEL 4 READ @ REGF IF REGE AND F0 = F0 GOTO 5 IF REGE AND F0 = C0 GOTO 6 IF REGE AND F0 = A0 GOTO 7 DPY-BUSY, STATUS $E EXECUTE PROGRAM 5 GOTO 4 5: LABEL 5 READ @ 400000A REG1 = REGE SHL SHL SHL SHL SHL SHL SHL SHL SHL SHL SHL SHL SHL SHL SHL SHL READ @ 4000008 REG1 = REG1 OR REGE DPY-FAILED VERIFY @ $1 GOTO 8 6: LABEL 6 DPY-TEST COMPLETE, NO ERRORS GOTO 8 7: LABEL 7 DPY-TEST ABORTED GOTO 8 8: LABEL 8 STOP PROGRAM 4 141 BYTES DPY- ADDRESS OF RAMP? /A REGF = REGA REGF = REGF OR 5000000 WRITE @ REGF = 0 0: LABEL 0 READ @ REGF IF REGE AND F0 = C0 GOTO 1 IF REGE AND F0 = A0 GOTO 2 DPY-BUSY STATUS $E EXECUTE PROGRAM 5 GOTO 0 1: LABEL 1 DPY-RAMP COMPLETE STOP 2: LABEL 2 DPY-TEST ABORTED STOP PROGRAM 5 25 BYTES REG1 = 30 0: LABEL 0 REG1 = REG1 DEC IF REG1 > 0 GOTO 0