Jump to content
IGNORED

Auto Racing Original Steering


Recommended Posts

On 5/29/2020 at 4:36 PM, BSRSteve said:

When you say "original steering", which mode are you meaning. I believe that the "development history" currently on the BlueSkyRangers site, which was written by Keith and brought straight across from the intellivsionlives site does not have it correct, but I have not gone back to fix it yet.

When I analyzed the ROM images, I came to the same conclusion.

 

Lots of posts starting about here:

 

 

 

Lots of low level tidbits here: 

 

 

Evidence that the Real Steering Only version is newer:

  • Splash sound effect when hitting water.
  • More sophisticated handling for driving out of water.
  • Two grass "depths" that actually work.  (Support is in both versions, but it works more effectively in the Real Steering Only version.)
  • More responsive/sophisticated controller input handling.  The "real steering" hidden in the Intuitive/Directional dual-mode version was more primitive.
  • Game ending re-enables the EXEC event loop (and therefore allows the screen to blank when idle).
  • Dead code in the Real Steering Only version left over from the Intuitive/Directional version.
  • Generally more optimized, clever code sequences.

 

At least the part about a row with no trees has been confirmed.  (The checkerboard bits are "tall grass", exposed by a ROM patch.)

autorace_loop.gif.2a8c8d19b7750fde84a61770dcef25a6.gif

Edited by intvnut
cleanups/consistency
  • Like 3
Link to comment
Share on other sites

20 hours ago, intvnut said:

At least the part about a row with no trees has been confirmed.  (The checkerboard bits are "tall grass", exposed by a ROM patch.)

autorace_loop.gif.2a8c8d19b7750fde84a61770dcef25a6.gif

I recall doing this as a kid in the '80s

 

i don't remember the tall grass, but it has been a very long time.

 

Maybe there is more than one endless path?

  • Like 1
Link to comment
Share on other sites

2 minutes ago, fdr4prez said:

I recall doing this as a kid in the '80s

 

i don't remember the tall grass, but it has been a very long time.

 

Maybe there is more than one endless path?

If you had the "intuitive / screen-directional" steering version, the tall grass slows your vehicle down by a lot less than the "realistic steering" version does.

 

Also, in the regular game, that grass looks the same as any other grass.  I just have it shaded to make it obvious where it exists.

  • Thanks 1
Link to comment
Share on other sites

On 6/15/2020 at 4:58 AM, intvnut said:
  •  
  • Game ending re-enables the EXEC event loop (and therefore allows the screen to blank when idle).

Does this mean Auto Racing doesn't use the exec event loop during gameplay.  I sometimes call it the exec game engine, maybe not an appropriate term. 

 

Do you happen to know what frame rate Auto Racing runs at.  I read exec games drop to 15fps when scrolling is involved.

Link to comment
Share on other sites

5 hours ago, mr_me said:

Does this mean Auto Racing doesn't use the exec event loop during gameplay.

My statement only applies to the game ending.  The original game ending falls into an infinite loop, as opposed to following the usual EXEC convention of returning to the EXEC.  If I'm not mistaken, the net result is that the EXEC won't blank the display after a sufficient idle period in the first version.  Someone will have to check for me, since I don't have the time to play a game right now.

 

The EXEC is structured primarily as a series of callbacks into your game.  You set up timer processes, object dispatches, etc. that get called by the EXEC as appropriate.  Auto Racing is no exception.  It does most of its work on one or two timer driven tasks.  (2 for intuitive/directional, 1 for realistic-only.  The latter merged the two.)

 

The EXEC's default model expects most game code—basically anything outside a replacement interrupt handler—to run in a "dispatch context."  EXEC calls that block effectively implement a yield by "returning to your caller's caller," making it even funkier.  For example, if you call the EXEC for numeric input from a keypad, you're really yielding, and falling back into the EXEC idle loop. 

 

For example: Decimal input blocks until the user inputs a number.  When you call it, it sets up a special controller dispatch to collect digits, and "returns to caller's caller" to fall into the EXEC idle loop.   As the player types digits, the keypad dispatch collects them.  Once the keypad dispatch sees "ENTER", it "returns" to you by clearing the special controller dispatch and branching after the original call site.  (Again, still in a "dispatch" context.)  

 

5 hours ago, mr_me said:

Do you happen to know what frame rate Auto Racing runs at.  I read exec games drop to 15fps when scrolling is involved.

It steals one interrupt every tick.  So, at the fastest speed setting (DISC), it drops to 15Hz.  The game speed in location $103 is the same (3), but the game itself steals an interrupt from the EXEC by rewriting the vector at $100-$101 every tick, for one interrupt.

Edited by intvnut
clarify how decimal input works as an example
  • Like 1
Link to comment
Share on other sites

  • 1 year later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...