;---------------------------------------------
;---------------------------------------------
; Sound Code
;---------------------------------------------
;---------------------------------------------

; RAM_SOUND
; RAM_SOUND_ADDR
; RAM_SOUND_DELAY

.DEFINE SOUND_OFF_STATE  0
.DEFINE SOUND_ON_STATE   1


; Sound Data
; AA BB CC DD
; AA = Attenuation
; BB = PSG channel and low byte
; CC = PSG high byte
; DD = Delay, frames

;.db $9F $80 $00 1 ; Channel 1 off
;.db $BF $A0 $00 1 ; Channel 2 off
;.db $DF $C0 $00 1 ; Channel 3 off
;.db $FF $FF $FF 1 ; Noise off

;----------------------------------------
; sound_play_RAM (32 lines)
;
; Call at end of vblank routine.
;
sound_play_RAM:
  PUSH AF                      ; Save
  PUSH HL                      ;

  LD a, (RAM_SOUND_DELAY)      ; Decrement delay
  DEC a                        ;
  LD (RAM_SOUND_DELAY), a      ;
  CP $00                       ; If not zero, play new sound
  JP NZ, spRAM_end             ;

  LD hl, (RAM_SOUND_ADDR)      ; Load pointer

  LD a, (hl)                   ; Volume
  OUT ($7F), a                 ; to PSG
  INC hl                       ;

  LD a, (hl)                   ; Channel low
  OUT ($7F), a                 ; to PSG
  INC hl                       ;

  LD a, (hl)                   ; Channel high
  OUT ($7F), a                 ; to PSG
  INC hl                       ;

  LD a, (hl)                   ; New delay
  LD (RAM_SOUND_DELAY), a      ;  
  INC hl                       ;

  LD (RAM_SOUND_ADDR), hl      ;

  CP $E0                       ; Delay of $E0 means silence
  JP Z,  spRAM_end2            ;

  CP $D0                       ; Delay of $D0 means reset counters
  JP NZ, spRAM_end             ;

spRAM_end3:
  LD hl, RAM_SOUND             ;
  LD (RAM_SOUND_ADDR), hl      ;
  LD a, 0                      ;
  LD (RAM_SOUND_DELAY + 1), a  ;
  LD a, 1                      ;
  LD (RAM_SOUND_DELAY), a      ;

spRAM_end:
  POP HL                       ; Restore
  POP AF                       ;
  RET                          ; End subroutine

spRAM_end2
  CALL copy_song_to_RAM001     ; Silence!
  JP spRAM_end3                ;

;----------------------------------------

;----------------------------------------
; copy_song_to_RAM (18 lines)
;
; Original song type thing
;----------------------------------------
copy_song_to_RAM:
  LD hl, level_1_sound         ; Source
  LD de, RAM_SOUND             ; Destination
  LD b,  255                   ; 1536 / 256 = 6
  LD c,  8                     ;

cstr_loop_000:
  LD a, (hl)                   ; Copy data
  LD (de), a                   ;
  INC hl                       ;
  INC de                       ;
  DEC b                        ;
  JP NZ, cstr_loop_000         ;

  LD b,  255                   ;
  DEC c                        ;
  JP NZ, cstr_loop_000         ;

  LD hl, RAM_SOUND             ; Initialize pointer
  LD (RAM_SOUND_ADDR), hl      ;

  LD a, 1                      ;
  LD (RAM_SOUND_DELAY), a      ;

  RET                          ; End subroutine
;----------------------------------------

;----------------------------------------
; copy_song_to_RAM001 (13 lines)
;
; Silence, 8 bytes
;----------------------------------------
copy_song_to_RAM001:
  LD hl, silence               ; Source
  LD de, RAM_SOUND             ; Destination
  LD b,  9                     ; 8 bytes

cstr_loop_001:
  LD a, (hl)                   ; Copy data
  LD (de), a                   ;
  INC hl                       ;
  INC de                       ;
  DEC b                        ;
  JP NZ, cstr_loop_001         ;

  LD hl, RAM_SOUND             ; Initialize pointer
  LD (RAM_SOUND_ADDR), hl      ;

  LD a, 1                      ;
  LD (RAM_SOUND_DELAY), a      ;

  RET                          ; End subroutine
;----------------------------------------

;----------------------------------------
; copy_song_to_RAM002 (13 lines)
;
; I hit something!
;----------------------------------------
copy_song_to_RAM002:
  LD hl, i_hit_something       ; Source
copy_song_to_RAM002A:
  LD de, RAM_SOUND             ; Destination
  LD b,  141                   ; (44 * 3) + 8 = 140  

cstr_loop_002:
  LD a, (hl)                   ; Copy data
  LD (de), a                   ;
  INC hl                       ;
  INC de                       ;
  DEC b                        ;
  JP NZ, cstr_loop_002         ;

  LD hl, RAM_SOUND             ; Initialize pointer
  LD (RAM_SOUND_ADDR), hl      ;

  LD a, 1                      ;
  LD (RAM_SOUND_DELAY), a      ;

  RET                          ; End subroutine
