shithub: pokered

Download patch

ref: 8b0cd72a6095db7f1639dae81c3d8eefd5b814d8
parent: 969b43d443090da42a4d0d73129298f6b6d69d5a
author: dannye <33dannye@gmail.com>
date: Sun Aug 18 17:43:15 EDT 2019

Finish cleaning up audio macro arguments and descriptions
break up arguments for stereo_panning and duty_cycle_pattern
note_type fade is signed
properly document arguments for vibrato, tempo, pitch_slide etc

--- a/audio/music/bikeriding.asm
+++ b/audio/music/bikeriding.asm
@@ -114,7 +114,7 @@
 	note B_, 1
 	octave 4
 	note C_, 4
-	note_type 12, 3, 13
+	note_type 12, 3, -5
 	note C_, 4
 	note_type 12, 11, 4
 	note F_, 6
--- a/audio/music/celadon.asm
+++ b/audio/music/celadon.asm
@@ -3,7 +3,7 @@
 	volume 7, 7
 	duty_cycle 3
 	toggle_perfect_pitch
-	note_type 12, 2, 15
+	note_type 12, 2, -7
 	rest 8
 	octave 3
 	note D_, 8
--- a/audio/music/defeatedgymleader.asm
+++ b/audio/music/defeatedgymleader.asm
@@ -287,7 +287,7 @@
 	note G_, 6
 	note E_, 1
 	note G_, 1
-	note_type 12, 6, 15
+	note_type 12, 6, -7
 	octave 4
 	note C#, 8
 	note_type 12, 12, 7
@@ -318,7 +318,7 @@
 	note B_, 6
 	note G#, 1
 	note B_, 1
-	note_type 12, 4, 15
+	note_type 12, 4, -7
 	octave 4
 	note E_, 8
 	note_type 12, 11, 0
--- a/audio/music/dungeon1.asm
+++ b/audio/music/dungeon1.asm
@@ -4,12 +4,12 @@
 	duty_cycle 3
 	toggle_perfect_pitch
 	vibrato 10, 1, 4
-	note_type 12, 4, 13
+	note_type 12, 4, -5
 	rest 8
-	stereo_panning 237
+	stereo_panning %1110, %1101
 	octave 4
 	note F#, 8
-	stereo_panning 255
+	stereo_panning %1111, %1111
 
 Music_Dungeon1_branch_7dee5::
 	note_type 12, 11, 2
@@ -229,10 +229,10 @@
 Music_Dungeon1_Ch2::
 	vibrato 11, 1, 5
 	duty_cycle 3
-	note_type 12, 0, 15
+	note_type 12, 0, -7
 	octave 4
 	note G#, 8
-	note_type 12, 4, 13
+	note_type 12, 4, -5
 	octave 5
 	note D_, 8
 
--- a/audio/music/dungeon2.asm
+++ b/audio/music/dungeon2.asm
@@ -52,7 +52,7 @@
 	note A_, 4
 	note F#, 2
 	sound_loop 2, Music_Dungeon2_branch_7e892
-	note_type 12, 1, 15
+	note_type 12, 1, -7
 	octave 3
 	note E_, 16
 	note C_, 16
--- a/audio/music/finalbattle.asm
+++ b/audio/music/finalbattle.asm
@@ -147,7 +147,7 @@
 	note F_, 4
 	note F#, 12
 	note A#, 4
-	note_type 12, 5, 14
+	note_type 12, 5, -6
 	note B_, 12
 	note_type 12, 11, 2
 	note E_, 3
@@ -475,7 +475,7 @@
 	octave 4
 	note E_, 1
 	note E_, 3
-	note_type 12, 4, 10
+	note_type 12, 4, -2
 	octave 3
 	note G#, 4
 
@@ -634,7 +634,7 @@
 	note F#, 12
 	note_type 12, 12, 7
 	note F#, 4
-	note_type 12, 1, 15
+	note_type 12, 1, -7
 	octave 3
 	note F#, 8
 	note_type 12, 9, 0
@@ -686,7 +686,7 @@
 	note_type 12, 12, 7
 	octave 4
 	note D_, 8
-	note_type 12, 4, 12
+	note_type 12, 4, -4
 	note C_, 8
 	note_type 12, 13, 7
 	note E_, 8
@@ -696,7 +696,7 @@
 	note B_, 8
 	note A#, 4
 	note B_, 12
-	note_type 12, 5, 13
+	note_type 12, 5, -5
 	octave 4
 	note D_, 8
 	note_type 12, 12, 0
--- a/audio/music/gymleaderbattle.asm
+++ b/audio/music/gymleaderbattle.asm
@@ -779,7 +779,7 @@
 	note_type 12, 11, 0
 	octave 3
 	note B_, 16
-	note_type 12, 3, 15
+	note_type 12, 3, -7
 	octave 4
 	note F#, 16
 	note_type 12, 12, 3
--- a/audio/music/indigoplateau.asm
+++ b/audio/music/indigoplateau.asm
@@ -68,7 +68,7 @@
 	note_type 12, 11, 7
 	octave 3
 	note F_, 8
-	note_type 12, 4, 14
+	note_type 12, 4, -6
 	octave 2
 	note A#, 8
 	sound_loop 0, Music_IndigoPlateau_branch_a605
@@ -95,7 +95,7 @@
 	note D_, 8
 	note D_, 8
 	note D_, 4
-	note_type 12, 5, 10
+	note_type 12, 5, -2
 	note D#, 4
 
 Music_IndigoPlateau_branch_a673::
@@ -129,7 +129,7 @@
 	note D_, 8
 	octave 4
 	note C_, 8
-	note_type 12, 4, 13
+	note_type 12, 4, -5
 	octave 4
 	note D#, 8
 	sound_loop 0, Music_IndigoPlateau_branch_a673
--- a/audio/music/introbattle.asm
+++ b/audio/music/introbattle.asm
@@ -42,7 +42,7 @@
 	octave 2
 	note A_, 2
 	note A_, 2
-	note_type 12, 2, 9
+	note_type 12, 2, -1
 	octave 3
 	note G_, 4
 	note_type 12, 11, 0
@@ -52,7 +52,7 @@
 	note_type 12, 11, 7
 	octave 3
 	note F_, 8
-	note_type 12, 4, 15
+	note_type 12, 4, -7
 	octave 2
 	note F_, 8
 	note_type 12, 11, 1
@@ -157,7 +157,7 @@
 	note_type 12, 12, 5
 	octave 4
 	note C#, 4
-	note_type 12, 2, 15
+	note_type 12, 2, -7
 	note D_, 16
 	note_type 12, 12, 1
 	octave 5
--- a/audio/music/jigglypuffsong.asm
+++ b/audio/music/jigglypuffsong.asm
@@ -3,7 +3,7 @@
 	volume 7, 7
 	vibrato 8, 2, 4
 	duty_cycle 2
-	duty_cycle_pattern 165
+	duty_cycle_pattern 2, 2, 1, 1
 	toggle_perfect_pitch
 	note_type 13, 6, 7
 	octave 4
@@ -24,7 +24,7 @@
 Music_JigglypuffSong_Ch2::
 	vibrato 5, 1, 5
 	duty_cycle 2
-	duty_cycle_pattern 10
+	duty_cycle_pattern 0, 0, 2, 2
 	note_type 12, 10, 7
 	octave 4
 	note E_, 8
--- a/audio/music/meeteviltrainer.asm
+++ b/audio/music/meeteviltrainer.asm
@@ -8,7 +8,7 @@
 	octave 3
 	note D_, 2
 	note C#, 2
-	note_type 12, 4, 15
+	note_type 12, 4, -7
 	note D_, 4
 
 Music_MeetEvilTrainer_branch_7f6ae::
@@ -42,7 +42,7 @@
 	note B_, 4
 	note B_, 4
 	note B_, 4
-	note_type 12, 4, 15
+	note_type 12, 4, -7
 	note A#, 4
 	note_type 12, 12, 2
 	note G_, 2
@@ -54,7 +54,7 @@
 	note B_, 4
 	note B_, 4
 	note B_, 4
-	note_type 12, 3, 15
+	note_type 12, 3, -7
 	note A#, 4
 	note_type 12, 12, 2
 	sound_loop 0, Music_MeetEvilTrainer_branch_7f6c2
--- a/audio/music/pkmnhealed.asm
+++ b/audio/music/pkmnhealed.asm
@@ -5,16 +5,16 @@
 	toggle_perfect_pitch
 	note_type 12, 8, 1
 	rest 2
-	pitch_slide 0, 75
+	pitch_slide 1, 4, B_
 	note B_, 2
-	pitch_slide 0, 84
+	pitch_slide 1, 3, E_
 	note B_, 2
-	pitch_slide 0, 68
+	pitch_slide 1, 4, E_
 	note E_, 2
 	rest 4
-	pitch_slide 0, 59
+	pitch_slide 1, 5, B_
 	note E_, 4
-	pitch_slide 0, 75
+	pitch_slide 1, 4, B_
 	note B_, 4
 	sound_ret
 
--- a/audio/music/pokemontower.asm
+++ b/audio/music/pokemontower.asm
@@ -236,7 +236,7 @@
 	note A_, 4
 	note G#, 4
 	note F#, 4
-	note_type 12, 2, 15
+	note_type 12, 2, -7
 	octave 5
 	note D_, 16
 	note_type 12, 12, 0
--- a/audio/music/routes3.asm
+++ b/audio/music/routes3.asm
@@ -69,7 +69,7 @@
 	note A_, 4
 	note F_, 4
 	note A_, 4
-	note_type 8, 4, 15
+	note_type 8, 4, -7
 	note A_, 12
 	note_type 8, 9, 0
 	note F_, 12
--- a/audio/music/routes4.asm
+++ b/audio/music/routes4.asm
@@ -9,7 +9,7 @@
 	note G#, 4
 	note G#, 4
 	note G#, 4
-	note_type 12, 7, 15
+	note_type 12, 7, -7
 	note G#, 4
 	note_type 12, 10, 2
 	note G#, 4
@@ -223,7 +223,7 @@
 	note G#, 6
 	note_type 12, 7, 0
 	note G#, 6
-	note_type 12, 6, 15
+	note_type 12, 6, -7
 	note G#, 6
 	note_type 12, 12, 7
 	note G#, 4
@@ -233,7 +233,7 @@
 	note F#, 4
 	note_type 8, 9, 0
 	note F#, 6
-	note_type 8, 7, 15
+	note_type 8, 7, -7
 	note F#, 6
 	duty_cycle 0
 	note_type 8, 9, 0
--- a/audio/music/safarizone.asm
+++ b/audio/music/safarizone.asm
@@ -6,13 +6,13 @@
 	duty_cycle 2
 	note_type 12, 9, 2
 	octave 3
-	pitch_slide 0, 73
+	pitch_slide 1, 4, A_
 	note C_, 1
-	pitch_slide 0, 73
+	pitch_slide 1, 4, A_
 	note G_, 1
-	pitch_slide 0, 73
+	pitch_slide 1, 4, A_
 	note C_, 1
-	pitch_slide 0, 73
+	pitch_slide 1, 4, A_
 	note G_, 1
 	rest 4
 	duty_cycle 3
--- a/audio/music/silphco.asm
+++ b/audio/music/silphco.asm
@@ -292,7 +292,7 @@
 	note A#, 1
 	octave 3
 	note C_, 1
-	note_type 6, 3, 15
+	note_type 6, 3, -7
 	note C_, 16
 	note_type 6, 10, 0
 	note C_, 11
@@ -303,7 +303,7 @@
 	note G#, 1
 	note F#, 1
 	note E_, 1
-	note_type 6, 3, 15
+	note_type 6, 3, -7
 	note E_, 16
 	note_type 6, 9, 0
 	note E_, 11
@@ -314,7 +314,7 @@
 	octave 3
 	note C_, 1
 	note D_, 1
-	note_type 6, 3, 15
+	note_type 6, 3, -7
 	note D_, 16
 	note_type 6, 10, 7
 	note D_, 11
@@ -477,7 +477,7 @@
 	note D_, 8
 	note D#, 8
 	duty_cycle 3
-	note_type 6, 6, 15
+	note_type 6, 6, -7
 	note E_, 16
 	note_type 6, 12, 0
 	note B_, 16
@@ -528,7 +528,7 @@
 	note F_, 8
 	note_type 6, 11, 7
 	note F_, 8
-	note_type 6, 8, 10
+	note_type 6, 8, -2
 	note F_, 4
 	note_type 6, 12, 4
 	duty_cycle 3
@@ -539,7 +539,7 @@
 	note F#, 8
 	note_type 6, 11, 0
 	note F#, 8
-	note_type 6, 9, 9
+	note_type 6, 9, -1
 	note F#, 4
 	note_type 6, 12, 4
 	note F#, 4
