[Coco] The CoCo PSG cartridge How To.
coco at jechar.ca
coco at jechar.ca
Fri Nov 5 12:37:22 EDT 2021
What lines do I need to change or delete if I am not using a Multipack
but rather a disk on Drivewire ?
On 2021-11-04 17:30, Robert "Exile In Paradise" Murphey wrote:
> On Thu, 2021-11-04 at 16:14 -0400, coco at jechar.ca wrote:
>>
>> Does anyone have any information about accessing The CoCo PSG
>> cartridge
>> from a Radio Shack Disk Basic program.
>>
>> Things like what to poke where to implement a function.
>>
>> The CoCo PSG cartridge documentation is extremely limited and geared
>> to
>> Assembly language not Basic.
>>
>> Charlie.
>>
>
> Here's a BASIC program that selects a CoCoPSG in MPI slot 1, then plays
> some sound.
>
> The square-wave sound chip in the CoCoPSG is register compatible with
> the PSG in a Speech Sound Cart.
>
> Programming the CoCoPSG from BASIC is easier than the Speech Sound Cart
> since you don't have to watch for one register to say the chip is
> ready.
>
> The CoCo PSG registers you want are in R and D.
> R is the address to poke in which sound chip register to program.
> D is the address to poke the data you want in that sound chip.
>
> Hope this helps.
>
> 10 CLS
> 20 A=PEEK(&HFF7F) AND &HF0:POKE &HFF7F,A
> 30 X=&HFF00
> 40 POKE X+1,52:POKE X+3,63:POKE X+35,60
> 50 R=&HFF5E:D=&HFF5F
> 60 GOSUB 290: 'SETUP REGISTERS
> 70 CLS 1
> 80 PRINT "SOUND"
> 90 SOUND 89,30
> 100 CLS 2
> 110 PRINT "PLAY"
> 120 PLAY "L2;V31;O3C"
> 130 CLS 3
> 140 PRINT "COCOPSG 2MHZ"
> 150 A=PEEK(&HFF7F) AND &HF0: POKE &HFF7F,A
> 160 POKE X+1,52:POKE X+3,63:POKE X+35,60
> 170 POKE &HFF5D,1
> 180 POKE R,0:POKE D,222
> 190 POKE R,1:POKE D,1
> 200 POKE R,7:POKE D,62
> 210 POKE R,8:POKE D,15
> 220 FOR I=0 TO 900:NEXT
> 230 PRINT "COCOPSG 1MHZ"
> 240 POKE &HFF5D,0
> 250 POKE R,0:POKE D,239
> 260 POKE R,1:POKE D,0
> 270 FOR I=0TO900:NEXT
> 280 GOTO 70
> 290 POKE R,0:POKE D,221: 'TONE A FINE
> 300 POKE R,1:POKE D,1 : 'TONE A COARSE
> 310 POKE R,2:POKE D,0 : 'TONE B FINE
> 320 POKE R,3:POKE D,0 : 'TONE B COARSE
> 330 POKE R,4:POKE D,0 : 'TONE C FINE
> 340 POKE R,5:POKE D,0 : 'TONE C COARSE
> 350 POKE R,6:POKE D,8 : 'NOISE 00001000
> 360 POKE R,7:POKE D,62 : 'MIXER 00111110 A ON
> 370 POKE R,8:POKE D,0
> 380 POKE R,9:POKE D,0
> 390 POKE R,10:POKE D,0
> 400 POKE R,11:POKE D,0
> 410 POKE R,12:POKE D,12
> 420 POKE R,13:POKE D,9
> 430 RETURN
> 440 END
>
> --
> Robert "Exile In Paradise" Murphey <exile at weylan-yutani.com>
> Weylan-Yutani Corporation
More information about the Coco
mailing list