Also change the volume to 0 for looping sounds which are to be stopped.

This commit is contained in:
Jeremy Rand 2020-12-25 00:38:58 -05:00
parent 58cc259d67
commit 917c5b97f0
5 changed files with 115 additions and 34 deletions

View File

@ -11,8 +11,8 @@ This project would not have been a success without help from the Apple // commun
* Dagen Brock for GSPlus and for his technical support and encouragement on slack. GSPlus was the emulator I used primarily and when I did a "build and run", GSPlus always launched reliably and quickly so I could test the latest code.
* Mike Westerfield and Byte Works for the ORCA tools which I have used for building this project.
* Kelvin Sherlock for GoldenGate and Profuse which are the fundamental tools I used for building this project.
* Ken Gagne and Juiced.GS for making these tools available.
* Ken Gagne and Juiced.GS for making tools like ORCA and GoldenGate available.
* Stephen Heumann for NetDisk which I used to transfer my latest build to my real GS for testing.
## Apple // Forever!

View File

@ -136,6 +136,14 @@ soundInit entry
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
lda #SOUND_REG_VOLUME+SPIDER_OSC_NUM
sta >SOUND_ADDR_LOW
lda #$0
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
lda #SOUND_REG_SIZE+SPIDER_OSC_NUM
sta >SOUND_ADDR_LOW
lda #SPIDER_SIZE
@ -233,7 +241,7 @@ soundInit entry
lda #SOUND_REG_VOLUME+SEGMENTS_OSC_NUM
sta >SOUND_ADDR_LOW
lda #SEGMENTS_VOLUME
lda #0
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
@ -473,6 +481,30 @@ soundInit entry
ora #$20
sta >SOUND_CONTROL_REG
lda #SOUND_REG_FREQ_LOW+FLEA_OSC_NUM
sta >SOUND_ADDR_LOW
lda fleaFreqs
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
lda #SOUND_REG_FREQ_HIGH+FLEA_OSC_NUM
sta >SOUND_ADDR_LOW
lda fleaFreqs+1
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
lda #SOUND_REG_VOLUME+FLEA_OSC_NUM
sta >SOUND_ADDR_LOW
lda #$0
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
lda #SOUND_REG_SIZE+FLEA_OSC_NUM
sta >SOUND_ADDR_LOW
lda #FLEA_SIZE
@ -525,6 +557,14 @@ soundInit entry
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
lda #SOUND_REG_VOLUME+SCORPION_OSC_NUM
sta >SOUND_ADDR_LOW
lda #$0
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
lda #SOUND_REG_SIZE+SCORPION_OSC_NUM
sta >SOUND_ADDR_LOW
lda #SCORPION_SIZE
@ -789,13 +829,21 @@ startSegmentSound_doIt anop
lda #SOUND_REG_CONTROL+SEGMENTS_OSC_NUM
sta >SOUND_ADDR_LOW
lda #SEGMENTS_CONTROL+SOUND_HALTED+SOUND_RIGHT_SPEAKER
sta >SOUND_DATA_REG
lda #SEGMENTS_CONTROL+SOUND_RIGHT_SPEAKER
sta >SOUND_DATA_REG
lda #SEGMENTS_CONTROL+SOUND_HALTED+SOUND_RIGHT_SPEAKER
lda #SEGMENTS_CONTROL+SOUND_HALTED+SOUND_LEFT_SPEAKER
sta >SOUND_DATA_REG
lda #SEGMENTS_CONTROL+SOUND_LEFT_SPEAKER
sta >SOUND_DATA_REG
lda #SEGMENTS_CONTROL+SOUND_HALTED+SOUND_LEFT_SPEAKER
lda #SOUND_REG_VOLUME+SEGMENTS_OSC_NUM
sta >SOUND_ADDR_LOW
lda #SEGMENTS_VOLUME
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
long m
@ -817,6 +865,14 @@ stopSegmentSound_doIt anop
ora #$20
sta >SOUND_CONTROL_REG
lda #SOUND_REG_VOLUME+SEGMENTS_OSC_NUM
sta >SOUND_ADDR_LOW
lda #0
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
lda #SOUND_REG_CONTROL+SEGMENTS_OSC_NUM
sta >SOUND_ADDR_LOW
lda #SOUND_ONE_SHOT_MODE+SOUND_RIGHT_SPEAKER
@ -853,15 +909,6 @@ startSpiderSound_doIt anop
ora #$20
sta >SOUND_CONTROL_REG
lda #SOUND_REG_VOLUME+SPIDER_OSC_NUM
sta >SOUND_ADDR_LOW
lda tileRightVolume,x
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
eor #$ff
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
lda #SOUND_REG_CONTROL+SPIDER_OSC_NUM
sta >SOUND_ADDR_LOW
lda #SPIDER_CONTROL+SOUND_HALTED+SOUND_RIGHT_SPEAKER
@ -872,6 +919,15 @@ startSpiderSound_doIt anop
sta >SOUND_DATA_REG
lda #SPIDER_CONTROL+SOUND_LEFT_SPEAKER
sta >SOUND_DATA_REG
lda #SOUND_REG_VOLUME+SPIDER_OSC_NUM
sta >SOUND_ADDR_LOW
lda tileRightVolume,x
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
eor #$ff
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
long m
rtl
@ -916,6 +972,14 @@ stopSpiderSound_doIt anop
ora #$20
sta >SOUND_CONTROL_REG
lda #SOUND_REG_VOLUME+SPIDER_OSC_NUM
sta >SOUND_ADDR_LOW
lda #$0
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
lda #SOUND_REG_CONTROL+SPIDER_OSC_NUM
sta >SOUND_ADDR_LOW
lda #SOUND_ONE_SHOT_MODE+SOUND_RIGHT_SPEAKER
@ -952,15 +1016,6 @@ startScorpionSound_doIt anop
ora #$20
sta >SOUND_CONTROL_REG
lda #SOUND_REG_VOLUME+SCORPION_OSC_NUM
sta >SOUND_ADDR_LOW
lda tileRightVolume,x
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
eor #$ff
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
lda #SOUND_REG_CONTROL+SCORPION_OSC_NUM
sta >SOUND_ADDR_LOW
lda #SCORPION_CONTROL+SOUND_HALTED+SOUND_RIGHT_SPEAKER
@ -971,6 +1026,15 @@ startScorpionSound_doIt anop
sta >SOUND_DATA_REG
lda #SCORPION_CONTROL+SOUND_LEFT_SPEAKER
sta >SOUND_DATA_REG
lda #SOUND_REG_VOLUME+SCORPION_OSC_NUM
sta >SOUND_ADDR_LOW
lda tileRightVolume,x
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
eor #$ff
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
long m
rtl
@ -1015,6 +1079,14 @@ stopScorpionSound_doIt anop
ora #$20
sta >SOUND_CONTROL_REG
lda #SOUND_REG_VOLUME+SCORPION_OSC_NUM
sta >SOUND_ADDR_LOW
lda #0
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
lda #SOUND_REG_CONTROL+SCORPION_OSC_NUM
sta >SOUND_ADDR_LOW
lda #SOUND_ONE_SHOT_MODE+SOUND_RIGHT_SPEAKER
@ -1052,15 +1124,6 @@ startFleaSound_doIt anop
ora #$20
sta >SOUND_CONTROL_REG
lda #SOUND_REG_VOLUME+FLEA_OSC_NUM
sta >SOUND_ADDR_LOW
lda tileRightVolume,x
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
eor #$ff
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
lda #SOUND_REG_FREQ_LOW+FLEA_OSC_NUM
sta >SOUND_ADDR_LOW
lda fleaFreqs
@ -1087,6 +1150,15 @@ startFleaSound_doIt anop
sta >SOUND_DATA_REG
lda #FLEA_CONTROL+SOUND_LEFT_SPEAKER
sta >SOUND_DATA_REG
lda #SOUND_REG_VOLUME+FLEA_OSC_NUM
sta >SOUND_ADDR_LOW
lda tileRightVolume,x
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
eor #$ff
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
long m
rtl
@ -1106,6 +1178,14 @@ stopFleaSound_doIt anop
ora #$20
sta >SOUND_CONTROL_REG
lda #SOUND_REG_VOLUME+FLEA_OSC_NUM
sta >SOUND_ADDR_LOW
lda #$0
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
sta >SOUND_DATA_REG
lda #SOUND_REG_CONTROL+FLEA_OSC_NUM
sta >SOUND_ADDR_LOW
lda #SOUND_ONE_SHOT_MODE+SOUND_RIGHT_SPEAKER

View File

@ -15,7 +15,7 @@
resource rVersion (1) {
{
0, /* Major version number in BCD */
1, /* Minor version number in BCD */
9, /* Minor version number in BCD */
0, /* Bug version number in BCD */
development,/* Development phase */
0 /* Release number */

View File

@ -27,7 +27,7 @@ sed -i "" "s:^s7d1 *=.*$:s7d1 = $DISKIMAGE:" config.txt
# This magic ensure that clicking stop in Xcode results in the emulator terminating.
if true
if false
then
$EMULATORPATH -fullscreen -mem 1572864 &
PID=$!

View File

@ -6,4 +6,5 @@ TODO
* Implement the code to support pausing the game
* Implement the code for supporting a two player game
* Look at supporting Versions in order to support automatic SW upgrades
* Need an icon.
* So much more.