;license:MIT ;(c) 2019-2020 by 4am/qkumba ; ; randomized fade-to-black routine customized for a specific piece of cover art ; with 75 fill rectangles ; !cpu 6502 !to "build/COVERFADE",plain *=$6000 !source "src/fx/macros.a" +READ_ROM_NO_WRITE ;init RNG lda $C050 and #$7F bne + lda #$01 + sta @rnd+1 sta @exit+1 lda #$20 sta $e6 ;iterate @loop ldy @rnd+1 tya lsr bcc + ;feedback polynomial forms #$41 for period of 127 eor #$41 + sta @rnd+1 cpy #75+1 bcs + lda width - 1, y sta $fd lda height - 1, y sta $fe lda startx - 1, y sta $ff lda starty - 1, y -- pha ldx #0 ldy #0 jsr $f411 ;hposn lda #0 ldx $fd ldy $ff - sta ($26), y iny dex bne - pla clc adc #1 dec $fe bne -- lda #80 sec @wait1 pha @wait2 sbc #1 bne @wait2 pla sbc #1 bne @wait1 + @rnd lda #0 @exit cmp #1 bne @loop +READ_RAM1_WRITE_RAM1 rts width !byte 02, 03, 03, 05, 03, 03, 03, 03 !byte 03, 03, 03, 03, 04, 04, 03, 02 !byte 03, 03, 04, 07, 03, 02, 03, 03 !byte 03, 03, 03, 03, 03, 03, 03, 03 !byte 02, 03, 07, 04, 05, 03, 05, 05 !byte 03, 04, 06, 07, 04, 03, 03, 03 !byte 03, 02, 04, 05, 03, 03, 04, 06 !byte 03, 02, 04, 06, 03, 03, 03, 03 !byte 04, 03, 02, 03, 02, 03, 03, 03 !byte 03, 03, 02 height !byte 12, 16, 26, 13, 15, 09, 24, 18 !byte 11, 23, 17, 15, 13, 20, 22, 13 !byte 16, 12, 21, 18, 10, 15, 10, 21 !byte 17, 12, 12, 12, 17, 12, 08, 26 !byte 18, 13, 44, 23, 21, 19, 17, 30 !byte 11, 10, 25, 18, 07, 14, 13, 15 !byte 11, 12, 28, 16, 15, 17, 35, 17 !byte 07, 13, 12, 06, 11, 12, 19, 15 !byte 11, 08, 13, 07, 16, 12, 24, 16 !byte 23, 22, 11 startx !byte 000, 000, 001, 000, 000, 000, 000, 002 !byte 003, 001, 004, 003, 003, 003, 006, 007 !byte 005, 006, 006, 007, 008, 009, 008, 009 !byte 010, 011, 011, 012, 012, 012, 013, 014 !byte 015, 015, 014, 016, 017, 018, 017, 018 !byte 020, 020, 021, 021, 022, 022, 024, 025 !byte 024, 026, 027, 026, 028, 029, 028, 027 !byte 030, 031, 031, 032, 034, 033, 033, 033 !byte 032, 033, 034, 035, 036, 037, 037, 037 !byte 037, 037, 038 starty !byte 000, 016, 042, 076, 103, 153, 167, 003 !byte 027, 123, 049, 098, 152, 172, 008, 036 !byte 139, 119, 071, 154, 101, 131, 181, 009 !byte 040, 070, 115, 134, 091, 177, 008, 030 !byte 068, 109, 128, 169, 003, 031, 058, 091 !byte 150, 179, 117, 072, 025, 046, 002, 151 !byte 178, 095, 008, 046, 069, 094, 118, 173 !byte 040, 018, 058, 003, 015, 034, 079, 106 !byte 147, 163, 178, 133, 051, 178, 148, 106 !byte 073, 022, 000