home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / KAYPRO / KAYDIAG.LBR / BITCHK.MQC / BITCHK.MAC
Text File  |  2000-06-30  |  3KB  |  209 lines

  1. .Z80                    ;ASSY FOR Z80
  2. ;THIS IS THE SOURCE CODE FOR BITCHK.
  3. ;WRITTEN BY LARRY KRAEMER    12/3/83
  4. ;
  5. ;TO SET UP FOR THIS PROGRAM FIRST CALL A MACRO TO CLEAR THE SCREEN
  6. ;THEN MOVE THE PROGRAM AND MESSAGES HIGH IN MEMORY. SELECT THE VIDEO
  7. ;PAGE, TURN OFF THE DRIVES, AND TURN OFF THE DRIVE LED'S.  CLEAR THE
  8. ;SCREEN AGAIN AND START THE TEST BY PUTTING THE MESSAGES ON THE
  9. ;SCREEN OF THE TEST ADDRESS.  THIS TEST WILL RUN UNTIL THE SYSTEM
  10. ;IS REBOOTED.
  11. ;
  12. ;THE BAD ADDRESS WILL BE TESTED IN A LOOP AND IF A BAD BIT IS FOUND
  13. ;THERE WILL BE AN X AT THAT LOCATION.
  14. ;
  15. CR    EQU    0DH
  16. LF    EQU    0AH
  17. INIT    EQU    4E00H
  18. DEST    EQU    5000H
  19. START:
  20.     .XLIST
  21.     MACLIB    CPMMAC
  22.     .LIST
  23.     VERSN    '1.2'
  24.     IN    A,(01CH)
  25.     SET    6,A
  26.     OUT    (01CH),A
  27.     PRINT    MES0
  28.     DELAY    11H,00H
  29.     PRINT    MES1
  30.     LD    BC,04H
  31.     LD    HL,ADDR+4
  32. AGN1:    PUSH    BC
  33.     PUSH    HL
  34.     INPUT
  35.     POP    HL
  36.     POP    BC
  37.     LD    (HL),A
  38.     INC    HL
  39.     DEC    BC
  40.     LD    A,C
  41.     OR    B
  42.     JR    NZ,AGN1
  43.     LD    HL,RAM
  44.     LD    DE,INIT
  45.     LD    BC,ERAM-RAA
  46.     LDIR
  47.     LD    HL,ADDR+4
  48.     LD    DE,6004H
  49.     LD    BC,000AH
  50.     LDIR
  51.     LD    HL,RAM1
  52.     LD    DE,DEST
  53.     LD    BC,ERAM1-RA
  54.     LDIR
  55.     LD    HL,6004H
  56.     LD    BC,0004H
  57. B1:    LD    A,(HL)
  58.     CP    40H
  59.     JR    NC,CON3
  60.     OR    20H
  61.     LD    (HL),A
  62. CON3:    INC    HL
  63.     DEC    BC
  64.     LD    A,B
  65.     OR    C
  66.     JR    NZ,B1
  67.     LD    HL,6004H
  68.     LD    BC,0004H
  69. Z1:    LD    A,(HL)
  70.     CP    40H
  71.     JR    C,D
  72.     AND    07H
  73.     ADD    A,09H
  74.     JR    HR
  75. D:    AND    0FH
  76. HR:    DEC    HL
  77.     DEC    HL
  78.     DEC    HL
  79.     DEC    HL
  80.     LD    (HL),A
  81.     INC    HL
  82.     INC    HL
  83.     INC    HL
  84.     INC    HL
  85.     INC    HL
  86.     DEC    BC
  87.     LD    A,B
  88.     OR    C
  89.     JR    NZ,Z1
  90.     LD    A,(6000H)
  91.     RLCA
  92.     RLCA
  93.     RLCA
  94.     RLCA
  95.     LD    HL,6001H
  96.     OR    (HL)
  97.     LD    (5015H),A
  98.     LD    A,(6002H)
  99.     RLCA
  100.     RLCA
  101.     RLCA
  102.     RLCA
  103.     LD    HL,6003H
  104.     OR    (HL)
  105.     LD    (5014H),A
  106.     JP    INIT
  107. RAM:    .PHASE    INIT
  108. RAA:    IN    A,(01CH)
  109.     SET    7,A
  110.     SET    6,A
  111.     RES    0,A
  112.     RES    1,A
  113.     OUT    (01CH),A
  114.     LD    HL,3000H
  115.     LD    DE,3001H
  116.     LD    BC,0BFFH
  117.     LD    (HL),20H
  118.     LDIR
  119.     LD    HL,MSG1
  120.     LD    DE,3419H
  121.     LD    BC,1DH
  122.     LDIR
  123.     LD    HL,MSG2
  124.     LD    DE,351CH
  125.     LD    BC,16H
  126.     LDIR
  127.     LD    HL,MSG3
  128.     LD    DE,361DH
  129.     LD    BC,14H
  130.     LDIR
  131.     LD    HL,6004H
  132.     LD    DE,3724H
  133.     LD    BC,0004H
  134.     LDIR
  135.     DELAY    04H,00H
  136.     JP    DEST
  137. MSG1:    DEFM    "KAYPRO II MEMORY TEST PROGRAM"
  138. MSG2:    DEFM    "TESTING ALL EIGHT BITS"
  139. MSG3:    DEFM    "OF SPECIFIED ADDRESS"
  140. ERAM:    DEFB    00H
  141.     .DEPHASE
  142. .Z80
  143. RAM1:    .PHASE    DEST
  144. RA:    LD    B,08H
  145.     CALL    VON
  146.     LD    HL,3922H
  147. AGN:    LD    (HL),2AH
  148.     INC    HL
  149.     DJNZ    AGN
  150.     CALL    VOF
  151.     LD    B,00H
  152. MORE:    DEC    B
  153.     LD    HL,7000H
  154.     LD    A,B
  155.     LD    (HL),A
  156.     XOR    (HL)
  157.     JR    NZ,MORE
  158.     PUSH    BC
  159.     LD    B,08H
  160.     LD    HL,3922H
  161. ROT:    RLCA
  162.     JR    C,ERROR
  163.     INC    HL
  164.     DJNZ    ROT
  165.     JR    ANOTHR
  166. ERROR:    CALL    VON
  167.     LD    (HL),58H
  168.     INC    HL
  169.     CALL    VOF
  170.     DJNZ    ROT
  171. ANOTHR:    LD    HL,3922H
  172.     POP    BC
  173.     JR    MORE
  174. VON:    PUSH    AF
  175.     IN    A,(01CH)
  176.     SET    7,A
  177.     OUT    (01CH),A
  178.     POP    AF
  179.     RET
  180. VOF:    PUSH    AF
  181.     IN    A,(01CH)
  182.     RES    7,A
  183.     OUT    (01CH),A
  184.     POP    AF
  185.     RET
  186. ERAM1:    DEFB    00H
  187.     DEFB    00H
  188.     DEFB    00H
  189.     .DEPHASE
  190. MES0:    DEFB    CR,LF,LF,LF,LF,LF,LF,LF,LF,LF
  191.     DEFB    LF,LF,LF,LF,LF,LF,LF,LF,LF
  192.     DEFM    "                         GREETINGS  ! ! ! !"
  193.     DEFB    LF,LF
  194.     DEFM    "     THIS DIAGNOSTIC PROGRAM IS FURNISHED BY LARRY KRAEMER"
  195.     DEFB    CR,LF
  196.     DEFM    "                    FOR ALL KAYPRO II OWNERS. "
  197.     DEFB    LF,LF,LF,LF,LF,LF,LF
  198.     DEFB    "$"
  199. MES1:    DEFB    CR,LF,LF,LF,LF,LF,LF,LF,LF
  200.     DEFB    LF,LF,LF,LF,LF,LF,LF,LF,LF
  201.     DEFM    "           INPUT THE HEX ADDRESS YOU WISH TO TEST WITH BITCHK "
  202.     DEFB    CR,LF,LF,LF,LF,LF,LF,LF
  203.     DEFM    "$"
  204. ADDR:    DEFB    CR,LF
  205.     DEFS    4H
  206.     DEFB    CR,LF
  207.     DEFM    "$"
  208.     END    START
  209.