Excellent post just wish that Microprose would respond to it. I mean I
have the sim running very well but at times the occupancy is hovering
around 70% and to think Im losing some detail is very bad. Really
Geoff may be brilliant but he sure does it his way. Wonder if he gets
out often, ya know to see whats going on in the world of graphics.
Pierre PAPA DOC Legrand
Analysis of GP2's banked SVGA video code
A poster explained that GP2 used slow banked SVGA rather than VESA 2.0 linear framebuffer mode, which most users' cards could support, and criticised its frame rate and timing approach. Others noted text in the executable mentioning linear buffering and wondered if it was disabled. The thread also clarified the 12-lap qualifying limit messages.
Automated summary.
It really disturbs me that Microprose and/or Geoff Crammond are so far
removed from the current user-base that they don't know that most of us
either use UnivBE/SDD or have VESA 2.0 compliant video cards.
GP2 uses a BANKED SVGA mode, one intended for use with 16bit software.
The screen is broken up into 64k chunks so that 16bit hardware (AX,BX,etc
registers only) could access the entire screen. Switching between these
banks is very time consuming.
GP2 is a 32bit game. It uses DOS4GW (Rational's DOS extender). Machines
with 32bit hardware are capable of accessing the complete screen because
their registers exceed 64k (duh).
So, why does GP2 not use a linear frame buffer (ie non-banked video mode)?
does microprose think that nobody has hardware or software to work this way?
It doesn't make sense. The main reason this game is so slow in SVGA in
comparison to ICR2 (which i never liked, feels like ice skating), is
because ICR2 uses a linkable-UniVBE library, available from SciTech
Software for developers. It doesnt even require you to load UniVBE, it
is included in their INDYCAR.EXE.
Why can't microprose do this?
I think microprose made some hard-headed/living in the past decisions
regarding this game.
The fact that the game still works like F1GP1 in its frame rate routines
really irritates me. Processor occupancy times? Time-twisting?
Whatever happened to synching to the timer or vblank? Whatever happened
to dropping frames when the computer cannot keep up?
The current system sucks. You set your frame rate for a worst case
scenerio. Then you spend the rest of the time wasting your CPU, running
at 56% just because you think that maybe you'll be racing and 5 cars in
front of you will hit a sandtrap. Its stupid. It should run as many FPS
as it can, and drop frames. that way we'd have SMOOTH gameplay, lots of
FPS, and drop frames when it cant handle it WITHOUT warping time.
Occupancy ALWAYS automatically at 100%, unless you exceed the VBLANK rate
(typically 70hz or 72hz for SVGA).
Yes, i can live with not having rain. I can live with all the other
things they've left out or not done right. But on a TECHNICAL level, GP2
is way behind the times. I want more video modes, I want to be able to
select 360x480 if I want to. I want support for VESA 2.0 LFB modes.
Banking is for 286's. Most of all I want a proper FPS algorithm, not
this rehash from 1992.
Sure the graphic engine is impressive but the way it goes from it's
internal idea of what the display should be to actually delivering the
display is obselete. (anybody notice that 320x200 is not aspect-ratio
compensated? (640x480 is 1:1, 320x200 is 1:1.1 i believe) Things are
rather vertically stretched, which makes the VGA mode look HORRIBLE. (gp1
looks better in vga)
Now, anyone know how to add a clutch to my T1 (limited edition)? :)
I've already deleted my indycar directory and put its box away for
storage. :) This thing drives like a dream.
--
-------
Carlos Ribas
President
MalSoft
http://www.nol.net/~draconis
:
: Excellent post just wish that Microprose would respond to it. I mean I
Yeh, my dream situation would be to have a microprose rep reply to my
post with "yes, we know, a patch is coming out this week" but i doubt it
will ever happen.
: have the sim running very well but at times the occupancy is hovering
: around 70% and to think Im losing some detail is very bad. Really
: Geoff may be brilliant but he sure does it his way. Wonder if he gets
: out often, ya know to see whats going on in the world of graphics.
yeh, he should go hang out with micheal abrash and john carmack for a few
days...
-carlos
Very informative post we need more of them.
About the clutch: a cat from New Zealand (I forget his name) has a setup he
made that includes a swithched clutch which he was kind enough to furnish me
with a diagram for. I would imagine it would not be to difficult to make it
analog. Fitting it in with your pedal unit might be somewhat of a challenge
though. If you want it e-mail me and I will send it.
That's what it looks like. Maybe the graphics engine was written very early
on and Geoff didn't have time to change this. But more than 2 years
developing...??
No wonder Gp2's graphics performance stinks on my P6 200MHz. Every other
game I have that's graphics intensive runs really well with many textures
on, like ICR2, NASCAR, AH-64D Longbow...
It makes even less sense considering the minimum hardware requirements.
My sentiments exactly.
IMO, ICR2 and NASCAR's way of handling excessive processor loads is
superior than GP2. Having to exit and enter a race to adjust texture level
and target frame rate many times just to get a worst case of 100% Processor
occupancy at a track is really pitiful! What's worse is that each track is
different and you'll have to do this for each track.
So can I!
Yup, like paintkit, network play, etc... It's funny that the artists that
worked on Monaco seemed to have wasted their time with all the textures and
extact detail of the objects in Monaco when nobody can run with it on
without having your processor occupancy sky rocket in certain parts of the
track during a race.
I'm sure LFB mode would make a HUGE improvement on a P6 as NASCAR did on
mine.
Maybe John Wallace can pass this on to the developers for consideration on
their update/patch
.
===========================================================
Alex Fernandez
MTS
Lucent Technologies
No. Andover, MA
email:
tel: (508)960-6510
===========================================================
OK, I FINALLY got my copy of GP2 today, and love it. However, after using
it for a few hours, it does have distinctive similarities to GP1.
How much would it take to redo the video code for this 32-bit video
support, as opposed to the current and inefficient 16-bit stuff? Is this
something that a patch could be designed to fix or does this require a
substantial rewrite?
I would love to have the video portion optimized first, then the other
bells and whistles...
All in all, it brings back memories when my 386/33 was a beast, and could
run the game descently. Now with a P133, I can do SVGA, but not as good
as it theoretically should...
Thanks,
Ralph.
--
Ralph Schwarz,
Toronto, Canada.
Interesting post.
That's as I thought. I wasn't going to post until testing this (ie, setting a
very low framerate, getting the low PO, and still seing low framerate). If it
is as you say (and I have little doubt), this code needs to be seriously
rethought. I have by no means given up on the game, but this is a serious flaw
to me.
How about you do so too! (But if I may be so bold, a few less "sucks" may be
better received :-))
Dave
Quoted text (16 lines)
> >>GP2 uses a BANKED SVGA mode, one intended for use with 16bit software. > >>The screen is broken up into 64k chunks so that 16bit hardware (AX,BX,etc > >>registers only) could access the entire screen. Switching between these > >>banks is very time consuming. > How much would it take to redo the video code for this 32-bit video > support, as opposed to the current and inefficient 16-bit stuff? Is this > something that a patch could be designed to fix or does this require a > substantial rewrite? > I would love to have the video portion optimized first, then the other > bells and whistles... > All in all, it brings back memories when my 386/33 was a beast, and could > run the game descently. Now with a P133, I can do SVGA, but not as good > as it theoretically should...[snip]
: How much would it take to redo the video code for this 32-bit video
: support, as opposed to the current and inefficient 16-bit stuff? Is this
: something that a patch could be designed to fix or does this require a
: substantial rewrite?
:
: I would love to have the video portion optimized first, then the other
: bells and whistles...
:
[snip]
I thought that this was one of the reasons this game was sooooooooooo
late in coming out. They were working on optimizing the code so it
would run faster! Sometimes in programming, it wiser to "toss" the
offending code and start from scratch. Maybe, they should just toss
this bad code and start from scratch? It looks like they got all the
*** they're gonna get out of this turnip!
--
**************************** Michael E. Carver *************************
Upside out, or inside down...False alarm the only game in town.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=<[ /./. [- < ]>=-=-=-=-=-=-=-=-=-=-=-=-=-=
: >>
: >>GP2 uses a BANKED SVGA mode, one intended for use with 16bit software.
: >>The screen is broken up into 64k chunks so that 16bit hardware (AX,BX,etc
: >>registers only) could access the entire screen. Switching between these
: >>banks is very time consuming.
: >
:
: OK, I FINALLY got my copy of GP2 today, and love it. However, after using
: it for a few hours, it does have distinctive similarities to GP1.
:
: How much would it take to redo the video code for this 32-bit video
: support, as opposed to the current and inefficient 16-bit stuff? Is this
: something that a patch could be designed to fix or does this require a
: substantial rewrite?
that depends on how the game is currently coded. I would think it
wouldn't be very hard as i have converted some of my code in the past from
banked to LFB and all it took was removing the calls to change banks, and
changing to a diff vid mode at start.
: I would love to have the video portion optimized first, then the other
: bells and whistles...
yes, i so desperately want LFB video and a CORRECT fps/time algorithm.
:
: All in all, it brings back memories when my 386/33 was a beast, and could
: run the game descently. Now with a P133, I can do SVGA, but not as good
: as it theoretically should...
it looks to me like a lot of gp2's code is actually gp1's code
rehashed... maybe not but it has that feel.
: Thanks,
:
: Ralph.
-------
Carlos Ribas
President
MalSoft
http://www.nol.net/~draconis
[snip]
: yes, i so desperately want LFB video and a CORRECT fps/time algorithm.
[snip]
What I find interesting is the following "text" found in GP2.EXE:
Vesa Extensions using 32 bit linear buffering
with 32 bit banking
Is this just like the "weather" thing? They couldn't get it to work so
they just packaged it up and sent it on its merry way.
--
**************************** Michael E. Carver *************************
Upside out, or inside down...False alarm the only game in town.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=<[ /./. [- < ]>=-=-=-=-=-=-=-=-=-=-=-=-=-=
: [snip]
: : yes, i so desperately want LFB video and a CORRECT fps/time algorithm.
: [snip]
:
: What I find interesting is the following "text" found in GP2.EXE:
: Vesa Extensions using 32 bit linear buffering
: with 32 bit banking
:
: Is this just like the "weather" thing? They couldn't get it to work so
: they just packaged it up and sent it on its merry way.
see my reply to this same thing in another thread... gp2 specifically
does not use the lfb vid mode, at least according to their docs.
(yes)
--
-------
Carlos Ribas
President
MalSoft
http://www.nol.net/~draconis
Are there any avid hackers out there who would be willing to take a
peek at the code, and perhaps enable/disable routines to create a
speed increase?
-Kevin
P.s. I would be willing to give it a try, but I don't have a
decompiler....
Quoted text (13 lines)
>[snip] >: yes, i so desperately want LFB video and a CORRECT fps/time algorithm. >[snip] >What I find interesting is the following "text" found in GP2.EXE: > Vesa Extensions using 32 bit linear buffering > with 32 bit banking >Is this just like the "weather" thing? They couldn't get it to work so >they just packaged it up and sent it on its merry way. >-- >**************************** Michael E. Carver ************************* > Upside out, or inside down...False alarm the only game in town. >=-=-=-=-=-=-=-=-=-=-=-=-=-=-=<[ /./. [- < ]>=-=-=-=-=-=-=-=-=-=-=-=-=-=On Fri, 2 Aug 1996 12:12:02 +0300, Miro T Wikgren
You get the first after 11 qualifying laps, the second if you don't
come in at the end of your 12th.
Richard
Quoted text (9 lines)
>I also found these texts in GP2.EXE: >(in the list of texts that can be displayed in your car, together with >stuff like ENGINE PROBLEM and OIL LEAK): >MUST COME IN NOW! >TIMES DISQUALIFIED! >Has anyone seen those before?Yes, during qualifying. "MUST COME IN NOW!" comes up when you start
the 12th lap. "TIMES DISQUALIFIED" if you don't return to pits at the
end of that lap.
Nicola Salmoria
You will see these messages in championship races only
Bullshit. MUST COME IN NOW! means you are on Lap 11 or 12 (can't
remember which) of qualifying, and TIME DISQUALIFIED! means you
haven't come in after 12 laps of qualifying.
I have had the `TIMES DISQUALIFIED` message myself, when I have done over
the twelve allowed laps in my chase for Pole Position.
-----------------------------------------------------------------
Southend, Essex. UK
-----------------------------------------------------------------
Quoted text (12 lines)
> I also found these texts in GP2.EXE: > (in the list of texts that can be displayed in your car, together with > stuff like ENGINE PROBLEM and OIL LEAK): > MUST COME IN NOW! > TIMES DISQUALIFIED! > Has anyone seen those before? > -- > Miro.I would be willing to ..but let me..get it first..!!! ; )
Just joking..hehehe
Working on it..
>Drive all 12 laps during qualifying, in the last lap your pitcrew tells
>you "MUST COME IN NOW!", if you don't you will soon see "TIMES
>DISQUALIFIED!"
Ya, that has happened to me twice- first time I didn't know what
happened because I failed to see the message (and thought it was 12
full (no warmup/pit) laps), second time I saw the message, but
*forgot* at the last moment to turn in to the pitts! Man, that hurt!
I think something should blink, instead of the subtle little message
on the dash. What does anybody thing about MP putting critical pit
comms right in front of our faces, like the "Riding with Jean Alesi"
message? After all, if the pit crew called me, I'd hear it, wouldn't
have to look anywhere.
: I think something should blink, instead of the subtle little message
: on the dash. What does anybody thing about MP putting critical pit
: comms right in front of our faces, like the "Riding with Jean Alesi"
: message? After all, if the pit crew called me, I'd hear it, wouldn't
: have to look anywhere.
or better yet, have it play an audio sample too.. <-- shouldnt be that hard
-------
Carlos Ribas
President
MalSoft
http://www.nol.net/~draconis
>Ya, that has happened to me twice- first time I didn't know what
>happened because I failed to see the message (and thought it was 12
>full (no warmup/pit) laps), second time I saw the message, but
>*forgot* at the last moment to turn in to the pitts! Man, that hurt!
That's what the "Q" key is for <g>
I think that is one of the non-implemented audible messages that can
be found in the sound files. Here's hoping for an update disk <g>
Richard
>>I think something should blink, instead of the subtle little message
>>on the dash. What does anybody thing about MP putting critical pit
>>comms right in front of our faces, like the "Riding with Jean Alesi"
>>message? After all, if the pit crew called me, I'd hear it, wouldn't
>>have to look anywhere.
I find these messages extremely distracting. A number of times I've
nearly gone into a spin because a message at the top of the screen
distracted me. I'm looking at the road, not the sky.
Lets have sampled messages with a text option. tthey may still
distract but at least I'll still be looking the right way :)


