;----------------------------------------

;----------------------------------------
; copy_song_to_RAM003 (2 lines)
;
; Level start
;----------------------------------------
copy_song_to_RAM003:
  LD hl, start_the_level       ; Source
  JP copy_song_to_RAM002A      ; Copy

;----------------------------------------
; copy_song_to_RAM004 (2 lines)
;
; Ouch
;----------------------------------------
copy_song_to_RAM004:
  LD hl, ouch_that_hurt       ; Source
  JP copy_song_to_RAM002A      ; Copy

; Try all notes with smooth volume rise and smooth volume fall
;
level_1_sound:
; EDCB
 .db $9E, $8E, $0B, 1    ; E4
 .db $98, $8E, $0B, 1    ; E4
 .db $96, $8E, $0B, 1    ; E4
 .db $94, $8E, $0B, 1    ; E4
 .db $93, $8E, $0B, 1    ; E4
 .db $92, $8E, $0B, 6   ; E4
 .db $93, $8E, $0B, 1    ; E4
 .db $94, $8E, $0B, 1    ; E4
 .db $96, $8E, $0B, 1    ; E4
 .db $98, $8E, $0B, 1    ; E4
 .db $9E, $8E, $0B, 1    ; E4
;---------------------------------
 .db $9E, $85, $0D, 1    ; D4
 .db $98, $85, $0D, 1    ; D4
 .db $96, $85, $0D, 1    ; D4
 .db $94, $85, $0D, 1    ; D4
 .db $93, $85, $0D, 1    ; D4
 .db $92, $85, $0D, 6   ; D4
 .db $93, $85, $0D, 1    ; D4
 .db $94, $85, $0D, 1    ; D4
 .db $96, $85, $0D, 1    ; D4
 .db $98, $85, $0D, 1    ; D4
 .db $9E, $85, $0D, 1    ; D4
;---------------------------------
 .db $9E, $8E, $0F, 1    ; C4
 .db $98, $8E, $0F, 1    ; C4
 .db $96, $8E, $0F, 1    ; C4
 .db $94, $8E, $0F, 1    ; C4
 .db $93, $8E, $0F, 1    ; C4
 .db $92, $8E, $0F, 6   ; C4
 .db $93, $8E, $0F, 1    ; C4
 .db $94, $8E, $0F, 1    ; C4
 .db $96, $8E, $0F, 1    ; C4
 .db $98, $8E, $0F, 1    ; C4
 .db $9E, $8E, $0F, 1    ; C4
;---------------------------------
 .db $9E, $8D, $0F, 1    ; B4
 .db $98, $8D, $0F, 1    ; B4
 .db $96, $8D, $0F, 1    ; B4
 .db $94, $8D, $0F, 1    ; B4
 .db $93, $8D, $0F, 1    ; B4
 .db $92, $8D, $0F, 6   ; B4
 .db $93, $8D, $0F, 1    ; B4
 .db $94, $8D, $0F, 1    ; B4
 .db $96, $8D, $0F, 1    ; B4
 .db $98, $8D, $0F, 1    ; B4
 .db $9E, $8D, $0F, 1    ; B4
;---------------------------------
; EDCB
 .db $9E, $8E, $0B, 1    ; E4
 .db $98, $8E, $0B, 1    ; E4
 .db $96, $8E, $0B, 1    ; E4
 .db $94, $8E, $0B, 1    ; E4
 .db $93, $8E, $0B, 1    ; E4
 .db $92, $8E, $0B, 6   ; E4
 .db $93, $8E, $0B, 1    ; E4
 .db $94, $8E, $0B, 1    ; E4
 .db $96, $8E, $0B, 1    ; E4
 .db $98, $8E, $0B, 1    ; E4
 .db $9E, $8E, $0B, 1    ; E4
;---------------------------------
 .db $9E, $85, $0D, 1    ; D4
 .db $98, $85, $0D, 1    ; D4
 .db $96, $85, $0D, 1    ; D4
 .db $94, $85, $0D, 1    ; D4
 .db $93, $85, $0D, 1    ; D4
 .db $92, $85, $0D, 6   ; D4
 .db $93, $85, $0D, 1    ; D4
 .db $94, $85, $0D, 1    ; D4
 .db $96, $85, $0D, 1    ; D4
 .db $98, $85, $0D, 1    ; D4
 .db $9E, $85, $0D, 1    ; D4
;---------------------------------
 .db $9E, $8E, $0F, 1    ; C4
 .db $98, $8E, $0F, 1    ; C4
 .db $96, $8E, $0F, 1    ; C4
 .db $94, $8E, $0F, 1    ; C4
 .db $93, $8E, $0F, 1    ; C4
 .db $92, $8E, $0F, 6   ; C4
 .db $93, $8E, $0F, 1    ; C4
 .db $94, $8E, $0F, 1    ; C4
 .db $96, $8E, $0F, 1    ; C4
 .db $98, $8E, $0F, 1    ; C4
 .db $9E, $8E, $0F, 1    ; C4
