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

  1. ; INTERRUPT DRIVEN
  2. ; MFF0 PLAYER - PLAYS A SPECIFIC AREA OF AUX OR MAIN MEMORY
  3. ;
  4. ;
  5.          ORG $0800
  6. ;
  7. ENTRYPTS JMP AUXSETUP        ;COPY CODE TO AUX MEM 
  8.          JMP PLAYMAIN        ;PLAY FROM MAIN MEMORY        
  9.          JMP PLAYAUX         ;PLAY FROM AUX MEMORY
  10.          JMP DOAUXMV         ;FOR USER - TO DO AUXMOVE
  11.          JMP DOXFER          ;FOR USER - TO XFER
  12. ;----------------
  13. ; PARAMETERS
  14. ;----------------
  15. PLAYSTRT DW $2000  ;STARTING ADDRESS OF PLAYBACK - SET BY CALLER
  16. PLAYSTOP DW $7800  ;ENDING ADDRESS OF PLAYBACK+1 - SET BY CALLER
  17. PHASE    DFB $00   ;CURRENT PHASE OF PROCESSING
  18. ENDOFTRK DFB $00   ;SIGNALS THAT END OF TRACK (00 FF 2F 00) REACHED
  19. ;----------------
  20. ; USER PARAMETERS FOR AUXMOVE
  21. ;----------------
  22. SRCMAINL DFB $00
  23. SRCMAINH DFB $00
  24. ENDMAINL DFB $00
  25. ENDMAINH DFB $00
  26. TGTAUXL  DFB $00
  27. TGTAUXH  DFB $00
  28. TOAUX    DFB $00
  29. ;----------------
  30. ; USER PARAMETERS FOR TRANSFER
  31. ;----------------
  32. XFERADRL DFB $00
  33. XFERADRH DFB $00
  34. XFTOAUX  DFB $00
  35. USEAUXZP DFB $00
  36. ;--------
  37. LYRICS   DFB $01   ;PRINT LYRICS
  38. PRNTSPED DFB $00   ;PRINT SPEED
  39. PIANOSCR DFB $01   ;PIANO DISPLAY ON
  40. DISPMODE DFB $01   ; 00 = UPPERCASE SHARPS, NONZERO = LOWERCASE FLATS
  41. MASKDRUM DFB $01   ; DISPLAY CHANNEL 9 (DRUMS) WITH *
  42. USEINVRS DFB $00   ; WHETHER TO USE INVERSE LETTERS - FOR PIANO DISPLAY
  43. KARALOOK DFB $00   ; WHETHER TO USE KARAOKE LOOKAHEAD
  44. RESOLUTN DFB $00,$F0 ; RESOLUTION FROM MIDI HEADER -USED FOR TEMPO CHGS
  45. SPEEDINC DFB $00   ; USER'S AMOUNT TO ADD OR SUBTRACT FROM SPEED
  46. DOTMPOCG DFB $01   ; PROCESS TEMPO CHANGES
  47. METRDISP ASC 'MM'  ;METRONOME DISPLAY
  48. METRTMP1 ASC '1'   
  49. METRTMP2 ASC '2'
  50. METRTMP3 ASC '0'
  51. METRFILL ASC ' SP'
  52. METRSPD1 ASC '0'
  53. METRSPD2 ASC '2'
  54. METRSPD3 ASC '7'
  55. KEYSIGP1 ASC '('
  56. KEYSIGP2 ASC 'C'
  57. KEYSIGP3 ASC ' '
  58. KEYSIGP4 ASC 'M'
  59. KEYSIGP5 ASC ')'
  60. ;-------------------
  61. ; INTERNAL VARIABLES
  62. ;-------------------
  63. INBYTE   DFB $00   ;VALUE OF CURRENT BYTE
  64. PAUSEFLG DFB $00
  65. DELTATIM DFB $00,$00,$00,$00
  66. DELTACTR DFB $00,$00
  67. LASTSTAT DFB $00
  68. DBYTES   DFB $00
  69. XMITMSG  ASC 'X'
  70. XMITSTS  DFB $00
  71. XMITBYT1 DFB $00
  72. XMITBYT2 DFB $00
  73. XMITBYT3 DFB $00
  74. SYSXLEN  DFB $00
  75. TEXTEVT  DFB $00
  76. METALEN  DFB $00
  77. AUXPLAY  DFB $00   ;WHETHER PLAYING MAIN OR AUX
  78. ;---------------------
  79. PLAYPTR  EQU $06   ;POINTER TO CURRENT BYTE BEING READ
  80. SPEED    EQU $9217 ;SPEED OF PLAYBACK - (TEMPO HI BYTE)
  81. ;
  82. COUT     EQU $FDF0 ;USE MONITOR OUTPUT ROUTINE BECAUSE MAY PRINT FROM AUX MEM
  83. MONWAIT  EQU $FCA8 ;MONITOR DELAY ROUTINE
  84. AUXMOVE  EQU $C311 ;AUX MEM MOVE
  85. AUXXFER  EQU $C314 ;AUX MEM TRANSFER CONTROL
  86. MONRTS   EQU $FF58 ;ADDRESS OF RTS INSTRUCTION USED TO SET OVERFLOW FLAG
  87. ;------------
  88. ; PROGRAM PHASE NAMES:
  89. ;------------
  90. DELTA0   EQU $00
  91. DELTA1   EQU $01
  92. DELTA2   EQU $02
  93. DELTA3   EQU $03
  94. GETINST  EQU $04
  95. DATA1    EQU $05
  96. DATA2    EQU $06
  97. DATA2B   EQU $07
  98. DATA3    EQU $08
  99. SYSX0    EQU $09
  100. SYSX1    EQU $0A
  101. SYSX2    EQU $0B
  102. META0    EQU $10
  103. META1    EQU $11
  104. META2    EQU $12
  105. TEMPO1   EQU $13
  106. TEMPO2   EQU $14
  107. TEMPO3   EQU $15
  108. TEMPO4   EQU $16
  109. KEYSIG1  EQU $17
  110. KEYSIG2  EQU $18
  111. KEYSIG3  EQU $19
  112. ;-------------------
  113.          CHN INT0DRVR.SC0
  114.