home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Set of Apple II Hard Drive Images
/
eric.hdv
/
OBJSRC
/
STOPWTCH.SRC.txt
< prev
next >
Wrap
Text File
|
2020-08-13
|
2KB
|
97 lines
;--------------------
;
; STOPWATCH OBJECT: $12
;
; Hook stopwatch to interrupt 'I'
; Set stopwatch to zero 'Z'
; Pulse sent by interrupt 'P'
; Read stopwatch 'R' <hi-byte><lo-byte>
;
; OBJECT HEADER:
;-----------------
STOPWTCH EQU $12
HEAD12 LDA #$00
STA $FA
JSR USRVECT
DFB STOPWTCH
DFB 0,0,0,0,0,0,0
CLV
BVC CODE12
DFB $00
;
;INTERNAL DATA:
;--------------
COUNTER DFB $00,$00
;
INTRQMSG ASC 'H'
INTRQOBJ DFB $00
MIDISLMS ASC 'T'
MIDISLT DFB $00
STARTCLK ASC 'A'
STOPCLK ASC 'D'
;--------------------
CODE12 LDY #$00
LDA (MSG),Y
CMP #'I'
BNE CODE12P
; ;INIT- CALL INTRFACE TO HOOK US UP TO INTERRUPT
LDA #INTRFACE ; FIND OUT MIDI SLOT NUMBER (GET INTO MIDISL)
STA $FA
LDA $FD ;PASS IT OUR OBJECT #
STA INTRQOBJ
LDA #>INTRQMSG
STA $FB
LDA #<INTRQMSG
STA $FC
JSR USRVECT
RTS
;--------
CODE12P CMP #'P'
BNE CODE12Z
;
;SEND MESSAGE TO INTRFACE TO STOP CLOCK
;
LDA #INTRFACE
STA $FA
LDA #>STOPCLK
STA $FB
LDA #<STOPCLK
STA $FC
JSR USRVECT
;
INC COUNTER
BNE COUNTOK
INC COUNTER+1
;
COUNTOK LDA #INTRFACE
STA $FA
LDA #>STARTCLK
STA $FB
LDA #<STARTCLK
STA $FC
JSR USRVECT
;
;SEND MESSAGE TO START CLOCK
CLC
RTS
;
CODE12Z CMP #'Z'
BNE CODE12R
;
LDA #$00
STA COUNTER
STA COUNTER+1
RTS
;
CODE12R CMP #'R'
BNE BRK12A
INY
LDA COUNTER+1
STA (MSG),Y
INY
LDA COUNTER
STA (MSG),Y
RTS
;
BRK12A BRK