
PROGRAMMING IN ASSEMBLY LANGUAGE
The following code s e g m e n ts il lu s tr a te th e p ro g ram m in g principles
d escrib ed above. (To run th e m on th e C64, you need an assem b ler and
debugger.)
1. To in itia liz e th e ACIA for MIDI:
;M aster r e s e t
LDA #$03
STA $DE00
LDA //$15
STA $DE00
;Setup for 1 s t a r t bit+8 bits+1 stop bit
; and 31.25 kBaud
2. To send MIDI OUT:
LOOP
LDA $DE02
AND #$02
BEQ LOOP
LDA MIDIBYTE
STA $DE01
;R ead ACIA s ta tu s r e g is te r
;C heck t r a n s m it e m p ty flag
;Loop until em p ty
;Load in b y te to send
;Send MIDI OUT
3. To r e c e iv e MIDI IN:
LOOP
LDA $DE02
LSR
BCC LOOP
LDA $DE03
;Read ACIA s ta tu s r e g is te r
;Check r e c e iv e full flag
;Loop until ready
;Read MIDI IN
k.
To in itia liz e th e PIA:
LDA MODE
STA $DF01
STA $DF03
;Use c o n tro l r e g is te r s to s e t up
;op eratin g mode.
;O btain mode from T able 1
5. To read drum clock input:
LDA $DF01
BPL EXIT
LDA $DF00
;Read co n tro l r e g is te r
;8 ran c h if no drum clock yet
;Falls th ru if in te r r u p te d by drum clock
;C lear th e in te r r u p t flag bit
6. To read fo o ts w itc h input:
LDA $DF03
;Read co n tro l r e g is te r
BPL EXIT
LDA $DF02
;Branch if no fo o ts w itc h press
;C lear in te r r u p t flag
CM242A
18
Содержание 242
Страница 1: ...MODEL 242 OPERATION MANUAL EO U EfliiA L ...