EPROM Programmer/Checker/Reader
by C. Bowden
This article continues the
listing of the controlling software
for the Eprom programmer.
| 350 | VERFY4 | CALL RESET1 |  | 
| 351 |  | LD A, (ERRFLG) |  | 
| 352 |  | CP 0FFH | ; IF 0FFH, THERE WERE ERRORS | 
| 353 |  | JR Z, VERFY5 | ; SO SKIP O.K. MESSAGE | 
| 354 |  | CALL CLRCRT |  | 
| 355 |  | LD HL, TEXT16 | ; ELSE SAY COMPARISON O.K. | 
| 356 |  | LD DE, 090BH |  | 
| 357 |  | LD BC, 1BH |  | 
| 358 |  | LDIR |  | 
| 359 |  | JR VERFY6 |  | 
| 360 | VERFY5 | DEFB SCAL, TDEL | ; HOLD DISPLAY 2 SECS | 
| 361 |  | DEFB SCAL, TDEL |  | 
| 362 |  | LD HL, TEXT5 | ; ERROR MESSAGEREEN | 
| 363 |  |  |  | 
| 364 |  | LD DE, 090BH |  | 
| 365 |  | LD BC, 24 |  | 
| 366 |  | LDIR |  | 
| 367 | VERFY6 | DEFB SCAL. TDEL | ; 2 SECS PAUSE | 
| 368 |  | DEFB SCAL, TDEL |  | 
| 369 |  | JP RESTRT | ; EXIT ROUTINE | 
| 370 | ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * | 
| 371 | ; ROUTINE TO COPY EPROM INTO RAM | 
| 372 | ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * | 
| 373 | TRNFER | LD HL, TEXT9 | ; 'FILLED FROM EPROM' | 
| 374 |  | LD DE, 0A4BH |  | 
| 375 |  | LD BC, 11H |  | 
| 376 |  | LDIR |  | 
| 377 |  | CALL RAMADR |  | 
| 378 |  | LD DE, 0000H |  | 
| 379 | TRNFR1 | LD A, (ROMFLG) |  | 
| 380 |  | CP D |  | 
| 381 |  | JR Z, TRNFR2 | ; JUMP IF ALL DONE | 
| 382 |  | CALL ENABLE |  | 
| 383 |  | IN A, (ADATA) | ; GET BYTE FROM EPROM | 
| 384 |  | LD (HL), A | ; STORE IT IN MEMORY | 
| 385 |  | CALL COUNT | ; INCR. ADD., DISABLE CHIP | 
| 386 |  | INC HL | ; NEXT MEMORY LOCATION | 
| 387 |  | INC DE | ; INCREMENT BYTE COUNTER | 
| 388 |  | JR TRNFR1 | ; CONTINUE TILL FINISHED | 
| 389 | TRNFR2 | CALL RESET1 |  | 
| 390 |  | CALL MESS19 | ; ALL DONE MESSAGE | 
| 391 |  | JP RESTRT |  | 
| 392 | ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * | 
| 393 | ; ROUTINE TO CHECK IF FULLY ERASED | 
| 394 | ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * | 
| 395 | ERASED | LD DE, 0000 |  | 
| 396 | ERA1 | LD A, (ROMFLG) |  | 
| 397 |  | CP D |  | 
| 398 |  | JR Z, ERA3 | ; JUMP IF FINISHED | 
| 399 |  | CALL ENABLE |  | 
| 400 |  | IN A, (ADATA) | ; GET BYTE FROM EPROM | 
| 401 |  | CP 0FFH | ; IS IT 'FF' |