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

  1. ; *************************
  2. ; * DISPLAY.SRC0A
  3. ; *************************
  4. ;
  5. NOT07               LDA   #$B2
  6.                     STA   STS
  7.                     LDA   #$0
  8.                     STA   VOLFLAG
  9.                     CLC
  10.                     RTS
  11. ;
  12. STSB2               LDA   STS
  13.                     CMP   #$B2
  14.                     BNE   STS99                        
  15. ;
  16.                     LDA   VOLFLAG
  17.                     BEQ   NOTVOL
  18.                     LDA   INBYTE                    
  19.                     LDX   CHANNEL
  20.                     STA   VOLUME,X
  21. ;
  22. NOTVOL              LDA   #$B1
  23.                     STA   STS
  24.                     CLC
  25.                     RTS
  26. ;
  27. ;
  28. STS99               LDA   STS
  29.                     CMP   #$99
  30.                     BNE   STS9A
  31. ;
  32.                     LDA   #$9A
  33.                     STA   STS
  34.                     LDX   #$04
  35. DRUMLOOP            LDA   INBYTE
  36.                     CMP   DRUMMAP,X
  37.                     BCS   NEXTDRUM
  38.                     STX   DRUM
  39.                     SEC
  40.                     RTS
  41. NEXTDRUM            DEX
  42.                     BNE   DRUMLOOP
  43.                     STX   DRUM
  44.                     SEC
  45.                     RTS
  46. DRUMMAP             DFB   00,60,52,44,36
  47. ;
  48. STS9A               LDA   STS
  49.                     CMP   #$9A
  50.                     BNE   ENDCHK
  51.                     LDA   INBYTE
  52.                     BEQ   NODRUM
  53.                     JSR   DRUMMACH
  54. NODRUM              SEC
  55.                     RTS
  56. ;
  57. ENDCHK              CLC
  58.                     RTS
  59. ;
  60. POKEIT              LDX   ZPVECT       ;DON'T POKE IF 0000
  61.                     BNE   GOODPOKE
  62.                     LDX   ZPVECT+1
  63.                     BNE   GOODPOKE
  64.                     CLC
  65.                     RTS
  66. ;
  67. GOODPOKE            LDY   #$00
  68.                     STA   (ZPVECT),Y
  69.                     CLC
  70.                     RTS   
  71. ;
  72. TRANSPOS            LDA   INBYTE
  73.                     CLC
  74.                     ADC   TRANSP
  75.                     BMI   DONTTRAN
  76.                     STA   INBYTE
  77.                     LDY   #MIDIBYTE
  78.                     STA   (BASL),Y
  79. DONTTRAN            RTS
  80. ;
  81. ;
  82. ;DRUMMACH.SRC  - DRUM MACHINE SOUNDS THRU MOCKINGBOARD
  83. ;
  84. MSLOT               EQU   $C400
  85. MSTS                EQU   MSLOT
  86. MDTA                EQU   MSTS+1
  87. ;
  88. DRUM                DFB   $01          ; POKE 2055, DRUM
  89. ;
  90. SPEAKER             DFB   $00      ;00=LEFT, 80=RIGHT
  91. ;
  92. REGISTER            DFB   $08          ; POKE 2057, REGISTER
  93. ;
  94. DATA                DFB   $00          ; POKE 2058, DATA
  95. ;
  96. DRUMMACH            LDA DRUM
  97.                     CMP #$0
  98.                     BCC EXIT
  99.                     CMP #$5
  100.                     BCS EXIT
  101.                     JSR INITMOCK
  102.                     JSR SETNOISE
  103.                     LDA DRUM
  104.                     TAX
  105.                     LDA NOISE,X
  106.                     STA DATA
  107.                     LDA #$06
  108.                     STA REGISTER
  109.                     JSR POKEREG
  110.                     LDA COARSE,X
  111.                     STA DATA
  112.                     LDA #$0C
  113.                     STA REGISTER
  114.                     JSR POKEREG
  115.                     JSR SOUNDNOW
  116. EXIT                RTS
  117. ;
  118. ; INSTRUMENT DATA: NOISE PERIOD, COARSE TONE PERIOD
  119. ;
  120. ;CYMBAL, HIHAT, SNARE, TOMTOM, BASSDRUM
  121. NOISE    DFB       $01,$01,$04,$10,$1F
  122. COARSE   DFB       $10,$02,$04,$02,$04
  123. ;
  124. ;====================================
  125. ; POKE REGISTER WITH DATA
  126. ;
  127. POKEREG             LDA   SPEAKER        ;GET SPEAKER (L/R) INTO Y
  128.                     AND   #$80
  129.                     TAY   
  130.                     LDA   REGISTER        ;GET REGISTER #
  131.                     AND   #$0F
  132.                     STA   MDTA,Y      
  133.                     LDA   #$07         ;SEND REGISTER #
  134.                     STA   MSTS,Y
  135.                     LDA   #$04
  136.                     STA   MSTS,Y
  137.                     LDA   DATA        ;GET DATA BYTE
  138.                     STA   MDTA,Y
  139.                     LDA   #$06         ;SEND DATA BYTE
  140.                     STA   MSTS,Y
  141.                     LDA   #$04
  142.                     STA   MSTS,Y
  143.                     RTS   
  144. ;
  145. INITMOCK            LDA   #$FF         ;INIT
  146.                     STA   MSLOT+$03
  147.                     STA   MSLOT+$83
  148.                     LDA   #$07
  149.                     STA   MSLOT+$02
  150.                     STA   MSLOT+$82
  151.                     LDA   #$00         ;RESET ALL PARMS TO 0
  152.                     STA   MSTS
  153.                     STA   MSLOT+$80
  154.                     LDA   #$04
  155.                     STA   MSTS
  156.                     STA   MSLOT+$80
  157.                     RTS
  158. ;
  159. ;;;ALLOW USER TO PICK SPEAKER
  160. ;;;                    LDA   #$00         ;SPEAKER= LEFT
  161. ;;;                    STA   SPEAKER
  162. SETNOISE            LDA   #$07         ;ENABLE
  163.                     STA   REGISTER
  164.                     LDA   #$07         ; ALL NOISE
  165.                     STA   DATA
  166.                     JSR   POKEREG        ;SEND IT 
  167.                     LDA   #$08
  168.                     STA   REGISTER
  169.                     LDA   #$10
  170.                     STA   DATA
  171.                     JSR   POKEREG
  172.                     INC   REGISTER
  173.                     JSR   POKEREG
  174.                     INC   REGISTER
  175.                     JSR   POKEREG
  176.                     RTS
  177. ;
  178. SOUNDNOW            LDA   #$0D
  179.                     STA   REGISTER
  180.                     LDA   #$09         ;ENVELOPE SHAPE
  181.                     STA   DATA
  182.                     JSR   POKEREG
  183.                     RTS   
  184. ;
  185.                     CHN   DISPLAY.SRC1
  186.