@@ -547,7 +547,7 @@
 	note F#, 4
 	note_type 6, 9, 0
 	note G_, 12
-	note_type 6, 5, 9
+	note_type 6, 5, -1
 	note G_, 8
 	note_type 6, 12, 4
 	note G_, 4
@@ -766,7 +766,7 @@
 	note_type 6, 8, 3
 	note G_, 2
 	rest 6
-	note_type 6, 4, 15
+	note_type 6, 4, -7
 	note G#, 8
 	note_type 6, 11, 4
 	note G_, 2
--- a/audio/music/titlescreen.asm
+++ b/audio/music/titlescreen.asm
@@ -237,7 +237,7 @@
 	note G_, 8
 	vibrato 16, 2, 6
 	duty_cycle 3
-	note_type 12, 0, 11
+	note_type 12, 0, -3
 	note G_, 8
 	note_type 12, 14, 7
 	note A_, 8
@@ -383,14 +383,14 @@
 	note A_, 3
 	sound_call Music_TitleScreen_branch_7e6e5
 	octave 5
-	pitch_slide 0, 66
+	pitch_slide 1, 4, D_
 	note D_, 4
 	rest 4
 	octave 6
-	pitch_slide 0, 50
+	pitch_slide 1, 5, D_
 	note D_, 4
 	octave 5
-	pitch_slide 0, 66
+	pitch_slide 1, 4, D_
 	note D_, 4
 	rest 2
 	note_type 8, 1, 0
@@ -400,11 +400,11 @@
 	note C#, 4
 	sound_call Music_TitleScreen_branch_7e6e5
 	octave 6
-	pitch_slide 0, 50
+	pitch_slide 1, 5, D_
 	note D_, 4
 	rest 4
 	octave 5
-	pitch_slide 0, 66
+	pitch_slide 1, 4, D_
 	note D_, 4
 	rest 6
 	note_type 8, 1, 0
--- a/audio/music/trainerbattle.asm
+++ b/audio/music/trainerbattle.asm
@@ -735,7 +735,7 @@
 	note C_, 8
 	note_type 12, 3, 0
 	note C_, 8
-	note_type 12, 4, 14
+	note_type 12, 4, -6
 	note C_, 8
 	note_type 12, 12, 7
 	note C_, 8
@@ -827,7 +827,7 @@
 	note B_, 8
 	note_type 12, 6, 0
 	note B_, 8
-	note_type 12, 6, 9
+	note_type 12, 6, -1
 	note B_, 6
 	note_type 12, 9, 6
 	note B_, 6
--- a/audio/music/wildbattle.asm
+++ b/audio/music/wildbattle.asm
@@ -50,7 +50,7 @@
 	note C#, 14
 	note E_, 6
 	note D#, 10
-	note_type 12, 4, 15
+	note_type 12, 4, -7
 	note C#, 10
 	note_type 12, 11, 1
 	note G_, 6
@@ -279,7 +279,7 @@
 	note_type 12, 11, 7
 	octave 4
 	note C_, 16
-	note_type 12, 3, 15
+	note_type 12, 3, -7
 	note G_, 16
 	note_type 12, 11, 5
 	octave 3
@@ -416,7 +416,7 @@
 	note G#, 16
 	note_type 12, 11, 0
 	note G#, 16
-	note_type 12, 4, 14
+	note_type 12, 4, -6
 	note G_, 16
 	note_type 12, 12, 7
 	note G_, 16
@@ -438,7 +438,7 @@
 	note F_, 8
 	note_type 12, 12, 0
 	note G_, 16
-	note_type 12, 3, 15
+	note_type 12, 3, -7
 	octave 5
 	note C_, 16
 	note_type 12, 12, 5
--- a/audio/sfx/battle_27.asm
+++ b/audio/sfx/battle_27.asm
@@ -10,7 +10,7 @@
 
 
 SFX_Battle_27_Ch6:
-	duty_cycle_pattern 179
+	duty_cycle_pattern 2, 3, 0, 3
 	square_note 15, 2, -7, 1992
 
 SFX_Battle_27_branch_2063d:
--- a/audio/sfx/battle_28.asm
+++ b/audio/sfx/battle_28.asm
@@ -7,7 +7,7 @@
 
 
 SFX_Battle_28_Ch6:
-	duty_cycle_pattern 179
+	duty_cycle_pattern 2, 3, 0, 3
 	square_note 0, 14, 1, 1985
 	square_note 0, 14, 1, 1793
 	sound_loop 12, SFX_Battle_28_Ch6
--- a/audio/sfx/battle_29.asm
+++ b/audio/sfx/battle_29.asm
@@ -1,5 +1,5 @@
 SFX_Battle_29_Ch5:
-	duty_cycle_pattern 201
+	duty_cycle_pattern 3, 0, 2, 1
 	square_note 11, 15, 3, 288
 	square_note 9, 13, 3, 336
 	sound_loop 5, SFX_Battle_29_Ch5
--- a/audio/sfx/battle_2a.asm
+++ b/audio/sfx/battle_2a.asm
@@ -1,5 +1,5 @@
 SFX_Battle_2A_Ch5:
-	duty_cycle_pattern 57
+	duty_cycle_pattern 0, 3, 2, 1
 	square_note 4, 15, 4, 1536
 	square_note 3, 12, 4, 1280
 	square_note 5, 11, 5, 1536
@@ -10,7 +10,7 @@
 
 
 SFX_Battle_2A_Ch6:
-	duty_cycle_pattern 141
+	duty_cycle_pattern 2, 0, 3, 1
 	square_note 5, 14, 4, 1504
 	square_note 4, 11, 4, 1248
 	square_note 6, 10, 5, 1512
--- a/audio/sfx/battle_2b.asm
+++ b/audio/sfx/battle_2b.asm
@@ -1,5 +1,5 @@
 SFX_Battle_2B_Ch5:
-	duty_cycle_pattern 210
+	duty_cycle_pattern 3, 1, 0, 2
 	square_note 3, 8, 1, 768
 	square_note 3, 12, 1, 1024
 	square_note 3, 15, 1, 1280
--- a/audio/sfx/battle_2c.asm
+++ b/audio/sfx/battle_2c.asm
@@ -1,5 +1,5 @@
 SFX_Battle_2C_Ch5:
-	duty_cycle_pattern 57
+	duty_cycle_pattern 0, 3, 2, 1
 	square_note 15, 15, 4, 1280
 	square_note 15, 12, 4, 1024
 	square_note 15, 14, 2, 1472
@@ -8,7 +8,7 @@
 
 
 SFX_Battle_2C_Ch6:
-	duty_cycle_pattern 141
+	duty_cycle_pattern 2, 0, 3, 1
 	square_note 7, 14, 4, 1072
 	square_note 15, 11, 4, 816
 	square_note 15, 10, 2, 1080
--- a/audio/sfx/battle_2e.asm
+++ b/audio/sfx/battle_2e.asm
@@ -9,7 +9,7 @@
 
 
 SFX_Battle_2E_Ch6:
-	duty_cycle_pattern 179
+	duty_cycle_pattern 2, 3, 0, 3
 	square_note 2, 14, 1, 770
 	square_note 3, 14, 1, 2034
 	square_note 4, 14, 1, 1538
--- a/audio/sfx/battle_2f.asm
+++ b/audio/sfx/battle_2f.asm
@@ -1,5 +1,5 @@
 SFX_Battle_2F_Ch5:
-	duty_cycle_pattern 43
+	duty_cycle_pattern 0, 2, 2, 3
 	square_note 3, 15, 1, 2032
 	square_note 4, 15, 2, 512
 	sound_loop 8, SFX_Battle_2F_Ch5
@@ -7,7 +7,7 @@
 
 
 SFX_Battle_2F_Ch6:
-	duty_cycle_pattern 179
+	duty_cycle_pattern 2, 3, 0, 3
 	square_note 4, 14, 2, 514
 	square_note 4, 14, 1, 2018
 	sound_loop 9, SFX_Battle_2F_Ch6
--- a/audio/sfx/battle_34.asm
+++ b/audio/sfx/battle_34.asm
@@ -1,5 +1,5 @@
 SFX_Battle_34_Ch5:
-	duty_cycle_pattern 237
+	duty_cycle_pattern 3, 2, 3, 1
 	square_note 8, 15, -7, 1016
 	square_note 15, 15, -7, 1024
 	square_note 15, 15, 3, 1024
@@ -7,7 +7,7 @@
 
 
 SFX_Battle_34_Ch6:
-	duty_cycle_pattern 180
+	duty_cycle_pattern 2, 3, 1, 0
 	square_note 8, 14, -7, 960
 	square_note 15, 14, -7, 960
 	square_note 15, 14, 3, 960
--- a/audio/sfx/battle_36.asm
+++ b/audio/sfx/battle_36.asm
@@ -21,7 +21,7 @@
 
 
 SFX_Battle_36_Ch6:
-	duty_cycle_pattern 179
+	duty_cycle_pattern 2, 3, 0, 3
 	square_note 2, 15, 1, 1921
 	square_note 2, 15, 1, 1793
 	square_note 2, 15, 1, 1937
--- a/audio/sfx/cry00_1.asm
+++ b/audio/sfx/cry00_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry00_1_Ch5:
-	duty_cycle_pattern 245
+	duty_cycle_pattern 3, 3, 1, 1
 	square_note 4, 15, 3, 1816
 	square_note 15, 14, 5, 1944
 	square_note 8, 9, 1, 1880
@@ -7,7 +7,7 @@
 
 
 SFX_Cry00_1_Ch6:
-	duty_cycle_pattern 160
+	duty_cycle_pattern 2, 2, 0, 0
 	square_note 5, 11, 3, 1800
 	square_note 15, 12, 5, 1928
 	square_note 8, 7, 1, 1864
--- a/audio/sfx/cry00_2.asm
+++ b/audio/sfx/cry00_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry00_2_Ch5:
-	duty_cycle_pattern 245
+	duty_cycle_pattern 3, 3, 1, 1
 	square_note 4, 15, 3, 1816
 	square_note 15, 14, 5, 1944
 	square_note 8, 9, 1, 1880
@@ -7,7 +7,7 @@
 
 
 SFX_Cry00_2_Ch6:
-	duty_cycle_pattern 160
+	duty_cycle_pattern 2, 2, 0, 0
 	square_note 5, 11, 3, 1800
 	square_note 15, 12, 5, 1928
 	square_note 8, 7, 1, 1864
--- a/audio/sfx/cry00_3.asm
+++ b/audio/sfx/cry00_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry00_3_Ch5:
-	duty_cycle_pattern 245
+	duty_cycle_pattern 3, 3, 1, 1
 	square_note 4, 15, 3, 1816
 	square_note 15, 14, 5, 1944
 	square_note 8, 9, 1, 1880
@@ -7,7 +7,7 @@
 
 
 SFX_Cry00_3_Ch6:
-	duty_cycle_pattern 160
+	duty_cycle_pattern 2, 2, 0, 0
 	square_note 5, 11, 3, 1800
 	square_note 15, 12, 5, 1928
 	square_note 8, 7, 1, 1864
--- a/audio/sfx/cry01_1.asm
+++ b/audio/sfx/cry01_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry01_1_Ch5:
-	duty_cycle_pattern 160
+	duty_cycle_pattern 2, 2, 0, 0
 	square_note 4, 15, 3, 1536
 	square_note 8, 13, 5, 1888
 	square_note 3, 14, 2, 1824
@@ -8,7 +8,7 @@
 
 
 SFX_Cry01_1_Ch6:
-	duty_cycle_pattern 90
+	duty_cycle_pattern 1, 1, 2, 2
 	square_note 5, 11, 3, 1777
 	square_note 7, 12, 5, 1874
 	square_note 3, 10, 2, 1809
--- a/audio/sfx/cry01_2.asm
+++ b/audio/sfx/cry01_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry01_2_Ch5:
-	duty_cycle_pattern 160
+	duty_cycle_pattern 2, 2, 0, 0
 	square_note 4, 15, 3, 1536
 	square_note 8, 13, 5, 1888
 	square_note 3, 14, 2, 1824
@@ -8,7 +8,7 @@
 
 
 SFX_Cry01_2_Ch6:
-	duty_cycle_pattern 90
+	duty_cycle_pattern 1, 1, 2, 2
 	square_note 5, 11, 3, 1777
 	square_note 7, 12, 5, 1874
 	square_note 3, 10, 2, 1809
--- a/audio/sfx/cry01_3.asm
+++ b/audio/sfx/cry01_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry01_3_Ch5:
-	duty_cycle_pattern 160
+	duty_cycle_pattern 2, 2, 0, 0
 	square_note 4, 15, 3, 1536
 	square_note 8, 13, 5, 1888
 	square_note 3, 14, 2, 1824
