Go to file
Olivier Galibert abf9aa4b67 ics2115: Fix the timer [O. Galibert]
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.
2010-12-19 19:27:38 +00:00
docs Added support for OSD-generated fonts. The OSD is queried first to see 2010-10-24 00:16:54 +00:00
src ics2115: Fix the timer [O. Galibert] 2010-12-19 19:27:38 +00:00
.gitattributes new not working 2010-12-03 19:39:33 +00:00
makefile Made depend creation target independent (no whatsnew) 2010-09-28 07:33:09 +00:00