; sample test #3
; sample taken from Space Harrier XE project

	org $3000
	
init: 
		lda #0
		sta $c6
		sta $c8 				; sample flag
		lda #$40
		sta $c7
		lda #$ff
		sta 53760
		sta 53762
		lda #80
		sta 53768
		lda #0
		sta 53760
		lda #1
		sta 53762
	
		lda #$f0
		sta $d200 				; audf1
		lda $10 				; pokemsk
		ora #2
		sta $10
		sta $d20e
		ldx $216 				; vimirq
		ldy $217
		stx temp
		sty temp+1
		ldx #<irq
		ldy #>irq
		stx $216
		sty $217
		sta $d209
main	lda 53770
		sta $d018
		jmp main
	
temp 		dta 0,0

irqnull: 	pla 
			cld
			jmp (temp)
		
irq 	pha
		lda $d20e 				; irqst
		and #2
		bne irqnull
		
		tya
		pha
		jsr play_sample
		lda $c7
		cmp #$50
		bne irq0
		lda #$40
		sta $c7
		
irq0 	lda $10 				; pokeymask
		and #$fd
		sta $d20e 				; irqen
		ora #2
		sta $d20e
		pla
		tay
		pla
		rti

play_sample  
		ldy #0
play2 	lda $c8 				; flag
		beq play1
	
		eor #1
		sta $c8
		lda ($c6),y
		lsr
		lsr
		lsr
		lsr
		ora #$10
		sta $d201
		sta $d01a
		bne play4
		
play1 	eor #1
		sta $c8
		lda ($c6),y
		and #$0f
		ora #$10
		sta $d201
		inc $c6
		bne play4
		
		inc $c7
play4 	rts
	
		org $4000
		ins "samples.dat"
	