;---------------------------------
 .db $9E, $8D, $0F, 1    ; B4
 .db $98, $8D, $0F, 1    ; B4
 .db $96, $8D, $0F, 1    ; B4
 .db $94, $8D, $0F, 1    ; B4
 .db $93, $8D, $0F, 1    ; B4
 .db $92, $8D, $0F, 6   ; B4
 .db $93, $8D, $0F, 1    ; B4
 .db $94, $8D, $0F, 1    ; B4
 .db $96, $8D, $0F, 1    ; B4
 .db $98, $8D, $0F, 1    ; B4
 .db $9E, $8D, $0F, 1    ; B4
;---------------------------------
; EDCB
 .db $9E, $8E, $0B, 1    ; E4
 .db $98, $8E, $0B, 1    ; E4
 .db $96, $8E, $0B, 1    ; E4
 .db $94, $8E, $0B, 1    ; E4
 .db $93, $8E, $0B, 1    ; E4
 .db $92, $8E, $0B, 6   ; E4
 .db $93, $8E, $0B, 1    ; E4
 .db $94, $8E, $0B, 1    ; E4
 .db $96, $8E, $0B, 1    ; E4
 .db $98, $8E, $0B, 1    ; E4
 .db $9E, $8E, $0B, 1    ; E4
;---------------------------------
 .db $9E, $85, $0D, 1    ; D4
 .db $98, $85, $0D, 1    ; D4
 .db $96, $85, $0D, 1    ; D4
 .db $94, $85, $0D, 1    ; D4
 .db $93, $85, $0D, 1    ; D4
 .db $92, $85, $0D, 6   ; D4
 .db $93, $85, $0D, 1    ; D4
 .db $94, $85, $0D, 1    ; D4
 .db $96, $85, $0D, 1    ; D4
 .db $98, $85, $0D, 1    ; D4
 .db $9E, $85, $0D, 1    ; D4
;---------------------------------
 .db $9E, $8E, $0F, 1    ; C4
 .db $98, $8E, $0F, 1    ; C4
 .db $96, $8E, $0F, 1    ; C4
 .db $94, $8E, $0F, 1    ; C4
 .db $93, $8E, $0F, 1    ; C4
 .db $92, $8E, $0F, 6   ; C4
 .db $93, $8E, $0F, 1    ; C4
 .db $94, $8E, $0F, 1    ; C4
 .db $96, $8E, $0F, 1    ; C4
 .db $98, $8E, $0F, 1    ; C4
 .db $9E, $8E, $0F, 1    ; C4
;---------------------------------
 .db $9E, $8D, $0F, 1    ; B4
 .db $98, $8D, $0F, 1    ; B4
 .db $96, $8D, $0F, 1    ; B4
 .db $94, $8D, $0F, 1    ; B4
 .db $93, $8D, $0F, 1    ; B4
 .db $92, $8D, $0F, 6   ; B4
 .db $93, $8D, $0F, 1    ; B4
 .db $94, $8D, $0F, 1    ; B4
 .db $96, $8D, $0F, 1    ; B4
 .db $98, $8D, $0F, 1    ; B4
 .db $9E, $8D, $0F, 1    ; B4
;---------------------------------
; EDED BED BDEC 
 .db $9E, $8E, $0B, 1    ; E4
 .db $98, $8E, $0B, 1    ; E4
 .db $96, $8E, $0B, 1    ; E4
 .db $94, $8E, $0B, 1    ; E4
 .db $93, $8E, $0B, 1    ; E4
 .db $92, $8E, $0B, 6   ; E4
 .db $93, $8E, $0B, 1    ; E4
 .db $94, $8E, $0B, 1    ; E4
 .db $96, $8E, $0B, 1    ; E4
 .db $98, $8E, $0B, 1    ; E4
 .db $9E, $8E, $0B, 1    ; E4
;---------------------------------
 .db $9E, $85, $0D, 1    ; D4
 .db $98, $85, $0D, 1    ; D4
 .db $96, $85, $0D, 1    ; D4
 .db $94, $85, $0D, 1    ; D4
 .db $93, $85, $0D, 1    ; D4
 .db $92, $85, $0D, 6   ; D4
 .db $93, $85, $0D, 1    ; D4
 .db $94, $85, $0D, 1    ; D4
 .db $96, $85, $0D, 1    ; D4
 .db $98, $85, $0D, 1    ; D4
 .db $9E, $85, $0D, 1    ; D4