@@ -8,7 +8,7 @@
 
 
 SFX_Cry01_3_Ch6:
-	duty_cycle_pattern 90
+	duty_cycle_pattern 1, 1, 2, 2
 	square_note 5, 11, 3, 1777
 	square_note 7, 12, 5, 1874
 	square_note 3, 10, 2, 1809
--- a/audio/sfx/cry02_1.asm
+++ b/audio/sfx/cry02_1.asm
@@ -7,7 +7,7 @@
 
 
 SFX_Cry02_1_Ch6:
-	duty_cycle_pattern 165
+	duty_cycle_pattern 2, 2, 1, 1
 	square_note 7, 9, 5, 1089
 	square_note 2, 8, 1, 1313
 	square_note 8, 6, 1, 1306
--- a/audio/sfx/cry02_2.asm
+++ b/audio/sfx/cry02_2.asm
@@ -7,7 +7,7 @@
 
 
 SFX_Cry02_2_Ch6:
-	duty_cycle_pattern 165
+	duty_cycle_pattern 2, 2, 1, 1
 	square_note 7, 9, 5, 1089
 	square_note 2, 8, 1, 1313
 	square_note 8, 6, 1, 1306
--- a/audio/sfx/cry02_3.asm
+++ b/audio/sfx/cry02_3.asm
@@ -7,7 +7,7 @@
 
 
 SFX_Cry02_3_Ch6:
-	duty_cycle_pattern 165
+	duty_cycle_pattern 2, 2, 1, 1
 	square_note 7, 9, 5, 1089
 	square_note 2, 8, 1, 1313
 	square_note 8, 6, 1, 1306
--- a/audio/sfx/cry03_1.asm
+++ b/audio/sfx/cry03_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry03_1_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 4, 15, 7, 1544
 	square_note 6, 14, 6, 1536
 	square_note 6, 13, 7, 1520
@@ -11,7 +11,7 @@
 
 
 SFX_Cry03_1_Ch6:
-	duty_cycle_pattern 10
+	duty_cycle_pattern 0, 0, 2, 2
 	square_note 4, 12, 7, 1284
 	square_note 6, 10, 6, 1282
 	square_note 6, 9, 7, 1265
--- a/audio/sfx/cry03_2.asm
+++ b/audio/sfx/cry03_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry03_2_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 4, 15, 7, 1544
 	square_note 6, 14, 6, 1536
 	square_note 6, 13, 7, 1520
@@ -11,7 +11,7 @@
 
 
 SFX_Cry03_2_Ch6:
-	duty_cycle_pattern 10
+	duty_cycle_pattern 0, 0, 2, 2
 	square_note 4, 12, 7, 1284
 	square_note 6, 10, 6, 1282
 	square_note 6, 9, 7, 1265
--- a/audio/sfx/cry03_3.asm
+++ b/audio/sfx/cry03_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry03_3_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 4, 15, 7, 1544
 	square_note 6, 14, 6, 1536
 	square_note 6, 13, 7, 1520
@@ -11,7 +11,7 @@
 
 
 SFX_Cry03_3_Ch6:
-	duty_cycle_pattern 10
+	duty_cycle_pattern 0, 0, 2, 2
 	square_note 4, 12, 7, 1284
 	square_note 6, 10, 6, 1282
 	square_note 6, 9, 7, 1265
--- a/audio/sfx/cry04_1.asm
+++ b/audio/sfx/cry04_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry04_1_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 4, 15, 7, 1696
 	square_note 8, 14, 6, 1700
 	square_note 4, 13, 6, 1696
@@ -11,7 +11,7 @@
 
 
 SFX_Cry04_1_Ch6:
-	duty_cycle_pattern 90
+	duty_cycle_pattern 1, 1, 2, 2
 	square_note 4, 14, 7, 1537
 	square_note 8, 13, 6, 1539
 	square_note 4, 12, 6, 1537
--- a/audio/sfx/cry04_2.asm
+++ b/audio/sfx/cry04_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry04_2_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 4, 15, 7, 1696
 	square_note 8, 14, 6, 1700
 	square_note 4, 13, 6, 1696
@@ -11,7 +11,7 @@
 
 
 SFX_Cry04_2_Ch6:
-	duty_cycle_pattern 90
+	duty_cycle_pattern 1, 1, 2, 2
 	square_note 4, 14, 7, 1537
 	square_note 8, 13, 6, 1539
 	square_note 4, 12, 6, 1537
--- a/audio/sfx/cry04_3.asm
+++ b/audio/sfx/cry04_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry04_3_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 4, 15, 7, 1696
 	square_note 8, 14, 6, 1700
 	square_note 4, 13, 6, 1696
@@ -11,7 +11,7 @@
 
 
 SFX_Cry04_3_Ch6:
-	duty_cycle_pattern 90
+	duty_cycle_pattern 1, 1, 2, 2
 	square_note 4, 14, 7, 1537
 	square_note 8, 13, 6, 1539
 	square_note 4, 12, 6, 1537
--- a/audio/sfx/cry05_1.asm
+++ b/audio/sfx/cry05_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry05_1_Ch5:
-	duty_cycle_pattern 10
+	duty_cycle_pattern 0, 0, 2, 2
 	square_note 6, 14, 2, 1280
 	square_note 6, 14, 3, 1408
 	square_note 6, 13, 3, 1392
@@ -8,7 +8,7 @@
 
 
 SFX_Cry05_1_Ch6:
-	duty_cycle_pattern 245
+	duty_cycle_pattern 3, 3, 1, 1
 	square_note 6, 14, 2, 1154
 	square_note 6, 13, 3, 1281
 	square_note 6, 11, 2, 1250
--- a/audio/sfx/cry05_2.asm
+++ b/audio/sfx/cry05_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry05_2_Ch5:
-	duty_cycle_pattern 10
+	duty_cycle_pattern 0, 0, 2, 2
 	square_note 6, 14, 2, 1280
 	square_note 6, 14, 3, 1408
 	square_note 6, 13, 3, 1392
@@ -8,7 +8,7 @@
 
 
 SFX_Cry05_2_Ch6:
-	duty_cycle_pattern 245
+	duty_cycle_pattern 3, 3, 1, 1
 	square_note 6, 14, 2, 1154
 	square_note 6, 13, 3, 1281
 	square_note 6, 11, 2, 1250
--- a/audio/sfx/cry05_3.asm
+++ b/audio/sfx/cry05_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry05_3_Ch5:
-	duty_cycle_pattern 10
+	duty_cycle_pattern 0, 0, 2, 2
 	square_note 6, 14, 2, 1280
 	square_note 6, 14, 3, 1408
 	square_note 6, 13, 3, 1392
@@ -8,7 +8,7 @@
 
 
 SFX_Cry05_3_Ch6:
-	duty_cycle_pattern 245
+	duty_cycle_pattern 3, 3, 1, 1
 	square_note 6, 14, 2, 1154
 	square_note 6, 13, 3, 1281
 	square_note 6, 11, 2, 1250
--- a/audio/sfx/cry06_1.asm
+++ b/audio/sfx/cry06_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry06_1_Ch5:
-	duty_cycle_pattern 250
+	duty_cycle_pattern 3, 3, 2, 2
 	square_note 6, 8, 3, 583
 	square_note 15, 6, 2, 550
 	square_note 4, 5, 2, 581
--- a/audio/sfx/cry06_2.asm
+++ b/audio/sfx/cry06_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry06_2_Ch5:
-	duty_cycle_pattern 250
+	duty_cycle_pattern 3, 3, 2, 2
 	square_note 6, 8, 3, 583
 	square_note 15, 6, 2, 550
 	square_note 4, 5, 2, 581
--- a/audio/sfx/cry06_3.asm
+++ b/audio/sfx/cry06_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry06_3_Ch5:
-	duty_cycle_pattern 250
+	duty_cycle_pattern 3, 3, 2, 2
 	square_note 6, 8, 3, 583
 	square_note 15, 6, 2, 550
 	square_note 4, 5, 2, 581
--- a/audio/sfx/cry07_1.asm
+++ b/audio/sfx/cry07_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry07_1_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 4, 15, 3, 1760
 	square_note 15, 14, 4, 1600
 	square_note 8, 12, 1, 1568
@@ -7,7 +7,7 @@
 
 
 SFX_Cry07_1_Ch6:
-	duty_cycle_pattern 10
+	duty_cycle_pattern 0, 0, 2, 2
 	square_note 3, 12, 3, 1667
 	square_note 14, 11, 4, 1538
 	square_note 8, 10, 1, 1537
--- a/audio/sfx/cry07_2.asm
+++ b/audio/sfx/cry07_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry07_2_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 4, 15, 3, 1760
 	square_note 15, 14, 4, 1600
 	square_note 8, 12, 1, 1568
@@ -7,7 +7,7 @@
 
 
 SFX_Cry07_2_Ch6:
-	duty_cycle_pattern 10
+	duty_cycle_pattern 0, 0, 2, 2
 	square_note 3, 12, 3, 1667
 	square_note 14, 11, 4, 1538
 	square_note 8, 10, 1, 1537
--- a/audio/sfx/cry07_3.asm
+++ b/audio/sfx/cry07_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry07_3_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 4, 15, 3, 1760
 	square_note 15, 14, 4, 1600
 	square_note 8, 12, 1, 1568
@@ -7,7 +7,7 @@
 
 
 SFX_Cry07_3_Ch6:
-	duty_cycle_pattern 10
+	duty_cycle_pattern 0, 0, 2, 2
 	square_note 3, 12, 3, 1667
 	square_note 14, 11, 4, 1538
 	square_note 8, 10, 1, 1537
--- a/audio/sfx/cry08_1.asm
+++ b/audio/sfx/cry08_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry08_1_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 15, 15, 6, 1381
 	square_note 10, 14, 4, 1404
 	square_note 3, 12, 2, 1372
@@ -8,7 +8,7 @@
 
 
 SFX_Cry08_1_Ch6:
-	duty_cycle_pattern 90
+	duty_cycle_pattern 1, 1, 2, 2
 	square_note 14, 13, 6, 1283
 	square_note 9, 11, 4, 1307
 	square_note 4, 9, 2, 1274
--- a/audio/sfx/cry08_2.asm
+++ b/audio/sfx/cry08_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry08_2_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 15, 15, 6, 1381
 	square_note 10, 14, 4, 1404
 	square_note 3, 12, 2, 1372
@@ -8,7 +8,7 @@
 
 
 SFX_Cry08_2_Ch6:
-	duty_cycle_pattern 90
+	duty_cycle_pattern 1, 1, 2, 2
 	square_note 14, 13, 6, 1283
 	square_note 9, 11, 4, 1307
 	square_note 4, 9, 2, 1274
--- a/audio/sfx/cry08_3.asm
+++ b/audio/sfx/cry08_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry08_3_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 15, 15, 6, 1381
 	square_note 10, 14, 4, 1404
 	square_note 3, 12, 2, 1372
@@ -8,7 +8,7 @@
 
 
 SFX_Cry08_3_Ch6:
-	duty_cycle_pattern 90
+	duty_cycle_pattern 1, 1, 2, 2
 	square_note 14, 13, 6, 1283
 	square_note 9, 11, 4, 1307
 	square_note 4, 9, 2, 1274
--- a/audio/sfx/cry09_1.asm
+++ b/audio/sfx/cry09_1.asm
@@ -1,9 +1,9 @@
 SFX_Cry09_1_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 15, 15, 7, 1952
 	square_note 6, 14, 6, 1955
 	square_note 10, 15, 4, 1952
-	duty_cycle_pattern 165
+	duty_cycle_pattern 2, 2, 1, 1
 	square_note 10, 15, 6, 2008
 	square_note 4, 14, 3, 2007
 	square_note 15, 15, 2, 2008
@@ -11,12 +11,12 @@
 
 
 SFX_Cry09_1_Ch6:
-	duty_cycle_pattern 5
+	duty_cycle_pattern 0, 0, 1, 1
 	square_note 2, 0, 8, 0
 	square_note 15, 10, 7, 1697
 	square_note 6, 8, 6, 1698
 	square_note 10, 7, 4, 1697
-	duty_cycle_pattern 95
+	duty_cycle_pattern 1, 1, 3, 3
 	square_note 10, 7, 6, 1750
 	square_note 4, 8, 3, 1753
 	square_note 15, 10, 2, 1751
--- a/audio/sfx/cry09_2.asm
+++ b/audio/sfx/cry09_2.asm
@@ -1,9 +1,9 @@
 SFX_Cry09_2_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 15, 15, 7, 1952
 	square_note 6, 14, 6, 1955
 	square_note 10, 15, 4, 1952
