* Procedura odtwarzajaca muzyczkek›* pochodzacych z programu "CMC" .›*›* W programie do rysowania tego›* okna uzyto procedury 'WINDOW'›* autorstwa Tomasza Przybysza .›*›* Natomiast procedure 'QUAL_CMC'›* (ten program) napisalem ja›* (Robert K. Szurgot)›*›* Wszystkie prawa ZASTRZEZONE !!!›* (c)Copyright 1995 by RSK-soft››vvblkd equ $0224›setvblkd equ $e45c›play equ $xxxx›ekran equ $58›wad equ $cb›wat equ $cd›wbuf equ $cf›wpar equ $d1›ch1 equ 48192+721›ch2 equ 48192+801›ch3 equ 48192+881›› opt %00010111› org $9000›› jmp init››skok dta c''›temp dta c''›musadr dta a($xxxx)›song dta b($00)›qualiz dta b($01)››zaloz ldx musadr› ldy musadr+1› lda #$70›› jsr play+3›› lda #$00› ldx song›› jsr play+3›› lda vvblkd› sta skok› lda vvblkd+1› sta skok+1›› ldy przerw›› lda #$07›› jsr setvblkd›› lda #$01› sta temp›› rts››przerw jsr play+6›› lda qualiz› cmp #$01› beq ok› jmp (skok)››ok ldx #0› ldy play+9› tya› clc› adc #2› tay› sty temp+1››l1 lda phe,x› sta ch1,x› inx› cpx temp+1› bcs n1› jmp l1››n1 dex››ll1 lda phf,x› sta ch1,x› inx› cpx #16› bcs c1› jmp ll1››c1 equ *›› ldx #0› ldy play+10› tya› clc› adc #2› tay› sty temp+1››l2 lda phe,x› sta ch2,x› inx› cpx temp+1› bcs n2› jmp l2››n2 dex››ll2 lda phf,x› sta ch2,x› inx› cpx #16› bcs c2› jmp ll2››c2 equ *›› ldx #0› ldy play+11› tya› clc› adc #2› tay› sty temp+1››l3 lda phe,x› sta ch3,x› inx› cpx temp+1› bcs n3› jmp l3››n3 dex››ll3 lda phf,x› sta ch3,x› inx› cpx #16› bcs c3› jmp ll3››c3 jmp (skok)››stop ldy skok› ldx skok+1› lda #$07› jsr setvblkd›› ldx musadr› ldy musadr+1› lda #$40›› jsr play+3›› lda #$00› sta temp›› rts››init equ *›› lda temp›› cmp #$00› beq skok_1›› cmp #$01› beq skok_2›› jmp (10)››skok_1 lda qualiz› cmp #$01› beq cnt1› jmp zaloz››cnt1 sec› ldx win1›› jsr window› jmp zaloz››skok_2 jsr stop›› lda qualiz› cmp #$01› beq _tam› rts››_tam clc› ldx win1›› jsr window›› rts››WINDOW stx wpar› sty wpar+1›› lda #0› adc #0› sta whlp1›› jsr wparam›› sec› lda whlp1› sbc #1› bcc winoff› bcs winon››winoff jsr wadres› jsr wclear› rts››winon jsr wadres› jsr wmem› jsr wmove› rts››wparam ldy #0› lda (wpar),y› sta wx› iny› lda (wpar),y› sta wy› iny› lda (wpar),y› sta wsz› iny› lda (wpar),y› sta wwy› iny› lda (wpar),y› sta wbuf› sta whlp4› iny› lda (wpar),y› sta wbuf+1› sta whlp5› clc› lda wpar› adc #6› sta wat› lda wpar+1› adc #0› sta wat+1› rts››wadres lda ekran› sta wad› lda ekran+1› sta wad+1› ldy #0››wl1 cpy wy› beq wtu› iny› clc› lda wad› adc <40› sta wad› lda wad+1› adc >40› sta wad+1› jmp wl1››wtu clc› lda wad› adc wx› sta wad› lda wad+1› adc #0› sta wad+1› lda wad› sta whlp2› lda wad+1› sta whlp3› rts››wmove lda whlp2› sta wad› lda whlp3› sta wad+1› ldx wwy››wl2 cpx #0› beq wmex1› ldy #0››wl3 cpy wsz› beq wmad1› sty whlp1› ldy #0› lda (wat),y› ldy whlp1› sta (wad),y› iny› clc› lda wat› adc <1› sta wat› lda wat+1› adc >1› sta wat+1› jmp wl3››wmad1 clc› lda wad› adc <40› sta wad› lda wad+1› adc >40› sta wad+1› dex› jmp wl2››wmex1 rts››wmem ldx wwy››wl4 cpx #0› beq wmex2› ldy #0››wl5 cpy wsz› beq wmad2› lda (wad),y› iny› sty whlp1› ldy #0› sta (wbuf),y› ldy whlp1› clc› lda wbuf› adc <1› sta wbuf› lda wbuf+1› adc >1› sta wbuf+1› jmp wl5››wmad2 clc› lda wad› adc <40› sta wad› lda wad+1› adc >40› sta wad+1› dex› jmp wl4››wmex2 rts››wclear lda whlp4› sta wat› lda whlp5› sta wat+1› jsr wmove› rts››win1 dta b(0),b(17),b(18),b(7),a($8f00)› dta d''› dta d'| |'› dta d'| |'› dta d'| |'› dta d'| |'› dta d'| |'› dta d''›whlp1 dta c''›whlp2 dta c''›whlp3 dta c''›whlp4 dta c''›whlp5 dta c''›wx dta c''›wy dta c''›wsz dta c''›wwy dta c''››pisz lda $900a | $92d5›› cmp #1› beq zgas›› cmp #0› beq zapal››zgas lda #0› sta $900a›› clc› ldx win1› jsr window› rts››zapal sec› ldx win1› jsr window›› lda #1› sta $900a› rts››phe dta d'|'›phf dta d' |'››nr_song equ * | $931e›› jsr $f302›› sec› sbc #49› bmi _quit›› sta song›› lda temp›› cmp #$00› beq _quit›› jsr stop› jsr zaloz››_quit rts››