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

  1. ;--------------------
  2. ;
  3. ; STOPWATCH OBJECT: $12
  4. ;
  5. ;        Hook stopwatch to interrupt   'I'
  6. ;        Set stopwatch to zero         'Z'
  7. ;        Pulse sent by interrupt       'P'
  8. ;        Read stopwatch                'R' <hi-byte><lo-byte>
  9. ;
  10. ; OBJECT HEADER:
  11. ;-----------------
  12. STOPWTCH EQU $12
  13. HEAD12   LDA #$00
  14.          STA $FA
  15.          JSR USRVECT
  16.          DFB STOPWTCH
  17.          DFB 0,0,0,0,0,0,0
  18.          CLV
  19.          BVC CODE12
  20.          DFB $00
  21. ;
  22. ;INTERNAL DATA:
  23. ;--------------
  24. COUNTER  DFB $00,$00
  25. ;
  26. INTRQMSG ASC 'H'
  27. INTRQOBJ DFB $00
  28. MIDISLMS ASC 'T'
  29. MIDISLT  DFB $00
  30. STARTCLK ASC 'A'
  31. STOPCLK  ASC 'D'
  32. ;--------------------
  33. CODE12   LDY #$00
  34.          LDA (MSG),Y
  35.          CMP #'I'
  36.          BNE CODE12P
  37. ;                            ;INIT- CALL INTRFACE TO HOOK US UP TO INTERRUPT
  38.          LDA #INTRFACE       ; FIND OUT MIDI SLOT NUMBER (GET INTO MIDISL)
  39.          STA $FA
  40.          LDA $FD             ;PASS IT OUR OBJECT #
  41.          STA INTRQOBJ 
  42.          LDA #>INTRQMSG
  43.          STA $FB
  44.          LDA #<INTRQMSG
  45.          STA $FC
  46.          JSR USRVECT
  47.          RTS
  48. ;--------
  49. CODE12P  CMP #'P'
  50.          BNE CODE12Z
  51. ;
  52. ;SEND MESSAGE TO INTRFACE TO STOP CLOCK
  53. ;
  54.          LDA #INTRFACE
  55.          STA $FA
  56.          LDA #>STOPCLK
  57.          STA $FB
  58.          LDA #<STOPCLK
  59.          STA $FC
  60.          JSR USRVECT
  61. ;       
  62.          INC COUNTER
  63.          BNE COUNTOK 
  64.          INC COUNTER+1  
  65. ;
  66. COUNTOK  LDA #INTRFACE
  67.          STA $FA
  68.          LDA #>STARTCLK
  69.          STA $FB
  70.          LDA #<STARTCLK
  71.          STA $FC
  72.          JSR USRVECT
  73. ;
  74. ;SEND MESSAGE TO START CLOCK
  75.          CLC
  76.          RTS
  77. ;
  78. CODE12Z  CMP #'Z'
  79.          BNE CODE12R
  80. ;
  81.          LDA #$00
  82.          STA COUNTER
  83.          STA COUNTER+1
  84.          RTS 
  85. ;
  86. CODE12R  CMP #'R'
  87.          BNE BRK12A
  88.          INY
  89.          LDA COUNTER+1
  90.          STA (MSG),Y
  91.          INY
  92.          LDA COUNTER
  93.          STA (MSG),Y
  94.          RTS
  95. ;
  96. BRK12A   BRK
  97.