I've been struggeling with the same problem for quite some time now. I only experience the problem on SX-64 (tested several).
I have been testing with RR+RR-Net and some test code.
When reading $de08 and $de09 (the RxTxData registers) something goes wrong. To my understanding reading $de09 should auto-increment the internal Data buffer counter of the RR-Net, so if you for some reason do NOT read that register when you "think" you do, you're in trouble and the result will be bytes swapped until the next BAD read.
According to Jens it's a clock related issue and I have been trying to figure out how to fix it in the SX.
One of my test programs looks something like this:
Code:
start:
sei
lda #$01
sta $de01
lda #$00
sta $d011
loop:
lda $de08
lda $de09
sta $d418
sta $d020
jmp loop
This should generate a blank screen with NO sound output on working systems. On systems with issues, you will hear clicking noises and see flickering on the screen. Somehow it sometimes works on faulty systems, but testing it 3-4 times while powercycling inbetween and waiting a couple of minutes will usually make it fail.
It seems that enabling the display and displaying full $d021 lines of alternating colours can make the problem even worse.
This little proggy makes weird songs on my SX machine and absolute silence on my C64c.
Edit: Come to think of it, the powercycling thing and the fact that it sometimes doen't make noise with my test proggy, may be because of whatever RAM/ROM/BUS value that gets read instead of the RR-Net register simply is or gets initialized to #$00 in those cases.
Further testing is definately needed, but you should consider if your HW is properly shielded.