what is best achievable bit error rate with RAD? #54
Replies: 2 comments 7 replies
-
I know this is not conlusive but I had errors happening constantly on both of my C64s, these errors were causing several demos and Sonic to crash pretty much all of the time, until Frntc suggested changing timings in this thread... |
Beta Was this translation helpful? Give feedback.
-
I'll write a final comment to close this out. I've spent a fair number of hours looking at this and my conclusion is that my Raspberry Pis--a Zero 2W and a 3B--are generally not able to keep up with the C64 under all circumstances when running v0.12 of the RAD firmware. |
Beta Was this translation helpful? Give feedback.
-
I assembled a RAD that is perfectly usable for nuvies, Sonic, etc. but it has a non-negligible mean time between errors on the order of minutes to hours. These are errors that maybe most people won't care about, and half are errors in verify of otherwise good data, but I'm curious about RAD as a general platform for DMA and other experiments so I'm exploring a bit. Some errors I can greatly suppress by disabling VIC DMA and by using ROM addresses on the C64 side, so I think these types can ultimately be conquered by tweaking the timing config. However, there are some errors that I call "first bytes" errors which at first glance do not seem sensitive to what's happening on the bus. These errors occur only in the first byte after a switch to a different REU bank; e.g. if I am verifying bank $ab and then start verifying bank $ac the probability of getting an error on $ac::0000 is much higher than finding an error anywhere else within the whole 64k of $ac. Half of these errors are real (actual wrong bytes in RAD) and half are not (RAD contents correct but verify fails) so I guess there is the expected symmetry between the stash and verify error rates when changing to a different bank. There is a line of RAD code that tries to detect if the simulated REU is being tested by an external program and it vetoes the verify error...however, I do know from inspecting the REU dumps that around half the time it was the stash that failed and a verify error was appropriate. Sorry for the long setup, but my question is "Is this an unavoidable consequence of the Pi's cache performance, or should I be searching elsewhere for a root cause?" Timing still can't be ruled out (e.g. CPU write to $df04-06 not sampled correctly) and before I spend 100 hours looking under the wrong rocks ;) I wonder if you and the community might share your experiences.
Beta Was this translation helpful? Give feedback.
All reactions