;---------------------------------
 .db $9E, $8E, $0B, 1    ; E4
 .db $98, $8E, $0B, 1    ; E4
 .db $96, $8E, $0B, 1    ; E4
 .db $94, $8E, $0B, 1    ; E4
 .db $93, $8E, $0B, 1    ; E4
 .db $92, $8E, $0B, 6   ; E4
 .db $93, $8E, $0B, 1    ; E4
 .db $94, $8E, $0B, 1    ; E4
 .db $96, $8E, $0B, 1    ; E4
 .db $98, $8E, $0B, 1    ; E4
 .db $9E, $8E, $0B, 1    ; E4
;---------------------------------
 .db $9E, $85, $0D, 1    ; D4
 .db $98, $85, $0D, 1    ; D4
 .db $96, $85, $0D, 1    ; D4
 .db $94, $85, $0D, 1    ; D4
 .db $93, $85, $0D, 1    ; D4
 .db $92, $85, $0D, 6   ; D4
 .db $93, $85, $0D, 1    ; D4
 .db $94, $85, $0D, 1    ; D4
 .db $96, $85, $0D, 1    ; D4
 .db $98, $85, $0D, 1    ; D4
 .db $9E, $85, $0D, 1    ; D4
;---------------------------------
 .db $9E, $8D, $0F, 1    ; B4
 .db $98, $8D, $0F, 1    ; B4
 .db $96, $8D, $0F, 1    ; B4
 .db $94, $8D, $0F, 1    ; B4
 .db $93, $8D, $0F, 1    ; B4
 .db $92, $8D, $0F, 6   ; B4
 .db $93, $8D, $0F, 1    ; B4
 .db $94, $8D, $0F, 1    ; B4
 .db $96, $8D, $0F, 1    ; B4
 .db $98, $8D, $0F, 1    ; B4
 .db $9E, $8D, $0F, 1    ; B4
;---------------------------------
 .db $9E, $8E, $0B, 1    ; E4
 .db $98, $8E, $0B, 1    ; E4
 .db $96, $8E, $0B, 1    ; E4
 .db $94, $8E, $0B, 1    ; E4
 .db $93, $8E, $0B, 1    ; E4
 .db $92, $8E, $0B, 6   ; E4
 .db $93, $8E, $0B, 1    ; E4
 .db $94, $8E, $0B, 1    ; E4
 .db $96, $8E, $0B, 1    ; E4
 .db $98, $8E, $0B, 1    ; E4
 .db $9E, $8E, $0B, 1    ; E4
;---------------------------------
 .db $9E, $85, $0D, 1    ; D4
 .db $98, $85, $0D, 1    ; D4
 .db $96, $85, $0D, 1    ; D4
 .db $94, $85, $0D, 1    ; D4
 .db $93, $85, $0D, 1    ; D4
 .db $92, $85, $0D, 6   ; D4
 .db $93, $85, $0D, 1    ; D4
 .db $94, $85, $0D, 1    ; D4
 .db $96, $85, $0D, 1    ; D4
 .db $98, $85, $0D, 1    ; D4
 .db $9E, $85, $0D, 1    ; D4
;---------------------------------
 .db $9E, $8D, $0F, 1    ; B4
 .db $98, $8D, $0F, 1    ; B4
 .db $96, $8D, $0F, 1    ; B4
 .db $94, $8D, $0F, 1    ; B4
 .db $93, $8D, $0F, 1    ; B4
 .db $92, $8D, $0F, 6   ; B4
 .db $93, $8D, $0F, 1    ; B4
 .db $94, $8D, $0F, 1    ; B4
 .db $96, $8D, $0F, 1    ; B4
 .db $98, $8D, $0F, 1    ; B4
 .db $9E, $8D, $0F, 1    ; B4
;---------------------------------
 .db $9E, $85, $0D, 1    ; D4
 .db $98, $85, $0D, 1    ; D4
 .db $96, $85, $0D, 1    ; D4
 .db $94, $85, $0D, 1    ; D4
 .db $93, $85, $0D, 1    ; D4
 .db $92, $85, $0D, 6   ; D4
 .db $93, $85, $0D, 1    ; D4
 .db $94, $85, $0D, 1    ; D4
 .db $96, $85, $0D, 1    ; D4
 .db $98, $85, $0D, 1    ; D4
 .db $9E, $85, $0D, 1    ; D4
;---------------------------------
 .db $9E, $8E, $0B, 1    ; E4
 .db $98, $8E, $0B, 1    ; E4
 .db $96, $8E, $0B, 1    ; E4
 .db $94, $8E, $0B, 1    ; E4
 .db $93, $8E, $0B, 1    ; E4
 .db $92, $8E, $0B, 6   ; E4
 .db $93, $8E, $0B, 1    ; E4
 .db $94, $8E, $0B, 1    ; E4
 .db $96, $8E, $0B, 1    ; E4
 .db $98, $8E, $0B, 1    ; E4
 .db $9E, $8E, $0B, 1    ; E4
