mirror of
https://github.com/dschmenk/PLASMA.git
synced 2025-01-05 17:32:02 +00:00
Ready for HW testing
This commit is contained in:
parent
ec5109a6db
commit
243dba457d
BIN
PLASMA-BLD1.PO
BIN
PLASMA-BLD1.PO
Binary file not shown.
BIN
PLASMA-DEM1.PO
BIN
PLASMA-DEM1.PO
Binary file not shown.
BIN
PLASMA-PRE3.PO
BIN
PLASMA-PRE3.PO
Binary file not shown.
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
Loading…
Reference in New Issue
Block a user