home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Set of Apple II Hard Drive Images
/
pdoseric.hdv
/
SOURCE
/
ERICSRC2
/
OHMMETER.SRC
< prev
next >
Wrap
Text File
|
1997-12-14
|
2KB
|
63 lines
;OHMMETER.SRC
;
;THIS SUBROUTINE READS A RESISTANCE ON PDL(0)
;USING A 2 BYTE COUNTER, AND RETURNS THE
;RESISTANCE IN K-OHMS (APPROXIMATELY).
;
;THIS IS DONE BY DISCHARGING A .022uf CAPACITOR
;THROUGH THE RESISTANCE. IT WILL DISCHARGE THROUGH
;A 1K RESISTOR IN 22 MICROSECONDS.
;THE PADDLE TIMEOUT FLAG IS CHECKED EVERY 21 CYCLES.
;
;STORE THE PADDLE NUMBER (0-3) TO READ IN PDLNUM BEFORE CALLING.
;AFTER CALLING YOU SHOULD DELAY BEFORE READING A DIFFERENT PADDLE
;IN ORDER TO LET THE CAPACITOR FULLY DISCHARGE.
;
PTRIG EQU $C070
PDL0 EQU $C064
;
ORG $7000
;
JMP ENTRY
PDLNUM DFB $00
OHMLOW DFB $00
OHMHIGH DFB $00
ENTRY LDA #$00
STA OHMLOW
STA OHMHIGH
LDA PDLNUM
CMP #$04
BCC GOODPDL
BRK
GOODPDL LDA #$64 ;ADD PADDLE # TO ADDRESS $C064
CLC
ADC PDLNUM
STA OHMLOOP+1
LDX #$00
LDY #$00
LDA PTRIG ;4
NOP ;2
NOP ;2
NOP ;2
NOP ;2
NOP ;2
NOP ;2
CLC ;2
BCC OHMLOOP ;3
OHMLOOP LDA PDL0 ;4
BPL LOOPDONE ;2/3
INX ;2
NOP ;2
BEQ OVER255 ;2/3
BNE WAIT ;2/3
WAIT BNE GOBACK ;2/3
OVER255 INY ;2
BNE GOBACK ;3
GOBACK BNE OHMLOOP ;2/3
LDX #$FF
LDY #$FF
LOOPDONE STX OHMLOW
STY OHMHIGH
RTS
;