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

  1. ; ***************
  2. ; * INDRIVER.SRC  - MIDI INPUT DRIVER - BUFFERS NOTE EVENTS TO $2000 PAGE
  3. ; ***************
  4. ;
  5.                     ORG   $1E00
  6. ;
  7. ;ZP ADDRESSES
  8. ;
  9. SEQPTRL  EQU       $06
  10. SEQPTRH  EQU       $07
  11. SEQSTRT  EQU       $08
  12. SEQSTOP  EQU       $09
  13. SEQBUFL  EQU       $CE
  14. SEQBUFH  EQU       $CF
  15. ERRCTR   EQU       $D7
  16. ;
  17. ORIGIN              JMP   NORMNTRY     
  18.                     JMP   DISABLE
  19. INTSAVL             DFB   $00
  20. INTSAVH             DFB   $00
  21. ;
  22. NORMNTRY            LDA   #$13         ;INITIALIZE ACIA
  23.                     STA   $C0A8
  24.                     LDA   #$11
  25.                     STA   $C0A8
  26.                     LDA   $03FE        ;SAVE CURRENT INTRUPT VECTOR
  27.                     STA   INTSAVL
  28.                     LDA   $03FF
  29.                     STA   INTSAVH
  30.                     LDA   #>INTHAND    ;SETUP OUR INTERRUPT HANDLER
  31.                     STA   $03FE
  32.                     LDA   #<INTHAND
  33.                     STA   $03FF
  34. ;
  35.                     LDA   #$00
  36.                     STA   ERRCTR
  37.                     STA   SEQPTRL
  38.                     STA   SEQBUFL
  39.                     LDA   SEQSTRT
  40.                     STA   SEQPTRH
  41.                     STA   SEQBUFH
  42.                     CLC
  43.                     ADC   #$01
  44.                     STA   SEQSTOP
  45. ;
  46.                     LDA   $C0A9        ;ACTIVATE RECEIVE INTERRUPT
  47.                     LDA   #$91
  48.                     STA   $C0A8
  49.                     RTS
  50. ;
  51. DISABLE             LDA   #$13         ;DISABLE INTERRUPTS
  52.                     STA   $C0A8
  53.                     LDA   #$11
  54.                     STA   $C0A8
  55.                     LDA   INTSAVL      ;RESTORE INT VECTOR
  56.                     STA   $03FE
  57.                     LDA   INTSAVH
  58.                     STA   $03FF
  59.                     RTS   
  60. ;
  61. INTHAND             SEI
  62.                     PHA                ;SAVE A AND Y
  63.                     TYA   
  64.                     PHA   
  65.                     LDY   SEQPTRL
  66. GRABBYTE            LDA   #$20
  67.                     BIT   $C0A8
  68.                     BEQ   NOERR
  69.                     INC   ERRCTR
  70. NOERR               LDA   $C0A9
  71.                     CMP   #$F8         ;IF REALTIME MSG, EXIT
  72.                     BCS   INTEXIT
  73.                     STA   (SEQBUFL),Y
  74.                     INY
  75. INTEXIT             LDA   #$01
  76.                     BIT   $C0A8
  77.                     BNE   GRABBYTE
  78.                     STY   SEQPTRL
  79.                     PLA   
  80.                     TAY   
  81.                     PLA
  82.                     CLI   
  83.                     RTI   
  84. ;
  85.