; ---------------------------------------------------------------------------------------------------- ; ; afli-fpp-scroll ; ---------------------- ; ; coding: testicle/payday ; logo: fabu/payday ; musik: anvil/topaz beerline ; afli-char: tts/oxyron ; ; ; contact and payday-releases: ; ------------------------------------ ; ; daniel@popelganda.de ; www.popelganda.de ; ; ; this sourcecode is best view with the font "tahoma", font size 9. ; you can compile this code using the ACME crossassembler. get the complete ; package including resource files at www.popelganda.de ; ; the code was written with Relaunch64, the c64-crossassembler-tool ; for windows-pc. grab it at www.popelganda.de! ; ; ---------------------------------------------------------------------------------------------------- ; -------------------------------------------------- ; globale variablen ; -------------------------------------------------- !to "flifpp-scroll.prg" text=$96 fli_sinen=$0b00 pic_char=$3200 pic_farb=$3400 nextpart=$080b ; -------------------------------------------------- ; includes der roh-daten ; -------------------------------------------------- ;*= $0800 ;!byte $00,$0c,$08,$0a, $00,$9e,$33,$32,$37,$36,$38,$00,$00,$00,$00 *= $1000 !bin "music.bin" *= $2000 !bin "pic-bmp.bin" *= pic_char !bin "pic-data.bin" *= fli_sinen !bin "fliscroll-sinen.bin" *= $c000 !bin "fli-char.bin" *= $3800 !bin "fastload.bin" ; -------------------------------------------------- ; start des haupt-sourcecodes ; -------------------------------------------------- *= $8000 lda #0 jsr $e536 sei lda #firq sta $0315 lda #1 sta $d01a lda #$7f sta $dc0d lda #$38 sta $d012 lda #$1b sta $d011 lda #0 sta $d020 sta $d021 sta $dc0e ;most zeropage-adresses are used as counter-variables ;for the fpp-effects sta $50 sta $52 sta $53 sta $55 sta $56 sta $45 sta $46 sta $35 sta $36 sta $60 sta $62 sta $64 sta $63 sta $68 sta $d001 jsr $1000 lda #16 sta $65 lda #text sta $51 lda #8 sta $27 sta $34 sta $37 sta $54 sta $57 sta $44 sta $47 ldx #0 .loop1 lda #0 .cnt1 sta $4000,x inx bne .loop1 inc .cnt1+2 lda .cnt1+2 cmp #$80 bne .loop1 lda #$40 sta .cnt1+2 ldx #0 .loop2 lda #$cc ;bitmap or "pattern" of the flichar sta $6140,x sta $6240,x inx bne .loop2 ldx #0 .loop3 lda pic_char+$28,x ;payday-logo init sta $0450,x lda pic_farb+$28,x sta $d850,x lda pic_char+$0128,x sta $0550,x lda pic_farb+$0128,x sta $d950,x inx bne .loop3 cli loading lda #0 beq loading jsr $c800 ldx #8 ldy #1 jsr $ffba lda #2 ldx #<.fname ldy #>.fname jsr $ffbd lda #0 jsr $ffd5 jmp nextpart .fname !ct pet !tx "4*" ; -------------------------------------------------- ; dummy-irq: short break before start ; -------------------------------------------------- !zone firq inc $d019 lda #$7b sta $d011 .wait lda #50 dec .wait+1 lda .wait+1 bne .weiter lda #irq1 sta $0315 lda #$3a sta $d012 .weiter jmp $ea7e ; -------------------------------------------------- ; ; first irq: afli-routine (display afli-scroller) ; ; -------------------------------------------------- !zone irq1 inc $d019 save lda #$c7 ;soft-position of scroller sta $d016 lda #2 sta $dd00 ldy #$3c lda #$7c cpy $d012 bne *-3 !set m=0 !do { sta $d011 lda chartab+m sta $d018 cmp ($00,x) lda #$3d sta $d011 lda chartab+1+m sta $d018 cmp ($00,x) lda #$3e sta $d011 lda chartab+2+m sta $d018 cmp ($00,x) lda #$3f sta $d011 lda chartab+3+m sta $d018 cmp ($00,x) lda #$38 sta $d011 lda chartab+4+m sta $d018 cmp ($00,x) lda #$39 sta $d011 lda chartab+5+m sta $d018 cmp ($00,x) lda #$3a sta $d011 lda chartab+6+m sta $d018 cmp ($00,x) lda #$3b sta $d011 lda chartab+7+m sta $d018 cmp ($00,x) lda #$3c sta $d011 lda chartab+8+m sta $d018 cmp ($00,x) lda #$3d sta $d011 lda chartab+9+m sta $d018 cmp ($00,x) lda #$3e sta $d011 lda chartab+10+m sta $d018 cmp ($00,x) lda #$3f sta $d011 lda chartab+11+m sta $d018 cmp ($00,x) lda #$38 sta $d011 lda chartab+12+m sta $d018 cmp ($00,x) lda #$39 sta $d011 lda chartab+13+m sta $d018 cmp ($00,x) lda #$3a sta $d011 lda chartab+14+m sta $d018 cmp ($00,x) lda #$3b sta $d011 lda chartab+15+m sta $d018 cmp ($00,x) lda #$3c !set m=m+16 } until m=96 lda #$7b sta $d011 lda #$9f sta $d012 lda #$1b sta $d011 lda #irq2 sta $0315 jmp $ea7e ; -------------------------------------------------- ; ; second irq: calculate afli-scroller ; ; this irq displays the payday-logo. ; furthermore, the different fpp-effects are ; calculated and the scroll-routine is run ; ; -------------------------------------------------- !zone irq2 inc $d019 lda #3 sta $dd00 lda #$19 sta $d018 lda #$3b sta $d011 lda #$d8 sta $d016 cmp ($00,x) lda #15 ldy $d012 cpy $d012 beq *-3 sta $d020 sta $d021 lda #0 ldy $d012 cpy $d012 beq *-3 sta $d020 sta $d021 showlogo lda #$7b ;logo off in the beginning sta $d011 jsr clear ;clear chartab (the $d018-value) ;these values are used by the afli-scrollers, and set by the fpp-effects lda $65 ;check out, which effect is currently activated cmp #1 bne .boot1 jsr fpp1 jmp back .boot1 cmp #2 bne .boot2 jsr fpp2 jmp back .boot2 cmp #3 bne .boot3 jsr fpp3 jmp back .boot3 cmp #4 bne .boot4 jsr fpp4 jmp back .boot4 cmp #5 bne .boot5 jsr fpp5 jmp back .boot5 cmp #6 bne .boot6 jsr fpp6 jmp back .boot6 cmp #7 bne .boot7 jsr fpp7 jmp back .boot7 cmp #8 bne .boot8 jsr fpp8 jmp back .boot8 cmp #9 bne .boot9 jsr fpp9 jmp back .boot9 cmp #10 bne .boot10 jsr fpp10 jmp back .boot10 cmp #11 bne .boot11 jsr fpp11 jmp back .boot11 cmp #12 bne .boot12 jsr fpp12 jmp back .boot12 cmp #13 bne .boot13 jsr fpp13 jmp back .boot13 cmp #14 bne .boot14 jsr fpp14 jmp back .boot14 cmp #15 bne .boot15 jsr fpp15 jmp back .boot15 cmp #16 bne .boot16 jsr fpp16 jmp back .boot16 cmp #17 bne .boot17 jsr fpp17 jmp back .boot17 cmp #18 bne .boot18 jsr fpp18 jmp back .boot18 cmp #19 bne .boot19 jsr fpp19 jmp back .boot19 cmp #20 bne .boot20 jsr fpp20 jmp back .boot20 cmp #21 bne .boot21 jsr fpp21 jmp back .boot21 cmp #22 bne .boot22 jsr fpp22 jmp back .boot22 jsr fpp4 ; ------------------------------------------------------------ ; after setting up the fpp-effect ; continue with fli-scroller ; ------------------------------------------------------------ back lda save+1 sec:sbc .speed sta save+1 ;softscroll done? cmp #$c0 bcc .copy jmp backy ;if no hardscroll, go on .copy lda #$c7 sta save+1 ldx #0 .loop1 lda $4029,x ;if softscroll done, move all chars to the left sta $4028,x lda $4429,x sta $4428,x lda $4829,x sta $4828,x lda $4c29,x sta $4c28,x lda $5029,x sta $5028,x lda $5429,x sta $5428,x lda $5829,x sta $5828,x lda $5c29,x sta $5c28,x lda $6029,x sta $6028,x lda $6429,x sta $6428,x lda $6829,x sta $6828,x lda $6c29,x sta $6c28,x lda $7029,x sta $7028,x lda $7429,x sta $7428,x lda $7829,x sta $7828,x inx:cpx #40 bne .loop1 .fadeout jmp .nofade .nofade lda $52 ;check out if new char is to be set or the rest of beq .out1 ;an old char is to be displayed jmp out2 .out1 ldy #0 ;read new sign lda ($50),y tax cmp #$a0 ;sign for activating the space-key? bcc .slogo lda #$dc ;if yes, free space-key sta backy+2 lda #$20 tax .slogo txa ;sign for activating logo? cmp #$80 bcc .yoyo lda #$3b ;if so, activate logo sta showlogo+1 lda #$20 tax .yoyo txa ;the chars from $60 to $68 in the scroller cmp #$60 ;are responsible for the different scrollspeeds bcc .yoyo1 and #15 sta .speed lda #$20 tax .yoyo1 txa ;the chatrs from $41 to $5f are responsible cmp #$40 ;for activating the different fpp-effects bcc .yoyo2 sec sbc #$40 sta $65 ;store current fpp-effect-number in fpp-value ($65 zeropage) lda #$20 tax .yoyo2 txa bne .weiter2 ;if char was 0, reset text-vector lda #$00 sta $50 lda #text sta $51 lda #$20 .weiter2 sta byte ;store current char and jsr textout ;display on screen jsr charl ;read the length of the new char (e.g., ;"w" is much wider than "i". inc $52 ;and update counter for char-length inc $50 ;increase textcounter/vector bne backy inc $51 backy lda $d001 ;don't change $d001! this is set via the cmp #$ef ;scroller (this is the space-key-check) bne .serve2 lda #<.serve3 ;space was pressed... sta .fadeout+1 lda #>.serve3 sta .fadeout+2 .serve2 jsr $1003 ;play sound lda #irq3 sta $0315 lda #$30 sta $d012 jmp $ea7e ;-------------------------------------------------- ; fadeout ;-------------------------------------------------- .serve3 jsr $1003 dec .warten+1 .warten lda #45 bne .nix lda #<.serve4 sta .fadeout+1 lda #>.serve4 sta .fadeout+2 lda #$7b sta showlogo+1 .nix lda #irq3 sta $0315 lda #$30 sta $d012 jmp $ea7e .serve4 jsr $1003 .leiser lda #15 sta $d418 dec .leiser+1 lda .leiser+1 cmp #$ff bne .nix2 sei lda #$7b sta $d011 lda #0 sta $d418 sta $d015 lda #$31 sta $0314 lda #$ea sta $0315 lda #0 sta $d01a sta $d020 sta $d021 jsr $e536 lda #$81 sta $dc0d ldx #0 .fload lda $3800,x sta $c800,x lda $3900,x sta $c900,x lda $3a00,x sta $ca00,x lda $3b00,x sta $cb00,x lda $3c00,x sta $cc00,x lda $3d00,x sta $cd00,x lda $3e00,x sta $ce00,x lda $3f00,x sta $cf00,x inx:bne .fload lda #1 sta loading+1 cli jmp $ea7e .nix2 lda #irq3 sta $0315 lda #$30 sta $d012 jmp $ea7e .speed ;scroll-speed !byte 2 ; -------------------------------------------------- ; ; third irq: upper rasterline ; ; -------------------------------------------------- !zone irq3 inc $d019 ldy $d012 cpy $d012 beq *-3 lda #15 ldy $d012 cpy $d012 beq *-3 sta $d020 lda #0 ldy $d012 cpy $d012 beq *-3 sta $d020 lda #$3a sta $d012 lda #$1b sta $d011 lda #irq1 sta $0315 jmp $ea7e ; -------------------------------------------------- ; ; text-out ; ; this routine reads the afli-data of ; a new char and writes it in the afli-matrix/pattern ; ; -------------------------------------------------- !zone textout lda byte ;read char asl:asl:asl ;hi-byte of char sta $53 ;needs to be stored tax textit lda $c000,x ;load char-data and write sta $404f ;it into the afli-matrix lda $c100,x sta $444f lda $c200,x sta $484f lda $c300,x sta $4c4f lda $c400,x sta $504f lda $c500,x sta $544f lda $c600,x sta $584f lda $c700,x sta $5c4f lda $c800,x sta $604f lda $c900,x sta $644f lda $ca00,x sta $684f lda $cb00,x sta $6c4f lda $cc00,x sta $704f lda $cd00,x sta $744f rts ; -------------------------------------------------- ; ; out2 ; ; this routine does not set a new char, but ; reads the remaining parts of the current char ; and writes it in the afli-matrix ; ; -------------------------------------------------- !zone out2 inc $53 ;position of current char-value ldx $53 jsr textit ;out chatr inc $52 ;increase charlength-counter lda $52 leng cmp #5 ;char finished? bne .weiter lda #0 ;if yes, reset sta $52 .weiter jmp backy ; -------------------------------------------------- ; ; charl ; ; this routine calculates the length of a char ; ; -------------------------------------------------- !zone charl ldx byte lda chle,x sta leng+1 rts chle !byte 2,4,4,4,4,4,4,4,4,2,4,4,4,6,4,4,4,4 !byte 4,4,4,4,4,6,4,4,4,2,2,2,2,2,3 byte !byte 0 ; -------------------------------------------------- ; ; clear ; ; this routine clears the chartable, ; the $d018-values of the afli-routine ; of the first irq. ; ; -------------------------------------------------- !zone clear ldx #0 lda #$f8 .ooo sta chartab,x inx:bpl .ooo rts ; -------------------------------------------------- ; ; start of the fpp-effects ; ; the fpp-effectsare activated in the scroll-text. ; $40+effectnumber activates the effect. ; byte $46 in the scrolltext means, ; fpp6 will be activated. ; ; -------------------------------------------------- ; -------------------------------------------------- ; fpp1: stretch mit pixellines ; -------------------------------------------------- !zone fpp1 .sinz ldx #0 ldy #0 .setp lda #$e8 sta chartab,y iny tya clc adc sinus,x tay inx lda .setp+1 clc:adc #$10 sta .setp+1 cmp #$e8 beq .ready jmp .setp .ready lda #$e8 sta .setp+1 sta chartab,y inc .sinz+1 lda .sinz+1 cmp #95 bcc .serve lda #0 sta .sinz+1 .serve rts ; -------------------------------------------------- ; fpp2: sourround ; -------------------------------------------------- !zone fpp2 ldy $62 .loop ldx fli_sinen+$0200,y .incr lda #8 sta chartab+3,x cpx #8 bcc .weiter cpx #$4c bcs .weiter sta chartab+4,x .weiter iny lda .incr+1:clc adc #$10:sta .incr+1 bcc .loop lda #8 sta .incr+1 inc $62 rts ; -------------------------------------------------- ; fpp3: swing ; -------------------------------------------------- !zone fpp3 ldy $63 ldx fli_sinen+$0300,y .loop lda #8 sta chartab+1,x inx lda .loop+1:clc adc #$10:sta .loop+1 bcc .loop lda #8 sta .loop+1 inc $63 rts ; -------------------------------------------------- ; fpp4: normal ; -------------------------------------------------- !zone fpp4 ldx #32 .loop lda #8 sta chartab,x inx lda .loop+1:clc adc #$10:sta .loop+1 bcc .loop lda #8 sta .loop+1 rts ; -------------------------------------------------- ; fpp5: normaler scroll, der sourrounded wird ; -------------------------------------------------- !zone fpp5 lda $62 cmp #$20 bcc .first cmp #$60 bcc .second cmp #$a0 bcc .first cmp #$e0 bcc .second .first jsr fpp4 jsr fpp2 jsr mirror rts .second jsr fpp2 jsr fpp4 jsr mirror rts ; -------------------------------------------------- ; fpp6: swing über pixel-stretsch, gespiegelt ; -------------------------------------------------- !zone fpp6 jsr fpp1 jsr fpp3 jsr mirror rts ; -------------------------------------------------- ; fpp7: stretch full ; -------------------------------------------------- !zone fpp7 .sinz ldx #0 ldy #0 .setp lda #$e8 sta chartab+0,y sta chartab+1,y sta chartab+2,y sta chartab+3,y sta chartab+4,y sta chartab+5,y sta chartab+6,y sta chartab+7,y sta chartab+8,y sta chartab+9,y sta chartab+10,y iny tya clc adc sinus2,x tay inx lda .setp+1 clc:adc #$10 sta .setp+1 cmp #$e8 beq .ready jmp .setp .ready lda #$e8 sta .setp+1 sta chartab+0,y sta chartab+1,y sta chartab+2,y sta chartab+3,y sta chartab+4,y sta chartab+5,y sta chartab+6,y sta chartab+7,y sta chartab+8,y sta chartab+9,y sta chartab+10,y inc .sinz+1 lda .sinz+1 cmp #95 bcc .serve lda #0 sta .sinz+1 .serve rts ; -------------------------------------------------- ; fpp8: stretch full, gespiegelt ; -------------------------------------------------- !zone fpp8 jsr fpp7 jsr mirror rts ; -------------------------------------------------- ; fpp9: normaler-scroll, half-surround ; -------------------------------------------------- !zone fpp9 ldy $64 lda fli_sinen+$0100,y sta $62 jsr fpp4 jsr fpp5 jsr mirror inc $64 lda $64 cmp #$af bcc .serve lda #0 sta $64 .serve rts ; -------------------------------------------------- ; fpp10: stretch full, gespiegelt, mit swing drüber ; -------------------------------------------------- !zone fpp10 jsr fpp7 jsr mirror jsr fpp3 rts ; -------------------------------------------------- ; fpp11: swingende rolle ; -------------------------------------------------- !zone fpp11 ldy $68 ldx fli_sinen,y fpprolle lda aa sta chartab,x lda aa+5 sta chartab+1,x lda aa+9 sta chartab+2,x lda aa+12 sta chartab+3,x lda aa+13 sta chartab+4,x lda aa+14 sta chartab+5,x lda aa+15 sta chartab+6,x sta chartab+7,x lda aa+16 sta chartab+8,x sta chartab+9,x sta chartab+10,x lda aa+17 sta chartab+11,x sta chartab+12,x sta chartab+13,x sta chartab+14,x lda aa+18 sta chartab+15,x sta chartab+16,x sta chartab+17,x sta chartab+18,x sta chartab+19,x lda aa+19 sta chartab+20,x sta chartab+21,x sta chartab+22,x sta chartab+23,x sta chartab+24,x sta chartab+25,x lda aa+20 sta chartab+26,x sta chartab+27,x sta chartab+28,x sta chartab+29,x sta chartab+30,x lda aa+21 sta chartab+31,x sta chartab+32,x sta chartab+33,x sta chartab+34,x lda aa+22 sta chartab+35,x sta chartab+36,x sta chartab+37,x lda aa+23 sta chartab+38,x sta chartab+39,x lda aa+24 sta chartab+40,x lda aa+25 sta chartab+41,x lda aa+27 sta chartab+42,x lda aa+30 sta chartab+43,x lda aa+34 sta chartab+44,x lda aa+39 sta chartab+45,x lda $68 and #1 bne .ende ldx #0 ldy aa .loop lda aa+1,x sta aa,x inx:cpx #$2a bne .loop sty aa+$29 .ende inc $68 rts aa !byte $08,$18,$28,$38,$48,$58,$68,$78 !byte $88,$98,$a8,$b8,$c8,$d8,$08,$18 !byte $28,$38,$48,$58,$68,$78,$88,$98 !byte $a8,$b8,$c8,$d8,$08,$18,$28,$38 !byte $48,$58,$68,$78,$88,$98,$a8,$b8 !byte $c8,$d8 ; -------------------------------------------------- ; fpp12: swingende rolle, gespiegelt ; -------------------------------------------------- !zone fpp12 jsr fpp11 jsr mirror rts ; -------------------------------------------------- ; fpp13: swingende rolle, gespiegelt, mit swing drüber ; -------------------------------------------------- !zone fpp13 jsr fpp11 jsr mirror jsr fpp3 rts ; -------------------------------------------------- ; fpp14: swingende rolle, gespiegelt ; -------------------------------------------------- !zone fpp14 .sinz ldx #0 ldy #0 .setp lda $27 sta chartab,y iny tya adc sinus3,x tay inx lda $27 adc #$10 sta $27 cmp #$e8 beq .ready jmp .setp .ready lda #$08 sta $27 sta chartab,y inc .sinz+1 lda .sinz+1 cmp #99 bcc .serve lda #0 sta .sinz+1 .serve rts ; -------------------------------------------------- ; fpp15: swingende rolle, gespiegelt ; -------------------------------------------------- !zone fpp15 jsr fpp17 jsr mirror rts ; -------------------------------------------------- ; fpp16: rolle mit surround ; -------------------------------------------------- !zone fpp16 lda $62 cmp #$24 bcc .w1 cmp #$60 bcc .w2 cmp #$a0 bcc .w1 cmp #$e0 bcc .w2 .w1 ldx #$13 jsr fpprolle jsr fpp2 rts .w2 jsr fpp2 ldx #$13 jsr fpprolle rts ; -------------------------------------------------- ; fpp17: swingende rolle, gespiegelt ; -------------------------------------------------- !zone fpp17 .sinz ldx #0 ldy #0 .setp lda #$e8 sta chartab+0,y sta chartab+1,y sta chartab+2,y sta chartab+3,y sta chartab+4,y sta chartab+5,y sta chartab+6,y sta chartab+7,y sta chartab+8,y sta chartab+9,y sta chartab+10,y iny tya clc adc sinus4,x tay inx lda .setp+1 clc:adc #$10 sta .setp+1 cmp #$e8 beq .ready jmp .setp .ready lda #$e8 sta .setp+1 sta chartab+0,y sta chartab+1,y sta chartab+2,y sta chartab+3,y sta chartab+4,y sta chartab+5,y sta chartab+6,y sta chartab+7,y sta chartab+8,y sta chartab+9,y sta chartab+10,y inc .sinz+1 lda .sinz+1 cmp #99 bcc .serve lda #0 sta .sinz+1 .serve rts ; -------------------------------------------------- ; fpp18: swingende rolle, gespiegelt ; -------------------------------------------------- !zone fpp18 lda $54 pha lda $56 pha .cnt ldx $56 .loop ldy sinus6,x beq .nichts ldx $55 lda $54 .loop2 sta chartab,x inx dey bne .loop2 stx $55 .nichts lda $54 adc #$10 sta $54 inc $56 lda $55 cmp #96 bcc .cnt pla tax inc .wait+1 .wait lda #1 and #1 bne .w3 inx .w3 cpx #72 bne .w2 ldx #0 .w2 stx $56 pla adc #$10 sta $54 lda #0 sta $55 .weiter rts ; -------------------------------------------------- ; fpp19: swingende rolle, gespiegelt ; -------------------------------------------------- !zone fpp19 .sinz ldx #0 ldy #0 .setp lda #$e8 sta chartab+0,y sta chartab+1,y sta chartab+2,y sta chartab+3,y sta chartab+4,y sta chartab+5,y sta chartab+6,y sta chartab+7,y sta chartab+8,y sta chartab+9,y sta chartab+10,y iny tya clc adc sinus5,x tay inx lda .setp+1 clc:adc #$10 sta .setp+1 cmp #$e8 beq .ready jmp .setp .ready lda #$e8 sta .setp+1 sta chartab+0,y sta chartab+1,y sta chartab+2,y sta chartab+3,y sta chartab+4,y sta chartab+5,y sta chartab+6,y sta chartab+7,y sta chartab+8,y sta chartab+9,y sta chartab+10,y inc .sinz+1 lda .sinz+1 cmp #66 bcc .serve lda #0 sta .sinz+1 .serve rts ; -------------------------------------------------- ; fpp20: swingende rolle, gespiegelt ; -------------------------------------------------- !zone fpp20 lda $44 pha lda $46 pha .cnt ldx $46 .loop ldy sinus6,x beq .nichts ldx $45 lda $44 .loop2 sta chartab,x inx dey bne .loop2 stx $45 .nichts lda $44 adc #$10 sta $44 inc $46 lda $45 cmp #96 bcc .cnt pla tax inc .wait+1 .wait lda #1 and #1 bne .w3 inx .w3 cpx #72 bne .w2 ldx #0 .w2 stx $46 pla sbc #$10 sta $44 lda #0 sta $45 .weiter rts ; -------------------------------------------------- ; fpp21: swingende rolle, gespiegelt ; -------------------------------------------------- !zone fpp21 lda $34 pha .cnt ldx $36 .loop ldy sinus6,x beq .nichts ldx $35 lda $34 .loop2 sta chartab,x inx dey bne .loop2 stx $35 .nichts lda $34 adc #$10 sta $34 inc $36 lda $35 cmp #96 bcc .cnt inc .wait+1 .wait lda #1 and #1 bne .w3 inx .w3 cpx #72 bne .w2 ldx #0 .w2 stx $36 pla sbc #$10 sta $34 lda #0 sta $35 .weiter rts ; -------------------------------------------------- ; fpp22: sourround-schlange ; -------------------------------------------------- !zone fpp22 ldy $62 .cnt lda #5 .loop ldx fli_sinen+$0200,y .incr lda #8 sta chartab+3,x cpx #8 bcc .weiter cpx #$4c bcs .weiter sta chartab+4,x .weiter iny lda .incr+1:clc adc #$10:sta .incr+1 bcc .loop lda #8 sta .incr+1 dec .cnt+1 lda .cnt+1 bne .loop lda #5 sta .cnt+1 inc $62 rts ; -------------------------------------------------- ; ; mirror: dieser effekt spiegelt ; die fpp-effekte ; ; -------------------------------------------------- !zone mirror ldx #65 ldy #65 .loop lda chartab,x sta chartab+1,y dex:iny cpy #93 bne .loop lda #$f8 .coco ldx #0 sta chartab+65 rts ; -------------------------------------------------- ; ; char-tabelle. ; ; hier liegen die $d018-werte der ; afli-routine ; ; -------------------------------------------------- *= $8f00 chartab !fill 255,0 ; -------------------------------------------------- ; ; sinen. ; ; hier liegen die sinen für die ; verschiedenen fpp-effekte ; ; -------------------------------------------------- *= $9000 sinus !fill 40,0 !byte 1,2,2,3,3,4,4,4,4,5,5,5,6,6,5,5,5,4,4,4,4,3,3 !byte 3,2,2,1 !fill 90,00 *= $9100 sinus2 !fill 40,0 !byte 1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,5,5,5,4,4,4 !byte 3,3,3,2,2,2,1,1,1 !fill 90,00 *= $9200 sinus3 !byte 0,0,0 !byte 1,2,2,3,3,4,4,4,4,5 !byte 5,5,6,6,5,5,5,4,4,4 !byte 4,3,3,3,2,2,1,0,0,1 !byte 2,2,3,3,3,4,4,4,4,3 !byte 3,3,2,2,1,0,0,1,1,2 !byte 2,2,3,3,3,4,4,4,4,5 !byte 5,5,5,5,6,6,6,6,6,6 !byte 5,5,5,5,5,4,4,4,4,3 !byte 3,3,4,4,5,5,6,5,5,4 !byte 4,3,3,2,2,1,0,0,0 !byte 1,2,2,3,3,4,4,4,4,5,5,5,6,6,5,5,5,4,4,4,4,3,3 !byte 3,2,2,1,0,0,1,2,2,3,3,3,4,4,4,4,3,3,3,2,2 *= $9300 sinus4 !byte 0,0,0 !byte 1,1,1,2,2,3,3,4,4,4 !byte 5,5,5,5,5,4,4,4,4,3 !byte 3,3,2,2,1,1,1,0,0,0 !byte 1,1,2,2,3,3,3,4,4,4 !byte 4,3,3,3,2,2,1,1,1,2 !byte 2,2,3,3,3,4,4,4,4,5 !byte 5,5,5,6,6,6,5,5,5,4 !byte 4,3,3,3,2,2,2,2,3,3 !byte 3,4,4,4,5,5,5,5,5,4 !byte 4,3,3,2,2,1,0,0,0 !byte 1,1,1,2,2,3,3,4,4,4 !byte 5,5,5,5,5,4,4,4,4,3 !byte 3,3,2,2,1,1,1,0,0,0 *= $9400 sinus5 !byte 0,0,0,1,1,1,2,2,2,3 !byte 3,3,4,4,4,5,5,5,6,6 !byte 6,5,5,5,4,4,4,3,3,3 !byte 2,2,2,1,1,1,2,2,2,3 !byte 3,3,4,4,4,5,5,5,6,6 !byte 6,5,5,5,4,4,4,3,3,3 !byte 2,2,2,1,1,1 !byte 0,0,0,1,1,1,2,2,2,3 !byte 3,3,4,4,4,5,5,5,6,6 !byte 6,5,5,5,4,4,4,3,3,3 !byte 2,2,2,1,1,1,2,2,2,3 !byte 3,3,4,4,4,5,5,5,6,6 !byte 6,5,5,5,4,4,4,3,3,3 !byte 2,2,2,1,1,1 !byte 0,0,0,1,1,1,2,2,2,3 !byte 3,3,4,4,4,5,5,5,6,6 !byte 6,5,5,5,4,4,4,3,3,3 !byte 2,2,2,1,1,1,2,2,2,3 !byte 3,3,4,4,4,5,5,5,6,6 !byte 6,5,5,5,4,4,4,3,3,3 !byte 2,2,2,1,1,1 *= $9500 sinus6 !byte 0,0,0,1,1,1,1,1 !byte 1,1,1,1,1,1,1,1 !byte 1,1,1,1,2,2,2,2 !byte 2,2,2,2,2,2,2,3 !byte 3,3,3,3,3,4,4,5 !byte 4,4,3,3,3,3,3,3 !byte 2,2,2,2,2,2,2,2 !byte 2,2,2,2,1,1,1,1 !byte 1,1,1,1,1,1,1,1 !byte 0,0,0,1,1,1,1,1 !byte 1,1,1,1,1,1,1,1 !byte 1,1,1,1,2,2,2,2 !byte 2,2,2,2,2,2,2,3 !byte 3,3,3,3,3,4,4,5 !byte 4,4,3,3,3,3,3,3 !byte 2,2,2,2,2,2,2,2 !byte 2,2,2,2,1,1,1,1 !byte 1,1,1,1,1,1,1,1 !byte 0,0,0,1,1,1,1,1 !byte 1,1,1,1,1,1,1,1 !byte 1,1,1,1,2,2,2,2 !byte 2,2,2,2,2,2,2,3 !byte 3,3,3,3,3,4,4,5 !byte 4,4,3,3,3,3,3,3 !byte 2,2,2,2,2,2,2,2 !byte 2,2,2,2,1,1,1,1 !byte 1,1,1,1,1,1,1,1 ; -------------------------------------------------- ; ; der scroll-text ; ; endmarke: $00 ; logo aktivieren: $80 ; space: $a0 ; speed: $61-$68 ; effekte: $41-$55 ; ; -------------------------------------------------- *= $9600 !ct scr !tx " " !byte $44 !tx " welcome to another part presented by testicle of" !byte $64 !text " " !byte $68 !tx " " !byte $43 !tx "payday" !byte $80 !byte $61 !tx " " !byte $62 !byte $41 !tx " this time with a very nice afli fpp scroller" !tx " " !byte $42 !tx "the credits go as following" !tx " " !byte $52 !tx "the incredible coding was done by" !tx " " !byte $61 !byte $53 !tx "testicle of payday" !tx " " !byte $62 !byte $54 !tx "the old but still beautiful logo you see was painted by" !tx " " !byte $61 !byte $56 !tx "fabu of payday" !tx " " !byte $62 !byte $55 !tx "the sound you can hear was composed by" !tx " " !byte $61 !byte $4b !tx "anvil of topaz beerline" !tx " " !byte $62 !byte $46 !tx "and this nice afli charset was painted by" !tx " " !byte $61 !byte $50 !tx "tts of oxyron" !tx " " !byte $62 !byte $a0 !byte $4e !tx "now that you have seen some nice effects you can use space to continue" !tx " " !byte $48 !tx "or you take some time to watch all remaining effects" !tx " " !byte $64 !byte $45 !tx "at this point i want to thank fabu for being lazy and not supporting any new stuff for this demo he he he" !tx " " !byte $62 !byte $4f !tx "but anyway the old grafix i found were good enough though" !tx " " !byte $4c !tx "i really would like to send some greetings" !tx " " !byte $4a !tx "but payday actually knows no one to greet because we were away from scene for over eight years" !tx " " !byte $54 !tx "and now we suddenly decided to release another issue of our great discmag" !byte $68 !tx " " !byte $61 !byte $51 !tx "popelganda" !tx " " !byte $62 !byte $49 !tx "i hope we will gather some fans around us with the new issue" !tx " " !byte $53 !tx "well at least i hope we will release this issue at all he he he" !tx " " !byte $4d !tx "ok all effects were shown i think" !tx " " !byte $50 !tx "it is time to restart this text" !tx " " !byte $47 !tx "have a nice day " !tx " " !byte 0