lovebyte: update makefile

This commit is contained in:
Vince Weaver 2023-02-06 00:53:33 -05:00
parent f6406d9d60
commit fdcbdaeb6a
4 changed files with 322 additions and 3 deletions

View File

@ -14,7 +14,7 @@ all: blue_flame.dsk
blue_flame.dsk: HELLO BLUE_FLAME BF
cp $(EMPTYDISK) blue_flame.dsk
$(DOS33) -y blue_flame.dsk SAVE A HELLO
$(DOS33) -y blue_flame.dsk BSAVE -a 0x8000 BLUE_FLAME
# $(DOS33) -y blue_flame.dsk BSAVE -a 0x8000 BLUE_FLAME
$(DOS33) -y blue_flame.dsk BSAVE -a 0x6000 BF
###
@ -35,8 +35,8 @@ blue_flame.zip: BLUE_FLAME blue_flame.dsk
cp *.inc ./lovebyte2023_blue_flame/src
cp file_id.diz ./lovebyte2023_blue_flame
cp blue_flame.dsk ./lovebyte2023_blue_flame
cp blue_flame.mkv ./lovebyte2023_blue_flame
cp a2_desire_screen.png ./lovebyte2023_blue_flame
cp blue_flame.mp4 ./lovebyte2023_blue_flame
cp blue_flame_screen.png ./lovebyte2023_blue_flame
zip -r blue_flame.zip lovebyte2023_blue_flame
####

View File

@ -223,6 +223,7 @@ its_transparent:
; @@@ ;
; @ ;
heart_bitmap:
bitmap:
.byte $46
.byte $EF
@ -233,6 +234,48 @@ bitmap:
.byte $1c
.byte $08
;012|456|
; @@@@ ;
;@@@@@@ ;
;@@ @@@ ;
;@@@@@@ ;
;@@@@@@ ;
;@@@@@@@@ ;
; @@@@@@ ;
; @@@@@@ ;
duck_bitmap_left:
.byte $78
.byte $FC
.byte $DC
.byte $FC
.byte $FC
.byte $FF
.byte $3F
.byte $3F
;012|456|
; ;
; ;
; @@ ;
; @@ ;
; @@ ;
; @@ ;
; ;
; ;
duck_bitmap_left_beak:
.byte $00
.byte $00
.byte $0c
.byte $03
.byte $03
.byte $0c
.byte $00
.byte $00
bounce:
.byte 10,11,12,13,13,12,11,10

204
music/sound_effects/audio.s Normal file
View File

