aboutsummaryrefslogtreecommitdiff
path: root/music
diff options
context:
space:
mode:
authorAstatin <[email protected]>2025-08-12 13:17:58 +0200
committerAstatin <[email protected]>2025-08-12 13:17:58 +0200
commitc70b3cb2cab64d550a585dcfbc166bf30c0ea955 (patch)
treeef41d8f22129ab84e112bc7e78a6ce3ceb97dc83 /music
parent41b5858e855c68e01bf388e54abd82661e846585 (diff)
Add jump, damage, earcoptr and hop sound effects
Diffstat (limited to 'music')
-rw-r--r--music/soundeffects.gbasm12
-rw-r--r--music/soundeffects/damage.gbasm50
-rw-r--r--music/soundeffects/earcoptr.gbasm60
-rw-r--r--music/soundeffects/jump.gbasm48
-rw-r--r--music/soundeffects/laser.gbasm46
5 files changed, 216 insertions, 0 deletions
diff --git a/music/soundeffects.gbasm b/music/soundeffects.gbasm
index f320aaf..c164492 100644
--- a/music/soundeffects.gbasm
+++ b/music/soundeffects.gbasm
@@ -12,6 +12,18 @@ Wait_Next_Frame:
CALL =Wait_Next_Frame
.END
+.MACRODEF RET_WAIT_NEXT_FRAME_SAVE_HL
+ LD A, H
+ LD ($mem_sound_effect_hl), A
+ LD A, L
+ LD ($mem_sound_effect_hl+1), A
+ CALL =Wait_Next_Frame
+ LD A, ($mem_sound_effect_hl)
+ LD H, A
+ LD A, ($mem_sound_effect_hl+1)
+ LD L, A
+.END
+
Play_Sound_Effect:
LD A, ($mem_sound_effect_pc)
CP $ff
diff --git a/music/soundeffects/damage.gbasm b/music/soundeffects/damage.gbasm
new file mode 100644
index 0000000..aa325d1
--- /dev/null
+++ b/music/soundeffects/damage.gbasm
@@ -0,0 +1,50 @@
+_sound_effect_Damage:
+ LD A, $mem_sound_flags
+ SET 4, A
+ LD $mem_sound_flags, A
+
+ LD A, $00
+ LD ($21), A
+ LD A, $80
+ LD ($23), A
+
+ .RET_WAIT_NEXT_FRAME
+ .RET_WAIT_NEXT_FRAME
+ .RET_WAIT_NEXT_FRAME
+ .RET_WAIT_NEXT_FRAME
+ .RET_WAIT_NEXT_FRAME
+ .RET_WAIT_NEXT_FRAME
+
+ LD A, $3f
+ LD ($20), A
+ LD A, $82
+ LD ($21), A
+ LD A, $14
+ LD ($22), A
+ LD A, $80
+ LD ($23), A
+
+ .RET_WAIT_NEXT_FRAME
+ .RET_WAIT_NEXT_FRAME
+ .RET_WAIT_NEXT_FRAME
+ .RET_WAIT_NEXT_FRAME
+ .RET_WAIT_NEXT_FRAME
+ .RET_WAIT_NEXT_FRAME
+
+ LD A, $3f
+ LD ($20), A
+ LD A, $a2
+ LD ($21), A
+ LD A, $14
+ LD ($22), A
+ LD A, $80
+ LD ($23), A
+
+ LD A, $mem_sound_flags
+ SET 5, A
+ LD $mem_sound_flags, A
+ LD A, $10
+ LD $mem_sound_effect_frame_count, A
+ LD A, $ff
+ LD ($mem_sound_effect_pc), A
+ RET
diff --git a/music/soundeffects/earcoptr.gbasm b/music/soundeffects/earcoptr.gbasm
new file mode 100644
index 0000000..bbccb65
--- /dev/null
+++ b/music/soundeffects/earcoptr.gbasm
@@ -0,0 +1,60 @@
+_sound_effect_Earcoptr_slide_data:
+.DB $e7, $86, $c4, $06, $9e, $06, $72, $06, $42, $06, $0b, $06, $ce, $05, $89, $05
+_sound_effect_Earcoptr_slide_data.semi:
+.DB $3b, $05, $e5, $04, $83, $04, $16, $04, $9b, $03, $12, $03, $77, $02, $c9, $01
+_sound_effect_Earcoptr_slide_data.end:
+
+_sound_effect_Earcoptr:
+ LD A, $mem_sound_flags
+ SET 2, A
+ LD $mem_sound_flags, A
+
+
+ LD A, $80
+ LD ($19), A
+
+ .MACRODEF EARCOPTER_SOUND_LOOP =start =end
+ LD HL, =start
+
+ $loop:
+ LD A, (HL+)
+ LD ($18), A
+
+ LD A, (HL+)
+ LD ($19), A
+
+ .RET_WAIT_NEXT_FRAME_SAVE_HL
+
+ LD A, H
+ CP high(=end)
+ JR NZ, =$loop
+ LD A, L
+ CP low(=end)
+ JR NZ, =$loop
+ $end:
+ .END
+
+ LD A, $3f
+ LD ($16), A
+ LD A, $82
+ LD ($17), A
+ .EARCOPTER_SOUND_LOOP =_sound_effect_Earcoptr_slide_data, =_sound_effect_Earcoptr_slide_data.semi
+
+ LD A, $3f
+ LD ($16), A
+ LD A, $82
+ LD ($17), A
+ .EARCOPTER_SOUND_LOOP =_sound_effect_Earcoptr_slide_data, =_sound_effect_Earcoptr_slide_data.semi
+
+ LD A, $3f
+ LD ($16), A
+ LD A, $82
+ LD ($17), A
+ .EARCOPTER_SOUND_LOOP =_sound_effect_Earcoptr_slide_data, =_sound_effect_Earcoptr_slide_data.end
+
+ LD A, $mem_sound_flags
+ AND 0b11000001
+ LD $mem_sound_flags, A
+ LD A, $ff
+ LD ($mem_sound_effect_pc), A
+ RET
diff --git a/music/soundeffects/jump.gbasm b/music/soundeffects/jump.gbasm
new file mode 100644
index 0000000..7ae9a58
--- /dev/null
+++ b/music/soundeffects/jump.gbasm
@@ -0,0 +1,48 @@
+_sound_effect_Jump_slide_data:
+ .DB $20 $86 $35 $06 $48 $06 $5b $06 $6d $06 $7e $06 $8e $06 $9e $06
+ .DB $ad $06 $bb $06 $c9 $06 $d6 $06 $e3 $06 $ef $06 $fa $06 $06 $07
+ .DB $10 $07 $1a $07 $24 $07 $2d $07 $36 $07 $3f $07 $47 $07 $4f $07
+ .DB $56 $07 $5e $07 $64 $07 $6b $07 $71 $07 $77 $07 $7d $07 $83 $07
+ .DB $88 $07 $8d $07 $92 $07 $97 $07 $9b $07 $9f $07 $a4 $07 $a7 $07
+ .DB $ab $07 $af $07 $b2 $07 $b6 $07 $b9 $07 $bc $07 $bf $07 $c1 $07
+ .DB $c4 $07 $c7 $07 $c9 $07 $cb $07 $ce $07 $d0 $07 $d2 $07 $d4 $07
+ .DB $d6 $07 $d7 $07 $d9 $07 $db $07
+_sound_effect_Jump_slide_data.end:
+
+_sound_effect_Jump:
+ LD A, $mem_sound_flags
+ SET 2, A
+ LD $mem_sound_flags, A
+
+ LD HL, =_sound_effect_Jump_slide_data
+
+ LD A, $80
+ LD ($19), A
+ LD A, $3f
+ LD ($16), A
+ LD A, $a2
+ LD ($17), A
+
+ .loop:
+ LD A, (HL+)
+ LD ($18), A
+
+ LD A, (HL+)
+ LD ($19), A
+
+ .RET_WAIT_NEXT_FRAME_SAVE_HL
+
+ LD A, H
+ CP high(=_sound_effect_Jump_slide_data.end)
+ JR NZ, =.loop
+ LD A, L
+ CP low(=_sound_effect_Jump_slide_data.end)
+ JR NZ, =.loop
+ .end:
+
+ LD A, $mem_sound_flags
+ AND 0b11000001
+ LD $mem_sound_flags, A
+ LD A, $ff
+ LD ($mem_sound_effect_pc), A
+ RET
diff --git a/music/soundeffects/laser.gbasm b/music/soundeffects/laser.gbasm
new file mode 100644
index 0000000..e73396b
--- /dev/null
+++ b/music/soundeffects/laser.gbasm
@@ -0,0 +1,46 @@
+_sound_effect_Laser_slide_data:
+ .DB $bc, $87, $b6, $07, $af, $07, $a7, $07, $9f, $07, $97, $07, $8d, $07, $83, $07
+ .DB $77, $07, $6b, $07, $5e, $07, $4f, $07, $3f, $07, $2d, $07, $1a, $07, $06, $07
+ .DB $ef, $06, $d6, $06, $bb, $06, $9e, $06, $7e, $06, $5b, $06, $35, $06, $0b, $06
+ .DB $de, $05, $ac, $05, $76, $05, $3b, $05, $fb, $04, $b5, $04, $69, $04, $16, $04
+ .DB $bb, $03, $58, $03, $ed, $02, $77, $02, $f7, $01, $6b, $01, $d2, $00, $2c, $00
+ .DB $01, $00
+_sound_effect_Laser_slide_data.end:
+
+_sound_effect_Laser:
+ LD A, $mem_sound_flags
+ SET 2, A
+ LD $mem_sound_flags, A
+
+ LD HL, =_sound_effect_Laser_slide_data
+
+ LD A, $80
+ LD ($19), A
+ LD A, $3f
+ LD ($16), A
+ LD A, $a2
+ LD ($17), A
+
+ .loop:
+ LD A, (HL+)
+ LD ($18), A
+
+ LD A, (HL+)
+ LD ($19), A
+
+ .RET_WAIT_NEXT_FRAME_SAVE_HL
+
+ LD A, H
+ CP high(=_sound_effect_Laser_slide_data.end)
+ JR NZ, =.loop
+ LD A, L
+ CP low(=_sound_effect_Laser_slide_data.end)
+ JR NZ, =.loop
+ .end:
+
+ LD A, $mem_sound_flags
+ AND 0b11000001
+ LD $mem_sound_flags, A
+ LD A, $ff
+ LD ($mem_sound_effect_pc), A
+ RET