home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-06-21 | 5.8 KB | 177 lines | [04] ASCII Text (0x0000) |
- ; JOYCTL - JOYSTICK MIDI CONTROLLER
- ;
- ;-------------------------------------------
- PHASE20 LDA STS ;4
- AND #$01 ;2
- BEQ STORX ;2/3
- LDA DTA ;4
- CMP #$F8 ;2
- BCS PHASE20 ;2/3
- ;;; STA (QHEAD) ;5 *65C02*
- DFB $92
- DFB QHEAD
- INC QHEAD ;5
- JMP PHASE20 ;3
- ;
- ; ;DON'T ADD MESSAGE IF QUEUE WILL OVERFLOW
- ; ;(JOYSTICK WILL GENERATE MOST OF THE MESSAGES)
- STORX LDA QHEAD ;3
- STA HEADSAVE ;3
- LDA XMSG0 ;4
- ;;; STA (QHEAD) ;5 *65C02*
- DFB $92
- DFB QHEAD
- INC QHEAD ;5
- ;
- LDA QHEAD ;3
- CMP QTAIL ;3
- BEQ QFULLX ;2/3
- ;
- LDA XMSG1 ;4
- ;;; STA (QHEAD) ;5 *65C02*
- DFB $92
- DFB QHEAD
- INC QHEAD ;5
- ;
- LDA QHEAD ;3
- CMP QTAIL ;3
- BEQ QFULLX ;2/3
- ;
- LDA XMSG2 ;4
- ;;; STA (QHEAD) ;5 *65C02*
- DFB $92
- DFB QHEAD
- INC QHEAD ;5
- ;
- LDA QHEAD ;3
- CMP QTAIL ;3
- BEQ QFULLX ;2/3
- ;
- PHASE20A LDA STS ;4
- AND #$01 ;2
- BEQ PHASE20X ;2/3
- LDA DTA ;4
- CMP #$F8 ;2
- BCS PHASE20A ;2/3
- ;;; STA (QHEAD) ;5 *65C02*
- DFB $92
- DFB QHEAD
- INC QHEAD ;5
- JMP PHASE20A ;3
- ;
- QFULLX LDA HEADSAVE
- STA QHEAD
- PHASE20X LDA #10 ;2
- STA PHASE ;3
- JMP CHKMIDI ;3 ;80 CYCLES
- ;-------------------------------------------
- PHASE22 NOP
- PHASE24 NOP
- ;-------------------------------------------
- PHASE26 LDY PREVY ;3
- LDA YTABLE,Y ;5
- LDY YBYTE ;4
- STA YMSG0,Y ;5 STICK INTO MIDI MESSAGE
- LDA #28 ;2
- STA PHASE ;3
- JMP CHKMIDI ;3 ;25 CYCLES
- ;-------------------------------------------
- PHASE28 LDA STS ;4
- AND #$01 ;2
- BEQ STORY ;2/3
- LDA DTA ;4
- CMP #$F8 ;2
- BCS PHASE28 ;2/3
- ;;; STA (QHEAD) ;5 *65C02*
- DFB $92
- DFB QHEAD
- INC QHEAD ;5
- JMP PHASE28 ;3
- ;
- ; ;DON'T ADD MESSAGE IF QUEUE WILL OVERFLOW
- ; ;(JOYSTICK WILL GENERATE MOST OF THE MESSAGES)
- STORY LDA QHEAD ;3
- STA HEADSAVE ;3
- ;
- LDA YMSG0 ;4
- ;;; STA (QHEAD) ;5 *65C02*
- DFB $92
- DFB QHEAD
- INC QHEAD ;5
- ;
- LDA QHEAD ;3
- CMP QTAIL ;3
- BEQ QFULLY ;2/3
- ;
- LDA YMSG1 ;4
- ;;; STA (QHEAD) ;5 *65C02*
- DFB $92
- DFB QHEAD
- INC QHEAD ;5
- ;
- LDA QHEAD ;3
- CMP QTAIL ;3
- BEQ QFULLY ;2/3
- ;
- LDA YMSG2 ;4
- ;;; STA (QHEAD) ;5 *65C02*
- DFB $92
- DFB QHEAD
- INC QHEAD ;5
- ;
- LDA QHEAD ;3
- CMP QTAIL ;3
- BEQ QFULLY ;2/3
- ;
- PHASE28A LDA STS ;4
- AND #$01 ;2
- BEQ PHASE28X ;2/3
- LDA DTA ;4
- CMP #$F8 ;2
- BCS PHASE28A ;2/3
- ;;; STA (QHEAD) ;5 *65C02*
- DFB $92
- DFB QHEAD
- INC QHEAD ;5
- JMP PHASE28A ;3
- ;
- QFULLY LDA HEADSAVE ;3
- STA QHEAD ;3
- PHASE28X LDA #12 ;2
- STA PHASE ;3
- JMP CHKMIDI ;3 ;80 CYCLES
- ;-------------------------------------------
- PHASE30 NOP
- PHASE32 NOP
- ;-------------------------------------------
- XTABLE DFB 10,12,14,16,18,20,22,24,26,28
- DFB 30,32,34,36,38,40,42,44,46,48
- DFB 50,52,54,56,58,60,62,64,66,68
- DFB 70,72,74,76,78,80,82,84,86,88
- DFB 90,92,94,96,98,100,102,104,106,108
- DFB 110,110,110,110,110,110,110,110,110,110
- DFB 110,110,110,110,110,110,110,110,110,110
- DFB 110,110,110,110,110,110,110,110,110,110
- DFB 110,110,110,110,110,110,110,110,110,110
- DFB 110,110,110,110,110,110,110,110,110,110
- DFB 110,110,110,110,110,110,110,110,110,110
- DFB 110,110,110,110,110,110,110,110,110,110
- DFB 110,110,110,110,110,110,110,110,110,110
- ;
- YTABLE DFB 110,108,106,104,102,100,98,96,94,92
- DFB 90,88,86,84,82,80,78,76,74,72
- DFB 70,68,66,64,62,60,58,56,54,52
- DFB 50,48,46,44,42,40,38,36,34,32
- DFB 30,28,26,24,22,20,18,16,14,12
- DFB 10,10,10,10,10,10,10,10,10,10
- DFB 10,10,10,10,10,10,10,10,10,10
- DFB 10,10,10,10,10,10,10,10,10,10
- DFB 10,10,10,10,10,10,10,10,10,10
- DFB 10,10,10,10,10,10,10,10,10,10
- DFB 10,10,10,10,10,10,10,10,10,10
- DFB 10,10,10,10,10,10,10,10,10,10
- DFB 10,10,10,10,10,10,10,10,10,10
- ;-------------------------------------------
- ; END OF PROGRAM
- ;-------------------------------------------
-