@ -0,0 +1,204 @@
; Based on BTC.SYSTEM by Oliver Schmidt
; How to generate proper audio for this:
; -Open MP3 in Audacity
; -Change Project Rate (Hz) to 33,000 (bottom left box)
; -Tracks --> Mix... --> Mix Stereo Down to Mono
; -File --> Export --> Export as WAV
; - Select "WAV (Microsoft) signed 16-bit PCM"
; - Under "Edit Metadata Tags" hit "Clear", then "Okay"
; -Open saved WAV file in BTc Sound Encoder 3.0
; -Change Algorithm to "1 bit" (leave fineness as BTc16)
; -File --> Export binary file .BTC format
spkr = $C030
;****************************************************************
;* Audio playback *
;****************************************************************
; audio file in BTC_L/BTC_H
; pages to play in X
play_audio:
ldy #0
; loop here as long as BITs are [F]alse (aka 0)
F_NX: NOP ; 2 2
NOP ; 2 2
NOP ; 2 2
BIT $00 ; 3 3
F_RD: LDA (BTC_L),y ; 5 5 5
ASL ; 2 2 2
BCS T_1_SW ; 2/3 2
NOP ; 2 2
NOP ; 2 2
NOP ; 2 2
NOP ; 2 2
F_1: JSR delay ; 6 (+13) 19
ASL ; 2 2 = 31
BCS T_2_SW ; 2/3
NOP ; 2
NOP ; 2
NOP ; 2
NOP ; 2
F_2: JSR delay ; 6 (+13)
ASL ; 2
BCS T_3_SW ; 2/3
NOP ; 2
NOP ; 2
NOP ; 2
NOP ; 2
F_3: JSR delay ; 6 (+13)
ASL ; 2
BCS T_4_SW ; 2/3
NOP ; 2
NOP ; 2
NOP ; 2
NOP ; 2
F_4: JSR delay ; 6 (+13)
ASL ; 2
BCS T_5_SW ; 2/3
NOP ; 2
NOP ; 2
NOP ; 2
NOP ; 2
F_5: JSR delay ; 6 (+13)
ASL ; 2
BCS T_6_SW ; 2/3
NOP ; 2
NOP ; 2
NOP ; 2
NOP ; 2
F_6: JSR delay ; 6 (+13)
ASL ; 2
BCS T_7_SW ; 2/3
NOP ; 2
NOP ; 2
NOP ; 2
NOP ; 2
F_7: JSR delay ; 6 (+13)
ASL ; 2
BCS T_8_SW ; 2/3 2 2
NOP ; 2 2 2
NOP ; 2 2 2
NOP ; 2 2 2
NOP ; 2 2 2
F_8: INY ; 2 2 2
BNE F_NX ; 2/3 3 = 31 2
INC BTC_H ; 5 5
DEX ; 2 2
BNE F_RD ; 2/3 3 = 31
RTS
; click speaker on transitions
T_1_SW: STA spkr ; 4 [SW]itch to [T]rue on BIT [1]
BCS T_1 ; 3 (always)
T_2_SW: STA spkr ; 4 [SW]itch to [T]rue on BIT [2]
BCS T_2 ; 3 (always)
T_3_SW: STA spkr ; 4 [SW]itch to [T]rue on BIT [3]
BCS T_3 ; 3 (always)
T_4_SW: STA spkr ; 4 [SW]itch to [T]rue on BIT [4]
BCS T_4 ; 3 (always)
T_5_SW: STA spkr ; 4 [SW]itch to [T]rue on BIT [5]
BCS T_5 ; 3 (always)
T_6_SW: STA spkr ; 4 [SW]itch to [T]rue on BIT [6]
BCS T_6 ; 3 (always)
T_7_SW: STA spkr ; 4 [SW]itch to [T]rue on BIT [7]
BCS T_7 ; 3 (always)
T_8_SW: STA spkr ; 4 [SW]itch to [T]rue on BIT [8]
BCS T_8 ; 3 (always)
F_1_SW: STA spkr ; 4 [SW]itch to [F]alse on BIT [1]
BCC F_1 ; 3 (always)
F_2_SW: STA spkr ; 4 [SW]itch to [F]alse on BIT [2]
BCC F_2 ; 3 (always)
F_3_SW: STA spkr ; 4 [SW]itch to [F]alse on BIT [3]
BCC F_3 ; 3 (always)
F_4_SW: STA spkr ; 4 [SW]itch to [F]alse on BIT [4]
BCC F_4 ; 3 (always)
F_5_SW: STA spkr ; 4 [SW]itch to [F]alse on BIT [5]
BCC F_5 ; 3 (always)
F_6_SW: STA spkr ; 4 [SW]itch to [F]alse on BIT [6]
BCC F_6 ; 3 (always)
F_7_SW: STA spkr ; 4 [SW]itch to [F]alse on BIT [7]
BCC F_7 ; 3 (always)
F_8_SW: STA spkr ; 4 [SW]itch to [F]alse on BIT [8]
BCC F_8 ; 3 (always)
; loop here as long as BITs are [T]rue (aka 1)
T_NX: NOP ; 2
NOP ; 2
NOP ; 2
BIT $00 ; 3
T_RD: LDA (BTC_L),y ; 5
ASL ; 2
BCC F_1_SW ; 2/3
NOP ; 2
NOP ; 2
NOP ; 2
NOP ; 2
T_1: JSR delay ; 6 (+13)
ASL ; 2
BCC F_2_SW ; 2/3
NOP ; 2
NOP ; 2
NOP ; 2
NOP ; 2
T_2: JSR delay ; 6 (+13)
ASL ; 2
BCC F_3_SW ; 2/3
NOP ; 2
NOP ; 2
NOP ; 2
NOP ; 2
T_3: JSR delay ; 6 (+13)
ASL ; 2
BCC F_4_SW ; 2/3
NOP ; 2
NOP ; 2
NOP ; 2
NOP ; 2
T_4: JSR delay ; 6 (+13)
ASL ; 2
BCC F_5_SW ; 2/3
NOP ; 2
NOP ; 2
NOP ; 2
NOP ; 2
T_5: JSR delay ; 6 (+13)
ASL ; 2
BCC F_6_SW ; 2/3
NOP ; 2
NOP ; 2
NOP ; 2
NOP ; 2
T_6: JSR delay ; 6 (+13)
ASL ; 2
BCC F_7_SW ; 2/3
NOP ; 2
NOP ; 2
NOP ; 2
NOP ; 2
T_7: JSR delay ; 6 (+13)
ASL ; 2
BCC F_8_SW ; 2/3
NOP ; 2
NOP ; 2
NOP ; 2
NOP ; 2
T_8: INY ; 2
BNE T_NX ; 2/3
INC BTC_H ; 5
DEX ; 2
BNE T_RD ; 2/3
RTS
delay:
nop ; 2
nop ; 2
BIT $00 ; 3
RTS ; 6 = 13

View File

@ -0,0 +1,72 @@
; Soft Switches
KEYPRESS= $C000
KEYRESET= $C010
SPEAKER= $C030
WAIT = $FCA8 ; delay 1/2(26+27A+5A^2) us
; zero page use
HALF_PERIOD = $FF
test_sound:
jsr tiny_sound_effect
wait_until_keypress:
lda KEYPRESS
bpl wait_until_keypress
bit KEYRESET
jmp test_sound
tiny_sound_effect:
ldy #0
freq_smc:
lda #$40
sta HALF_PERIOD
play_note:
loop_half_period:
lda $C030 ; 4 cycles
ldx HALF_PERIOD ; 3 cycles
loop_nops:
pha ; 4 cycles
plp ; 4 cycles
dex ; 2 cycles
bne loop_nops ; 3 cycles
; Testing duration loop
dey ; 2 cycles
bne loop_half_period ; 3 cycles
lsr freq_smc+1
lsr pattern
beq end
bcc skip_wait
wait_smc:
lda #80
jsr WAIT
skip_wait:
beq tiny_sound_effect ; bra
end:
rts
pattern:
.byte $13