base:16x16_matrix_scroll
no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
— | base:16x16_matrix_scroll [2015-04-17 04:30] (current) – created - external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | 16x16 Matrix-Scroll by Chico of Civitas/ | ||
+ | < | ||
+ | |||
+ | |||
+ | |||
+ | *= $1000 | ||
+ | |||
+ | sei | ||
+ | lda #51 | ||
+ | sta $01 | ||
+ | ldy #$00 | ||
+ | a1 lda $d000,y | ||
+ | sta $2000,y | ||
+ | lda $d100,y | ||
+ | sta $2100,y | ||
+ | lda $d200,y | ||
+ | sta $2200,y | ||
+ | lda $d300,y | ||
+ | sta $2300,y | ||
+ | iny | ||
+ | bne a1 | ||
+ | lda #55 | ||
+ | sta $01 | ||
+ | |||
+ | lda #$c7 | ||
+ | sta $57 | ||
+ | |||
+ | lda #$00 | ||
+ | sta $58 ; | ||
+ | sta $59 ; | ||
+ | sta $5a ;counters | ||
+ | sta $5b ; | ||
+ | |||
+ | jsr $e518 | ||
+ | lda #$0b | ||
+ | sta $d020 | ||
+ | lda #$00 | ||
+ | sta $d021 | ||
+ | lda #$01 | ||
+ | sta $0286 | ||
+ | lda #$93 | ||
+ | jsr $ffd2 | ||
+ | ldy #18 | ||
+ | sty 214 | ||
+ | jsr $e510 | ||
+ | |||
+ | jsr irq | ||
+ | |||
+ | rts | ||
+ | |||
+ | ; | ||
+ | |||
+ | irq sei | ||
+ | lda #$81 | ||
+ | sta $d01a | ||
+ | lda #$7f | ||
+ | sta $dc0d | ||
+ | lda #48 | ||
+ | sta $d012 | ||
+ | lda #<irq1 | ||
+ | ldx #>irq1 | ||
+ | sta $0314 | ||
+ | stx $0315 | ||
+ | cli | ||
+ | rts | ||
+ | |||
+ | irq1 asl $d019 | ||
+ | |||
+ | lda $d012 | ||
+ | cmp #50 | ||
+ | bne irq1 | ||
+ | |||
+ | ldy #$05 | ||
+ | dey | ||
+ | bne *-1 | ||
+ | |||
+ | lda $57 | ||
+ | sta $d016 | ||
+ | |||
+ | irq2 lda $d012 | ||
+ | cmp #50+(16*8) | ||
+ | bne irq2 | ||
+ | |||
+ | ldy #$0a | ||
+ | dey | ||
+ | bne *-1 | ||
+ | |||
+ | lda #$c8 | ||
+ | sta $d016 | ||
+ | |||
+ | jsr scroll | ||
+ | |||
+ | jmp $ea31 | ||
+ | |||
+ | ; | ||
+ | |||
+ | scroll | ||
+ | sc1 ldy $57 | ||
+ | dey | ||
+ | sty $57 | ||
+ | cpy #$bf | ||
+ | beq sc2 | ||
+ | inx | ||
+ | cpx #$02 ;speed of scroll | ||
+ | bne sc1 ;1,2,4,8 (8=fast) | ||
+ | rts | ||
+ | |||
+ | sc2 lda #$c7 | ||
+ | sta $57 | ||
+ | |||
+ | scc lda $58 | ||
+ | bne sc6 | ||
+ | inc $58 | ||
+ | |||
+ | ldy $59 | ||
+ | lda txt,y | ||
+ | bne sc3 | ||
+ | sta $59 | ||
+ | sc3 ldy $59 | ||
+ | lda txt,y | ||
+ | |||
+ | ldx #$00 | ||
+ | stx $02 | ||
+ | |||
+ | ldy #$20 | ||
+ | ldx #$00 | ||
+ | stx $fa | ||
+ | sty $fb | ||
+ | |||
+ | asl | ||
+ | rol $02 | ||
+ | asl | ||
+ | rol $02 | ||
+ | asl | ||
+ | rol $02 | ||
+ | clc | ||
+ | adc $fa | ||
+ | sta $fa | ||
+ | lda $02 | ||
+ | adc $fb | ||
+ | sta $fb | ||
+ | |||
+ | ldy #$00 | ||
+ | sc5 lda ($fa),y | ||
+ | sta $02c0,y | ||
+ | iny | ||
+ | cpy #$08 | ||
+ | bne sc5 | ||
+ | |||
+ | sc6 lda $5a | ||
+ | bne sc10 | ||
+ | lda #$01 | ||
+ | sta $5a | ||
+ | |||
+ | ldy #$04 | ||
+ | ldx #$00 | ||
+ | stx $fc | ||
+ | sty $fd | ||
+ | |||
+ | ldx #$00 | ||
+ | sc9 ldy #32 | ||
+ | asl $02c0,x | ||
+ | bcc sc7 | ||
+ | ldy #160 | ||
+ | sc7 tya | ||
+ | ldy #39 | ||
+ | sta ($fc),y | ||
+ | ldy #39+40 | ||
+ | sta ($fc),y | ||
+ | lda #80 | ||
+ | clc | ||
+ | adc $fc | ||
+ | sta $fc | ||
+ | bcc sc8 | ||
+ | inc $fd | ||
+ | sc8 inx | ||
+ | cpx #$08 | ||
+ | bne sc9 | ||
+ | |||
+ | jmp sc13 | ||
+ | |||
+ | sc10 ldy #$04 | ||
+ | ldx #$26 | ||
+ | stx $fc | ||
+ | sty $fd | ||
+ | lda #$00 | ||
+ | sta $5a | ||
+ | ldx #$00 | ||
+ | sc12 ldy #$00 | ||
+ | lda ($fc),y | ||
+ | iny | ||
+ | sta ($fc),y | ||
+ | lda #40 | ||
+ | clc | ||
+ | adc $fc | ||
+ | sta $fc | ||
+ | bcc sc11 | ||
+ | inc $fd | ||
+ | sc11 inx | ||
+ | cpx #$10 | ||
+ | bne sc12 | ||
+ | |||
+ | sc13 ldy #$00 | ||
+ | sc14 lda $0401,y | ||
+ | sta $0400,y | ||
+ | lda $0401+(1*40), | ||
+ | sta $0400+(1*40), | ||
+ | lda $0401+(2*40), | ||
+ | sta $0400+(2*40), | ||
+ | lda $0401+(3*40), | ||
+ | sta $0400+(3*40), | ||
+ | lda $0401+(4*40), | ||
+ | sta $0400+(4*40), | ||
+ | lda $0401+(5*40), | ||
+ | sta $0400+(5*40), | ||
+ | lda $0401+(6*40), | ||
+ | sta $0400+(6*40), | ||
+ | lda $0401+(7*40), | ||
+ | sta $0400+(7*40), | ||
+ | lda $0401+(8*40), | ||
+ | sta $0400+(8*40), | ||
+ | lda $0401+(9*40), | ||
+ | sta $0400+(9*40), | ||
+ | lda $0401+(10*40), | ||
+ | sta $0400+(10*40), | ||
+ | lda $0401+(11*40), | ||
+ | sta $0400+(11*40), | ||
+ | lda $0401+(12*40), | ||
+ | sta $0400+(12*40), | ||
+ | lda $0401+(13*40), | ||
+ | sta $0400+(13*40), | ||
+ | lda $0401+(14*40), | ||
+ | sta $0400+(14*40), | ||
+ | lda $0401+(15*40), | ||
+ | sta $0400+(15*40), | ||
+ | iny | ||
+ | cpy #$27 | ||
+ | bne sc14 | ||
+ | |||
+ | inc $5b | ||
+ | lda $5b | ||
+ | cmp #$10 | ||
+ | bne sc15 | ||
+ | lda #$00 | ||
+ | sta $58 | ||
+ | sta $5b | ||
+ | inc $59 | ||
+ | |||
+ | sc15 rts | ||
+ | |||
+ | ; | ||
+ | |||
+ | txt .byte $03, | ||
+ | .byte $0f, | ||
+ | .byte $16, | ||
+ | .byte $20, | ||
+ | .byte $14, | ||
+ | |||
+ | </ |
base/16x16_matrix_scroll.txt · Last modified: 2015-04-17 04:30 by 127.0.0.1