-	duty_cycle_pattern 165
+	duty_cycle_pattern 2, 2, 1, 1
 	square_note 10, 15, 6, 2008
 	square_note 4, 14, 3, 2007
 	square_note 15, 15, 2, 2008
@@ -11,12 +11,12 @@
 
 
 SFX_Cry09_2_Ch6:
-	duty_cycle_pattern 5
+	duty_cycle_pattern 0, 0, 1, 1
 	square_note 2, 0, 8, 0
 	square_note 15, 10, 7, 1697
 	square_note 6, 8, 6, 1698
 	square_note 10, 7, 4, 1697
-	duty_cycle_pattern 95
+	duty_cycle_pattern 1, 1, 3, 3
 	square_note 10, 7, 6, 1750
 	square_note 4, 8, 3, 1753
 	square_note 15, 10, 2, 1751
--- a/audio/sfx/cry09_3.asm
+++ b/audio/sfx/cry09_3.asm
@@ -1,9 +1,9 @@
 SFX_Cry09_3_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 15, 15, 7, 1952
 	square_note 6, 14, 6, 1955
 	square_note 10, 15, 4, 1952
-	duty_cycle_pattern 165
+	duty_cycle_pattern 2, 2, 1, 1
 	square_note 10, 15, 6, 2008
 	square_note 4, 14, 3, 2007
 	square_note 15, 15, 2, 2008
@@ -11,12 +11,12 @@
 
 
 SFX_Cry09_3_Ch6:
-	duty_cycle_pattern 5
+	duty_cycle_pattern 0, 0, 1, 1
 	square_note 2, 0, 8, 0
 	square_note 15, 10, 7, 1697
 	square_note 6, 8, 6, 1698
 	square_note 10, 7, 4, 1697
-	duty_cycle_pattern 95
+	duty_cycle_pattern 1, 1, 3, 3
 	square_note 10, 7, 6, 1750
 	square_note 4, 8, 3, 1753
 	square_note 15, 10, 2, 1751
--- a/audio/sfx/cry0a_1.asm
+++ b/audio/sfx/cry0a_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry0A_1_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 8, 15, 7, 1760
 	square_note 6, 14, 6, 1765
 	square_note 3, 15, 4, 1760
@@ -11,7 +11,7 @@
 
 
 SFX_Cry0A_1_Ch6:
-	duty_cycle_pattern 5
+	duty_cycle_pattern 0, 0, 1, 1
 	square_note 3, 0, 8, 0
 	square_note 8, 10, 7, 1697
 	square_note 6, 8, 6, 1699
--- a/audio/sfx/cry0a_2.asm
+++ b/audio/sfx/cry0a_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry0A_2_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 8, 15, 7, 1760
 	square_note 6, 14, 6, 1765
 	square_note 3, 15, 4, 1760
@@ -11,7 +11,7 @@
 
 
 SFX_Cry0A_2_Ch6:
-	duty_cycle_pattern 5
+	duty_cycle_pattern 0, 0, 1, 1
 	square_note 3, 0, 8, 0
 	square_note 8, 10, 7, 1697
 	square_note 6, 8, 6, 1699
--- a/audio/sfx/cry0a_3.asm
+++ b/audio/sfx/cry0a_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry0A_3_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 8, 15, 7, 1760
 	square_note 6, 14, 6, 1765
 	square_note 3, 15, 4, 1760
@@ -11,7 +11,7 @@
 
 
 SFX_Cry0A_3_Ch6:
-	duty_cycle_pattern 5
+	duty_cycle_pattern 0, 0, 1, 1
 	square_note 3, 0, 8, 0
 	square_note 8, 10, 7, 1697
 	square_note 6, 8, 6, 1699
--- a/audio/sfx/cry0b_1.asm
+++ b/audio/sfx/cry0b_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry0B_1_Ch5:
-	duty_cycle_pattern 204
+	duty_cycle_pattern 3, 0, 3, 0
 	square_note 4, 15, 1, 1792
 	square_note 4, 14, 1, 1920
 	square_note 4, 13, 1, 1856
@@ -14,7 +14,7 @@
 
 
 SFX_Cry0B_1_Ch6:
-	duty_cycle_pattern 68
+	duty_cycle_pattern 1, 0, 1, 0
 	square_note 12, 0, 8, 0
 	square_note 4, 15, 1, 1793
 	square_note 4, 14, 1, 1922
--- a/audio/sfx/cry0b_2.asm
+++ b/audio/sfx/cry0b_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry0B_2_Ch5:
-	duty_cycle_pattern 204
+	duty_cycle_pattern 3, 0, 3, 0
 	square_note 4, 15, 1, 1792
 	square_note 4, 14, 1, 1920
 	square_note 4, 13, 1, 1856
@@ -14,7 +14,7 @@
 
 
 SFX_Cry0B_2_Ch6:
-	duty_cycle_pattern 68
+	duty_cycle_pattern 1, 0, 1, 0
 	square_note 12, 0, 8, 0
 	square_note 4, 15, 1, 1793
 	square_note 4, 14, 1, 1922
--- a/audio/sfx/cry0b_3.asm
+++ b/audio/sfx/cry0b_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry0B_3_Ch5:
-	duty_cycle_pattern 204
+	duty_cycle_pattern 3, 0, 3, 0
 	square_note 4, 15, 1, 1792
 	square_note 4, 14, 1, 1920
 	square_note 4, 13, 1, 1856
@@ -14,7 +14,7 @@
 
 
 SFX_Cry0B_3_Ch6:
-	duty_cycle_pattern 68
+	duty_cycle_pattern 1, 0, 1, 0
 	square_note 12, 0, 8, 0
 	square_note 4, 15, 1, 1793
 	square_note 4, 14, 1, 1922
--- a/audio/sfx/cry0c_1.asm
+++ b/audio/sfx/cry0c_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry0C_1_Ch5:
-	duty_cycle_pattern 204
+	duty_cycle_pattern 3, 0, 3, 0
 	square_note 8, 15, 5, 1536
 	square_note 2, 13, 2, 1592
 	square_note 2, 12, 2, 1584
@@ -13,7 +13,7 @@
 
 
 SFX_Cry0C_1_Ch6:
-	duty_cycle_pattern 68
+	duty_cycle_pattern 1, 0, 1, 0
 	square_note 12, 12, 3, 1472
 	square_note 3, 11, 1, 1529
 	square_note 2, 10, 1, 1521
--- a/audio/sfx/cry0c_2.asm
+++ b/audio/sfx/cry0c_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry0C_2_Ch5:
-	duty_cycle_pattern 204
+	duty_cycle_pattern 3, 0, 3, 0
 	square_note 8, 15, 5, 1536
 	square_note 2, 13, 2, 1592
 	square_note 2, 12, 2, 1584
@@ -13,7 +13,7 @@
 
 
 SFX_Cry0C_2_Ch6:
-	duty_cycle_pattern 68
+	duty_cycle_pattern 1, 0, 1, 0
 	square_note 12, 12, 3, 1472
 	square_note 3, 11, 1, 1529
 	square_note 2, 10, 1, 1521
--- a/audio/sfx/cry0c_3.asm
+++ b/audio/sfx/cry0c_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry0C_3_Ch5:
-	duty_cycle_pattern 204
+	duty_cycle_pattern 3, 0, 3, 0
 	square_note 8, 15, 5, 1536
 	square_note 2, 13, 2, 1592
 	square_note 2, 12, 2, 1584
@@ -13,7 +13,7 @@
 
 
 SFX_Cry0C_3_Ch6:
-	duty_cycle_pattern 68
+	duty_cycle_pattern 1, 0, 1, 0
 	square_note 12, 12, 3, 1472
 	square_note 3, 11, 1, 1529
 	square_note 2, 10, 1, 1521
--- a/audio/sfx/cry0d_1.asm
+++ b/audio/sfx/cry0d_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry0D_1_Ch5:
-	duty_cycle_pattern 136
+	duty_cycle_pattern 2, 0, 2, 0
 	square_note 5, 15, 2, 1616
 	square_note 9, 13, 1, 1632
 	square_note 5, 14, 2, 1554
@@ -11,7 +11,7 @@
 
 
 SFX_Cry0D_1_Ch6:
-	duty_cycle_pattern 64
+	duty_cycle_pattern 1, 0, 0, 0
 	square_note 4, 0, 8, 0
 	square_note 5, 15, 2, 1617
 	square_note 9, 13, 1, 1633
--- a/audio/sfx/cry0d_2.asm
+++ b/audio/sfx/cry0d_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry0D_2_Ch5:
-	duty_cycle_pattern 136
+	duty_cycle_pattern 2, 0, 2, 0
 	square_note 5, 15, 2, 1616
 	square_note 9, 13, 1, 1632
 	square_note 5, 14, 2, 1554
@@ -11,7 +11,7 @@
 
 
 SFX_Cry0D_2_Ch6:
-	duty_cycle_pattern 64
+	duty_cycle_pattern 1, 0, 0, 0
 	square_note 4, 0, 8, 0
 	square_note 5, 15, 2, 1617
 	square_note 9, 13, 1, 1633
--- a/audio/sfx/cry0d_3.asm
+++ b/audio/sfx/cry0d_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry0D_3_Ch5:
-	duty_cycle_pattern 136
+	duty_cycle_pattern 2, 0, 2, 0
 	square_note 5, 15, 2, 1616
 	square_note 9, 13, 1, 1632
 	square_note 5, 14, 2, 1554
@@ -11,7 +11,7 @@
 
 
 SFX_Cry0D_3_Ch6:
-	duty_cycle_pattern 64
+	duty_cycle_pattern 1, 0, 0, 0
 	square_note 4, 0, 8, 0
 	square_note 5, 15, 2, 1617
 	square_note 9, 13, 1, 1633
--- a/audio/sfx/cry0e_1.asm
+++ b/audio/sfx/cry0e_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry0E_1_Ch5:
-	duty_cycle_pattern 165
+	duty_cycle_pattern 2, 2, 1, 1
 	square_note 4, 14, 1, 1792
 	square_note 4, 15, 2, 1920
 	square_note 2, 9, 2, 1856
@@ -8,7 +8,7 @@
 
 
 SFX_Cry0E_1_Ch6:
-	duty_cycle_pattern 10
+	duty_cycle_pattern 0, 0, 2, 2
 	square_note 4, 11, 1, 1761
 	square_note 3, 12, 2, 1761
 	square_note 3, 6, 2, 1665
--- a/audio/sfx/cry0e_2.asm
+++ b/audio/sfx/cry0e_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry0E_2_Ch5:
-	duty_cycle_pattern 165
+	duty_cycle_pattern 2, 2, 1, 1
 	square_note 4, 14, 1, 1792
 	square_note 4, 15, 2, 1920
 	square_note 2, 9, 2, 1856
@@ -8,7 +8,7 @@
 
 
 SFX_Cry0E_2_Ch6:
-	duty_cycle_pattern 10
+	duty_cycle_pattern 0, 0, 2, 2
 	square_note 4, 11, 1, 1761
 	square_note 3, 12, 2, 1761
 	square_note 3, 6, 2, 1665
--- a/audio/sfx/cry0e_3.asm
+++ b/audio/sfx/cry0e_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry0E_3_Ch5:
-	duty_cycle_pattern 165
+	duty_cycle_pattern 2, 2, 1, 1
 	square_note 4, 14, 1, 1792
 	square_note 4, 15, 2, 1920
 	square_note 2, 9, 2, 1856
@@ -8,7 +8,7 @@
 
 
 SFX_Cry0E_3_Ch6:
-	duty_cycle_pattern 10
+	duty_cycle_pattern 0, 0, 2, 2
 	square_note 4, 11, 1, 1761
 	square_note 3, 12, 2, 1761
 	square_note 3, 6, 2, 1665
--- a/audio/sfx/cry0f_1.asm
+++ b/audio/sfx/cry0f_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry0F_1_Ch5:
-	duty_cycle_pattern 241
+	duty_cycle_pattern 3, 3, 0, 1
 	square_note 4, 15, 7, 1984
 	square_note 12, 14, 6, 1986
 	square_note 6, 11, 5, 1664
@@ -10,7 +10,7 @@
 
 
 SFX_Cry0F_1_Ch6:
-	duty_cycle_pattern 204
+	duty_cycle_pattern 3, 0, 3, 0
 	square_note 3, 12, 7, 1921
 	square_note 12, 11, 6, 1920
 	square_note 6, 10, 5, 1601
--- a/audio/sfx/cry0f_2.asm
+++ b/audio/sfx/cry0f_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry0F_2_Ch5:
-	duty_cycle_pattern 241
+	duty_cycle_pattern 3, 3, 0, 1
 	square_note 4, 15, 7, 1984
 	square_note 12, 14, 6, 1986
 	square_note 6, 11, 5, 1664