;---------------------------------
 .db $9E, $8E, $0F, 1    ; C4
 .db $98, $8E, $0F, 1    ; C4
 .db $96, $8E, $0F, 1    ; C4
 .db $94, $8E, $0F, 1    ; C4
 .db $93, $8E, $0F, 1    ; C4
 .db $92, $8E, $0F, 20   ; C4
 .db $93, $8E, $0F, 1    ; C4
 .db $94, $8E, $0F, 1    ; C4
 .db $96, $8E, $0F, 1    ; C4
 .db $98, $8E, $0F, 1    ; C4
 .db $9E, $8E, $0F, 1    ; C4
;---------------------------------
; EDED BED BDEC 
 .db $9E, $8E, $0B, 1    ; E4
 .db $98, $8E, $0B, 1    ; E4
 .db $96, $8E, $0B, 1    ; E4
 .db $94, $8E, $0B, 1    ; E4
 .db $93, $8E, $0B, 1    ; E4
 .db $92, $8E, $0B, 6   ; E4
 .db $93, $8E, $0B, 1    ; E4
 .db $94, $8E, $0B, 1    ; E4
 .db $96, $8E, $0B, 1    ; E4
 .db $98, $8E, $0B, 1    ; E4
 .db $9E, $8E, $0B, 1    ; E4
;---------------------------------
 .db $9E, $85, $0D, 1    ; D4
 .db $98, $85, $0D, 1    ; D4
 .db $96, $85, $0D, 1    ; D4
 .db $94, $85, $0D, 1    ; D4
 .db $93, $85, $0D, 1    ; D4
 .db $92, $85, $0D, 6   ; D4
 .db $93, $85, $0D, 1    ; D4
 .db $94, $85, $0D, 1    ; D4
 .db $96, $85, $0D, 1    ; D4
 .db $98, $85, $0D, 1    ; D4
 .db $9E, $85, $0D, 1    ; D4
;---------------------------------
 .db $9E, $8E, $0B, 1    ; E4
 .db $98, $8E, $0B, 1    ; E4
 .db $96, $8E, $0B, 1    ; E4
 .db $94, $8E, $0B, 1    ; E4
 .db $93, $8E, $0B, 1    ; E4
 .db $92, $8E, $0B, 6   ; E4
 .db $93, $8E, $0B, 1    ; E4
 .db $94, $8E, $0B, 1    ; E4
 .db $96, $8E, $0B, 1    ; E4
 .db $98, $8E, $0B, 1    ; E4
 .db $9E, $8E, $0B, 1    ; E4
;---------------------------------
 .db $9E, $85, $0D, 1    ; D4
 .db $98, $85, $0D, 1    ; D4
 .db $96, $85, $0D, 1    ; D4
 .db $94, $85, $0D, 1    ; D4
 .db $93, $85, $0D, 1    ; D4
 .db $92, $85, $0D, 6   ; D4
 .db $93, $85, $0D, 1    ; D4
 .db $94, $85, $0D, 1    ; D4
 .db $96, $85, $0D, 1    ; D4
 .db $98, $85, $0D, 1    ; D4
 .db $9E, $85, $0D, 1    ; D4
;---------------------------------
 .db $9E, $8D, $0F, 1    ; B4
 .db $98, $8D, $0F, 1    ; B4
 .db $96, $8D, $0F, 1    ; B4
 .db $94, $8D, $0F, 1    ; B4
 .db $93, $8D, $0F, 1    ; B4
 .db $92, $8D, $0F, 6   ; B4
 .db $93, $8D, $0F, 1    ; B4
 .db $94, $8D, $0F, 1    ; B4
 .db $96, $8D, $0F, 1    ; B4
 .db $98, $8D, $0F, 1    ; B4
 .db $9E, $8D, $0F, 1    ; B4
;---------------------------------
 .db $9E, $8E, $0B, 1    ; E4
 .db $98, $8E, $0B, 1    ; E4
 .db $96, $8E, $0B, 1    ; E4
 .db $94, $8E, $0B, 1    ; E4
 .db $93, $8E, $0B, 1    ; E4
 .db $92, $8E, $0B, 6   ; E4
 .db $93, $8E, $0B, 1    ; E4
 .db $94, $8E, $0B, 1    ; E4
 .db $96, $8E, $0B, 1    ; E4
 .db $98, $8E, $0B, 1    ; E4
 .db $9E, $8E, $0B, 1    ; E4
;---------------------------------
 .db $9E, $85, $0D, 1    ; D4
 .db $98, $85, $0D, 1    ; D4
 .db $96, $85, $0D, 1    ; D4
 .db $94, $85, $0D, 1    ; D4
 .db $93, $85, $0D, 1    ; D4
 .db $92, $85, $0D, 6   ; D4
 .db $93, $85, $0D, 1    ; D4
 .db $94, $85, $0D, 1    ; D4
 .db $96, $85, $0D, 1    ; D4
 .db $98, $85, $0D, 1    ; D4
 .db $9E, $85, $0D, 1    ; D4
