diff options
| author | Simon Rettberg | 2024-09-06 14:42:37 +0200 |
|---|---|---|
| committer | Simon Rettberg | 2024-09-06 14:42:37 +0200 |
| commit | badef32037f52f79abc1f1440b786cd71afdf270 (patch) | |
| tree | 412b792d4cab4a7a110db82fcf74fe8a1ac55ec1 /hacks/images/m6502/sflake.asm | |
| parent | Delete pre-6.00 files (diff) | |
| download | xscreensaver-master.tar.gz xscreensaver-master.tar.xz xscreensaver-master.zip | |
Diffstat (limited to 'hacks/images/m6502/sflake.asm')
| -rw-r--r-- | hacks/images/m6502/sflake.asm | 320 |
1 files changed, 0 insertions, 320 deletions
diff --git a/hacks/images/m6502/sflake.asm b/hacks/images/m6502/sflake.asm deleted file mode 100644 index cbb72e8..0000000 --- a/hacks/images/m6502/sflake.asm +++ /dev/null @@ -1,320 +0,0 @@ -;; Jeremy English 01-December-2008 -;; Snowflakes - -;; Main loop Count -lda #7 -sta $f - -;; pattern number -lda #0 -sta $10 - -;;Cells -lda #$00 -sta $4 -lda #$10 -sta $5 - -;;Tmp -lda #$00 -sta $6 -lda #$11 -sta $7 - -;;Init Cells Buffer -;;------------------------------------------------------------ -ldy #$ff -initCells: -lda #0 -sta ($4),y -sta ($6),y -dey -bne initCells - -;;Set start position -ldy #115 -lda #1 -sta ($4),y - -;;Setup offset -lda #15 -sta $d -lda #16 -sta $e - -;;Start of main loop -;;------------------------------------------------------------ -mainloop: - -;;init indent -;;We want to indent every other line -lda #0 -sta $a - -lda #0 -sta $9 - -;; Display Cells -;;------------------------------------------------------------ -;; 248 is the total number of cells -ldy #248 -display: - -lda #0 -sta $8 - -lda $a -beq stop16 -lda #15 -sta $b -lda #1 -sta $8 -jmp toggle -stop16: -lda #16 -sta $b -toggle: -lda $a -eor #1 -sta $a - -;; Set the stop position -ldx $b -inner_display: -dex -txa -pha - -dey -tya -pha -lda ($4),y - -beq display_continue -ldx $8 -ldy $9 -lda #1 -jsr paint -ldx $8 -ldy $9 -inx -jsr paint -ldx $8 -ldy $9 -iny -jsr paint -ldx $8 -ldy $9 -inx -iny -jsr paint -display_continue: -inc $8 -inc $8 - -;;Life Cycle -;;------------------------------------------------------------ -pla -tay -pha ;;Store y on the stack - -tax -dey -lda ($4),y -iny -iny -clc -adc ($4),y -sta $c - -txa -sec -sbc $d -tay -lda $c -clc -adc ($4),y -sta $c - -txa -sec -sbc $e -tay -lda $c -clc -adc ($4),y -sta $c - -txa -clc -adc $d -tay -lda $c -clc -adc ($4),y -sta $c - -txa -clc -adc $e -tay -lda $c -clc -adc ($4),y -sta $c - -pla -tay ;;Pull Y off of the stack - -lda $c -and #1 -beq dontset -sta ($6),y -dontset: - -pla -tax ;;Pull x off of the stack -beq exit_inner_display -jmp inner_display -exit_inner_display: -inc $9 -inc $9 -tya -beq display_exit -jmp display -display_exit: - - -;;Copy Temporary Buffer -;;------------------------------------------------------------ -ldy #248 -copybuf: -dey -lda ($6),y -sta ($4),y -tya -bne copybuf - -dec $f -lda $f -beq reset_main -jmp mainloop - -;;Reset main counter -;;------------------------------------------------------------ -reset_main: -lda #7 -sta $f - -lda #$ff ;;Delay Count -sta $11 -delay: -ldy #$a0 -inner_delay: -nop -dey -bne inner_delay -dec $11 -lda $11 -bne delay - -;; init buffer -;; and clear screen -clrscr: -lda $fe -and $f -cmp #1 -beq clrscr ;We don't want a white background -ldy #$00 -ldx #$0 -cs_loop: -sta $200,x -sta $300,x -sta $400,x -sta $500,x -pha -lda #0 -sta ($6),y -sta ($4),y -pla -inx -dey -bne cs_loop - -;; Setup new pattern -;;------------------------------------------------------------ -inc $10 -lda $10 -and #3 -sta $10 -cmp #0 -beq pattern1 -cmp #1 -beq pattern2 -cmp #2 -beq pattern3 -cmp #3 -beq pattern4 - -pattern1: -ldy #114 -lda #1 -sta ($4),y -ldy #115 -lda #1 -sta ($4),y -ldy #116 -lda #1 -sta ($4),y -jmp mainloop - -pattern2: -ldy #113 -lda #1 -sta ($4),y -ldy #118 -lda #1 -sta ($4),y -jmp mainloop - -pattern3: -ldy #115 -lda #1 -sta ($4),y -jmp mainloop - -pattern4: -ldy #102 -lda #1 -sta ($4),y -ldy #128 -lda #1 -sta ($4),y -jmp mainloop - -;;Paint subroutine -;;------------------------------------------------------------ -paint: - pha - lda yl,y - sta $2 - lda yh,y - sta $3 - txa - tay - pla - sta ($2),y - rts - - ;; Y cord MSB -yh: - dcb $02, $02, $02, $02, $02, $02, $02, $02 - dcb $03, $03, $03, $03, $03, $03, $03, $03 - dcb $04, $04, $04, $04, $04, $04, $04, $04 - dcb $05, $05, $05, $05, $05, $05, $05, $05 - ;; Y cord LSB -yl: - dcb $00, $20, $40, $60, $80, $a0, $c0, $e0 - dcb $00, $20, $40, $60, $80, $a0, $c0, $e0 - dcb $00, $20, $40, $60, $80, $a0, $c0, $e0 - dcb $00, $20, $40, $60, $80, $a0, $c0, $e0 |
