| 195: | | CP "Y" | |
| 196: | | JR Z,WH2 | |
| 197: | | CP "N" | |
| 198: | | JR NZ,WH1 | ; TRTY AGAIN IF NOT Y OR |
| 199: | | JR PROMPT | ; REPROMPT IF "N" |
| 200: | WH2: | CALL CLRCRT | ; CLEAR SCREEN |
| 201: | | EX AF, AF' | |
| 202: | | CP "P" | ; WAS IT A "P"? |
| 203: | | JR Z, PROGRM | ; IF SO, GO TO PROGRAM |
| 204: | | CP "C" | ; WAS IT A "C"? |
| 205: | | JR Z, CMPARE | ; IF SO, GO TO COMPARE |
| 206: | | CP "T" | ; WAS IT A "T"? |
| 207: | | JR Z, TRNFER | ; IF SO, GO TO TRANSFER |
| 208: | | CP "E" | ; WAS IT AN "E"? |
| 209: | | JR Z, ERASED | ; IF SO, TEST FOR ERASURE |
| 210: | | CP "D" | ; WAS IT A "D"? |
| 211: | | JR Z, OUTPUT | ; IF SO, GO TO DUMP ROUTINE |
| 212: | | JR OPTION | ; INVALID ENTRY, TRY AGAIN |
| 213: | ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
| 214: | ; * ROUTINE TO PROGRAM EPROM * |
| 215: | ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
| 216: | PROGRM: | LD HL, TEXT17 | ; "COPIED INTO EPROM" |
| 217: | | LD DE, 0A4BH | |
| 218: | | LD BC, 11H | |
| 219: | | LDIR | |
| 220: | | CALL RAMADR | ; GET START ADDRESS |
| 221: | SETPIO: | CALL STPIO3 | ; PORT A LINES TO O/P |
| 222: | | LD A, (ROMFLG) | ; 1K OR 2K EPROM? |
| 223: | | CP 8 | |
| 224: | | JR Z, PR2716 | ; JUMP IF 2716 |
| 225: | | LD B, 68H | ; NUMBER OF CYCLES TO COUNT |
| 226: | PROGR1: | PUSH BC | ; SAVE CYCLES COUNT |
| 227: | | CALL RESET | ; RESET COUNTER, SET 12V AND WE |
| 228: | | LD DE, 0 | ; CLEAR COUNTER |
| 229: | | LD HL, (STOR1) | ; GET START ADDRESS |
| 230: | PROGR2: | LD A, (ROMFLG) | ; FLAG EQUALS 4 FOR 2708 |
| 231: | | CP D | ; IS D 4? |
| 232: | | JR Z, PROGR3 | ; IF SO, JUMP TO PROGR3 |
| 233: | | LD A, (HL) | ; ELSE GET BYTE AND |
| 234: | | OUT (ADATA), A | ; SEND IT TO THE EPROM |
| 235: | | LD B, 10H | ; SHORT DELAY TO ALLOW |
| 236: | HOLD: | DJNZ HOLD | ; DATA TO STABILISE |
| 237: | | LD A, 23H | ; OUTPUT CONTROLS TO PUT |
| 238: | | OUT (BDATA), A | ; 12V AND 26V ON EPROM |
| 239: | | LD B, 0EH | |
| 240: | DELAY1: | NOP | ; KEEP 26V ON FOR 1 mS |
| 241: | | DJNZ DELAY1 | |
| 242: | | LD A, 22H | ; NOWSWITCH 26v OFF |
| 243: | | OUT (BDATA), A | ; BUT KEEP 12V ON |
| 244: | | LD B, 10H | ; SHORT DELAY |
| 245: | HOLD1: | DJNZ HOLD1 | |
| 246: | | LD A, 26H | ; HOLD 12V AND INCREMENT |
| 247: | | OUT (BDATA), A | ; ADDRESS COUNTER |
| 248: | | LD B, 10H | ; SHORT DELAY |
| 249: | HOLD2: | DJNZ HOLD2 | |
| 250: | | LD A, 22H | ; 12V ONLY |
| 251: | | OUT (BDATA), A | |