       NAM SOUND

MUFF   EQU 116*256+136
SOFT   EQU 86*256+166
MEDI   EQU 38*256+214
LOUD   EQU 2*256+250

VOLUME EQU $DF
PITCH  EQU $8C

*PLAYS THE NOTE INDEXED AT X FOR
*DURATION INDEXED AT X+1
NOTE   PSH D
       LDA $FF23
       ORA #8
       STA $FF23
       LDD ,X++
       STA $8C
       PSH X
       JSR SOUND
       PUL X
       LDA $FF23
       ANDA #247
       STA $FF23
       PUL D,PC

       PAGE
*SOUND WITH A DELAY BETWEEN NOTES
*CALL WITH:
*
*      X=ADDRESS OF SOUND TABLE
*      Y=DELAY BETWEEN NOTES
*
*TABLE SHOULD BE SET UP:
*
*      NOTE,DURATION,NOTE,DURATION,0,0
* WHERE 0,0 TERMINATES THE SONG
*
SONDSL PSH D,X,Y,U
A@     LDD ,X++
       BEQ B@
       CMPA #255
       BNE D@
       PSH Y
G@     LDY #7400
E@     LEAY -1,Y
       BNE E@
       DECB
       BNE G@
       PUL Y
       BRA F@
D@     STA $8C
       PSH X
       JSR SOUND
       PUL X
F@     PSH Y
C@     MUL
       MUL
       LEAY -1,Y
       BNE C@
       PUL Y
       TST JBFLAG JUMP BACK FLAG SET?
       BEQ A@ NO, SO CAN'T RETURN UNTIL SONG PLAYED
       LDA $FF00 STOP MUSIC IF BUTTON PRESSED
       LSRA
       BCC B@
       BRA A@
B@     CLR JBFLAG NO MORE JUMP BACK
       PUL D,X,Y,U,PC

       PAGE
*SOUND FOR WHEN MARIO JUMPS
JUMP   LDA $FF23
       ORA #8
       STA $FF23
       CLR T0
B@     LDX #$5000
       LDA $FF23
       ORA #8
       STA $FF23
C@     TFR X,D
       ADDA T0
       STA T0
       STA $FF20
       INX
       CMPX #$6000
       BNE C@
       LDA $FF23
       ANDA #247
       STA $FF23
       RTS

*MARIO WALKS
WALK   LDA #50
       LDB $FF23
       ORA #8
       STA $FF23
       LDY #20
A@     STA $FF20
       LDB #30
B@     DECB
       BNE B@
       CLR $FF20
       LDB #30
C@     DECB
       BNE C@
       LEAY -1,Y
       BNE A@
       LDA $FF23
       ANDA #247
       STA $FF23
       RTS

*KONG BUMPING HIS HEAD AFTER HISFALL
KBUMP  LDA #1
       STA PITCH
       LDD #LOUD
       STD VOLUME
       LDB #4
       JMP SOUND

       PAGE
*OUTPUT A SOUND
*      $8C =PITCH
*      $DF HIGH AROUND $E7
*      $E0 LOW AROUND $E7
*
PSOUND PSH A,B,X,U
       JSR SOUND
       PUL A,B,X,U,PC

SOUND  LDA #4
       MUL
       STD $8D
       LDA $FF03
       ORA #1
       STA $FF03
       CLR 8
       BSR A@
       BSR B@
E@     BSR C@
       LDA $DF
       BSR D@
       BSR C@
       LDA $E0
       BSR D@
       LDX $8D
       BNE E@
       CLRA
       FCB $8C
B@     LDA #8
       STA ,-S
       LDA $FF23
       ANDA #$F7
       ORA ,S+
       STA $FF23
       RTS
C@     LDA #$7E
D@     STA $FF20
       LDA $8C
F@     INCA
       BNE F@
       RTS
A@     LDU #$FF01
       BSR G@
G@     LDA ,U
       ANDA #$F7
       ASRB
       BHS H@
       ORA #8
H@     STA ,U++
       RTS

*HANDLE SOUND INTERRUPT STUFF
INTRPT LDA $FF03
       BMI A@
       RTI
A@     LDA $FF02
       LDX $0112
       LEAX 1,X
       STX $0112
       CLRA
       TFR A,DP
       LDD $E3
       LBEQ B@ A9BB
       CMPU $D5
       STD $E3
       BHI C@ 9C5A
       CLR $E3
       CLR $E4
       PULS A
       LDS 7,S
       ANDA #$7F
       PSHS A
