base:proportional-charset-noter_with_plasma-effect
no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
— | base:proportional-charset-noter_with_plasma-effect [2015-04-17 04:33] (current) – created - external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | < | ||
+ | ; | ||
+ | ; | ||
+ | ; | ||
+ | ; | ||
+ | ; Coding: Testicle/ | ||
+ | ; Logo: Zeitgeist/ | ||
+ | ; Musik: Dalezy/ | ||
+ | ; | ||
+ | ; Contact: daniel@popelganda.de | ||
+ | ; | ||
+ | ; | ||
+ | ; For fast and easy navigation through the source, | ||
+ | ; make intensive use of the paragraph-function, | ||
+ | ; if you are using the Relaunch64 Crosseditor! | ||
+ | ; | ||
+ | ; Get Relaunch64 at www.popelganda.de | ||
+ | ; | ||
+ | ; | ||
+ | |||
+ | |||
+ | ; | ||
+ | ; | ||
+ | ;----- Paragraph @Globale Variablen@ ----- | ||
+ | ; | ||
+ | ; | ||
+ | |||
+ | !to " | ||
+ | |||
+ | screen=$0400 | ||
+ | pscreen=$05b8 ; | ||
+ | charset=$4800 ; | ||
+ | bitmap=$2dc0 ; | ||
+ | clearanz=$12 ; | ||
+ | chardest=$4000 ; | ||
+ | stext=$6000 ; | ||
+ | start=$c000 ; | ||
+ | |||
+ | plasmasinus=$9e00 ; | ||
+ | plasmacolors=$9f00 | ||
+ | |||
+ | pixelcounter=$40 ; | ||
+ | charcounter=$41 ; | ||
+ | linecounter=$42 ; | ||
+ | neuchar=$43 | ||
+ | maxpage=$44 ; | ||
+ | text=$50 ; | ||
+ | bmpoffset=$60 ; | ||
+ | z1=$52 ; | ||
+ | z2=$53 | ||
+ | |||
+ | koalabmp=$2000 ; | ||
+ | koalascr=$4c00 | ||
+ | koalacol=$4e00 | ||
+ | |||
+ | soundinit=$1000 | ||
+ | soundplay=$1003 | ||
+ | |||
+ | |||
+ | TRUE=1 | ||
+ | FALSE=0 | ||
+ | |||
+ | AN=1 | ||
+ | AUS=0 | ||
+ | |||
+ | PZEILEN=14 ; | ||
+ | PSPALTEN=40 ; | ||
+ | |||
+ | |||
+ | |||
+ | ; | ||
+ | ; | ||
+ | ;----- Paragraph @Includes@ ----- | ||
+ | ; | ||
+ | ; | ||
+ | |||
+ | *= $0800 | ||
+ | !byte $00, | ||
+ | |||
+ | *= charset | ||
+ | !bin " | ||
+ | |||
+ | *= koalabmp | ||
+ | !bin " | ||
+ | |||
+ | *= koalascr | ||
+ | !bin " | ||
+ | |||
+ | *= koalacol | ||
+ | !bin " | ||
+ | |||
+ | *= soundinit | ||
+ | !bin " | ||
+ | |||
+ | |||
+ | |||
+ | ; | ||
+ | ; | ||
+ | ; | ||
+ | ; | ||
+ | ; | ||
+ | |||
+ | ;----- Paragraph @Start of Maiscode@ ----- | ||
+ | |||
+ | *= start | ||
+ | !zone HAUPTSOURCE | ||
+ | |||
+ | lda #0 | ||
+ | sta $d020 | ||
+ | sta $d021 | ||
+ | jsr $e536 | ||
+ | |||
+ | sei | ||
+ | lda #<irq1 | ||
+ | sta $0314 | ||
+ | lda #>irq1 | ||
+ | sta $0315 | ||
+ | lda #0 | ||
+ | sta $dc0e | ||
+ | jsr soundinit | ||
+ | lda #1 | ||
+ | sta $d01a | ||
+ | lda #$7f | ||
+ | sta $dc0d | ||
+ | lda #$2d | ||
+ | sta $d012 | ||
+ | lda #$7b | ||
+ | sta $d011 | ||
+ | |||
+ | ; | ||
+ | |||
+ | ldx #0 | ||
+ | .loop1 lda # | ||
+ | sta screen+$200, | ||
+ | sta screen+$300, | ||
+ | inx | ||
+ | bne .loop1 | ||
+ | ldx #$b8 | ||
+ | lda #$bf | ||
+ | .loop11 sta screen+$100, | ||
+ | inx | ||
+ | bne .loop11 | ||
+ | |||
+ | ;----- Paragraph @Init: Koala-Logo@ ----- | ||
+ | |||
+ | ldx #0 | ||
+ | .loopk1 lda koalascr,x | ||
+ | sta $0400,x | ||
+ | lda koalacol,x | ||
+ | sta $d800,x | ||
+ | inx | ||
+ | bne .loopk1 | ||
+ | |||
+ | .loopk2 lda koalascr+$100, | ||
+ | sta $0500,x | ||
+ | lda koalacol+$100, | ||
+ | sta $d900,x | ||
+ | inx | ||
+ | cpx #104 | ||
+ | bne .loopk2 | ||
+ | |||
+ | ldx #79 | ||
+ | lda #$20 | ||
+ | .loopk3 sta $0568,x | ||
+ | dex | ||
+ | bpl .loopk3 | ||
+ | |||
+ | ; | ||
+ | ; | ||
+ | ; | ||
+ | |||
+ | lda #$20 | ||
+ | ldx #0 | ||
+ | .clears sta $0c00,x | ||
+ | sta $0d00,x | ||
+ | sta $0e00,x | ||
+ | sta $0f00,x | ||
+ | inx | ||
+ | bne .clears | ||
+ | |||
+ | ; | ||
+ | |||
+ | jsr .clearbitmap | ||
+ | |||
+ | ; | ||
+ | |||
+ | ; | ||
+ | ; here the charset is being prepared. | ||
+ | ; the pixelrows of each char are not | ||
+ | ; stored in 8 succeeded on another byte | ||
+ | ; | ||
+ | ; $3200 to $3800. now you can more easily | ||
+ | ; read the single pixellines by simply storing | ||
+ | ; the char in the x-reg. and use | ||
+ | ; | ||
+ | ; lda $3000,x | ||
+ | ; lda $3100,x | ||
+ | ; lda $3200,x | ||
+ | ; ... | ||
+ | ; lda $3700,x | ||
+ | ; | ||
+ | ; for getting the 8 pixelows of a char. | ||
+ | ; | ||
+ | ; | ||
+ | |||
+ | ;----- Paragraph @Prepare Charset@ ----- | ||
+ | |||
+ | ldx #0 | ||
+ | ldy #0 | ||
+ | .loop4 lda charset,x | ||
+ | sta chardest,y | ||
+ | inx | ||
+ | lda charset,x | ||
+ | sta chardest+$100, | ||
+ | inx | ||
+ | lda charset,x | ||
+ | sta chardest+$200, | ||
+ | inx | ||
+ | lda charset,x | ||
+ | sta chardest+$300, | ||
+ | inx | ||
+ | lda charset,x | ||
+ | sta chardest+$400, | ||
+ | inx | ||
+ | lda charset,x | ||
+ | sta chardest+$500, | ||
+ | inx | ||
+ | lda charset,x | ||
+ | sta chardest+$600, | ||
+ | inx | ||
+ | lda charset,x | ||
+ | sta chardest+$700, | ||
+ | iny | ||
+ | inx | ||
+ | bne .loop4 | ||
+ | |||
+ | ; | ||
+ | |||
+ | .loop5 lda charset+$100, | ||
+ | sta chardest,y | ||
+ | inx | ||
+ | lda charset+$100, | ||
+ | sta chardest+$100, | ||
+ | inx | ||
+ | lda charset+$100, | ||
+ | sta chardest+$200, | ||
+ | inx | ||
+ | lda charset+$100, | ||
+ | sta chardest+$300, | ||
+ | inx | ||
+ | lda charset+$100, | ||
+ | sta chardest+$400, | ||
+ | inx | ||
+ | lda charset+$100, | ||
+ | sta chardest+$500, | ||
+ | inx | ||
+ | lda charset+$100, | ||
+ | sta chardest+$600, | ||
+ | inx | ||
+ | lda charset+$100, | ||
+ | sta chardest+$700, | ||
+ | iny | ||
+ | inx | ||
+ | bne .loop5 | ||
+ | |||
+ | ; | ||
+ | |||
+ | .loop6 lda charset+$200, | ||
+ | sta chardest,y | ||
+ | inx | ||
+ | lda charset+$200, | ||
+ | sta chardest+$100, | ||
+ | inx | ||
+ | lda charset+$200, | ||
+ | sta chardest+$200, | ||
+ | inx | ||
+ | lda charset+$200, | ||
+ | sta chardest+$300, | ||
+ | inx | ||
+ | lda charset+$200, | ||
+ | sta chardest+$400, | ||
+ | inx | ||
+ | lda charset+$200, | ||
+ | sta chardest+$500, | ||
+ | inx | ||
+ | lda charset+$200, | ||
+ | sta chardest+$600, | ||
+ | inx | ||
+ | lda charset+$200, | ||
+ | sta chardest+$700, | ||
+ | iny | ||
+ | inx | ||
+ | bne .loop6 | ||
+ | |||
+ | ; | ||
+ | ; small break at the beginning | ||
+ | ; | ||
+ | |||
+ | ldx #200 | ||
+ | .p1 ldy #255 | ||
+ | .p2 bit $ea | ||
+ | nop | ||
+ | dey | ||
+ | bne .p2 | ||
+ | dex | ||
+ | bne .p1 | ||
+ | |||
+ | ; | ||
+ | |||
+ | lda #0 | ||
+ | sta pixelcounter | ||
+ | sta charcounter | ||
+ | sta linecounter | ||
+ | sta neuchar | ||
+ | sta maxpage | ||
+ | |||
+ | lda #<stext | ||
+ | sta text | ||
+ | lda #>stext | ||
+ | sta text+1 | ||
+ | lda #<bitmap | ||
+ | sta bmpoffset | ||
+ | lda #>bitmap | ||
+ | sta bmpoffset+1 | ||
+ | |||
+ | cli | ||
+ | |||
+ | ; | ||
+ | ;----- Paragraph @Wait for Keypress@ ----- | ||
+ | ; | ||
+ | |||
+ | WARTEN lda #0 | ||
+ | beq WARTEN | ||
+ | |||
+ | ; | ||
+ | |||
+ | |||
+ | |||
+ | ; | ||
+ | ;----- Paragraph @Read Char@ ----- | ||
+ | ; | ||
+ | |||
+ | .newpage ldy #0 | ||
+ | lda (text), | ||
+ | cmp #254 | ||
+ | bne .los ; | ||
+ | lda #TRUE | ||
+ | sta maxpage | ||
+ | jmp .vortaste ; | ||
+ | |||
+ | .los cmp #$20 ;if space, override rol-code | ||
+ | bne .next ; | ||
+ | ldx # | ||
+ | jsr .bende | ||
+ | jmp .space | ||
+ | |||
+ | .next cmp #255 ;new line? | ||
+ | bne .next2 | ||
+ | |||
+ | jsr .neuereihe ; | ||
+ | jmp .newpage ; | ||
+ | |||
+ | .next2 cmp #253 ;new page? | ||
+ | bne .putit | ||
+ | |||
+ | inc text | ||
+ | bne .weiter | ||
+ | inc text+1 | ||
+ | .weiter jmp .vortaste ; | ||
+ | |||
+ | .putit tax | ||
+ | jsr .putchar ; | ||
+ | |||
+ | ; | ||
+ | |||
+ | .space lda neuchar ; | ||
+ | beq .weiter1 | ||
+ | lda #0 ;if yes, reset variable | ||
+ | sta neuchar | ||
+ | lda bmpoffset ; | ||
+ | clc | ||
+ | adc #8 | ||
+ | sta bmpoffset | ||
+ | bcc .weiter1 | ||
+ | inc bmpoffset+1 | ||
+ | .weiter1 inc text ; | ||
+ | lda text | ||
+ | bne .weiter2 | ||
+ | inc text+1 | ||
+ | .weiter2 jmp .newpage ; | ||
+ | |||
+ | ; | ||
+ | |||
+ | .vortaste lda #AN | ||
+ | sta PAUSE+1 | ||
+ | |||
+ | TASTE lda #0 | ||
+ | jsr plasma ; | ||
+ | lda TASTE+1 | ||
+ | beq TASTE | ||
+ | |||
+ | lda #AUS | ||
+ | sta PAUSE+1 ; | ||
+ | lda #AUS | ||
+ | sta TASTE+1 ; | ||
+ | |||
+ | lda maxpage ; | ||
+ | beq .weiter3 | ||
+ | |||
+ | lda #< | ||
+ | sta text | ||
+ | lda #>stext | ||
+ | sta text+1 | ||
+ | lda #FALSE | ||
+ | sta maxpage | ||
+ | |||
+ | .weiter3 jsr .neueseite | ||
+ | jmp .newpage | ||
+ | |||
+ | ; | ||
+ | |||
+ | |||
+ | |||
+ | ; | ||
+ | ;----- Paragraph @New Textrow@ ----- | ||
+ | ; | ||
+ | |||
+ | .neuereihe lda #< | ||
+ | sta bmpoffset | ||
+ | lda #>bitmap | ||
+ | sta bmpoffset+1 | ||
+ | |||
+ | ldx linecounter ; | ||
+ | .matheloop inc bmpoffset+1 ; | ||
+ | lda bmpoffset ; | ||
+ | clc | ||
+ | adc #64 | ||
+ | sta bmpoffset | ||
+ | bcc .mathe | ||
+ | inc bmpoffset+1 | ||
+ | .mathe dex | ||
+ | bpl .matheloop | ||
+ | |||
+ | inc linecounter ; | ||
+ | |||
+ | lda # | ||
+ | sta pixelcounter | ||
+ | sta charcounter | ||
+ | sta neuchar | ||
+ | |||
+ | inc text ; | ||
+ | lda text | ||
+ | bne .matheweiter | ||
+ | inc text+1 | ||
+ | |||
+ | .matheweiter rts ; | ||
+ | |||
+ | ; | ||
+ | |||
+ | |||
+ | |||
+ | ; | ||
+ | ;----- Paragraph @New Textpage@ ----- | ||
+ | ; | ||
+ | |||
+ | .neueseite lda #< | ||
+ | sta bmpoffset | ||
+ | lda #>bitmap | ||
+ | sta bmpoffset+1 | ||
+ | |||
+ | jsr .clearbitmap | ||
+ | |||
+ | lda #0 | ||
+ | sta pixelcounter | ||
+ | sta charcounter | ||
+ | sta linecounter | ||
+ | sta neuchar | ||
+ | |||
+ | rts | ||
+ | |||
+ | ; | ||
+ | |||
+ | |||
+ | |||
+ | ; | ||
+ | ;----- Paragraph @Clear Bitmap@ ----- | ||
+ | ; | ||
+ | |||
+ | .clearbitmap lda # | ||
+ | ldx #0 | ||
+ | .loop2 | ||
+ | !set m=0 | ||
+ | !do { | ||
+ | sta bitmap+m*$100, | ||
+ | !set m=m+1 | ||
+ | } until m=clearanz | ||
+ | |||
+ | inx | ||
+ | bne .loop2 | ||
+ | |||
+ | ldx #0 | ||
+ | .loopc1 lda # | ||
+ | sta screen+$200, | ||
+ | sta screen+$300, | ||
+ | inx | ||
+ | bne .loopc1 | ||
+ | |||
+ | ldx #$b8 | ||
+ | lda #$bf | ||
+ | .loopc11 sta screen+$100, | ||
+ | inx | ||
+ | bne .loopc11 | ||
+ | |||
+ | rts | ||
+ | |||
+ | ; | ||
+ | |||
+ | |||
+ | |||
+ | ; | ||
+ | ;----- Paragraph @Put char@ ----- | ||
+ | ; | ||
+ | |||
+ | .putchar lda chardest, | ||
+ | sta charbuffer+1 ; | ||
+ | lda chardest+$100, | ||
+ | sta charbuffer+3 | ||
+ | lda chardest+$200, | ||
+ | sta charbuffer+5 | ||
+ | lda chardest+$300, | ||
+ | sta charbuffer+7 | ||
+ | lda chardest+$400, | ||
+ | sta charbuffer+9 | ||
+ | lda chardest+$500, | ||
+ | sta charbuffer+11 | ||
+ | lda chardest+$600, | ||
+ | sta charbuffer+13 | ||
+ | lda chardest+$700, | ||
+ | sta charbuffer+15 | ||
+ | |||
+ | ; | ||
+ | ;----- Paragraph @Move char@ ----- | ||
+ | ; | ||
+ | |||
+ | lda pixelcounter ; | ||
+ | and #7 ;in the old char, so we know how many pixel the new char must be moved | ||
+ | eor #7 | ||
+ | tay | ||
+ | .nloop1 clc ; | ||
+ | rol charbuffer+1 | ||
+ | rol charbuffer | ||
+ | clc | ||
+ | rol charbuffer+3 | ||
+ | rol charbuffer+2 | ||
+ | clc | ||
+ | rol charbuffer+5 | ||
+ | rol charbuffer+4 | ||
+ | clc | ||
+ | rol charbuffer+7 | ||
+ | rol charbuffer+6 | ||
+ | clc | ||
+ | rol charbuffer+9 | ||
+ | rol charbuffer+8 | ||
+ | clc | ||
+ | rol charbuffer+11 | ||
+ | rol charbuffer+10 | ||
+ | clc | ||
+ | rol charbuffer+13 | ||
+ | rol charbuffer+12 | ||
+ | clc | ||
+ | rol charbuffer+15 | ||
+ | rol charbuffer+14 | ||
+ | dey | ||
+ | bpl .nloop1 | ||
+ | |||
+ | ldy #0 | ||
+ | |||
+ | ;----- Paragraph @Char to Bitmap@ ----- | ||
+ | |||
+ | lda (bmpoffset), | ||
+ | ora charbuffer ; | ||
+ | sta (bmpoffset), | ||
+ | iny | ||
+ | lda (bmpoffset), | ||
+ | ora charbuffer+2 | ||
+ | sta (bmpoffset), | ||
+ | iny | ||
+ | lda (bmpoffset), | ||
+ | ora charbuffer+4 | ||
+ | sta (bmpoffset), | ||
+ | iny | ||
+ | lda (bmpoffset), | ||
+ | ora charbuffer+6 | ||
+ | sta (bmpoffset), | ||
+ | iny | ||
+ | lda (bmpoffset), | ||
+ | ora charbuffer+8 | ||
+ | sta (bmpoffset), | ||
+ | iny | ||
+ | lda (bmpoffset), | ||
+ | ora charbuffer+10 | ||
+ | sta (bmpoffset), | ||
+ | iny | ||
+ | lda (bmpoffset), | ||
+ | ora charbuffer+12 | ||
+ | sta (bmpoffset), | ||
+ | iny | ||
+ | lda (bmpoffset), | ||
+ | ora charbuffer+14 | ||
+ | sta (bmpoffset), | ||
+ | |||
+ | iny ; | ||
+ | ;are being copied into the next char of the bitmap. 2x iny, because the counter | ||
+ | lda charbuffer+1 ; | ||
+ | sta (bmpoffset), | ||
+ | iny | ||
+ | lda charbuffer+3 | ||
+ | sta (bmpoffset), | ||
+ | iny | ||
+ | lda charbuffer+5 | ||
+ | sta (bmpoffset), | ||
+ | iny | ||
+ | lda charbuffer+7 | ||
+ | sta (bmpoffset), | ||
+ | iny | ||
+ | lda charbuffer+9 | ||
+ | sta (bmpoffset), | ||
+ | iny | ||
+ | lda charbuffer+11 | ||
+ | sta (bmpoffset), | ||
+ | iny | ||
+ | lda charbuffer+13 | ||
+ | sta (bmpoffset), | ||
+ | iny | ||
+ | lda charbuffer+15 | ||
+ | sta (bmpoffset), | ||
+ | |||
+ | ;----- Paragraph @End: Put char@ ----- | ||
+ | |||
+ | .bende lda pixelcounter ; | ||
+ | clc | ||
+ | adc chartable, | ||
+ | sta pixelcounter ; | ||
+ | ; | ||
+ | lda charcounter ; | ||
+ | clc | ||
+ | adc chartable, | ||
+ | cmp #8 ;is a new char " | ||
+ | bcc .kein | ||
+ | sbc #8 | ||
+ | sta charcounter | ||
+ | |||
+ | lda #1 ;if yes, set remember-variable | ||
+ | sta neuchar | ||
+ | jmp .zurueck | ||
+ | |||
+ | .kein sta charcounter | ||
+ | .zurueck ldx #17 | ||
+ | lda #0 | ||
+ | .clearbuf sta charbuffer, | ||
+ | dex | ||
+ | bpl .clearbuf | ||
+ | rts | ||
+ | |||
+ | ; | ||
+ | |||
+ | |||
+ | |||
+ | ; | ||
+ | ; | ||
+ | ; here the chars are being set, | ||
+ | ; which should be stored with ROL | ||
+ | ; into the bitmap-matrix. | ||
+ | ; | ||
+ | ; | ||
+ | |||
+ | charbuffer | ||
+ | !fill 18,0 | ||
+ | |||
+ | ; | ||
+ | |||
+ | |||
+ | |||
+ | ; | ||
+ | ; | ||
+ | ; | ||
+ | ; of each char (measured in pixel) | ||
+ | ; | ||
+ | ; | ||
+ | |||
+ | ;----- Paragraph @Chartable@ ----- | ||
+ | |||
+ | chartable | ||
+ | !byte 7, | ||
+ | !byte 4, | ||
+ | !byte 1, | ||
+ | |||
+ | ; | ||
+ | |||
+ | |||
+ | |||
+ | ; | ||
+ | ; | ||
+ | ;----- Paragraph @Irq1: Koala fadein@ ----- | ||
+ | ; | ||
+ | ; | ||
+ | |||
+ | !zone | ||
+ | irq1 inc $d019 | ||
+ | |||
+ | lda #$3b | ||
+ | sta $d011 | ||
+ | lda #$19 | ||
+ | sta $d018 | ||
+ | lda #$d8 | ||
+ | sta $d016 | ||
+ | |||
+ | .wait lda $d012 | ||
+ | .zeile cmp #$31 | ||
+ | bcc .wait | ||
+ | |||
+ | lda $d011 | ||
+ | ora #$40 | ||
+ | ldy $d012 | ||
+ | cpy $d012 | ||
+ | beq *-3 | ||
+ | sta $d011 | ||
+ | |||
+ | inc .zeile+1 | ||
+ | lda .zeile+1 | ||
+ | cmp #$7c | ||
+ | bne .ende | ||
+ | |||
+ | lda #<irq2 | ||
+ | sta $0314 | ||
+ | lda #>irq2 | ||
+ | sta $0315 | ||
+ | lda #$2e | ||
+ | sta $d012 | ||
+ | |||
+ | .ende jsr soundplay | ||
+ | jmp $ea7e | ||
+ | |||
+ | ; | ||
+ | |||
+ | |||
+ | |||
+ | ; | ||
+ | ; | ||
+ | ;----- Paragraph @Irq2: Koala Display@ ----- | ||
+ | ; | ||
+ | ; | ||
+ | |||
+ | !zone | ||
+ | irq2 inc $d019 | ||
+ | |||
+ | lda #$3b | ||
+ | sta $d011 | ||
+ | lda #$19 | ||
+ | sta $d018 | ||
+ | lda #$d8 | ||
+ | sta $d016 | ||
+ | |||
+ | jsr soundplay | ||
+ | |||
+ | IRQC1 lda #<irq3 | ||
+ | sta $0314 | ||
+ | IRQC2 lda #>irq3 | ||
+ | sta $0315 | ||
+ | lda #$80 | ||
+ | sta $d012 | ||
+ | |||
+ | jmp $ea7e | ||
+ | |||
+ | ; | ||
+ | |||
+ | |||
+ | |||
+ | ; | ||
+ | ; | ||
+ | ;----- Paragraph @Irq3: Fadein Gray@ ----- | ||
+ | ; | ||
+ | ; | ||
+ | |||
+ | !zone | ||
+ | irq3 inc $d019 | ||
+ | |||
+ | .farbe lda #0 | ||
+ | ldy $d012 | ||
+ | cpy $d012 | ||
+ | beq *-3 | ||
+ | sta $d020 | ||
+ | sta $d021 | ||
+ | |||
+ | lda #$1b | ||
+ | sta $d011 | ||
+ | lda #$c8 | ||
+ | sta $d016 | ||
+ | lda #$35 | ||
+ | sta $d018 | ||
+ | |||
+ | .wait lda $d012 | ||
+ | cmp #$fe | ||
+ | bcc .wait | ||
+ | |||
+ | ldx #7 | ||
+ | .warten ldy $d012 | ||
+ | cpy $d012 | ||
+ | beq *-3 | ||
+ | nop: | ||
+ | dex | ||
+ | bne .warten | ||
+ | |||
+ | lda #0 | ||
+ | ldy $d012 | ||
+ | cpy $d012 | ||
+ | beq *-3 | ||
+ | sta $d020 | ||
+ | sta $d021 | ||
+ | |||
+ | dec .pause+1 | ||
+ | .pause lda #4 | ||
+ | bne .weiter | ||
+ | lda #2 | ||
+ | sta .pause+1 | ||
+ | .cnt ldx #0 | ||
+ | lda .fcol,x | ||
+ | sta .farbe+1 | ||
+ | inc .cnt+1 | ||
+ | lda .cnt+1 | ||
+ | cmp #8 | ||
+ | bne .weiter | ||
+ | |||
+ | lda #<irq4 | ||
+ | sta IRQC1+1 | ||
+ | lda #>irq4 | ||
+ | sta IRQC2+1 | ||
+ | |||
+ | ldx #79 | ||
+ | lda #$ff | ||
+ | .loop sta $0568,x | ||
+ | dex | ||
+ | bpl .loop | ||
+ | |||
+ | lda #AN | ||
+ | sta WARTEN+1 | ||
+ | |||
+ | .weiter lda #<irq2 | ||
+ | sta $0314 | ||
+ | lda #>irq2 | ||
+ | sta $0315 | ||
+ | lda #$2e | ||
+ | sta $d012 | ||
+ | |||
+ | jmp $ea7e | ||
+ | |||
+ | .fcol | ||
+ | !byte $00, | ||
+ | |||
+ | ; | ||
+ | |||
+ | |||
+ | |||
+ | ; | ||
+ | ; | ||
+ | ;----- Paragraph @Irq4: Fadein Gray finished@ ----- | ||
+ | ; | ||
+ | ; | ||
+ | |||
+ | !zone | ||
+ | irq4 inc $d019 | ||
+ | |||
+ | lda #15 | ||
+ | ldy $d012 | ||
+ | cpy $d012 | ||
+ | beq *-3 | ||
+ | sta $d020 | ||
+ | sta $d021 | ||
+ | |||
+ | lda #$3b | ||
+ | sta $d011 | ||
+ | lda #$c8 | ||
+ | sta $d016 | ||
+ | lda #$19 | ||
+ | sta $d018 | ||
+ | |||
+ | .wait2 lda $d012 | ||
+ | cmp #$fe | ||
+ | bcc .wait2 | ||
+ | |||
+ | ldx #7 | ||
+ | .warten ldy $d012 | ||
+ | cpy $d012 | ||
+ | beq *-3 | ||
+ | nop: | ||
+ | dex | ||
+ | bne .warten | ||
+ | |||
+ | lda #0 | ||
+ | ldy $d012 | ||
+ | cpy $d012 | ||
+ | beq *-3 | ||
+ | sta $d020 | ||
+ | sta $d021 | ||
+ | |||
+ | dec .wait+1 | ||
+ | .wait lda #4 | ||
+ | bne .ende | ||
+ | lda #4 | ||
+ | sta .wait+1 | ||
+ | |||
+ | PAUSE lda #1 | ||
+ | beq .ende | ||
+ | |||
+ | lda $dc01 | ||
+ | cmp #$ef | ||
+ | bne .ende | ||
+ | |||
+ | lda #AN | ||
+ | sta TASTE+1 | ||
+ | |||
+ | .ende lda #<irq2 | ||
+ | sta $0314 | ||
+ | lda #>irq2 | ||
+ | sta $0315 | ||
+ | lda #$30 | ||
+ | sta $d012 | ||
+ | |||
+ | jmp $ea7e | ||
+ | |||
+ | ; | ||
+ | |||
+ | |||
+ | |||
+ | ; | ||
+ | ; | ||
+ | ;----- Paragraph @Sub-Route: Plasma-Effect@ ----- | ||
+ | ; | ||
+ | ; | ||
+ | |||
+ | !zone | ||
+ | plasma lda .pcounter | ||
+ | sta .sincnt+1 | ||
+ | |||
+ | .zeile ldy # | ||
+ | .sincnt ldx # | ||
+ | |||
+ | jsr .effekt ; | ||
+ | |||
+ | inc .sincnt+1 | ||
+ | inc .zeile+1 | ||
+ | lda .zeile+1 | ||
+ | cmp # | ||
+ | bne .zeile | ||
+ | |||
+ | lda .pcounter | ||
+ | clc:adc #3 | ||
+ | sta .pcounter | ||
+ | |||
+ | inc .pcounter+1 | ||
+ | |||
+ | lda #0 | ||
+ | sta .zeile+1 | ||
+ | rts | ||
+ | |||
+ | .effekt lda .pcounter+1 | ||
+ | sta .weiter+1 | ||
+ | lda #< | ||
+ | sta z1 | ||
+ | lda #> | ||
+ | sta z2 | ||
+ | |||
+ | ;set row of the color ram | ||
+ | |||
+ | .loop1 cpy #0 ;in y we stored the current line. | ||
+ | beq .weiter ; | ||
+ | lda z1 ;else add 40 chars to row-counter... | ||
+ | clc:adc #40 | ||
+ | sta z1 | ||
+ | bcc .loop2 | ||
+ | inc z2 | ||
+ | .loop2 dey ; | ||
+ | bne .loop1 ;is set to current row. | ||
+ | |||
+ | ;here we go! | ||
+ | |||
+ | .weiter ldy #0 | ||
+ | lda plasmasinus, | ||
+ | clc | ||
+ | adc plasmasinus, | ||
+ | adc .pcounter | ||
+ | adc .pcounter+1 | ||
+ | and #$7f | ||
+ | lsr | ||
+ | tay | ||
+ | lda plasmacolors, | ||
+ | |||
+ | .charcnt ldy # | ||
+ | sta (z1),y | ||
+ | inc .weiter+1 | ||
+ | inc .charcnt+1 | ||
+ | lda .charcnt+1 | ||
+ | cmp # | ||
+ | bne .weiter | ||
+ | |||
+ | lda #0 | ||
+ | sta .charcnt+1 | ||
+ | rts | ||
+ | |||
+ | .pcounter | ||
+ | !byte 0,0 | ||
+ | |||
+ | ; | ||
+ | |||
+ | |||
+ | |||
+ | ; | ||
+ | ; | ||
+ | ;----- Paragraph @Plasma-Colors@ ----- | ||
+ | ; | ||
+ | ; | ||
+ | |||
+ | *= plasmacolors | ||
+ | |||
+ | ;!byte $bf, | ||
+ | ;!byte $bf, | ||
+ | ;!byte $7f, | ||
+ | ;!byte $bf, | ||
+ | ;!byte $bf, | ||
+ | ;!byte $bf, | ||
+ | ;!byte $df, | ||
+ | ;!byte $bf, | ||
+ | |||
+ | !byte $bf, | ||
+ | !byte $bf, | ||
+ | !byte $af, | ||
+ | !byte $bf, | ||
+ | !byte $bf, | ||
+ | !byte $bf, | ||
+ | !byte $df, | ||
+ | !byte $bf, | ||
+ | |||
+ | |||
+ | |||
+ | ; | ||
+ | ; | ||
+ | ;----- Paragraph @Plasma-Sinus@ ----- | ||
+ | ; | ||
+ | ; | ||
+ | |||
+ | *= plasmasinus | ||
+ | |||
+ | !byte $1f, | ||
+ | !byte $21, | ||
+ | !byte $2b, | ||
+ | !byte $30, | ||
+ | !byte $1f, | ||
+ | !byte $06, | ||
+ | !byte $01, | ||
+ | !byte $13, | ||
+ | !byte $1f, | ||
+ | !byte $13, | ||
+ | !byte $01, | ||
+ | !byte $06, | ||
+ | !byte $1f, | ||
+ | !byte $30, | ||
+ | !byte $2b, | ||
+ | !byte $21, | ||
+ | !byte $1f, | ||
+ | !byte $1d, | ||
+ | !byte $13, | ||
+ | !byte $0e, | ||
+ | !byte $1f, | ||
+ | !byte $38, | ||
+ | !byte $3d, | ||
+ | !byte $2b, | ||
+ | !byte $1f, | ||
+ | !byte $2b, | ||
+ | !byte $3d, | ||
+ | !byte $38, | ||
+ | !byte $1f, | ||
+ | !byte $0e, | ||
+ | !byte $13, | ||
+ | !byte $1d, | ||
+ | |||
+ | |||
+ | |||
+ | ; | ||
+ | ; | ||
+ | ; | ||
+ | ; | ||
+ | ; | ||
+ | |||
+ | ;----- Paragraph @Text@ ----- | ||
+ | |||
+ | *= stext | ||
+ | ;ä = ^ | ||
+ | ;ö = \h | ||
+ | ;ü = _ | ||
+ | |||
+ | ;255 = new line | ||
+ | ;253 = new page | ||
+ | ;254 = end | ||
+ | |||
+ | !ct scr | ||
+ | |||
+ | !tx " | ||
+ | !by 255, 255 | ||
+ | !tx "First of all the credits for this note:" | ||
+ | !by 255 | ||
+ | !tx " | ||
+ | !by 255,255 | ||
+ | !tx " | ||
+ | !by 255 | ||
+ | !tx "Logo by Zeitgeist/ | ||
+ | !by 255 | ||
+ | !tx "Music by Dalezy/ | ||
+ | !by 255,255 | ||
+ | !tx "This charset is a slight modified version of the" | ||
+ | !by 255 | ||
+ | !tx " | ||
+ | !by 255 | ||
+ | !tx " | ||
+ | !by 253 | ||
+ | |||
+ | !tx "I think, the credits for the demo Oedipus Complex" | ||
+ | !by 255 | ||
+ | !tx "are not necessary to mention, because you can (or" | ||
+ | !by 255 | ||
+ | !tx "must, hehe), read them in the scrollers of each" | ||
+ | !by 255 | ||
+ | !tx " | ||
+ | !by 255,255 | ||
+ | !tx "All I want to say, is that all coding was done by" | ||
+ | !by 255 | ||
+ | !tx " | ||
+ | !by 255 | ||
+ | !tx " | ||
+ | !by 255,255 | ||
+ | !tx "Now some words to the demo..." | ||
+ | !by 253 | ||
+ | |||
+ | !tx "Well, the effects in this demo are quite old. Most" | ||
+ | !by 255 | ||
+ | !tx "of them were done short before the Payday-break" | ||
+ | !by 255 | ||
+ | !tx "in 1995. But it was a lot of work to me and that' | ||
+ | !by 255 | ||
+ | !tx "why I wanted to release these parts as a demo." | ||
+ | !by 255,255 | ||
+ | !tx "The small competition at the forum-64.de-forum" | ||
+ | !by 255 | ||
+ | !tx "gave me the motivation to complete my goal! :-)" | ||
+ | !by 255,255 | ||
+ | !tx "I don't think, we in Payday will release another" | ||
+ | !by 255 | ||
+ | !tx "demo, because the main-reason why we started" | ||
+ | !by 255 | ||
+ | !tx "our ' | ||
+ | !by 255,255 | ||
+ | !tx " | ||
+ | !by 255 | ||
+ | !tx " | ||
+ | !by 253 | ||
+ | |||
+ | !tx "I hope, we will manage to release the next issue" | ||
+ | !by 255 | ||
+ | !tx " | ||
+ | !by 255 | ||
+ | !tx "issue #6 of Popelganda is released in the near" | ||
+ | !by 255 | ||
+ | !tx " | ||
+ | !by 255,255 | ||
+ | !tx "Now to some more future-plans of Payday. Beside" | ||
+ | !by 255 | ||
+ | !tx " | ||
+ | !by 255 | ||
+ | !tx " | ||
+ | !by 255,255 | ||
+ | !tx " | ||
+ | !by 255 | ||
+ | !tx "can be used with many common assemblers like" | ||
+ | !by 255 | ||
+ | !tx "ACME, DAsm, C64Asm or Ca65." | ||
+ | !by 253 | ||
+ | |||
+ | !tx "Now you might ask yourself, where to get all this" | ||
+ | !by 255 | ||
+ | !tx "funky stuff? simply take a look at our website!" | ||
+ | !by 255,255 | ||
+ | !tx " | ||
+ | !by 255,255 | ||
+ | !tx "Our homepage is currently being redesigned and the" | ||
+ | !by 255 | ||
+ | !tx " | ||
+ | !by 255 | ||
+ | !tx "new releases at the well-known scene-news-sites," | ||
+ | !by 255 | ||
+ | !tx " | ||
+ | !by 253 | ||
+ | |||
+ | !tx "In case you want to contact Payday:" | ||
+ | !by 255 | ||
+ | !tx " | ||
+ | !by 255,255 | ||
+ | !tx " | ||
+ | !by 255 | ||
+ | !tx " | ||
+ | !by 255,255 | ||
+ | !tx " | ||
+ | !by 255 | ||
+ | !tx " | ||
+ | !by 255, | ||
+ | !tx "Thank you for your attention!" | ||
+ | !by 255,255 | ||
+ | !tx " | ||
+ | !by 254 | ||
+ | </ |
base/proportional-charset-noter_with_plasma-effect.txt · Last modified: 2015-04-17 04:33 by 127.0.0.1