rec.autos.simulators

N2 renddma with Verite, Tyan, and Cyrix, etc

Ken Welzy

N2 renddma with Verite, Tyan, and Cyrix, etc

by Ken Welzy » Sun, 02 Feb 1997 04:00:00

I was wondering if anyone knows the story of what's going on with the
problem with running the DMA version of N2 with the Reactor (or other
Rendition board) with a Cyrix.  I have a P166+ on a Tyan TC I, and I get
the "jerky" controls behavior with N2 (and just pixel dust with ICR2)
that others have mentioned.

I heard (from this NG) that Intergraph was going to see Tyan about
something related to this(?), but the problem is with the Cyrix, not
just the Tyan MB, right?

Anyway, if anyone knows what's going on in with this issue, or if they
have gotten the DMA to work with Cyrix/Tyan, please pass it on.  Is it
Papy's "responsibility", or Intergraph's (and other video), or Cyrix's,
or am I never to get beyond running "n2rend" or "indysafe"?  Any patches
possible?

One last thing - I remember someone writing that with Rendition board,
one should not use "auto" on graphics options.  Is this true, and if so
why?  Is the "switching" on/off of an option going to slow things, or is
everything going to run slower even when no switching is occurring?

Thanks!

Jim Sokolo

N2 renddma with Verite, Tyan, and Cyrix, etc

by Jim Sokolo » Sun, 02 Feb 1997 04:00:00


>I was wondering if anyone knows the story of what's going on with the
>problem with running the DMA version of N2 with the Reactor (or other
>Rendition board) with a Cyrix.  I have a P166+ on a Tyan TC I, and I get
>the "jerky" controls behavior with N2 (and just pixel dust with ICR2)
>that others have mentioned.

>I heard (from this NG) that Intergraph was going to see Tyan about
>something related to this(?), but the problem is with the Cyrix, not
>just the Tyan MB, right?

The problem is with the Cyrix chip not being a Pentium (see below).

Here's the problem as best as I understand it:
A joystick is a "polled" device (you reset it, and spin in a loop
doing nothing but counting until the game card reports the capacitor
is chargerd; the longer your CPU sat there spinning, the more
resistance the joystick had and the higher the "count" (and from that,
you get the position))

When you put DMA into the mix, the CPU doesn't get as predictable
access to the game card (because DMA is taking control of the bus some
of the time), and the counts get a little off. The solution is to use
the Pentium instruction counter if available. This doesn't get skewed
by DMA like the loop count does. So, we query the CPU at the start of
the program, and if it says it's a "Pentium", we can use the accurate
joystick routines, and if it doesn't say "Pentium", we have to fall
back to the less accurate routines.

Your Cyrix chip doesn't report "Pentium", so we use the less accurate
routines. If you aren't using DMA, the less accurate routines are
"accurate enough" and everything is fine (except for your framerate).
If you are using DMA, framerate is great, but the joystick returns
unacceptable values...

---Jim Sokoloff, Papyrus

Mike Radl

N2 renddma with Verite, Tyan, and Cyrix, etc

by Mike Radl » Mon, 03 Feb 1997 04:00:00


>A joystick is a "polled" device (you reset it, and spin in a loop
>doing nothing but counting until the game card reports the capacitor
>is chargerd; the longer your CPU sat there spinning, the more
>resistance the joystick had and the higher the "count" (and from that,
>you get the position))

>When you put DMA into the mix, the CPU doesn't get as predictable
>access to the game card (because DMA is taking control of the bus some
>of the time), and the counts get a little off. The solution is to use
>the Pentium instruction counter if available. This doesn't get skewed
>by DMA like the loop count does. So, we query the CPU at the start of
>the program, and if it says it's a "Pentium", we can use the accurate
>joystick routines, and if it doesn't say "Pentium", we have to fall
>back to the less accurate routines.
><snip>

Hmmm...that reminds me...I have a Pentium166 on a Gigabyte GA585HX
mother board with an Ensoniq sound board on the ISA bus. I use the game
port on the sound board. Gigabyte recommends running the ISA bus at
PCICLK/4. When I use the faster setting (PCICLK/3) my steering controller
has a wider range when I calibrate it with NCR1 or NCR2-Renddma. It also
*feels* a little smoother when I'm driving. Any Idea why that happens?


Jim Sokolo

N2 renddma with Verite, Tyan, and Cyrix, etc

by Jim Sokolo » Mon, 03 Feb 1997 04:00:00


>Hmmm...that reminds me...I have a Pentium166 on a Gigabyte GA585HX
>mother board with an Ensoniq sound board on the ISA bus. I use the game
>port on the sound board. Gigabyte recommends running the ISA bus at
>PCICLK/4. When I use the faster setting (PCICLK/3) my steering controller
>has a wider range when I calibrate it with NCR1 or NCR2-Renddma. It also
>*feels* a little smoother when I'm driving. Any Idea why that happens?

Well, I can think of two things: Your PCI bus speed is 33MHz, 33/4 is
8.25, which is pretty close to the original spec of 8MHz for the ISA
bus. (Most halfway modern ISA cards can handle more than 8MHz
clock...) That's probably why Gigabyte recommends using PCI/4.

33/3 is 11MHz, which will cause the ISA bus transactions to take less
time. (And if the hardware can support it without glitches, it will
leave more time for the CPU to have control of the bus and do its
work.)

On your machine in N2, we should be using the RDTSC Pentium
instruction, so I wouldn't think it should affect the calibration
range reported...

Bottom line, if the 11MHz ISA bus works fine with your hardware and
you like how your games "feel" more, use that... :-)

---Jim Sokoloff, Papyrus

Mike Radl

N2 renddma with Verite, Tyan, and Cyrix, etc

by Mike Radl » Mon, 03 Feb 1997 04:00:00



>>> When I use the faster setting (PCICLK/3) my steering controller
>>>has a wider range when I calibrate it with NCR1 or NCR2-Renddma.

>Well, I can think of two things: Your PCI bus speed is 33MHz, 33/4 is
>8.25, which is pretty close to the original spec of 8MHz for the ISA
>bus.<snip>

>On your machine in N2, we should be using the RDTSC Pentium
>instruction, so I wouldn't think it should affect the calibration
>range reported...

Oops! My mistake. The range doesn't change using N2. It only occurs
using N1. Must have been the "feel". I guess N1 uses the "loop" method
of calibration.

Thanks,



rec.autos.simulators is a usenet newsgroup formed in December, 1993. As this group was always unmoderated there may be some spam or off topic articles included. Some links do point back to racesimcentral.net as we could not validate the original address. Please report any pages that you believe warrant deletion from this archive (include the link in your email). RaceSimCentral.net is in no way responsible and does not endorse any of the content herein.