C@     RTI
B@     LDX $8D
       BEQ D@ A9C5
       LEAX -1,X
       STX $8D
D@     RTI

       PAGE
*DATA FOR THE SOUND ROUTINES

*POINTS ARE SCORED
HEHA   FCB 193,1,176,1,0,0

*FIRE EXTINGUISHER BLEMISH
FIRESO FCB 254,3

*MARIO DIES
MDIED  FCB 32,8,32,6,32,2,32,8,69,6,58,2,58,6,32,2,32,6
       FCB 19,2,32,16,0,0

*MARIO REACHES THE TOP
*"FOOL ON THE HILL-BEATLES"
FOOLOH FCB 125,2,125,4,125,2,125,14,255,8,89,2,133,2,147,4
       FCB 159,2,159,14,255,8,125,2,147,2,159,4,170,2,176,4
       FCB 176,2,176,6,176,2,170,6,147,4,159,2,185,4,185,2
       FCB 185,12,0,0

*BEFORE KONG CLIMBS THE LADDER
*"BEETHOVEN'S 5TH"
BFIFTH FCB 89,3,89,3,89,3,45,15,255,3,69,3,69,3,69,3,32,19,0,0

*HOW HIGH CAN YOU CLIMB?
*"HALL OF THE MOUNTAIN KING-GRIEG"
HALL   FCB 19,2,45,2,58,2,78,2,99,2,58,2,99,2,255,2,89,2,45,2
       FCB 89,2,255,2,78,2,32,2,78,2,255,2,19,2,45,2,58,2,78,2
       FCB 99,2,58,2,99,2,140,2,125,2,99,2,58,2,99,2,125,8,0,0

*MARIO MEETS RUBY AFTER RIVETS
*"CHEEK TO CHECK-BERLIN"
CHEEK  FCB 125,3,108,21,78,4,89,4,125,3,108,21,78,4
       FCB 89,4,125,3
       FCB 108,4,140,5,125,4,147,3,140,4,159,5,147,4,170,24
       FCB 159,4,147,4,140,4,159,3,147,5,125,4,108,4,140,3
       FCB 125,5,89,4,78,20,255,4,89,4,108,4,125,2,125,4,89,4
       FCB 89,4,58,4,58,4,32,4,19,4,32,18,0,0

*ELEVATOR MUSIC-ATTRACT MODE
*"ALLEMANDE-BACH"
FSA    FCB 89,2,89,2,32,2,58,2,89,2,5,2,58,2,89,2,117,2,108,2
       FCB 58,2,69,2,108,2,5,2,69,2,108,2,133,2,125,2,58,2,69,2
       FCB 125,2,32,2,69,2,125,2,147,4,125,2,133,2,159,2,89,2
       FCB 125,2,133,2,159,4,125,2,133,2,159,2,108,2,133,2
       FCB 147,2,165,2,125,2,185,2,176,2,125,2,133,2,176,2
       FCB 159,2,133,2,108,2,176,2,165,2,108,2,125,2,165,2
       FCB 147,2,125,2,89,2,165,2,159,2,89,2,108,2,159,2,133,2
       FCB 108,2,69,2,159,2,147,2,69,2,89,2,147,2,125,2,89,2
       FCB 58,2,89,2,125,2,147,2,133,2,159,2,176,2,189,2,185,2
       FCB 159,2,165,2,147,2,125,2,185,2,176,2,165,2,176,2
       FCB 147,2,159,2,117,2,108,2,133,2,159,2,176,2,165,2
       FCB 185,2,197,2,210,2,204,2,185,2,193,2,197,2,165,2
       FCB 197,2,193,2,165,2,159,2,176,2,193,2,204,2,197,2
       FCB 170,2,176,2,185,2,147,2,197,2,193,2,176,2,159,2
       FCB 185,4,170,2,176,2,108,2,125,2,147,2,89,16
FSAEND

*MUSIC THAT KONG PLAYS AFTER HECLIMBS
*TO THE TOP OF THE FIRST SCREEN
LEADIN FCB 218,2,216,2,213,1,216,1,213,1,210,1,207,2,204,2,200
       FCB 2,204,2,207,2,204,2,200,1,204,1
       FCB 200,1,197,1,193,2,189,2,185,2
       FCB 189,2,197,2,176,1,176,1,170,2,176,2,197,2,176,1
       FCB 176,1,170,2,176,2,170,1,176,1,180,1,185,1,189
       FCB 1,193,1,197,1,200,1,204,1,200,1,204,1,207,1,204,4
LEADND
