 ;org $8000
songnum equ $3c         ; set this to something different if needed
        
        jsr     x
           LDA songnum        ; the song is $00, two other little sounds
           LDX.v #$FFFF       ; are $01 and $02..   $03+ gives a rather
           JSR SM             ; messed up tune (so only use $00,01,02)
           LDA songnum
           LDX.v #$FFFF
           JSR SM


X          PHP 
           SEI 
           SEP #$20
           REP #$10
           LDX.v #$8000
           STX $83
           LDA #$01
           STA $85
           JSR MUS2

           LDX.v #$8000
           STX $83
           LDA #$02
           STA $85
           JSR MORE

           LDA #$82
           STA $2140

           LDX.v #$80ce
           STX $83
           LDA #$01
           STA $85
           JSR MORE

           LDA #$82
           STA $2140

           LDX.v #$8c99
           STX $83
           LDA #$02
           STA $85
           JSR MORE

           LDA #$82
           STA $2140

           LDX.v #$980d
           STX $83
           LDA #$01
           STA $85
           JSR MORE

           STA $2143
           PLP 
           RTS 

MORE       JSR MUS2
W6         LDA $2140
           BNE W6
           DEC
           STA $2142
           STA $87
           RTS 

MUS2       PHP 
           REP #$30
           LDY.v #$0000
           LDA.v #$BBAA
W1         CMP $2140
           BNE W1
           SEP #$20
           LDA #$CC
           BRA MJ1
MJ4        LDA [$83],Y
           INY 
           XBA 
           LDA #$00
           BRA MJ2
MJ3        XBA 
           LDA [$83],Y
           INY 
           XBA 
W2         CMP $2140
           BNE W2
           INC
MJ2        REP #$20
           STA $2140
           SEP #$20
           DEX 
           BNE MJ3
W3         CMP $2140
           BNE W3
W4         ADC #$03
           BEQ W4
MJ1        PHA 
           REP #$20
           LDA [$83],Y
           INY 
           INY 
           TAX 
           LDA [$83],Y
           INY 
           INY 
           STA $2142
           SEP #$20
           CPX.v #$0001
           LDA #$00
           ROL 
           STA $2141
           ADC #$7F
           PLA 
           STA $2140
W5         CMP $2140
           BNE W5
           BVS MJ4
           PLP 
MUS2END    RTS 
        
SM         PHP 
           SEP #$30
           PHA 
           LDA $2140
           CMP $87
           BNE NOTEQ
           PLA 
           STA $2140
           TXA 
           STA $2141
           INC $87
           LDA $87
           STA $2143
           PLP 
           RTS 
NOTEQ      PLA 
           PLP 
           RTS 
        pad             ; uncommented stuff here is for snesasm by argonauts
        bin pbmus1.bin
        pad
        bin pbmus2.bin
        
        ;ds $fffc-*      ; commented stuff here is for snasm658 assembler
        ;dw $8000
        ;dw $0000
        ;incbin pbmus1.bin
        ;ds $18000-*
        ;incbin pbmus2.bin
        ;ds $1ffff-*
        ;db $00
