diff --git a/PLASMA-BLD1.PO b/PLASMA-BLD1.PO index c124105..51d2d79 100644 Binary files a/PLASMA-BLD1.PO and b/PLASMA-BLD1.PO differ diff --git a/PLASMA-DEM1.PO b/PLASMA-DEM1.PO index 0c94ba6..9ecdcfb 100644 Binary files a/PLASMA-DEM1.PO and b/PLASMA-DEM1.PO differ diff --git a/PLASMA-PRE3.PO b/PLASMA-PRE3.PO index c9ca83a..902ce0d 100644 Binary files a/PLASMA-PRE3.PO and b/PLASMA-PRE3.PO differ diff --git a/src/inc/sndseq.plh b/src/inc/sndseq.plh index 61bfbbb..cdc1f68 100644 --- a/src/inc/sndseq.plh +++ b/src/inc/sndseq.plh @@ -1,4 +1,4 @@ import sndseq predef spkrTone(pitch, duration)#0, spkrPWM(sample, speed, len)#0 - predef musicPlay(track, rept)#0, musicStop#0, getKey(backgroundProc)#1 + predef musicPlay(track, rept)#0, musicStop#0, musicGetKey(backgroundProc)#1 end diff --git a/src/libsrc/sndseq.pla b/src/libsrc/sndseq.pla index deb6922..1a60976 100755 --- a/src/libsrc/sndseq.pla +++ b/src/libsrc/sndseq.pla @@ -63,7 +63,8 @@ predef musicStop#0 // // Static sequencer values // -word seqTrack, seqEvent, seqTime, eventTime, updateTime, musicSequence +export word musicSequence +word seqTrack, seqEvent, seqTime, eventTime, updateTime byte numNotes, seqRepeat byte indexA[2], indexB[2], indexC[2] byte noteA[2], noteB[2], noteC[2] @@ -567,12 +568,12 @@ def mbSequence(yield, func)#0 mbVIA1->IFR = $40 // Clear interrupt if yieldTime <= seqTime; func()#0; yieldTime = seqTime + yield; fin until quit - psgWrite(mbVIA1, MIXER, $FF) // Turn everything off + psgWrite(mbVIA1, MIXER, $FF) // Turn everything off psgWrite(mbVIA1, AENVAMP, $00) psgWrite(mbVIA1, BENVAMP, $00) psgWrite(mbVIA1, CENVAMP, $00) if mbVIA2 - psgWrite(mbVIA2, MIXER, $FF) + psgWrite(mbVIA2, MIXER, $FF) psgWrite(mbVIA2, AENVAMP, $00) psgWrite(mbVIA2, BENVAMP, $00) psgWrite(mbVIA2, CENVAMP, $00) @@ -580,7 +581,7 @@ def mbSequence(yield, func)#0 mbVIA1->ACR = $00 // Stop T1 countdown mbVIA1->IER = $7F // Mask all interrupts mbVIA1->IFR = $40 // Clear interrupt - setStatusReg(status)) + setStatusReg(status) end // // Sequence notes through Apple II speaker @@ -764,7 +765,7 @@ end // // Get a keystroke and convert it to upper case // -export def getKey(backgroundProc)#1 +export def musicGetKey(backgroundProc)#1 byte key while ^$C000 < 128 diff --git a/src/mkrel b/src/mkrel index b6bc1e8..8f15ac2 100755 --- a/src/mkrel +++ b/src/mkrel @@ -2,6 +2,7 @@ cp CMD#FF2000 prodos/CMD.BIN cp PLASMA.SYSTEM#FF2000 prodos/PLASMA.SYSTEM.SYS cp PLASMA16.SYSTEM#FF2000 prodos/PLASMA16.SYSTEM.SYS +rm -rf prodos/sys mkdir prodos/sys cp ARGS#FE1000 prodos/sys/ARGS.REL cp CONIO#FE1000 prodos/sys/CONIO.REL @@ -26,6 +27,7 @@ cp UTHERNET2#FE1000 prodos/sys/UTHERNET2.REL cp ../sysfiles/FP6502.CODE#060000 prodos/sys/FP6502.CODE.BIN cp ../sysfiles/ELEMS.CODE#060000 prodos/sys/ELEMS.CODE.BIN +rm -rf prodos/demos mkdir prodos/demos cp DGRTEST#FE1000 prodos/demos/DGRTEST.REL cp RPNCALC#FE1000 prodos/demos/RPNCALC.REL @@ -55,6 +57,7 @@ cp PLAYSEQ#FE1000 prodos/demos/music/PLAYSEQ.REL cp mockingboard/ultima3.seq prodos/demos/music/ULTIMA3.SEQ.BIN cp mockingboard/startrek.seq prodos/demos/music/STARTREK.SEQ.BIN +rm -rf prodos/bld mkdir prodos/bld cp PLASM#FE1000 prodos/bld/PLASM.REL cp CODEOPT#FE1000 prodos/bld/CODEOPT.REL diff --git a/src/samplesrc/hgr1test.pla b/src/samplesrc/hgr1test.pla index f7ead33..41efef9 100644 --- a/src/samplesrc/hgr1test.pla +++ b/src/samplesrc/hgr1test.pla @@ -1,24 +1,24 @@ include "inc/cmdsys.plh" -sysflags reshgr1 // Reserve HGR page 1 +sysflags reshgr1 // Reserve HGR page 1 // // Hardware addresses // -const speaker=$C030 -const showgraphics=$C050 -const showtext=$C051 -const showfull=$C052 -const showmix=$C053 -const showpage1=$C054 -const showpage2=$C055 -const showlores=$C056 -const showhires=$C057 -const keyboard=$C000 -const keystrobe=$C010 -const hgr1=$2000 -const hgr2=$4000 -const page1=0 -const page2=1 +const speaker = $C030 +const showgraphics = $C050 +const showtext = $C051 +const showfull = $C052 +const showmix = $C053 +const showpage1 = $C054 +const showpage2 = $C055 +const showlores = $C056 +const showhires = $C057 +const keyboard = $C000 +const keystrobe = $C010 +const hgr1 = $2000 +const hgr2 = $4000 +const page1 = 0 +const page2 = 1 word hgrpage[] = hgr1, hgr2 word hgrscan[] = $0000,$0400,$0800,$0C00,$1000,$1400,$1800,$1C00 word = $0080,$0480,$0880,$0C80,$1080,$1480,$1880,$1C80 @@ -45,7 +45,7 @@ word = $02D0,$06D0,$0AD0,$0ED0,$12D0,$16D0,$1AD0,$1ED0 word = $0350,$0750,$0B50,$0F50,$1350,$1750,$1B50,$1F50 word = $03D0,$07D0,$0BD0,$0FD0,$13D0,$17D0,$1BD0,$1FD0 word hcolor[] = $0000,$552A,$2A55,$7F7F,$8080,$D5AA,$AAD5,$FFFF -memset($2000, 0, $2000) // Clear HGR page 1 +memset(hgr1, 0, $2000) // Clear HGR page 1 ^showpage1 ^showfull ^showhires diff --git a/src/samplesrc/playseq.pla b/src/samplesrc/playseq.pla index c602b41..5f502be 100644 --- a/src/samplesrc/playseq.pla +++ b/src/samplesrc/playseq.pla @@ -3,19 +3,13 @@ include "inc/args.plh" include "inc/fileio.plh" include "inc/sndseq.plh" -/////////////////////////////////////////////////////////////////////////////// // // These are utility sequences/routines needed to test the music sequencer code. // word arg word ref -/////////////////////////////////////////////////////////////////////////////// - -/////////////////////////////////////////////////////////////////////////////// // -// More utility routines to test the getKey routine -// -// Sample background process +// Sample background process to show it's working // def backgroundProc#0 ^$0400++ @@ -28,7 +22,7 @@ if ^arg fileio:read(ref, heapmark(), heapavail()) fileio:close(ref) musicPlay(heapmark(), TRUE) - getKey(@backgroundProc) + musicGetKey(@backgroundProc) musicStop else puts("File not found.\n") @@ -36,4 +30,3 @@ if ^arg fin done -////////////////////////////////////////////////////////////////////////////////