home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / cpm / dirutl / edir.lbr / NO-ERRS.AZM / NO-ERRS.ASM
Assembly Source File  |  1987-12-24  |  2KB  |  61 lines

  1.  
  2. ;NO-ERRS FOR CP/M 2.2 AS OF 11/28/87
  3. ;COPYRIGHT (C) 1987 ROBERT GREENLEE, P.O. BOX 23286, SAN DIEGO CA 92123
  4. ;PHONE VOICE 619-268-0112
  5. ;      MODEM 619-569-8613.
  6. ;
  7. ;THIS PROGRAM IS A PAL OF EDIR'S.  REFER TO EDIR.DOC.
  8. ;
  9. ;THIS PROGRAM PREVENTS THE BIOS DISK READ FUNCTION FROM REPORTING READ ERRORS.
  10. ;
  11.  
  12. ORG 0100H
  13.  
  14. JMP START
  15.  
  16. MESSAGE:
  17. DB 0DH,0AH
  18. DB 'NO-ERRS v1.0 (C) 1987 by Robert Greenlee, P.O. Box 23286,',0DH,0AH
  19. DB 'San Diego, CA 92123.  619-268-0112 Voice.  Modem 619-569-8613.',0DH,0AH
  20. DB 0DH,0AH
  21. DB 'This program prevents the DISK READ function in the CP/M BIOS',0DH,0AH
  22. DB 'from reporting disk read errors.  That will prevent CP/M and',0DH,0AH
  23. DB 'most CP/M programs from detecting and responding to bad disk',0DH,0AH
  24. DB 'sectors.  Please refer to EDIR.DOC for examples of how this',0DH,0AH
  25. DB 'program can be of use.',0DH,0AH
  26. DB 0DH,0AH
  27. DB 'To terminate NO-ERRS you must reset your computer.',0DH,0AH
  28. DB '$'
  29.  
  30.  
  31. START:
  32. MVI C,9
  33. LXI D,MESSAGE    ;GIVE SIGNON MESSAGE
  34. CALL 5
  35.  
  36. LDA 2
  37. MOV D,A
  38. MVI E,28H       ;DE POINTS TO BIOS READSEC VECTOR (LSB) 
  39. LXI H,84        ;HL POINTS TO HOPEFULLY UNUSED LOCATIONS IN LOW MEM
  40. MVI M,0CDH      ;OPCODE FOR CALL
  41. INX H
  42. LDAX D
  43. MOV M,A         ;LSB FOR CALL WHICH WILL CALL READSEC IN BIOS
  44. MVI A,84
  45. STAX D          ;SWITCH BIOS JMP TO READSEC TO COME TO LOW MEMORY CALL
  46. INX H
  47. INX D
  48. LDAX D                                  
  49. MOV M,A         ;SET MSB
  50. MVI A,0
  51. STAX D
  52. INX H
  53. MVI M,0AFH      ;DOING XRA A AFTER EACH CALL TO READSEC WILL STOP
  54. INX H           ; ERRORS FROM GETTING THROUGH
  55. MVI M,0C9H
  56.  
  57. RET
  58.  
  59.  END
  60.  
  61.