mirror of
https://github.com/holub/mame
synced 2025-05-20 04:39:11 +03:00
![]() This used a combination of clues: - The (68k) firmware for the turtle beach wavefront card tries to fit (scaler+1)*(preset+1) to an expected value the best it can, but limits the scaler values to 1..31. - The igs games use 122 for the scaler, the cave games 148. The currently wanted frequencies at the input of the counter are around 9700Hz for igs and 6200Hz for cave. 148/122=1.21 while 9700/6200=1.56. -> The top 3 bits may be an exponent. As it happens, 122 = 3*32 + 26 148 = 4*32 + 20 (26+1) << 3 = 216 (20+1) << 4 = 336 336/216 = 1.56 -> Once you have that, we only need to main divider. 33868800 (main clock) / 216 (igs div) / 9700 (igs expected) = 16.16 That's close enough to 16 for our expected frequencies approximations. That gives us a post-scaler frequency of 9800Hz for igs 6300Hz for cave And a main (cave changes the preset from time to time) in-game final frequency of 62.82051Hz for igs (measured 62.8206 at the pin of the circuit in the past) 50Hz for cave (exactly, isn't that beautiful ?) So I'm pretty sure the final formula is correct. I'm not sure what's left to get rid of the imperfect sound flag. |
||
---|---|---|
docs | ||
src | ||
.gitattributes | ||
makefile |