From 8b0b4c6291347e44d5ba5f11df8717edb0af768e Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Fri, 3 Nov 2023 10:54:09 -0400 Subject: [PATCH] second: add another sound sample this one is tricky as we only have room to load it in advance, to the language card, and hope it's still there later --- demos/second/part00_boot/Makefile | 10 +++++- demos/second/part08_gorilla/Makefile | 6 ++++ .../audio/Makefile | 0 .../audio/a_pboy.btc | 0 demos/second/part08_gorilla/gorilla.s | 33 +++++++++++++++++ demos/second/part10_lens_rotozoom/lens.s | 36 ++++++++++++++----- 6 files changed, 76 insertions(+), 9 deletions(-) rename demos/second/{part10_lens_rotozoom => part08_gorilla}/audio/Makefile (100%) rename demos/second/{part10_lens_rotozoom => part08_gorilla}/audio/a_pboy.btc (100%) diff --git a/demos/second/part00_boot/Makefile b/demos/second/part00_boot/Makefile index 1095e2b8..16740878 100644 --- a/demos/second/part00_boot/Makefile +++ b/demos/second/part00_boot/Makefile @@ -24,6 +24,14 @@ fake_bios.o: fake_bios.s \ ### +fonts/a2_cga_thin.inc: + cd fonts && make + +graphics/a2_energy.hgr.zx02: + cd graphics && make +### + clean: rm -f *~ *.o *.lst FAKE_BIOS - + cd graphics && make clean + cd fonts && make clean diff --git a/demos/second/part08_gorilla/Makefile b/demos/second/part08_gorilla/Makefile index d14a23b0..2d269648 100644 --- a/demos/second/part08_gorilla/Makefile +++ b/demos/second/part08_gorilla/Makefile @@ -19,6 +19,7 @@ gorilla.o: gorilla.s \ ../hgr_copy_fast.s \ tv_effect.s \ ../zp.inc ../hardware.inc ../qload.inc \ + audio/a_pboy.btc.zx02 \ graphics/mntscrl3.hgr.zx02 ca65 -o gorilla.o gorilla.s -l gorilla.lst @@ -27,9 +28,14 @@ gorilla.o: gorilla.s \ graphics/mntscrl3.hgr.zx02: cd graphics && make +audio/a_pboy.btc.zx02: + cd audio && make + ### clean: rm -f *~ *.o *.lst GORILLA cd graphics && make clean + cd audio && make clean + diff --git a/demos/second/part10_lens_rotozoom/audio/Makefile b/demos/second/part08_gorilla/audio/Makefile similarity index 100% rename from demos/second/part10_lens_rotozoom/audio/Makefile rename to demos/second/part08_gorilla/audio/Makefile diff --git a/demos/second/part10_lens_rotozoom/audio/a_pboy.btc b/demos/second/part08_gorilla/audio/a_pboy.btc similarity index 100% rename from demos/second/part10_lens_rotozoom/audio/a_pboy.btc rename to demos/second/part08_gorilla/audio/a_pboy.btc diff --git a/demos/second/part08_gorilla/gorilla.s b/demos/second/part08_gorilla/gorilla.s index da034eb1..556ca544 100644 --- a/demos/second/part08_gorilla/gorilla.s +++ b/demos/second/part08_gorilla/gorilla.s @@ -68,6 +68,37 @@ gorilla_wait: jsr tv_effect + + ;============================ + ; decompress sound for later + ;============================ + + ; decompress audio to $D000 + + lda #transmission_data + sta zx_src_h+1 + + sei ; disable interrupts + jsr mute_ay_both + + ; swap in language card Page1 + + lda $C08B + lda $C08B + + lda #$D0 + jsr zx02_full_decomp + + ; swap back language card Page2 + + lda $C083 + lda $C083 + + jsr unmute_ay_both + cli ; re-enable interrupts + gorilla_wait2: lda #30 jsr wait_for_pattern @@ -92,3 +123,5 @@ gorilla_done: gorilla_data: .incbin "graphics/mntscrl3.hgr.zx02" +transmission_data: + .incbin "audio/a_pboy.btc.zx02" diff --git a/demos/second/part10_lens_rotozoom/lens.s b/demos/second/part10_lens_rotozoom/lens.s index f065d0f7..4c707eaa 100644 --- a/demos/second/part10_lens_rotozoom/lens.s +++ b/demos/second/part10_lens_rotozoom/lens.s @@ -92,17 +92,37 @@ load_background: ; play audio -; lda #$00 -; sta BTC_L -; lda #$60 -; sta BTC_H + lda #$00 + sta BTC_L + lda #$D0 + sta BTC_H -; sei ; stop music + sei ; stop music + jsr mute_ay_both ; disable audio -; ldx #11 -; jsr play_audio + ; switch to language card Page 1 -; cli + lda $C08B + lda $C08B + + + ldy #0 + lda (BTC_L),Y + cmp #$AA ; check if our audio was loaded + bne skip_audio + + ldx #14 + jsr play_audio + +skip_audio: + + ; switch back to language card Page 2 + + lda $C083 + lda $C083 + + jsr unmute_ay_both ; re-enable audio + cli ; re-enable music ;===============================