;---------------------------------
 .db $9E, $8D, $0F, 1    ; B4
 .db $98, $8D, $0F, 1    ; B4
 .db $96, $8D, $0F, 1    ; B4
 .db $94, $8D, $0F, 1    ; B4
 .db $93, $8D, $0F, 1    ; B4
 .db $92, $8D, $0F, 6   ; B4
 .db $93, $8D, $0F, 1    ; B4
 .db $94, $8D, $0F, 1    ; B4
 .db $96, $8D, $0F, 1    ; B4
 .db $98, $8D, $0F, 1    ; B4
 .db $9E, $8D, $0F, 1    ; B4
;---------------------------------
 .db $9E, $85, $0D, 1    ; D4
 .db $98, $85, $0D, 1    ; D4
 .db $96, $85, $0D, 1    ; D4
 .db $94, $85, $0D, 1    ; D4
 .db $93, $85, $0D, 1    ; D4
 .db $92, $85, $0D, 6   ; D4
 .db $93, $85, $0D, 1    ; D4
 .db $94, $85, $0D, 1    ; D4
 .db $96, $85, $0D, 1    ; D4
 .db $98, $85, $0D, 1    ; D4
 .db $9E, $85, $0D, 1    ; D4
;---------------------------------
 .db $9E, $8E, $0B, 1    ; E4
 .db $98, $8E, $0B, 1    ; E4
 .db $96, $8E, $0B, 1    ; E4
 .db $94, $8E, $0B, 1    ; E4
 .db $93, $8E, $0B, 1    ; E4
 .db $92, $8E, $0B, 6   ; E4
 .db $93, $8E, $0B, 1    ; E4
 .db $94, $8E, $0B, 1    ; E4
 .db $96, $8E, $0B, 1    ; E4
 .db $98, $8E, $0B, 1    ; E4
 .db $9E, $8E, $0B, 1    ; E4
;---------------------------------
 .db $9E, $8E, $0F, 1    ; C4
 .db $98, $8E, $0F, 1    ; C4
 .db $96, $8E, $0F, 1    ; C4
 .db $94, $8E, $0F, 1    ; C4
 .db $93, $8E, $0F, 1    ; C4
 .db $92, $8E, $0F, 20   ; C4
 .db $93, $8E, $0F, 1    ; C4
 .db $94, $8E, $0F, 1    ; C4
 .db $96, $8E, $0F, 1    ; C4
 .db $98, $8E, $0F, 1    ; C4
 .db $9E, $8E, $0F, 1    ; C4
;---------------------------------
; EDD EGG EDC EG
 .db $9E, $8E, $0B, 1    ; E4
 .db $98, $8E, $0B, 1    ; E4
 .db $96, $8E, $0B, 1    ; E4
 .db $94, $8E, $0B, 1    ; E4
 .db $93, $8E, $0B, 1    ; E4
 .db $92, $8E, $0B, 6   ; E4
 .db $93, $8E, $0B, 1    ; E4
 .db $94, $8E, $0B, 1    ; E4
 .db $96, $8E, $0B, 1    ; E4
 .db $98, $8E, $0B, 1    ; E4
 .db $9E, $8E, $0B, 1    ; E4
;---------------------------------
 .db $9E, $85, $0D, 1    ; D4
 .db $98, $85, $0D, 1    ; D4
 .db $96, $85, $0D, 1    ; D4
 .db $94, $85, $0D, 1    ; D4
 .db $93, $85, $0D, 1    ; D4
 .db $92, $85, $0D, 6   ; D4
 .db $93, $85, $0D, 1    ; D4
 .db $94, $85, $0D, 1    ; D4
 .db $96, $85, $0D, 1    ; D4
 .db $98, $85, $0D, 1    ; D4
 .db $9E, $85, $0D, 1    ; D4
;---------------------------------
 .db $9E, $85, $0D, 1    ; D4
 .db $98, $85, $0D, 1    ; D4
 .db $96, $85, $0D, 1    ; D4
 .db $94, $85, $0D, 1    ; D4
 .db $93, $85, $0D, 1    ; D4
 .db $92, $85, $0D, 6   ; D4
 .db $93, $85, $0D, 1    ; D4
 .db $94, $85, $0D, 1    ; D4
 .db $96, $85, $0D, 1    ; D4
 .db $98, $85, $0D, 1    ; D4
 .db $9E, $85, $0D, 1    ; D4
;---------------------------------
 .db $9E, $8E, $0B, 1    ; E4
 .db $98, $8E, $0B, 1    ; E4
 .db $96, $8E, $0B, 1    ; E4
 .db $94, $8E, $0B, 1    ; E4
 .db $93, $8E, $0B, 1    ; E4
 .db $92, $8E, $0B, 6   ; E4
 .db $93, $8E, $0B, 1    ; E4
 .db $94, $8E, $0B, 1    ; E4
 .db $96, $8E, $0B, 1    ; E4
 .db $98, $8E, $0B, 1    ; E4
 .db $9E, $8E, $0B, 1    ; E4