@@ -10,7 +10,7 @@
 
 
 SFX_Cry0F_2_Ch6:
-	duty_cycle_pattern 204
+	duty_cycle_pattern 3, 0, 3, 0
 	square_note 3, 12, 7, 1921
 	square_note 12, 11, 6, 1920
 	square_note 6, 10, 5, 1601
--- a/audio/sfx/cry0f_3.asm
+++ b/audio/sfx/cry0f_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry0F_3_Ch5:
-	duty_cycle_pattern 241
+	duty_cycle_pattern 3, 3, 0, 1
 	square_note 4, 15, 7, 1984
 	square_note 12, 14, 6, 1986
 	square_note 6, 11, 5, 1664
@@ -10,7 +10,7 @@
 
 
 SFX_Cry0F_3_Ch6:
-	duty_cycle_pattern 204
+	duty_cycle_pattern 3, 0, 3, 0
 	square_note 3, 12, 7, 1921
 	square_note 12, 11, 6, 1920
 	square_note 6, 10, 5, 1601
--- a/audio/sfx/cry10_1.asm
+++ b/audio/sfx/cry10_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry10_1_Ch5:
-	duty_cycle_pattern 201
+	duty_cycle_pattern 3, 0, 2, 1
 	square_note 8, 15, 7, 1664
 	square_note 2, 15, 7, 1632
 	square_note 1, 14, 7, 1600
@@ -12,7 +12,7 @@
 
 
 SFX_Cry10_1_Ch6:
-	duty_cycle_pattern 121
+	duty_cycle_pattern 1, 3, 2, 1
 	square_note 10, 14, 7, 1666
 	square_note 2, 14, 7, 1634
 	square_note 1, 13, 7, 1602
--- a/audio/sfx/cry10_2.asm
+++ b/audio/sfx/cry10_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry10_2_Ch5:
-	duty_cycle_pattern 201
+	duty_cycle_pattern 3, 0, 2, 1
 	square_note 8, 15, 7, 1664
 	square_note 2, 15, 7, 1632
 	square_note 1, 14, 7, 1600
@@ -12,7 +12,7 @@
 
 
 SFX_Cry10_2_Ch6:
-	duty_cycle_pattern 121
+	duty_cycle_pattern 1, 3, 2, 1
 	square_note 10, 14, 7, 1666
 	square_note 2, 14, 7, 1634
 	square_note 1, 13, 7, 1602
--- a/audio/sfx/cry10_3.asm
+++ b/audio/sfx/cry10_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry10_3_Ch5:
-	duty_cycle_pattern 201
+	duty_cycle_pattern 3, 0, 2, 1
 	square_note 8, 15, 7, 1664
 	square_note 2, 15, 7, 1632
 	square_note 1, 14, 7, 1600
@@ -12,7 +12,7 @@
 
 
 SFX_Cry10_3_Ch6:
-	duty_cycle_pattern 121
+	duty_cycle_pattern 1, 3, 2, 1
 	square_note 10, 14, 7, 1666
 	square_note 2, 14, 7, 1634
 	square_note 1, 13, 7, 1602
--- a/audio/sfx/cry11_1.asm
+++ b/audio/sfx/cry11_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry11_1_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 6, 15, 7, 1952
 	square_note 8, 14, 6, 1956
 	square_note 4, 13, 6, 1952
@@ -11,7 +11,7 @@
 
 
 SFX_Cry11_1_Ch6:
-	duty_cycle_pattern 10
+	duty_cycle_pattern 0, 0, 2, 2
 	square_note 4, 0, 8, 0
 	square_note 6, 10, 7, 1857
 	square_note 8, 8, 6, 1859
--- a/audio/sfx/cry11_2.asm
+++ b/audio/sfx/cry11_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry11_2_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 6, 15, 7, 1952
 	square_note 8, 14, 6, 1956
 	square_note 4, 13, 6, 1952
@@ -11,7 +11,7 @@
 
 
 SFX_Cry11_2_Ch6:
-	duty_cycle_pattern 10
+	duty_cycle_pattern 0, 0, 2, 2
 	square_note 4, 0, 8, 0
 	square_note 6, 10, 7, 1857
 	square_note 8, 8, 6, 1859
--- a/audio/sfx/cry11_3.asm
+++ b/audio/sfx/cry11_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry11_3_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 6, 15, 7, 1952
 	square_note 8, 14, 6, 1956
 	square_note 4, 13, 6, 1952
@@ -11,7 +11,7 @@
 
 
 SFX_Cry11_3_Ch6:
-	duty_cycle_pattern 10
+	duty_cycle_pattern 0, 0, 2, 2
 	square_note 4, 0, 8, 0
 	square_note 6, 10, 7, 1857
 	square_note 8, 8, 6, 1859
--- a/audio/sfx/cry12_1.asm
+++ b/audio/sfx/cry12_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry12_1_Ch5:
-	duty_cycle_pattern 165
+	duty_cycle_pattern 2, 2, 1, 1
 	square_note 12, 15, 2, 1088
 	square_note 15, 14, 3, 1184
 	square_note 4, 13, 2, 1168
@@ -8,7 +8,7 @@
 
 
 SFX_Cry12_1_Ch6:
-	duty_cycle_pattern 238
+	duty_cycle_pattern 3, 2, 3, 2
 	square_note 11, 13, 2, 1080
 	square_note 14, 12, 6, 1176
 	square_note 3, 11, 2, 1160
--- a/audio/sfx/cry12_2.asm
+++ b/audio/sfx/cry12_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry12_2_Ch5:
-	duty_cycle_pattern 165
+	duty_cycle_pattern 2, 2, 1, 1
 	square_note 12, 15, 2, 1088
 	square_note 15, 14, 3, 1184
 	square_note 4, 13, 2, 1168
@@ -8,7 +8,7 @@
 
 
 SFX_Cry12_2_Ch6:
-	duty_cycle_pattern 238
+	duty_cycle_pattern 3, 2, 3, 2
 	square_note 11, 13, 2, 1080
 	square_note 14, 12, 6, 1176
 	square_note 3, 11, 2, 1160
--- a/audio/sfx/cry12_3.asm
+++ b/audio/sfx/cry12_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry12_3_Ch5:
-	duty_cycle_pattern 165
+	duty_cycle_pattern 2, 2, 1, 1
 	square_note 12, 15, 2, 1088
 	square_note 15, 14, 3, 1184
 	square_note 4, 13, 2, 1168
@@ -8,7 +8,7 @@
 
 
 SFX_Cry12_3_Ch6:
-	duty_cycle_pattern 238
+	duty_cycle_pattern 3, 2, 3, 2
 	square_note 11, 13, 2, 1080
 	square_note 14, 12, 6, 1176
 	square_note 3, 11, 2, 1160
--- a/audio/sfx/cry13_1.asm
+++ b/audio/sfx/cry13_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry13_1_Ch5:
-	duty_cycle_pattern 51
+	duty_cycle_pattern 0, 3, 0, 3
 	square_note 15, 15, 6, 1472
 	square_note 8, 14, 3, 1468
 	square_note 6, 13, 2, 1488
@@ -10,7 +10,7 @@
 
 
 SFX_Cry13_1_Ch6:
-	duty_cycle_pattern 153
+	duty_cycle_pattern 2, 1, 2, 1
 	square_note 14, 12, 6, 1201
 	square_note 7, 12, 3, 1197
 	square_note 5, 11, 2, 1217
--- a/audio/sfx/cry13_2.asm
+++ b/audio/sfx/cry13_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry13_2_Ch5:
-	duty_cycle_pattern 51
+	duty_cycle_pattern 0, 3, 0, 3
 	square_note 15, 15, 6, 1472
 	square_note 8, 14, 3, 1468
 	square_note 6, 13, 2, 1488
@@ -10,7 +10,7 @@
 
 
 SFX_Cry13_2_Ch6:
-	duty_cycle_pattern 153
+	duty_cycle_pattern 2, 1, 2, 1
 	square_note 14, 12, 6, 1201
 	square_note 7, 12, 3, 1197
 	square_note 5, 11, 2, 1217
--- a/audio/sfx/cry13_3.asm
+++ b/audio/sfx/cry13_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry13_3_Ch5:
-	duty_cycle_pattern 51
+	duty_cycle_pattern 0, 3, 0, 3
 	square_note 15, 15, 6, 1472
 	square_note 8, 14, 3, 1468
 	square_note 6, 13, 2, 1488
@@ -10,7 +10,7 @@
 
 
 SFX_Cry13_3_Ch6:
-	duty_cycle_pattern 153
+	duty_cycle_pattern 2, 1, 2, 1
 	square_note 14, 12, 6, 1201
 	square_note 7, 12, 3, 1197
 	square_note 5, 11, 2, 1217
--- a/audio/sfx/cry14_1.asm
+++ b/audio/sfx/cry14_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry14_1_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 8, 14, 4, 1936
 	square_note 15, 15, 5, 1984
 	square_note 8, 13, 1, 2008
@@ -7,7 +7,7 @@
 
 
 SFX_Cry14_1_Ch6:
-	duty_cycle_pattern 165
+	duty_cycle_pattern 2, 2, 1, 1
 	square_note 10, 12, 4, 1905
 	square_note 15, 11, 6, 1954
 	square_note 8, 10, 1, 1975
--- a/audio/sfx/cry14_2.asm
+++ b/audio/sfx/cry14_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry14_2_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 8, 14, 4, 1936
 	square_note 15, 15, 5, 1984
 	square_note 8, 13, 1, 2008
@@ -7,7 +7,7 @@
 
 
 SFX_Cry14_2_Ch6:
-	duty_cycle_pattern 165
+	duty_cycle_pattern 2, 2, 1, 1
 	square_note 10, 12, 4, 1905
 	square_note 15, 11, 6, 1954
 	square_note 8, 10, 1, 1975
--- a/audio/sfx/cry14_3.asm
+++ b/audio/sfx/cry14_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry14_3_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 8, 14, 4, 1936
 	square_note 15, 15, 5, 1984
 	square_note 8, 13, 1, 2008
@@ -7,7 +7,7 @@
 
 
 SFX_Cry14_3_Ch6:
-	duty_cycle_pattern 165
+	duty_cycle_pattern 2, 2, 1, 1
 	square_note 10, 12, 4, 1905
 	square_note 15, 11, 6, 1954
 	square_note 8, 10, 1, 1975
--- a/audio/sfx/cry15_1.asm
+++ b/audio/sfx/cry15_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry15_1_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 4, 15, 3, 1920
 	square_note 15, 14, 7, 1792
 	square_note 8, 13, 3, 1808
@@ -10,7 +10,7 @@
 
 
 SFX_Cry15_1_Ch6:
-	duty_cycle_pattern 90
+	duty_cycle_pattern 1, 1, 2, 2
 	square_note 6, 12, 3, 1793
 	square_note 14, 11, 7, 1665
 	square_note 7, 11, 3, 1682
--- a/audio/sfx/cry15_2.asm
+++ b/audio/sfx/cry15_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry15_2_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 4, 15, 3, 1920
 	square_note 15, 14, 7, 1792
 	square_note 8, 13, 3, 1808
@@ -10,7 +10,7 @@
 
 
 SFX_Cry15_2_Ch6:
-	duty_cycle_pattern 90
+	duty_cycle_pattern 1, 1, 2, 2
 	square_note 6, 12, 3, 1793
 	square_note 14, 11, 7, 1665
 	square_note 7, 11, 3, 1682
--- a/audio/sfx/cry15_3.asm
+++ b/audio/sfx/cry15_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry15_3_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 4, 15, 3, 1920
 	square_note 15, 14, 7, 1792
 	square_note 8, 13, 3, 1808
@@ -10,7 +10,7 @@
 
 
 SFX_Cry15_3_Ch6:
-	duty_cycle_pattern 90
+	duty_cycle_pattern 1, 1, 2, 2
 	square_note 6, 12, 3, 1793
 	square_note 14, 11, 7, 1665
 	square_note 7, 11, 3, 1682
--- a/audio/sfx/cry16_1.asm
+++ b/audio/sfx/cry16_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry16_1_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 15, 13, 7, 1920
 	square_note 4, 14, 6, 1952
 	square_note 15, 13, 2, 1856
@@ -7,7 +7,7 @@
 
 
 SFX_Cry16_1_Ch6:
-	duty_cycle_pattern 90
+	duty_cycle_pattern 1, 1, 2, 2
 	square_note 15, 12, 7, 1875
 	square_note 5, 11, 6, 1906
 	square_note 15, 12, 2, 1809
