home *** CD-ROM | disk | FTP | other *** search
/ Set of Apple II Hard Drive Images / eric.hdv / ANNMIDI / INT0DRVR.SC0.txt < prev    next >
Text File  |  2020-08-13  |  4KB  |  171 lines

  1. ;INT0DRVR.SC0
  2. ;
  3. ;-------------------
  4. ;MAINLINE CODE
  5. ;-------------------
  6. AUXSETUP RTS
  7. DOAUXMV  RTS
  8. DOXFER   RTS
  9. ;
  10. PLAYMAIN LDA #$00
  11.          STA AUXPLAY
  12.          JMP PLAYIT1
  13. PLAYAUX  LDA #$01
  14.          STA AUXPLAY
  15.          JMP PLAYIT1
  16. ;
  17. ;=============================
  18. PLAYIT1  JSR STOPCLK ;MKBCLOCK: STOP CLOCK
  19.          JSR ZEROCNT ;MKBCLOCK: ZERO COUNTER
  20.          LDA #$00
  21.          STA VDELTALO ;ZERO DELTA
  22.          STA VDELTAML
  23.          STA VDELTAMH
  24.          STA VDELTAHI
  25.          STA VALARMLO ;ZERO ALARM
  26.          STA VALARMML
  27.          STA VALARMMH
  28.          STA VALARMHI
  29.          STA VALARMFL ;ZERO ALARM FLAG
  30.          JSR STARTCLK ;MKBCLOCK: START CLOCK
  31.          LDA PLAYSTRT        ;INITIALIZE PTR TO BEGINNING OF AREA
  32.          STA PLAYPTR
  33.          LDA PLAYSTRT+1
  34.          STA PLAYPTR+1
  35.          LDA KARALOOK        ;12/17/95-KARALOOK LOGIC
  36.          BEQ PLAYLOOP
  37.          LDA #$8D
  38.          JSR COUT
  39.          JSR KARASCAN
  40. PLAYLOOP LDA AUXPLAY
  41.          BEQ MAINPLAY
  42.          LDA PLAYPTR         ;IF PLAYING AUX, MOVE ONE BYTE TO INBYTE
  43.          STA $3C
  44.          STA $3E
  45.          LDA PLAYPTR+1
  46.          STA $3D
  47.          STA $3F
  48.          LDA #>INBYTE
  49.          STA $42
  50.          LDA #<INBYTE
  51.          STA $43
  52.          CLC
  53.          JSR AUXMOVE
  54.          JMP GOTINBYT
  55. MAINPLAY LDY #$00            ;READ 1 BYTE
  56.          LDA (PLAYPTR),Y
  57.          STA INBYTE
  58. GOTINBYT JSR PRCSBYTE
  59.          LDA ENDOFTRK
  60.          BEQ PLAYLOO1
  61.          RTS
  62. PLAYLOO1 JSR CHKKBD
  63.          LDA ENDOFTRK
  64.          BEQ INCPTR
  65.          RTS
  66. INCPTR   INC PLAYPTR
  67.          BNE INCPTR2
  68.          INC PLAYPTR+1
  69. INCPTR2  LDA PLAYPTR
  70.          CMP PLAYSTOP
  71.          BNE PLAYLOOP
  72.          LDA PLAYPTR+1
  73.          CMP PLAYSTOP+1
  74.          BNE PLAYLOOP
  75.          RTS
  76. ;-------
  77. ; CHKKBD - MAY SET ENDOFTRK
  78. ;-------
  79. CHKKBD   LDA $C000
  80.          BPL NOKEY1
  81.          LDA $C010
  82.          AND #$7F
  83.          CMP #$20
  84.          BNE CHKESC
  85.          LDA #$01
  86.          STA ENDOFTRK
  87. NOKEY1   RTS
  88. CHKESC   CMP #$1B
  89.          BNE CHKFLAT
  90. WAITKEY  LDA #$00
  91.          STA PAUSEFLG
  92. WAITKEY1 LDA $C000
  93.          BPL WAITKEY1
  94.          LDA $C010
  95.          AND #$7F
  96.          CMP #$1B
  97.          BNE ESCDONE
  98.          INC PAUSEFLG
  99. ESCDONE  RTS
  100. CHKFLAT  CMP #$46            ;'F'-CHANGE UCS<->LCF
  101.          BNE TESTTMPO
  102.          LDA DISPMODE
  103.          EOR #$01
  104.          STA DISPMODE
  105.          RTS
  106. TESTTMPO CMP #$54            ;'T'-TEMPO CHGS
  107.          BNE CHKDRUM
  108.          LDA DOTMPOCG
  109.          EOR #$01
  110.          STA DOTMPOCG
  111.          RTS
  112. CHKDRUM  CMP #$44            ;'D'-MASK DRUMS
  113.          BNE CHKLEFT
  114.          DEC MASKDRUM
  115.          LDA MASKDRUM
  116.          CMP #$FE
  117.          BNE DRUMDONE
  118.          LDA #$01
  119.          STA MASKDRUM
  120. DRUMDONE RTS
  121. CHKLEFT  CMP #$08
  122.          BNE CHKRIGHT
  123.          DEC SPEED
  124.          LDA SPEED
  125.          BMI LEFTBAD
  126.          BEQ LEFTBAD
  127.          CMP #$03
  128.          BCC LEFTBAD
  129.          JSR STARTCLK
  130.          DEC SPEEDINC
  131.          JSR SPEEDDEC
  132.          JSR METRPOKE
  133.          LDA PRNTSPED
  134.          BEQ LEFTDONE 
  135.          LDA #$A0
  136.          JSR COUT
  137.          LDA SPEED
  138.          JSR PRINTHEX
  139.          LDA #$A0
  140.          JSR COUT
  141. LEFTDONE RTS
  142. LEFTBAD  INC SPEED
  143.          RTS
  144. CHKRIGHT CMP #$15
  145.          BNE NOKEY
  146.          INC SPEED
  147.          LDA SPEED
  148.          BMI RIGHTBAD
  149.          BEQ RIGHTBAD
  150.          JSR STARTCLK
  151.          INC SPEEDINC
  152.          JSR SPEEDDEC
  153.          JSR METRPOKE
  154.          LDA PRNTSPED
  155.          BEQ NOKEY
  156.          LDA #$A0
  157.          JSR COUT
  158.          LDA SPEED
  159.          JSR PRINTHEX
  160.          LDA #$A0
  161.          JSR COUT
  162. NOKEY    RTS
  163. RIGHTBAD DEC SPEED
  164.          RTS
  165. ;
  166. ;=========
  167. ; PRCSBYTE - MAY SET ENDOFTRK
  168. ;=========
  169.          CHN INT0DRVR.SC1
  170.