vvblkd equ $0224›setvblkd equ $e45c›play equ $9400›ekran equ $58›wad equ $cb›wat equ $cd›wbuf equ $cf›wpar equ $d1›ch1 equ 40000+721›ch2 equ 40000+801›ch3 equ 40000+881›whlp1 equ $600›whlp2 equ $601›whlp3 equ $602›whlp4 equ $603›whlp5 equ $604›wx equ $605›wy equ $606›wsz equ $607›wwy equ $608›› opt %10101› org $9000›› pla› jmp init››skok dta c''›temp dta c''›musadr dta a($8000)›song dta b($02),b($00)››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›› ldx #0› ldy play+9› tya› clc› adc #2› tay› sty temp+1› lda #89+128››l1 sta ch1,x› inx› cpx temp+1› bcs n1› jmp l1››n1 lda #89› dex››ll1 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› lda #89+128››l2 sta ch2,x› inx› cpx temp+1› bcs n2› jmp l2››n2 lda #89› dex››ll2 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› lda #89+128››l3 sta ch3,x› inx› cpx temp+1› bcs n3› jmp l3››n3 lda #89› dex››ll3 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 sec› ldx win1›› jsr window› jmp zaloz››skok_2 jsr skok› 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($8e00)› dta d''› dta d'| |'› dta d'| |'› dta d'| |'› dta d'| |'› dta d'| |'› dta d''›› end›