--- a/audio/sfx/cry16_2.asm
+++ b/audio/sfx/cry16_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry16_2_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 15, 13, 7, 1920
 	square_note 4, 14, 6, 1952
 	square_note 15, 13, 2, 1856
@@ -7,7 +7,7 @@
 
 
 SFX_Cry16_2_Ch6:
-	duty_cycle_pattern 90
+	duty_cycle_pattern 1, 1, 2, 2
 	square_note 15, 12, 7, 1875
 	square_note 5, 11, 6, 1906
 	square_note 15, 12, 2, 1809
--- a/audio/sfx/cry16_3.asm
+++ b/audio/sfx/cry16_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry16_3_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 15, 13, 7, 1920
 	square_note 4, 14, 6, 1952
 	square_note 15, 13, 2, 1856
@@ -7,7 +7,7 @@
 
 
 SFX_Cry16_3_Ch6:
-	duty_cycle_pattern 90
+	duty_cycle_pattern 1, 1, 2, 2
 	square_note 15, 12, 7, 1875
 	square_note 5, 11, 6, 1906
 	square_note 15, 12, 2, 1809
--- a/audio/sfx/cry17_1.asm
+++ b/audio/sfx/cry17_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry17_1_Ch5:
-	duty_cycle_pattern 15
+	duty_cycle_pattern 0, 0, 3, 3
 	square_note 15, 15, 7, 1280
 	square_note 15, 14, 7, 1288
 	square_note 8, 11, 4, 1152
@@ -8,7 +8,7 @@
 
 
 SFX_Cry17_1_Ch6:
-	duty_cycle_pattern 68
+	duty_cycle_pattern 1, 0, 1, 0
 	square_note 14, 13, 7, 1153
 	square_note 14, 12, 7, 1161
 	square_note 10, 11, 4, 1025
--- a/audio/sfx/cry17_2.asm
+++ b/audio/sfx/cry17_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry17_2_Ch5:
-	duty_cycle_pattern 15
+	duty_cycle_pattern 0, 0, 3, 3
 	square_note 15, 15, 7, 1280
 	square_note 15, 14, 7, 1288
 	square_note 8, 11, 4, 1152
@@ -8,7 +8,7 @@
 
 
 SFX_Cry17_2_Ch6:
-	duty_cycle_pattern 68
+	duty_cycle_pattern 1, 0, 1, 0
 	square_note 14, 13, 7, 1153
 	square_note 14, 12, 7, 1161
 	square_note 10, 11, 4, 1025
--- a/audio/sfx/cry17_3.asm
+++ b/audio/sfx/cry17_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry17_3_Ch5:
-	duty_cycle_pattern 15
+	duty_cycle_pattern 0, 0, 3, 3
 	square_note 15, 15, 7, 1280
 	square_note 15, 14, 7, 1288
 	square_note 8, 11, 4, 1152
@@ -8,7 +8,7 @@
 
 
 SFX_Cry17_3_Ch6:
-	duty_cycle_pattern 68
+	duty_cycle_pattern 1, 0, 1, 0
 	square_note 14, 13, 7, 1153
 	square_note 14, 12, 7, 1161
 	square_note 10, 11, 4, 1025
--- a/audio/sfx/cry18_1.asm
+++ b/audio/sfx/cry18_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry18_1_Ch5:
-	duty_cycle_pattern 80
+	duty_cycle_pattern 1, 1, 0, 0
 	square_note 10, 15, 5, 1664
 	square_note 3, 14, 2, 1696
 	square_note 3, 15, 2, 1728
@@ -12,7 +12,7 @@
 
 
 SFX_Cry18_1_Ch6:
-	duty_cycle_pattern 15
+	duty_cycle_pattern 0, 0, 3, 3
 	square_note 9, 13, 5, 1585
 	square_note 3, 13, 2, 1618
 	square_note 3, 14, 2, 1649
--- a/audio/sfx/cry18_2.asm
+++ b/audio/sfx/cry18_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry18_2_Ch5:
-	duty_cycle_pattern 80
+	duty_cycle_pattern 1, 1, 0, 0
 	square_note 10, 15, 5, 1664
 	square_note 3, 14, 2, 1696
 	square_note 3, 15, 2, 1728
@@ -12,7 +12,7 @@
 
 
 SFX_Cry18_2_Ch6:
-	duty_cycle_pattern 15
+	duty_cycle_pattern 0, 0, 3, 3
 	square_note 9, 13, 5, 1585
 	square_note 3, 13, 2, 1618
 	square_note 3, 14, 2, 1649
--- a/audio/sfx/cry18_3.asm
+++ b/audio/sfx/cry18_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry18_3_Ch5:
-	duty_cycle_pattern 80
+	duty_cycle_pattern 1, 1, 0, 0
 	square_note 10, 15, 5, 1664
 	square_note 3, 14, 2, 1696
 	square_note 3, 15, 2, 1728
@@ -12,7 +12,7 @@
 
 
 SFX_Cry18_3_Ch6:
-	duty_cycle_pattern 15
+	duty_cycle_pattern 0, 0, 3, 3
 	square_note 9, 13, 5, 1585
 	square_note 3, 13, 2, 1618
 	square_note 3, 14, 2, 1649
--- a/audio/sfx/cry19_1.asm
+++ b/audio/sfx/cry19_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry19_1_Ch5:
-	duty_cycle_pattern 27
+	duty_cycle_pattern 0, 1, 2, 3
 	square_note 7, 13, 2, 1856
 	square_note 15, 14, 5, 1888
 	square_note 15, 12, 1, 1840
@@ -7,7 +7,7 @@
 
 
 SFX_Cry19_1_Ch6:
-	duty_cycle_pattern 129
+	duty_cycle_pattern 2, 0, 0, 1
 	square_note 2, 12, 2, 1793
 	square_note 4, 12, 2, 1800
 	square_note 15, 13, 7, 1857
--- a/audio/sfx/cry19_2.asm
+++ b/audio/sfx/cry19_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry19_2_Ch5:
-	duty_cycle_pattern 27
+	duty_cycle_pattern 0, 1, 2, 3
 	square_note 7, 13, 2, 1856
 	square_note 15, 14, 5, 1888
 	square_note 15, 12, 1, 1840
@@ -7,7 +7,7 @@
 
 
 SFX_Cry19_2_Ch6:
-	duty_cycle_pattern 129
+	duty_cycle_pattern 2, 0, 0, 1
 	square_note 2, 12, 2, 1793
 	square_note 4, 12, 2, 1800
 	square_note 15, 13, 7, 1857
--- a/audio/sfx/cry19_3.asm
+++ b/audio/sfx/cry19_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry19_3_Ch5:
-	duty_cycle_pattern 27
+	duty_cycle_pattern 0, 1, 2, 3
 	square_note 7, 13, 2, 1856
 	square_note 15, 14, 5, 1888
 	square_note 15, 12, 1, 1840
@@ -7,7 +7,7 @@
 
 
 SFX_Cry19_3_Ch6:
-	duty_cycle_pattern 129
+	duty_cycle_pattern 2, 0, 0, 1
 	square_note 2, 12, 2, 1793
 	square_note 4, 12, 2, 1800
 	square_note 15, 13, 7, 1857
--- a/audio/sfx/cry1a_1.asm
+++ b/audio/sfx/cry1a_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry1A_1_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 6, 15, 7, 1856
 	square_note 12, 14, 6, 1860
 	square_note 6, 13, 5, 1872
@@ -10,7 +10,7 @@
 
 
 SFX_Cry1A_1_Ch6:
-	duty_cycle_pattern 10
+	duty_cycle_pattern 0, 0, 2, 2
 	square_note 6, 12, 7, 1793
 	square_note 11, 11, 6, 1794
 	square_note 6, 10, 5, 1809
--- a/audio/sfx/cry1a_2.asm
+++ b/audio/sfx/cry1a_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry1A_2_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 6, 15, 7, 1856
 	square_note 12, 14, 6, 1860
 	square_note 6, 13, 5, 1872
@@ -10,7 +10,7 @@
 
 
 SFX_Cry1A_2_Ch6:
-	duty_cycle_pattern 10
+	duty_cycle_pattern 0, 0, 2, 2
 	square_note 6, 12, 7, 1793
 	square_note 11, 11, 6, 1794
 	square_note 6, 10, 5, 1809
--- a/audio/sfx/cry1a_3.asm
+++ b/audio/sfx/cry1a_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry1A_3_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 6, 15, 7, 1856
 	square_note 12, 14, 6, 1860
 	square_note 6, 13, 5, 1872
@@ -10,7 +10,7 @@
 
 
 SFX_Cry1A_3_Ch6:
-	duty_cycle_pattern 10
+	duty_cycle_pattern 0, 0, 2, 2
 	square_note 6, 12, 7, 1793
 	square_note 11, 11, 6, 1794
 	square_note 6, 10, 5, 1809
--- a/audio/sfx/cry1b_1.asm
+++ b/audio/sfx/cry1b_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry1B_1_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 6, 15, 7, 1728
 	square_note 15, 14, 7, 1792
 	square_note 4, 15, 4, 1776
@@ -9,7 +9,7 @@
 
 
 SFX_Cry1B_1_Ch6:
-	duty_cycle_pattern 10
+	duty_cycle_pattern 0, 0, 2, 2
 	square_note 7, 14, 6, 1665
 	square_note 14, 13, 5, 1729
 	square_note 4, 12, 4, 1713
--- a/audio/sfx/cry1b_2.asm
+++ b/audio/sfx/cry1b_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry1B_2_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 6, 15, 7, 1728
 	square_note 15, 14, 7, 1792
 	square_note 4, 15, 4, 1776
@@ -9,7 +9,7 @@
 
 
 SFX_Cry1B_2_Ch6:
-	duty_cycle_pattern 10
+	duty_cycle_pattern 0, 0, 2, 2
 	square_note 7, 14, 6, 1665
 	square_note 14, 13, 5, 1729
 	square_note 4, 12, 4, 1713
--- a/audio/sfx/cry1b_3.asm
+++ b/audio/sfx/cry1b_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry1B_3_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 6, 15, 7, 1728
 	square_note 15, 14, 7, 1792
 	square_note 4, 15, 4, 1776
@@ -9,7 +9,7 @@
 
 
 SFX_Cry1B_3_Ch6:
-	duty_cycle_pattern 10
+	duty_cycle_pattern 0, 0, 2, 2
 	square_note 7, 14, 6, 1665
 	square_note 14, 13, 5, 1729
 	square_note 4, 12, 4, 1713
--- a/audio/sfx/cry1c_1.asm
+++ b/audio/sfx/cry1c_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry1C_1_Ch5:
-	duty_cycle_pattern 245
+	duty_cycle_pattern 3, 3, 1, 1
 	square_note 7, 13, 6, 2017
 	square_note 6, 12, 6, 2018
 	square_note 9, 13, 6, 2017
@@ -12,7 +12,7 @@
 
 
 SFX_Cry1C_1_Ch6:
-	duty_cycle_pattern 68
+	duty_cycle_pattern 1, 0, 1, 0
 	square_note 6, 12, 3, 1993
 	square_note 6, 11, 3, 1991
 	square_note 10, 12, 4, 1987
--- a/audio/sfx/cry1c_2.asm
+++ b/audio/sfx/cry1c_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry1C_2_Ch5:
-	duty_cycle_pattern 245
+	duty_cycle_pattern 3, 3, 1, 1
 	square_note 7, 13, 6, 2017
 	square_note 6, 12, 6, 2018
 	square_note 9, 13, 6, 2017
@@ -12,7 +12,7 @@
 
 
 SFX_Cry1C_2_Ch6:
-	duty_cycle_pattern 68
+	duty_cycle_pattern 1, 0, 1, 0
 	square_note 6, 12, 3, 1993
 	square_note 6, 11, 3, 1991
 	square_note 10, 12, 4, 1987
--- a/audio/sfx/cry1c_3.asm
+++ b/audio/sfx/cry1c_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry1C_3_Ch5:
-	duty_cycle_pattern 245
+	duty_cycle_pattern 3, 3, 1, 1
 	square_note 7, 13, 6, 2017
 	square_note 6, 12, 6, 2018
 	square_note 9, 13, 6, 2017
@@ -12,7 +12,7 @@
 
 
 SFX_Cry1C_3_Ch6:
-	duty_cycle_pattern 68
+	duty_cycle_pattern 1, 0, 1, 0
 	square_note 6, 12, 3, 1993
 	square_note 6, 11, 3, 1991
 	square_note 10, 12, 4, 1987
