309: | | JR Z, PRINTD | |
310: | | JP PR27A | |
311: | PRINTD: | LD A, D | |
312: | | DEFB SCAL, B2HEX | ; O/P COUNT TO SCREEN |
313: | | DEFB SCAL, CRLF | |
314: | | JP PR27A | |
315: | ; | | |
316: | ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
317: | ; * ROUTINE TO COMPARE EPROM/1K BLOCK * |
318: | ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
319: | CMPARE: | LD HL, TEXT8 | ; "COMPARED TO EPROM |
320: | | LD DE, 0A4BH | |
321: | | LD BC, 11H | |
322: | | LDIR | |
323: | | LD A, 0 | |
324: | | LD (ERRFLG), A | ; SET ERROR FLAG |
325: | | CALL RAMADR | ; GET START ADDRESS |
326: | | LD DE, 0 | ; CLEAR BYTE COUNTER |
327: | VERFY2: | LD A, (ROMFLG) | |
328: | | CP D | ; ALL DONE? |
329: | | JR Z, VERFY4 | ; IF SO, JUMP TO VERFY4 |
330: | | CALL ENABLE | ; TRUN ON CHIP |
331: | | IN A, (ADATA) | ; GET BYTE FROM EPROM |
332: | | PUSH AF | ; SAVE IT |
333: | | CALL COUNT | ; INCREMENT ADDRESS, CHIP OFF |
334: | | POP AF; | ; GET BYTE BACK |
335: | | CP (HL) | ; ARE THEY THE SAME? |
336: | | JR NZ, ERROR | ; IF ERROR, PRINT IT |
337: | VERFY3: | INC HL | ; NEXT BYTE TO COMPARE |
338: | | INC DE | ; INCREMENT BYTE COUNTER |
339: | | JR VERFY2 | |
340: | ERROR: | LD A, 0FFH | ; ERROR FLAG |
341: | | LD (ERRFLG), A | |
342: | | LD A, H | ; PRINT ERROR ADDRESS |
343: | | DEFB SCAL, B2HEX | |
344: | | LD A, L | |
345: | | DEFB SCAL, B2HEX | |
346: | ; | DEFB SCAL, TDEL | ; OPTIONAL DELAY |
347: | ; IF DELAY REQUIRED, REMOVE FIRST COLON ON ABOVE LINE |
348: | | DEFB SCAL, CRLF | ; SCROLL DISPLAY |
349: | | JR VERFY3 | ; NEXT BYTE |
The remainder of the listing will be published in the
next issue.
If you don’t wish
to wait that long, or you can’t be bothered to type it all in – after all the source code is
18K long – I will provide copies of the source and object codes. Just send me a
cassette, or a disc with approximately 26K free, and £1 to cover copying and
postage. Source can be supplied in Zeap compatible form or Macro 80 form. Please
state which you require. Also please state the disc format required; I can supply
single or double density to suit either CP/M or Polydos, for Nascom/Gemini
G805/G809
C. Bowden, ‘_______’, Stithians, Truro, Cornwall