[Coco] The CoCo PSG cartridge How To.

go4retro at go4retro.com go4retro at go4retro.com
Fri Nov 5 14:28:08 EDT 2021


The mpi code should be left in.  It will not affect non mpi operation

Jim
On Nov 5, 2021, 12:21 PM -0500, coco at jechar.ca, wrote:
>
> 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
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> https://pairlist5.pair.net/mailman/listinfo/coco


More information about the Coco mailing list