--- a/audio/sfx/cry1d_1.asm
+++ b/audio/sfx/cry1d_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry1D_1_Ch5:
-	duty_cycle_pattern 244
+	duty_cycle_pattern 3, 3, 1, 0
 	square_note 15, 15, 0, 1797
 	square_note 10, 14, 0, 1792
 	square_note 6, 11, 4, 1808
@@ -10,7 +10,7 @@
 
 
 SFX_Cry1D_1_Ch6:
-	duty_cycle_pattern 34
+	duty_cycle_pattern 0, 2, 0, 2
 	square_note 15, 11, 0, 1731
 	square_note 10, 10, 0, 1729
 	square_note 6, 8, 4, 1746
--- a/audio/sfx/cry1d_2.asm
+++ b/audio/sfx/cry1d_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry1D_2_Ch5:
-	duty_cycle_pattern 244
+	duty_cycle_pattern 3, 3, 1, 0
 	square_note 15, 15, 0, 1797
 	square_note 10, 14, 0, 1792
 	square_note 6, 11, 4, 1808
@@ -10,7 +10,7 @@
 
 
 SFX_Cry1D_2_Ch6:
-	duty_cycle_pattern 34
+	duty_cycle_pattern 0, 2, 0, 2
 	square_note 15, 11, 0, 1731
 	square_note 10, 10, 0, 1729
 	square_note 6, 8, 4, 1746
--- a/audio/sfx/cry1d_3.asm
+++ b/audio/sfx/cry1d_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry1D_3_Ch5:
-	duty_cycle_pattern 244
+	duty_cycle_pattern 3, 3, 1, 0
 	square_note 15, 15, 0, 1797
 	square_note 10, 14, 0, 1792
 	square_note 6, 11, 4, 1808
@@ -10,7 +10,7 @@
 
 
 SFX_Cry1D_3_Ch6:
-	duty_cycle_pattern 34
+	duty_cycle_pattern 0, 2, 0, 2
 	square_note 15, 11, 0, 1731
 	square_note 10, 10, 0, 1729
 	square_note 6, 8, 4, 1746
--- a/audio/sfx/cry1e_1.asm
+++ b/audio/sfx/cry1e_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry1E_1_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 6, 15, 2, 1536
 	square_note 6, 14, 2, 1600
 	square_note 6, 13, 2, 1664
@@ -12,7 +12,7 @@
 
 
 SFX_Cry1E_1_Ch6:
-	duty_cycle_pattern 17
+	duty_cycle_pattern 0, 1, 0, 1
 	square_note 3, 0, 8, 1
 	square_note 6, 12, 2, 1473
 	square_note 6, 11, 2, 1538
--- a/audio/sfx/cry1e_2.asm
+++ b/audio/sfx/cry1e_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry1E_2_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 6, 15, 2, 1536
 	square_note 6, 14, 2, 1600
 	square_note 6, 13, 2, 1664
@@ -12,7 +12,7 @@
 
 
 SFX_Cry1E_2_Ch6:
-	duty_cycle_pattern 17
+	duty_cycle_pattern 0, 1, 0, 1
 	square_note 3, 0, 8, 1
 	square_note 6, 12, 2, 1473
 	square_note 6, 11, 2, 1538
--- a/audio/sfx/cry1e_3.asm
+++ b/audio/sfx/cry1e_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry1E_3_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 6, 15, 2, 1536
 	square_note 6, 14, 2, 1600
 	square_note 6, 13, 2, 1664
@@ -12,7 +12,7 @@
 
 
 SFX_Cry1E_3_Ch6:
-	duty_cycle_pattern 17
+	duty_cycle_pattern 0, 1, 0, 1
 	square_note 3, 0, 8, 1
 	square_note 6, 12, 2, 1473
 	square_note 6, 11, 2, 1538
--- a/audio/sfx/cry1f_1.asm
+++ b/audio/sfx/cry1f_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry1F_1_Ch5:
-	duty_cycle_pattern 165
+	duty_cycle_pattern 2, 2, 1, 1
 	square_note 3, 15, 4, 1601
 	square_note 13, 13, 6, 1825
 	square_note 8, 15, 4, 1817
@@ -8,7 +8,7 @@
 
 
 SFX_Cry1F_1_Ch6:
-	duty_cycle_pattern 204
+	duty_cycle_pattern 3, 0, 3, 0
 	square_note 4, 15, 4, 1408
 	square_note 14, 14, 6, 1760
 	square_note 8, 13, 5, 1752
--- a/audio/sfx/cry1f_2.asm
+++ b/audio/sfx/cry1f_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry1F_2_Ch5:
-	duty_cycle_pattern 165
+	duty_cycle_pattern 2, 2, 1, 1
 	square_note 3, 15, 4, 1601
 	square_note 13, 13, 6, 1825
 	square_note 8, 15, 4, 1817
@@ -8,7 +8,7 @@
 
 
 SFX_Cry1F_2_Ch6:
-	duty_cycle_pattern 204
+	duty_cycle_pattern 3, 0, 3, 0
 	square_note 4, 15, 4, 1408
 	square_note 14, 14, 6, 1760
 	square_note 8, 13, 5, 1752
--- a/audio/sfx/cry1f_3.asm
+++ b/audio/sfx/cry1f_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry1F_3_Ch5:
-	duty_cycle_pattern 165
+	duty_cycle_pattern 2, 2, 1, 1
 	square_note 3, 15, 4, 1601
 	square_note 13, 13, 6, 1825
 	square_note 8, 15, 4, 1817
@@ -8,7 +8,7 @@
 
 
 SFX_Cry1F_3_Ch6:
-	duty_cycle_pattern 204
+	duty_cycle_pattern 3, 0, 3, 0
 	square_note 4, 15, 4, 1408
 	square_note 14, 14, 6, 1760
 	square_note 8, 13, 5, 1752
--- a/audio/sfx/cry20_1.asm
+++ b/audio/sfx/cry20_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry20_1_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 13, 15, 1, 1297
 	square_note 13, 14, 1, 1301
 	square_note 13, 14, 1, 1297
@@ -8,7 +8,7 @@
 
 
 SFX_Cry20_1_Ch6:
-	duty_cycle_pattern 21
+	duty_cycle_pattern 0, 1, 1, 1
 	square_note 12, 14, 1, 1292
 	square_note 12, 13, 1, 1296
 	square_note 14, 12, 1, 1292
--- a/audio/sfx/cry20_2.asm
+++ b/audio/sfx/cry20_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry20_2_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 13, 15, 1, 1297
 	square_note 13, 14, 1, 1301
 	square_note 13, 14, 1, 1297
@@ -8,7 +8,7 @@
 
 
 SFX_Cry20_2_Ch6:
-	duty_cycle_pattern 21
+	duty_cycle_pattern 0, 1, 1, 1
 	square_note 12, 14, 1, 1292
 	square_note 12, 13, 1, 1296
 	square_note 14, 12, 1, 1292
--- a/audio/sfx/cry20_3.asm
+++ b/audio/sfx/cry20_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry20_3_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 13, 15, 1, 1297
 	square_note 13, 14, 1, 1301
 	square_note 13, 14, 1, 1297
@@ -8,7 +8,7 @@
 
 
 SFX_Cry20_3_Ch6:
-	duty_cycle_pattern 21
+	duty_cycle_pattern 0, 1, 1, 1
 	square_note 12, 14, 1, 1292
 	square_note 12, 13, 1, 1296
 	square_note 14, 12, 1, 1292
--- a/audio/sfx/cry21_1.asm
+++ b/audio/sfx/cry21_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry21_1_Ch5:
-	duty_cycle_pattern 27
+	duty_cycle_pattern 0, 1, 2, 3
 	square_note 3, 15, 3, 1380
 	square_note 2, 14, 2, 1348
 	square_note 5, 13, 1, 1314
@@ -12,7 +12,7 @@
 
 
 SFX_Cry21_1_Ch6:
-	duty_cycle_pattern 204
+	duty_cycle_pattern 3, 0, 3, 0
 	square_note 3, 13, 3, 1376
 	square_note 2, 12, 2, 1344
 	square_note 5, 12, 1, 1312
--- a/audio/sfx/cry21_2.asm
+++ b/audio/sfx/cry21_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry21_2_Ch5:
-	duty_cycle_pattern 27
+	duty_cycle_pattern 0, 1, 2, 3
 	square_note 3, 15, 3, 1380
 	square_note 2, 14, 2, 1348
 	square_note 5, 13, 1, 1314
@@ -12,7 +12,7 @@
 
 
 SFX_Cry21_2_Ch6:
-	duty_cycle_pattern 204
+	duty_cycle_pattern 3, 0, 3, 0
 	square_note 3, 13, 3, 1376
 	square_note 2, 12, 2, 1344
 	square_note 5, 12, 1, 1312
--- a/audio/sfx/cry21_3.asm
+++ b/audio/sfx/cry21_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry21_3_Ch5:
-	duty_cycle_pattern 27
+	duty_cycle_pattern 0, 1, 2, 3
 	square_note 3, 15, 3, 1380
 	square_note 2, 14, 2, 1348
 	square_note 5, 13, 1, 1314
@@ -12,7 +12,7 @@
 
 
 SFX_Cry21_3_Ch6:
-	duty_cycle_pattern 204
+	duty_cycle_pattern 3, 0, 3, 0
 	square_note 3, 13, 3, 1376
 	square_note 2, 12, 2, 1344
 	square_note 5, 12, 1, 1312
--- a/audio/sfx/cry22_1.asm
+++ b/audio/sfx/cry22_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry22_1_Ch5:
-	duty_cycle_pattern 17
+	duty_cycle_pattern 0, 1, 0, 1
 	square_note 2, 3, -5, 897
 	square_note 7, 15, 5, 1537
 	square_note 1, 12, 2, 1153
@@ -8,7 +8,7 @@
 
 
 SFX_Cry22_1_Ch6:
-	duty_cycle_pattern 238
+	duty_cycle_pattern 3, 2, 3, 2
 	square_note 2, 3, -6, 1456
 	square_note 7, 13, 5, 1885
 	square_note 1, 11, 2, 1712
--- a/audio/sfx/cry22_2.asm
+++ b/audio/sfx/cry22_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry22_2_Ch5:
-	duty_cycle_pattern 17
+	duty_cycle_pattern 0, 1, 0, 1
 	square_note 2, 3, -5, 897
 	square_note 7, 15, 5, 1537
 	square_note 1, 12, 2, 1153
@@ -8,7 +8,7 @@
 
 
 SFX_Cry22_2_Ch6:
-	duty_cycle_pattern 238
+	duty_cycle_pattern 3, 2, 3, 2
 	square_note 2, 3, -6, 1456
 	square_note 7, 13, 5, 1885
 	square_note 1, 11, 2, 1712
--- a/audio/sfx/cry22_3.asm
+++ b/audio/sfx/cry22_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry22_3_Ch5:
-	duty_cycle_pattern 17
+	duty_cycle_pattern 0, 1, 0, 1
 	square_note 2, 3, -5, 897
 	square_note 7, 15, 5, 1537
 	square_note 1, 12, 2, 1153
@@ -8,7 +8,7 @@
 
 
 SFX_Cry22_3_Ch6:
-	duty_cycle_pattern 238
+	duty_cycle_pattern 3, 2, 3, 2
 	square_note 2, 3, -6, 1456
 	square_note 7, 13, 5, 1885
 	square_note 1, 11, 2, 1712
--- a/audio/sfx/cry23_1.asm
+++ b/audio/sfx/cry23_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry23_1_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 15, 15, 7, 1984
 	square_note 6, 14, 4, 1985
 	square_note 10, 15, 6, 1984
@@ -9,7 +9,7 @@
 
 
 SFX_Cry23_1_Ch6:
-	duty_cycle_pattern 95
+	duty_cycle_pattern 1, 1, 3, 3
 	square_note 15, 9, 7, 1921
 	square_note 6, 8, 4, 1920
 	square_note 10, 9, 6, 1921
--- a/audio/sfx/cry23_2.asm
+++ b/audio/sfx/cry23_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry23_2_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 15, 15, 7, 1984
 	square_note 6, 14, 4, 1985
 	square_note 10, 15, 6, 1984
@@ -9,7 +9,7 @@
 
 
 SFX_Cry23_2_Ch6:
-	duty_cycle_pattern 95
+	duty_cycle_pattern 1, 1, 3, 3
 	square_note 15, 9, 7, 1921
 	square_note 6, 8, 4, 1920
 	square_note 10, 9, 6, 1921
--- a/audio/sfx/cry23_3.asm
+++ b/audio/sfx/cry23_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry23_3_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 15, 15, 7, 1984
 	square_note 6, 14, 4, 1985
 	square_note 10, 15, 6, 1984
@@ -9,7 +9,7 @@
 
 
 SFX_Cry23_3_Ch6:
-	duty_cycle_pattern 95
+	duty_cycle_pattern 1, 1, 3, 3
 	square_note 15, 9, 7, 1921
 	square_note 6, 8, 4, 1920
 	square_note 10, 9, 6, 1921
--- a/audio/sfx/cry24_1.asm
+++ b/audio/sfx/cry24_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry24_1_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 15, 15, 7, 1664
 	square_note 10, 14, 6, 1668
 	square_note 15, 13, 7, 1680
@@ -12,7 +12,7 @@
 
 
 SFX_Cry24_1_Ch6:
-	duty_cycle_pattern 5
+	duty_cycle_pattern 0, 0, 1, 1
 	square_note 15, 11, 7, 1601
 	square_note 10, 9, 6, 1602
 	square_note 15, 10, 7, 1617
--- a/audio/sfx/cry24_2.asm
+++ b/audio/sfx/cry24_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry24_2_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 15, 15, 7, 1664
 	square_note 10, 14, 6, 1668
 	square_note 15, 13, 7, 1680
@@ -12,7 +12,7 @@
 
 
 SFX_Cry24_2_Ch6:
-	duty_cycle_pattern 5
+	duty_cycle_pattern 0, 0, 1, 1
 	square_note 15, 11, 7, 1601
 	square_note 10, 9, 6, 1602
 	square_note 15, 10, 7, 1617
--- a/audio/sfx/cry24_3.asm
+++ b/audio/sfx/cry24_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry24_3_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 15, 15, 7, 1664
 	square_note 10, 14, 6, 1668
 	square_note 15, 13, 7, 1680
@@ -12,7 +12,7 @@
 
 
 SFX_Cry24_3_Ch6:
-	duty_cycle_pattern 5
+	duty_cycle_pattern 0, 0, 1, 1
 	square_note 15, 11, 7, 1601
 	square_note 10, 9, 6, 1602
 	square_note 15, 10, 7, 1617
--- a/audio/sfx/cry25_1.asm
+++ b/audio/sfx/cry25_1.asm
@@ -1,5 +1,5 @@
 SFX_Cry25_1_Ch5:
-	duty_cycle_pattern 165
+	duty_cycle_pattern 2, 2, 1, 1
 	square_note 6, 15, 4, 1856
 	square_note 15, 14, 3, 1840
 	square_note 4, 15, 4, 1856
@@ -9,7 +9,7 @@
 
 
 SFX_Cry25_1_Ch6:
-	duty_cycle_pattern 119
+	duty_cycle_pattern 1, 3, 1, 3
 	square_note 6, 12, 3, 1810
 	square_note 15, 11, 3, 1796
 	square_note 3, 12, 3, 1810
--- a/audio/sfx/cry25_2.asm
+++ b/audio/sfx/cry25_2.asm
@@ -1,5 +1,5 @@
 SFX_Cry25_2_Ch5:
-	duty_cycle_pattern 165
+	duty_cycle_pattern 2, 2, 1, 1
 	square_note 6, 15, 4, 1856
 	square_note 15, 14, 3, 1840
 	square_note 4, 15, 4, 1856
@@ -9,7 +9,7 @@
 
 
 SFX_Cry25_2_Ch6:
-	duty_cycle_pattern 119
+	duty_cycle_pattern 1, 3, 1, 3
 	square_note 6, 12, 3, 1810
 	square_note 15, 11, 3, 1796
 	square_note 3, 12, 3, 1810
--- a/audio/sfx/cry25_3.asm
+++ b/audio/sfx/cry25_3.asm
@@ -1,5 +1,5 @@
 SFX_Cry25_3_Ch5:
-	duty_cycle_pattern 165
+	duty_cycle_pattern 2, 2, 1, 1
 	square_note 6, 15, 4, 1856
 	square_note 15, 14, 3, 1840
 	square_note 4, 15, 4, 1856
@@ -9,7 +9,7 @@
 
 
 SFX_Cry25_3_Ch6:
-	duty_cycle_pattern 119
+	duty_cycle_pattern 1, 3, 1, 3
 	square_note 6, 12, 3, 1810
 	square_note 15, 11, 3, 1796
 	square_note 3, 12, 3, 1810
--- a/audio/sfx/psybeam.asm
+++ b/audio/sfx/psybeam.asm
@@ -1,5 +1,5 @@
 SFX_Psybeam_Ch5:
-	duty_cycle_pattern 161
+	duty_cycle_pattern 2, 2, 0, 1
 	square_note 10, 15, 1, 1600
 	square_note 10, 15, 3, 1664
 	square_note 10, 15, 2, 1568
@@ -9,7 +9,7 @@
 
 
 SFX_Psybeam_Ch6:
-	duty_cycle_pattern 179
+	duty_cycle_pattern 2, 3, 0, 3
 	square_note 10, 15, 3, 1393
 	square_note 7, 14, 3, 1329
 	square_note 10, 15, 1, 1361
--- a/audio/sfx/shooting_star.asm
+++ b/audio/sfx/shooting_star.asm
@@ -1,5 +1,5 @@
 SFX_Shooting_Star_Ch5:
-	duty_cycle_pattern 228
+	duty_cycle_pattern 3, 2, 1, 0
 	pitch_sweep 2, -7
 	square_note 4, 4, 0, 2016
 	square_note 4, 6, 0, 2016
--- a/audio/sfx/unused_1.asm
+++ b/audio/sfx/unused_1.asm
@@ -1,5 +1,5 @@
 SFX_Unused_1_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 15, 14, 0, 1920
 	square_note 15, 15, 0, 1924
 	square_note 15, 12, 3, 1504
@@ -10,7 +10,7 @@
 
 
 SFX_Unused_1_Ch6:
-	duty_cycle_pattern 5
+	duty_cycle_pattern 0, 0, 1, 1
 	square_note 15, 10, 0, 1857
 	square_note 15, 11, 0, 1859
 	square_note 15, 9, 3, 1457
--- a/audio/sfx/unused_2.asm
+++ b/audio/sfx/unused_2.asm
@@ -1,5 +1,5 @@
 SFX_Unused_2_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 15, 14, 0, 1920
 	square_note 15, 15, 0, 1924
 	square_note 15, 12, 3, 1504
@@ -10,7 +10,7 @@
 
 
 SFX_Unused_2_Ch6:
-	duty_cycle_pattern 5
+	duty_cycle_pattern 0, 0, 1, 1
 	square_note 15, 10, 0, 1857
 	square_note 15, 11, 0, 1859
 	square_note 15, 9, 3, 1457
--- a/audio/sfx/unused_3.asm
+++ b/audio/sfx/unused_3.asm
@@ -1,5 +1,5 @@
 SFX_Unused_3_Ch5:
-	duty_cycle_pattern 240
+	duty_cycle_pattern 3, 3, 0, 0
 	square_note 15, 14, 0, 1920
 	square_note 15, 15, 0, 1924
 	square_note 15, 12, 3, 1504
@@ -10,7 +10,7 @@
 
 
 SFX_Unused_3_Ch6:
-	duty_cycle_pattern 5
+	duty_cycle_pattern 0, 0, 1, 1
 	square_note 15, 10, 0, 1857
 	square_note 15, 11, 0, 1859
 	square_note 15, 9, 3, 1457
--- a/macros/audio_macros.asm
+++ b/macros/audio_macros.asm
@@ -30,17 +30,22 @@
 	ENDC
 ENDM
 
-;format: length [0, 7], pitch change [-7, 7]
+; arguments: length [0, 7], pitch change [-7, 7]
+; length: length of time between pitch shifts
+; pitch change: positive value means increase in pitch, negative value means decrease in pitch
+;               small magnitude means quick change, large magnitude means slow change
 pitch_sweep: MACRO
 	db $10
-	IF \2 > 0
-		db (\1 << 4) | \2
-	ELSE
+	IF \2 <= 0
 		db (\1 << 4) | (%1000 | (\2 * -1))
+	ELSE
+		db (\1 << 4) | \2
 	ENDC
 ENDM
 
-;format: length [0, 15], volume [0, 15], volume change [-7, 7], frequency
+; arguments: length [0, 15], volume [0, 15], fade [-7, 7], frequency
+; fade: positive value means decrease in volume, negative value means increase in volume
+;       small magnitude means quick change, large magnitude means slow change
 square_note: MACRO
 	db $20 | \1
 	IF \3 < 0
@@ -51,7 +56,9 @@
 	dw \4
 ENDM
 
-;format: length [0, 15], volume [0, 15], volume change [-7, 7], frequency
+; arguments: length [0, 15], volume [0, 15], fade [-7, 7], frequency
+; fade: positive value means decrease in volume, negative value means increase in volume
+;       small magnitude means quick change, large magnitude means slow change
 noise_note: MACRO
 	db $20 | \1
 	IF \3 < 0
@@ -75,18 +82,18 @@
 A# EQU $A
 B_ EQU $B
 
-;format: pitch, length (in 16ths)
+; arguments: pitch, length [1, 16]
 note: MACRO
 	db (\1 << 4) | (\2 - 1)
 ENDM
 
-;format: instrument, length (in 16ths)
+; arguments: instrument [1, 19], length [1, 16]
 dnote: MACRO
 	db $B0 | (\2 - 1)
 	db \1
 ENDM
 
-;format: instrument [1, 3-10], length (in 16ths)
+; arguments: instrument, length [1, 16]
 ; like dnote but one 1 byte instead of 2
 ; can only be used with instruments 1-10, excluding 2
 ; unused
@@ -94,30 +101,42 @@
 	db (\1 << 4) | (\2 - 1)
 ENDM
 
-;format: length (in 16ths)
+; arguments: length [1, 16]
 rest: MACRO
 	db $C0 | (\1 - 1)
 ENDM
 
-;format: speed, volume, fade
+; arguments: speed [0, 15], volume [0, 15], fade [-7, 7]
+; fade: positive value means decrease in volume, negative value means increase in volume
+;       small magnitude means quick change, large magnitude means slow change
 note_type: MACRO
 	db $D0 | \1
-	db (\2 << 4) | \3
+	IF \3 < 0
+		db (\2 << 4) | (%1000 | (\3 * -1))
+	ELSE
+		db (\2 << 4) | \3
+	ENDC
 ENDM
 
+; arguments: speed [0, 15]
 dspeed: MACRO
 	db $D0 | \1
 ENDM
 
+; arguments: octave [1, 8]
 octave: MACRO
 	db $E8 - \1
 ENDM
 
+; when enabled, effective frequency used is incremented by 1
 toggle_perfect_pitch: MACRO
 	db $E8
 ENDM
 
-;format: vibrato delay, rate, depth
+; arguments: delay [0, 255], depth [0, 15], rate [0, 15]
+; delay: time delay until vibrato effect begins
+; depth: amplitude of vibrato wave
+; rate: frequency of vibrato wave
 vibrato: MACRO
 	db $EA
 	db \1
@@ -124,17 +143,25 @@
 	db (\2 << 4) | \3
 ENDM
 
+; arguments: length [1, 256], octave [1, 8], pitch
 pitch_slide: MACRO
 	db $EB
-	db \1
-	db \2
+	db \1 - 1
+	db ((8 - \2) << 4) | \3
 ENDM
 
+; arguments: duty cycle [0, 3] (12.5%, 25%, 50%, 75%)
 duty_cycle: MACRO
 	db $EC
 	db \1
 ENDM
 
+; arguments: tempo [0, $ffff]
+; used to calculate note delay counters
+; so a smaller value means music plays faster
+; ideally should be set to $100 or less to guarantee no overflow
+; if larger than $100, large note speed or note length values might cause overflow
+; stored in big endian
 tempo: MACRO
 	db $ED
 	db \1 / $100
@@ -141,32 +168,36 @@
 	db \1 % $100
 ENDM
 
+; arguments: left output enable mask, right output enable mask
 stereo_panning: MACRO
 	db $EE
-	db \1
+	db (\1 << 4) | \2
 ENDM
 
+; arguments: left master volume [0, 7], right master volume [0, 7]
 volume: MACRO
 	db $F0
 	db (\1 << 4) | \2
 ENDM
 
+; when enabled, the sfx data is interpreted as music data
 execute_music: MACRO
 	db $F8
 ENDM
 
+; arguments: duty cycle 1, duty cycle 2, duty cycle 3, duty cycle 4
 duty_cycle_pattern: MACRO
 	db $FC
-	db \1
+	db \1 << 6 | \2 << 4 | \3 << 2 | \4
 ENDM
 
-;format: address
+; arguments: address
 sound_call: MACRO
 	db $FD
 	dw \1
 ENDM
 
-;format: count, address
+; arguments: count, address
 sound_loop: MACRO
 	db $FE
 	db \1