;---------------------------------
 .db $9E, $8F, $09, 1    ; G4
 .db $98, $8F, $09, 1    ; G4
 .db $96, $8F, $09, 1    ; G4
 .db $94, $8F, $09, 1    ; G4
 .db $93, $8F, $09, 1    ; G4
 .db $92, $8F, $09, 20   ; G4
 .db $93, $8F, $09, 1    ; G4
 .db $94, $8F, $09, 1    ; G4
 .db $96, $8F, $09, 1    ; G4
 .db $98, $8F, $09, 1    ; G4
 .db $9E, $8F, $09, 1    ; G4
;---------------------------------
 .db $9E, $8F, $09, 1    ; G4
 .db $98, $8F, $09, 1    ; G4
 .db $96, $8F, $09, 1    ; G4
 .db $94, $8F, $09, 1    ; G4
 .db $93, $8F, $09, 1    ; G4
 .db $92, $8F, $09, 6   ; G4
 .db $93, $8F, $09, 1    ; G4
 .db $94, $8F, $09, 1    ; G4
 .db $96, $8F, $09, 1    ; G4
 .db $98, $8F, $09, 1    ; G4
 .db $9E, $8F, $09, 1    ; G4
;---------------------------------
 .db $9E, $8E, $0B, 1    ; E4
 .db $98, $8E, $0B, 1    ; E4
 .db $96, $8E, $0B, 1    ; E4
 .db $94, $8E, $0B, 1    ; E4
 .db $93, $8E, $0B, 1    ; E4
 .db $92, $8E, $0B, 6   ; E4
 .db $93, $8E, $0B, 1    ; E4
 .db $94, $8E, $0B, 1    ; E4
 .db $96, $8E, $0B, 1    ; E4
 .db $98, $8E, $0B, 1    ; E4
 .db $9E, $8E, $0B, 1    ; E4
;---------------------------------
 .db $9E, $85, $0D, 1    ; D4
 .db $98, $85, $0D, 1    ; D4
 .db $96, $85, $0D, 1    ; D4
 .db $94, $85, $0D, 1    ; D4
 .db $93, $85, $0D, 1    ; D4
 .db $92, $85, $0D, 6   ; D4
 .db $93, $85, $0D, 1    ; D4
 .db $94, $85, $0D, 1    ; D4
 .db $96, $85, $0D, 1    ; D4
 .db $98, $85, $0D, 1    ; D4
 .db $9E, $85, $0D, 1    ; D4
;---------------------------------
 .db $9E, $8E, $0F, 1    ; C4
 .db $98, $8E, $0F, 1    ; C4
 .db $96, $8E, $0F, 1    ; C4
 .db $94, $8E, $0F, 1    ; C4
 .db $93, $8E, $0F, 1    ; C4
 .db $92, $8E, $0F, 6   ; C4
 .db $93, $8E, $0F, 1    ; C4
 .db $94, $8E, $0F, 1    ; C4
 .db $96, $8E, $0F, 1    ; C4
 .db $98, $8E, $0F, 1    ; C4
 .db $9E, $8E, $0F, 1    ; C4
;---------------------------------
 .db $9E, $8E, $0B, 1    ; E4
 .db $98, $8E, $0B, 1    ; E4
 .db $96, $8E, $0B, 1    ; E4
 .db $94, $8E, $0B, 1    ; E4
 .db $93, $8E, $0B, 1    ; E4
 .db $92, $8E, $0B, 6   ; E4
 .db $93, $8E, $0B, 1    ; E4
 .db $94, $8E, $0B, 1    ; E4
 .db $96, $8E, $0B, 1    ; E4
 .db $98, $8E, $0B, 1    ; E4
 .db $9E, $8E, $0B, 1    ; E4
;---------------------------------
 .db $9E, $8F, $09, 1    ; G4
 .db $98, $8F, $09, 1    ; G4
 .db $96, $8F, $09, 1    ; G4
 .db $94, $8F, $09, 1    ; G4
 .db $93, $8F, $09, 1    ; G4
 .db $92, $8F, $09, 6   ; G4
 .db $93, $8F, $09, 1    ; G4
 .db $94, $8F, $09, 1    ; G4
 .db $96, $8F, $09, 1    ; G4
 .db $98, $8F, $09, 1    ; G4
 .db $9E, $8F, $09, 1    ; G4
;---------------------------------



;---------------------------------
silence:
 .db $9F $80 $00 30      ; Channel 1 off
 .db $9F $80 $00 $D0     ; Repeat

i_hit_something:
 .db $9E, $8F, $09, 1    ; G4
 .db $9D, $8F, $09, 1    ; G4
 .db $9B, $8F, $09, 1    ; G4
 .db $98, $8F, $09, 1    ; G4
 .db $94, $8F, $09, 1    ; G4
 .db $92, $8F, $09, 5    ; G4
 .db $9D, $8F, $09, 1    ; G4
 .db $9E, $8F, $09, 1    ; G4
