home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-10-17 | 2.7 KB | 156 lines | [04] ASCII Text (0x0000) |
- ; DHRNOTE.SC0 - NON-INTERRUPT DRIVEN
- ;
- ORG $6000
- ;
- JSR INITDHR
- JSR START
- JMP DONEDHR
- ;
- DISPMODE DFB $01
- INBYTE DFB $00
- PHASE DFB $00
- LASTSTAT DFB $00
- XMITSTS DFB $00
- XMITBYT1 DFB $00
- XMITBYT2 DFB $00
- XMITBYT3 DFB $00
- DBYTES DFB $00
- MIDISLOT DFB $20
- ;
- GETINST EQU $00
- DATA1 EQU $01
- DATA2 EQU $02
- DATA3 EQU $03
- SYSX0 EQU $04
- DATA2B EQU $05
- ;
- START LDA #$13
- LDX MIDISLOT
- STA $C088,X
- LDA #$11
- STA $C088,X
- WAITMIDI LDA $C000
- BMI ADIOS
- LDX MIDISLOT
- LDA $C088,X
- AND #$01
- BEQ WAITMIDI
- LDX MIDISLOT
- LDA $C089,X
- CMP #$F0
- BEQ SKIPSYSX
- BCS WAITMIDI
- SYSXRET STA INBYTE
- JSR PRCSBYTE
- LDA $C000
- BPL WAITMIDI
- ADIOS LDA $C010
- RTS
- ;
- SKIPSYSX LDX MIDISLOT
- LDA $C088,X
- AND #$01
- BEQ SKIPSYSX
- LDA $C089,X
- BPL SKIPSYSX
- BMI SYSXRET
- ;
- PRCSBYTE LDA PHASE
- PHINST CMP #GETINST
- BEQ PHINST0
- JMP PHDATA3
- PHINST0 LDA INBYTE
- BPL RUNNING
- ;
- ; CMP #$F0
- ; BCS CHKF0
- ;
- STA LASTSTAT
- STA XMITSTS
- CMP #$E0
- BCS TWOBYTES
- CMP #$C0
- BCC TWOBYTES
- ;
- LDA #1
- STA DBYTES
- LDA #DATA1
- STA PHASE
- RTS
- ;
- TWOBYTES LDA #2
- STA DBYTES
- LDA #DATA2
- STA PHASE
- RTS
- ;
- ;CHKF0 BNE CHKF7
- ; LDA #SYSX0
- ; STA PHASE
- ; RTS
- ;
- ;CHKF7 CMP #$F7
- ; BNE INVAL
- ; LDA #GETINST
- ; STA PHASE
- ; RTS
- ;
- ;INVAL RTS
- ;
- RUNNING LDA LASTSTAT
- STA XMITSTS
- LDA INBYTE
- STA XMITBYT1
- LDA #$FF
- STA XMITBYT2
- LDA DBYTES
- CMP #1
- BEQ SENDMSG
- LDA #DATA3
- STA PHASE
- RTS
- ;
- PHDATA3 CMP #DATA3
- BNE PHDATA2
- LDA INBYTE
- STA XMITBYT2
- LDA #$FF
- STA XMITBYT3
- JMP SENDMSG
- ;
- PHDATA2 CMP #DATA2
- BNE PHDATA1
- LDA INBYTE
- STA XMITBYT1
- LDA #DATA2B
- STA PHASE
- RTS
- ;
- PHDATA1 CMP #DATA1
- BNE PHDATA2B
- LDA INBYTE
- STA XMITBYT1
- LDA #$FF
- STA XMITBYT2
- JMP SENDMSG
- ;
- PHDATA2B CMP #DATA2B
- BNE PHSYSX
- LDA INBYTE
- STA XMITBYT2
- LDA #$FF
- STA XMITBYT3
- JMP SENDMSG
- ;
- PHSYSX RTS
- ;
- SENDMSG LDA XMITSTS
- LDX XMITBYT1
- LDY XMITBYT2
- JSR MIDIGRPH
- SENDEXIT LDA #GETINST
- STA PHASE
- RTS
- ;
- CHN DHRNOTE.SC1
-