;:sys36864 *= $c000 ;.opt oo v =53248 irqvec =788 strout =$ab1e seil =832 time =162 ptr =2040 shift =653 ort =704 pause =$eeb6 sei lda irqvec+1 cmp #>neuirq beq sat sta oldirq+2 lda irqvec sta oldirq+1 lda #neuirq sta irqvec sty irqvec+1 lda #255 sta flag lda #2 sta flag+1 lda #alive jmp strout sat rts alive .byt 13 .byte "something wonderful has happened: your" .byt 13 .byte "c 64 is alive !\x11" brk anzfad brk rnd1 .byt 123 rnd2 .byt 54 kon brk byt brk flag .word 257 count .byt 1 speed .byt 1 gogo .byt 1 fadtab .byt 3,7,15,31,63,127 coltab .byt 1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0 push .byt 254,253,251,247,239,223,191,127 neuirq jsr irq oldirq jmp $ea31 init lda #0 sta anzfad ldx #127 clrspr sta seil,x dex bpl clrspr rand jsr rnd cmp #8 bcc rand cmp #168 bcs rand asl pha bcs set lda #0 .byt $2c set lda #-1 sta v+16 pla ldx #12 setx sta v,x dex dex bpl setx jsr tausch lda #32 sta v+1 ldx #11 lda #240 sety sta v+2,x sec sbc #40 dex dex bpl sety lda #254 sta v+23 lda #11 sta ptr lda #13 ldx #5 setrest sta ptr+1,x dex bpl setrest jsr makerest lda #0 sta kon sta byt lda fadtab sta v+21 lda v+33 and #15 tax lda coltab,x ldx #6 setcol sta v+39,x dex bpl setcol jsr rnd and #3 clc adc #1 sta speed sta count rts rnd lda rnd1 eor v+18 adc rnd2 sbc time sta rnd2 asl rnd1 adc rnd1 sta rnd1 rts tausch ldx #63 tasch lda spider,x sta ort,x dex bpl tasch rts makerest lda #1 ldx #60 mr sta seil+64,x dex dex dex dex dex dex bpl mr rts down dec count bne loch lda speed sta count inc 1+v inc 1+v jsr off ldx anzfad lda fadtab,x sta v+21 lda kon asl clc adc kon tax lda byt eor #1 sta byt sta seil,x inc kon lda kon cmp #20 bcs neu rts neu inc anzfad ldx anzfad inc ptr,x lda #0 sta kon ldx #63 clr1 sta seil,x dex bpl clr1 lda anzfad cmp #6 bcc loch ldx #255 stx flag inx stx v+21 inx inx inx inx stx flag+1 inc gogo loch rts irq lda gogo beq down dec flag bne loch dec flag+1 bne loch jsr init lda #0 sta gogo jmp down off lda shift cmp #7 beq weg rts weg pla pla weg2 ldy #7 runter tya asl tax inc v+1,x bne ron lda v+21 and push,y sta v+21 lda v+21 beq full ron dey bpl runter ldx #-1 wait ldx #1 jsr pause dey bne wait beq weg2 full lda oldirq+1 ldy oldirq+2 sta irqvec sty irqvec+1 rts spider =*