home *** CD-ROM | disk | FTP | other *** search
/ Set of Apple II Hard Drive Images / eric.hdv / SOURCE / OHMMETER.SRC.txt < prev    next >
Text File  |  2020-08-13  |  2KB  |  63 lines

  1. ;OHMMETER.SRC
  2. ;
  3. ;THIS SUBROUTINE READS A RESISTANCE ON PDL(0)
  4. ;USING A 2 BYTE COUNTER, AND RETURNS THE
  5. ;RESISTANCE IN K-OHMS (APPROXIMATELY).
  6. ;
  7. ;THIS IS DONE BY DISCHARGING A .022uf CAPACITOR
  8. ;THROUGH THE RESISTANCE.  IT WILL DISCHARGE THROUGH
  9. ;A 1K RESISTOR IN 22 MICROSECONDS.  
  10. ;THE PADDLE TIMEOUT FLAG IS CHECKED EVERY 21 CYCLES.
  11. ;
  12. ;STORE THE PADDLE NUMBER (0-3) TO READ IN PDLNUM BEFORE CALLING.
  13. ;AFTER CALLING YOU SHOULD DELAY BEFORE READING A DIFFERENT PADDLE
  14. ;IN ORDER TO LET THE CAPACITOR FULLY DISCHARGE.
  15. ;
  16. PTRIG    EQU       $C070
  17. PDL0     EQU       $C064
  18. ;
  19.          ORG       $7000
  20. ;
  21.          JMP       ENTRY
  22. PDLNUM   DFB       $00
  23. OHMLOW   DFB       $00
  24. OHMHIGH  DFB       $00
  25. ENTRY    LDA       #$00
  26.          STA       OHMLOW
  27.          STA       OHMHIGH
  28.          LDA       PDLNUM
  29.          CMP       #$04
  30.          BCC       GOODPDL
  31.          BRK
  32. GOODPDL  LDA       #$64      ;ADD PADDLE # TO ADDRESS $C064
  33.          CLC
  34.          ADC       PDLNUM
  35.          STA       OHMLOOP+1
  36.          LDX       #$00
  37.          LDY       #$00
  38.          LDA       PTRIG               ;4
  39.          NOP                           ;2
  40.          NOP                           ;2
  41.          NOP                           ;2
  42.          NOP                           ;2
  43.          NOP                           ;2
  44.          NOP                           ;2
  45.          CLC                           ;2
  46.          BCC       OHMLOOP             ;3
  47. OHMLOOP  LDA       PDL0                ;4
  48.          BPL       LOOPDONE            ;2/3
  49.          INX                           ;2
  50.          NOP                           ;2
  51.          BEQ       OVER255             ;2/3
  52.          BNE       WAIT                ;2/3
  53. WAIT     BNE       GOBACK              ;2/3
  54. OVER255  INY                           ;2
  55.          BNE       GOBACK              ;3
  56. GOBACK   BNE       OHMLOOP             ;2/3
  57.          LDX       #$FF
  58.          LDY       #$FF
  59. LOOPDONE STX       OHMLOW
  60.          STY       OHMHIGH
  61.          RTS
  62. ;
  63.