sieve: 248 cycles, highest rc is 252 ... First attempt at a different approach. The single cycles at Attack=0 should be doable by using an INC instruction, but that relies on SID reading zero. Not sure if this is safe?
lda #$0f sta $d405 ldx #$00 sta $d404 stx $d404 sta $d404 stx $d404 sta $d404 stx $d404 sta $d404 stx $d404 sta $d404 stx $d404 sta $d404 stx $d404 sta $d404 stx $d404 sta $d404 stx $d404 sta $d404
That's just an illustration, of course, because we need to get them nine cycles apart.
Reading the SID will get you the last value that was on the bus, which is a VIC fetch. You could try to time the code so the VIC fetches a zero at the right moment.