| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
SID noise generator testing
yay!
one thing that'd be really nice to have in the VICE testprograms repo for regression testing would be one (or more :)) programs that check for various properties of the noise generator LFSR. now i tried a few things, and always run into one annoying problem - the damn thing doesnt seem to like being "reset" in any sort of way. which makes comparing with reference data kindof hard.
so my question to the SID wizard is - can you share some ideas please? whatever wizardry may reset the damn thing into a state so that after it it can be sampled and compared to some reference reliably would do the trick. |
|
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Doesn't the combined waveforms with noise make the LFSR shift in zeroes? (I'm not the wizard you're looking for) |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
wait until a pattern occurs, then consider it reset ? :P I guess it might take a LONG time :) no wizard either |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
please, no vague guessing, i've done that myself already :) |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
I was referring to: http://www.dekadence64.org/sidwav.txt |
| |
Jammer
Registered: Nov 2002 Posts: 1335 |
I based 2nd sid detection on noise generator in register copies and vice surprised me unpleasantly (on the other hand, funniest thing is that disabled vice sound was identified as no 2nd sid as well). |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
noise in resid seems to have various problems - hence the need for some test programs :) |
| |
Claus_2015
Registered: Oct 2012 Posts: 53 |
Chiming into the vague guessing: is it an option to simply wait for a specific sequence of 3 bytes or so? I would assume that there must be some sequences that are unique in the 23 Bit LFSR period. If you find them, you know where you are. If you did not find them after 2^23 steps, the noise generator is obviously wrong. |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1409 |
This thread from some folk reverse engineering various bits of SID behaviour from die shots looks pertinent?
http://forum.6502.org/viewtopic.php?f=8&t=4150&start=0
They move on to other parts of the SID before coming to any kind of definitive conclusion about how the LFSR is reset, or even how combining waveforms infects the state. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
AAAAAAAARRRRRGG GNGNGNGNG |
| |
Mixer
Registered: Apr 2008 Posts: 452 |
Considering what sort of tests are possible on c-64.
We can only put a value to some voice 3 register, wait, read something from env3 or osc3.
I tried noise mapping to certain osc values by setting a frequency, then using SounDemons combiwaveform reset, and then waiting for 2 rasterlines for certain OSC3 value to appear. If it did not occur, then change frequency. Obviously the purpose was to get a map for 126 cycle delay.
The resulting map looked different on different c-64 units, so, no universal map that way. However some values did not change between units. There may be something there worth studying.
A better way to study noise might be to do the same but then just wait until a value appears and record times when it does. A sequence of those occurrences could be used to determine where in the "noise" one is. If noise is chaotic then that obviously wont work. Based on what I've understood from the linked texts, there should be at least some short sequences that remain constant as Claus_2015 suggested. |
... 9 posts hidden. Click here to view all posts.... |
Previous - 1 | 2 - Next |