4cade/src/fx/fx.dgr.fizzle.a

53 lines
1.1 KiB
Plaintext
Raw Normal View History

;license:MIT
;(c) 2017-2021 by qkumba/4am/John Brooks
;
!cpu 6502
!to "build/DGR.FIZZLE",plain
*=$6000
2021-12-13 03:13:46 +00:00
ldx #(end-start+1) ; copy LFSR code to zero page
- ldy start-2, x
2021-12-13 16:48:53 +00:00
sty $FE, x
2021-12-11 05:56:05 +00:00
dex
2021-12-12 19:05:36 +00:00
bne -
jmp loop
2021-12-11 05:56:05 +00:00
start
2021-12-13 16:48:53 +00:00
!pseudopc 0 {
2021-12-11 05:56:05 +00:00
;X=0
;Y=0
loop txa
loop1 eor #$05 ; LFSR form 0x0500 with period 2047
2021-12-13 03:13:46 +00:00
wait inx
bpl wait
2021-12-11 05:56:05 +00:00
tax
2021-12-13 20:51:08 +00:00
loop2 txa
2021-12-12 21:56:51 +00:00
ora #$04
2021-12-12 19:05:36 +00:00
sta <dst+2
2021-12-13 03:13:46 +00:00
txa
2021-12-13 20:51:08 +00:00
clc
2021-12-13 03:13:46 +00:00
adc #$7C
2021-12-13 16:48:53 +00:00
sta <src+2
sta $C004
2021-12-13 20:51:08 +00:00
bmi src
sta $C005
2021-12-12 19:05:36 +00:00
src lda $FD00, y ; SMC high byte
dst sta $FD00, y ; SMC high byte
2021-12-13 20:51:08 +00:00
next txa
2021-12-11 05:56:05 +00:00
lsr
tax
tya
ror
tay
bcc loop2
bne loop
bit $C000
bmi exit
txa
bne loop1
2021-12-13 03:13:46 +00:00
exit lda $7C00 ; last lousy byte (because LFSR never hits 0)
2021-12-11 05:56:05 +00:00
sta $0400
rts
}
end