;---------------------------------
 .db $9E, $8F, $09, 1    ; G4
 .db $9D, $8F, $09, 1    ; G4
 .db $9B, $8F, $09, 1    ; G4
 .db $98, $8F, $09, 1    ; G4
 .db $94, $8F, $09, 1    ; G4
 .db $92, $8F, $09, 5    ; G4
 .db $9D, $8F, $09, 1    ; G4
 .db $9E, $8F, $09, 1    ; G4
;---------------------------------
 .db $9E, $8F, $09, 1    ; G4
 .db $9D, $8F, $09, 1    ; G4
 .db $9B, $8F, $09, 1    ; G4
 .db $98, $8F, $09, 1    ; G4
 .db $94, $8F, $09, 1    ; G4
 .db $92, $8F, $09, 5    ; G4
 .db $9D, $8F, $09, 1    ; G4
 .db $9E, $8F, $09, 1    ; G4
;---------------------------------
 .db $9F $80 $00 30      ; Channel 1 off
 .db $9F $80 $00 $E0     ; No repeat

start_the_level:
 .db $9E, $8F, $09, 1    ; G4
 .db $9D, $8F, $09, 1    ; G4
 .db $9B, $8F, $09, 1    ; G4
 .db $98, $8F, $09, 1    ; G4
 .db $94, $8F, $09, 1    ; G4
 .db $92, $8F, $09, 5    ; G4
 .db $9D, $8F, $09, 1    ; G4
 .db $9E, $8F, $09, 1    ; G4
;---------------------------------
 .db $9E, $83, $0B, 1    ; F4
 .db $9D, $83, $0B, 1    ; F4
 .db $9B, $83, $0B, 1    ; F4
 .db $98, $83, $0B, 1    ; F4
 .db $94, $83, $0B, 1    ; F4
 .db $92, $83, $0B, 5    ; F4
 .db $9D, $83, $0B, 1    ; F4
 .db $9E, $83, $0B, 1    ; F4
;---------------------------------
 .db $9E, $8E, $0B, 1    ; E4
 .db $9D, $8E, $0B, 1    ; E4
 .db $9B, $8E, $0B, 1    ; E4
 .db $98, $8E, $0B, 1    ; E4
 .db $94, $8E, $0B, 1    ; E4
 .db $92, $8E, $0B, 5    ; E4
 .db $9D, $8E, $0B, 1    ; E4
 .db $9E, $8E, $0B, 1    ; E4
;---------------------------------
 .db $9F $80 $00 30      ; Channel 1 off
 .db $9F $80 $00 $E0     ; No repeat

ouch_that_hurt:
 .db $9E, $81, $0C, 1    ; AS4
 .db $9D, $81, $0C, 1    ; AS4
 .db $9B, $81, $0C, 1    ; AS4
 .db $98, $81, $0C, 1    ; AS4
 .db $94, $81, $0C, 1    ; AS4
 .db $92, $81, $0C, 5    ; AS4
 .db $9D, $81, $0C, 1    ; AS4
 .db $9E, $81, $0C, 1    ; AS4
;---------------------------------
 .db $9E, $85, $0D, 1    ; D4
 .db $9D, $85, $0D, 1    ; D4
 .db $9B, $85, $0D, 1    ; D4
 .db $98, $85, $0D, 1    ; D4
 .db $94, $85, $0D, 1    ; D4
 .db $92, $85, $0D, 5    ; D4
 .db $9D, $85, $0D, 1    ; D4
 .db $9E, $85, $0D, 1    ; D4
;---------------------------------
 .db $9E, $83, $0B, 1    ; F4
 .db $9D, $83, $0B, 1    ; F4
 .db $9B, $83, $0B, 1    ; F4
 .db $98, $83, $0B, 1    ; F4
 .db $94, $83, $0B, 1    ; F4
 .db $92, $83, $0B, 5    ; F4
 .db $9D, $83, $0B, 1    ; F4
 .db $9E, $83, $0B, 1    ; F4
;---------------------------------
 .db $9F $80 $00 30      ; Channel 1 off
 .db $9F $80 $00 $E0     ; No repeat


; low byte, then high byte 
;----------------------
tool_note_table:
;    LOW  HIGH
; .db $00, $00  ; No sound - pause
; .db $08, $0E  ; G3
; .db $02, $0E  ; GS3
; .db $08, $0C  ; A4
; .db $01, $0C  ; AS4
; .db $0D, $0F  ; B4
; .db $0E, $0F  ; C4
; .db $01, $0E  ; CS4
; .db $05, $0D  ; D4
; .db $09, $0C  ; DS4
; .db $0E, $0B  ; E4
; .db $03, $0B  ; F4
; .db $09, $0A  ; FS4
; .db $0F, $09  ; G4
; .db $07, $09  ; GS4
; .db $0E, $08  ; A5
; .db $06, $08  ; AS5
; .db $0F, $07  ; B5
; .db $07, $07  ; C5
;----------------------
