Jump to content
IGNORED

Pole Position won't steer


Master Phruby

Recommended Posts

I've seen the same behavior with Pole Position and my Atarimax cartridge. It seems odd to me that the cartridge would affect that one game in this way, so I'm inclined to suspect a bad dump of the game, although I have experienced joystick problems with several of the conversions from the 800 as well.

 

I bought an original Pole Position cartridge specifically to test for this problem, but I haven't done so yet. I'll bring the 5200 back out tonight.

  • Like 1
Link to comment
Share on other sites

It's good to know that the original cartridge works. That could mean one of two things: the Atarimax cartridge hardware itself somehow causes this game to behave differently (but only when the joystick is used), or else the copies we've been trying are all bad. Perhaps the copies of the ROM that have been passed around were all derived from the same source. I'll have to try dumping my own cartridge and comparing the checksums.

  • Like 1
Link to comment
Share on other sites

Huh, so my 5200 Pole Position is doing the same thing: the TrakBall works fine with both versions of the game, but the joystick works only with the original cartridge. If I try the joystick with the AtariMax cartridge, the car steers constantly to the left.

 

I've begun building a quick little 5200 cartridge dumper (I've wanted one for a while anyway for other purposes). I'll try dumping my original and see if that gives different results.

  • Like 3
Link to comment
Share on other sites

I did extensive testing with pole position in atarixlbox while I was working on the emu and I'm pretty sure at least one of the ROM dumps out there is ok.

 

I had a similar situation where the game was thinking the track ball was plugged in because the simulated responses from the controller were incorrect. Once I corrected the responses from the controller (effectively enabling analog control) the game worked properly.

 

I'll dig through my notes and see if I had any other info.

Link to comment
Share on other sites

My guess is it's an uninitialized variable, i.e. PP has a variable which it sets when it's detected a track ball - but it's not initialising it. It gets away with it on the real cart, where RAM will contain whatever it's power up value is, plus whatever the BIOS writes. Running via Atarimax RAM will contain data that was used for the menu, the loader etc...

Link to comment
Share on other sites

Found this quote in another thread..

 

"Pole Position does the detection when you turn on the machine with the cartridge plugged in."

 

So it may be like Paul Lay said..

 

Maybe a hacked/hexed pole position image will do the trick.

Link to comment
Share on other sites

It's not an uninitialized variable, it is the PP joystick detection code:

6011: A9 00             LDA #$00
6013: 8D 1F C0          STA CONSOL
6016: A5 11             LDA $11
6018: C9 E4             CMP #$E4
601A: F0 04             BEQ $6020

It's disabling the joystick and expecting to read back a POT0 value of $E4 if one is connected (or rather a track ball is not connected). That logic is correct, what's wrong is that the shadow POT0 location ($11) is not updated until the next vertical blank. So rather than reading the POT0 value with the joystick disabled, it is reading the POT0 value from whatever the previous state was.

 

When I tried it on my Atarimax Ultimate SD I did not initially see the problem. Only after I enabled the "Game Quick Start (bypass BIOS)" option (from the * key menu) did it occur.

 

So that is one thing to try, disable the Quick Start option if you want to run the original ROM. If you've already tried that and it didn't work perhaps you have older Atarimax firmware. My version numbers are:

hardware version  20110115
bootflash version 20110115
menu version      20110115
firmware version  20130504

I added a bit of extra start up code to disable the joystick and wait a few vertical blanks. This means the shadow POT0 location already contains the disabled value by the time it gets to the dodgy detection code. This was ok on my Atarimax with Quick Start enabled.

pole.bin

  • Like 9
Link to comment
Share on other sites

It's not an uninitialized variable, it is the PP joystick detection code:

6011: A9 00             LDA #$00
6013: 8D 1F C0          STA CONSOL
6016: A5 11             LDA $11
6018: C9 E4             CMP #$E4
601A: F0 04             BEQ $6020

It's disabling the joystick and expecting to read back a POT0 value of $E4 if one is connected (or rather a track ball is not connected). That logic is correct, what's wrong is that the shadow POT0 location ($11) is not updated until the next vertical blank. So rather than reading the POT0 value with the joystick disabled, it is reading the POT0 value from whatever the previous state was.

 

When I tried it on my Atarimax Ultimate SD I did not initially see the problem. Only after I enabled the "Game Quick Start (bypass BIOS)" option (from the * key menu) did it occur.

 

So that is one thing to try, disable the Quick Start option if you want to run the original ROM. If you've already tried that and it didn't work perhaps you have older Atarimax firmware. My version numbers are:

hardware version  20110115
bootflash version 20110115
menu version      20110115
firmware version  20130504

I added a bit of extra start up code to disable the joystick and wait a few vertical blanks. This means the shadow POT0 location already contains the disabled value by the time it gets to the dodgy detection code. This was ok on my Atarimax with Quick Start enabled.

Thanks Paul.

Link to comment
Share on other sites

Thanks Paul, your version is working great on mine as well. There were some pole position hacks in the hack section to add new tracks and also hacks that added new tracks but also sped up the game as well. Is there any chance of getting these to work with a joystick also? Here's a link to the thread

http://atariage.com/forums/topic/120642-pole-position-x-courses-hacked-to-a-5200-rom/

 

Thanks,

Mike

Link to comment
Share on other sites

Thanks Paul, your version is working great on mine as well. There were some pole position hacks in the hack section to add new tracks and also hacks that added new tracks but also sped up the game as well. Is there any chance of getting these to work with a joystick also? Here's a link to the thread

 

http://atariage.com/forums/topic/120642-pole-position-x-courses-hacked-to-a-5200-rom/

 

Thanks,

Mike

 

There seem to be quite a lot of them! If based on the original cart then they should all fix up in the same fashion - I'll take a look later in the week.

 

Paul

  • Like 1
Link to comment
Share on other sites

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...