home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Set of Apple II Hard Drive Images
/
eric.hdv
/
SOURCE
/
DHRNOTE.SC0.txt
< prev
next >
Wrap
Text File
|
2020-08-13
|
3KB
|
156 lines
; 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