; THIS PROGRAM WILL CONVERT THE DATA IN AN EXTERNAL RAM/ROM LOCATED
; AT 8000-F7FF TO SOUND VIA A PWM SIGNAL AT BIT 6 ON PORT A
ldx 1000
LDS 00FF
LDAA 25
STAA/X 3C ; TURN ON EXPANSION BUS
LDD C040
STAA/X 20 ; ENABLE PIN SETTING FOR O.C. #2
STAB/X 0C ; ENABLE PIN CLEARING FOR O.C. #1 ON PORT A BIT 6
:START
LDY 8000 ; LOAD Y WITH START OF 32K RAM
:SOUND
LDD/X 18 ; GET OUTPUT COMPARE COUNT #2
ADDD 0140 ; ADD 320 TO O.C. COUNTER
STD/X 18 ; RESET COUNT #2
CLRA
LDAB/Y 0 ; GET SOUND BYTE
ADDD/X 18 ; GET END OF PWM PULSE
SUBD 0100 ; SUBTRACT 256 BYTES
STD/X 16 ; PUT SOUND INTO O.C. #1
:WAIT
BRCLR/X 2340 :WAIT
LDAA 40
STAA/X 23
INY
CPY F800 ; DON'T ALLOW IT TO READ INTO EEPROM
BNE :SOUND
BRA :START