Jump to content
IGNORED

Pole Position - now with speech (WIP)


Rybags

Recommended Posts

A little. I made a modified version for debugging.

 

Seems that the freeze/super slow issue might be caused by the VBlank interrupt routine (the game's one) not being called - just missing one seems enough to throw the whole thing out.

At least, that's what I suspect most. I did a version which allowed you to hold Shift to force it to skip the VBD routine, and it produced the exact same result as the intermittent problem that occurs with the other one.

 

So... I have to resolve that issue. I've already tried the avenue of having the main VBlank take over what the OS does, and call the PolePos VBD routine regardless of whether CRITIC is set or an IRQ is being serviced. All that did was seem to reduce the frequency of the freezing.

 

I could go the alternate route of just taking over the entire machine except for the DLIs which change colours etc. but I don't want to resort to that. Part of the appeal of having digitized sounds is to have them concurrent with other stuff, ie - the scrolling message.

 

Even though it does have to be delayed until the music finishes, which does diminish it a bit.

 

 

Also, since there seems to be lots of mods already out there, and the 5200 version, I want to build it such that it is seperate from the main program, and just applies patches to mod it, which should make it easier to incorporate with those other versions.

Link to comment
Share on other sites

  • 1 month later...

In the 5200 Berzerk, RS Baseball & Sinistar the screen has to freeze for the voice to work. Prepare to Qualify banner is still moving when the voice is activated - perhaps too much for 16k RAM to handle. Kennedy Approach has multiple on-screen movements with speech but I think that's like 64k RAM (not transferable to the 5200).

 

Slight Fuji graphix hak.

post-17239-1228156110_thumb.png

ppos20_t6_fuji.zip

Link to comment
Share on other sites

I plan to get back onto this shortly.

 

As I've stated, there's no real problem with CPU cycles, just with the VBlank being skipped on some occasions which causes the game to go kinda crazy.

 

A 5200 version should be possible, although of course that would mean a 32K cartridge there. Some RAM is needed regardless of version since I'm using some self-modifying code although it could probably be reduced to a bare minimum if necessary.

 

Regardless of where the speech occurs, lots of stuff is going on anyway. There is a DLI that runs the entire height of the road - VScrol and colour registers are hit every scanline in that period. It's also been altered to continue the speech playback in that period.

Link to comment
Share on other sites

ppos20.zip

 

A work in progress at the moment. Only the "Prepare to qualify" speech at this stage.

 

I've found the best method of getting good samples from the arcade original is to just run the game and Record Audio from MAME, rather than ripping from the ROM image.

So, I've done that - only problem being that you get some music in the "Great driving, you've qualified to race".

 

So far as getting the samples to work on the A8 - I've converted them to 4 KHz, 4 bits. The originals are only 2 KHz 8 bit, so there's not a huge deal of difference.

 

But...

Pole Position on the Atari uses some rather large DLIs, and at the moment the samples don't sound so great. The solution here will likely be to enable IRQs within the DLI, which will need some hacking of the actual game code.

The samples are played back with a Pokey Timer 1 interrupt. I've found that stealing the Immediate IRQ vector temporarily is a more efficient way to do things... using the Timer vector itself was a bit too slow.

 

I've also had issues with lockups - this example is just an early test, so might lock up occasionally - just press Reset and it'll run again. It's an unmodified copy of the cracked RAM-based cart image I've had for 20+ years.

 

The game code itself isn't modified in any way ATM - I've used a VBlank Immediate routine (the game only uses deferred VBlanks).

The routine checks a few RAM locations which hit specific values at times when the speech is needed. Not the most elegant way, but it'll do for the moment.

I've also got it changing colours - that's just for debugging and to let you see when the samples are being played.

 

It doesn't sound to good at all in my emulator - might be best to try on real hardware. Load with BASIC disabled. It also loads from DOS on a real machine, and should work if you put it on a Bin-Load menu disk.

I would buy it when it's done on in cart form. :)

Link to comment
Share on other sites

I don't plan on selling - adding the speech is only a minor mod in the scheme of the game.

 

Once I've got it to an acceptable stage, I'll be just uploading everything, so that others can also port it to the 5200 as well as the numerous other modded versions of the existing game.

  • Like 1
Link to comment
Share on other sites

  • 9 years later...

No, I got it to a point and other stuff took over, plus it has an annoying bug (see later).

This is before Altirra and before I started with decent reverse-engineering tools. So it was a bit of a kludge-o-matic patch job - though that said it's also the method I used on the 480i Stellar Shuttle.

 

It's something I might pick up again - the real tricky bit with it is doing the speech which I had interleaved into the DLI code as well - the DLI runs for a fair duration of the screen as it generates the road and changes colours and PM positions - luckily enough spare cycles in there to fetch and store digital samples every few scanlines.

 

Re the "bug" - I was working on this before the annoying feature of IRQs sometimes causing NMIs to be ignored came to common knowledge. These days we have methods to avoid the situation which would be helpful.

 

But bottom line with this game - the preferred method would be to perform some reverse-engineering to generate some source code so that mods can be done properly. This game is one of the most hacked Atari cart games with stuff like track editor and alternate control schemes, it'd be nice to maybe someday have a mega version that incorporates all of these features.

  • Like 8
Link to comment
Share on other sites

I would have thought - that the first thing to hack/fix would be the 2600 styled cars in the game - towards something nicer.

Moon Patrol vehicle looks much nicer in comparison.

 

Would also mean fixing up the explosion.

 

Of course - it so easy to say - find something better --- in terms of design/etc ---- but coming up with it would not be easy.

The gameplay, mechanics etc seem to be fine.

 

Harvey

  • Like 1
Link to comment
Share on other sites

The game uses missiles for the signs, and paired multicolour players for the cars. You'll notice that there's never more than 2 cars in the same vertical space.

Playfield is the road and lines - with independant HScrol value per line which would make doing enhanced graphical content a bit hard.

 

One thing I considered was a VBXE enhanced version where the PM cars were just invisible and for the sake of collision detection then doing proper 320 pixel graphics on the cars.

But considering the small audience would it be worthwhile?

  • Like 2
Link to comment
Share on other sites

I was asked to hack this game for another purposes. Sal wanted to see if I can improve the sprites used for the car. I replied, no one can get much better than what Atari did themselves. Suggested doing it with screen graphics, but that is also impossible because of the way the road is generated with change DL LMS + HSCROL in a sequence with a bunch of WYSNC to generate that part of the screen. I was flirting with an ideal of Player/Missile together to make up the car. The bottom line is the ony way you can get something better is to replace the player/missile graphics with VBXE. However, I am not seeing too many people doing VBXE hacks of existing games yet.

 

The issue I see with trying to add digital sounds is with all the DLIs and timing the routine that sets the horizontal position for each line of the road part. Other games like Tempest Xtreme and Space Harrier did it because the screens did not do many DLIs and other routines that had to be timed.

Link to comment
Share on other sites

MegaPole Position w/ digitized sound would be wicked sick, and some updates for grphx would be over the top. I'd say there would be an interest indeed. While only so much can be done working with original code, you can wonder as to what a re write could accomplish... new tools and tricks

 

Prepare to Qualify,

_Commander Adama__

Edited by _The Doctor__
  • Like 2
Link to comment
Share on other sites

MegaPole Position w/ digitized sound would be wicked sick, and some updates for grphx would be over the top. I'd say there would be an interest indeed. While only so much can be done working with original code, you can wonder as to what a re write could accomplish... new tools and tricks

 

Prepare to Qualify,

_Commander Adama__

 

If this was a thought then PP II should really be the target IMHO :)

Link to comment
Share on other sites

I saw PP arcade version on some TV show before seeing it in the arcades BITD and my brother and I could NOT believe the graphics...

 

I always thought the A8 version was a decent conversion but I wasn't too crazy about the look of the cars but especially the road-signs looked amazingly simple to me (now I know that they are missile graphics so ...no wonder...)

 

I thought the background wasn't too bad at all. Yes the arcade samples would be great too...I don't think there's very much going on when it's played, it's only before the start of the race right ?

 

Not sure if it's already done but spinner (driver) controls would of course be awesome.....

  • Like 2
Link to comment
Share on other sites

I suppose you can look at Elektraglide at doing it's solution to the problems with Pole Position - removing the cars altogether and adding a really nice soundtrack to the game.

 

But there will always be the allure of providing a much wanted car racer game that has decent looking cars in it, with that needed sensation of speed/racing in it.

Other games running at a much slower rate - appear more like a simulation, than an arcade racer.

 

Harvey

  • Like 2
Link to comment
Share on other sites

That is the very reason why I think, to this day, Vroom is the best racing game I have ever played on any home system. Sadly it runs on the ST (and Amiga).

 

 

The feel of speed has never been matched by anything IMHO and I can't believe something would be possible on an A8....

Link to comment
Share on other sites

That is the very reason why I think, to this day, Vroom is the best racing game I have ever played on any home system. Sadly it runs on the ST (and Amiga).

 

 

The feel of speed has never been matched by anything IMHO and I can't believe something would be possible on an A8....

Have you ever played it at 16Mhz on a Mega STE? The frame-rate is incredible, probably 60fps. I loved playing Vroom! on that machine! (Stunt Car Racer too)

  • Like 1
Link to comment
Share on other sites

.

 

One thing I considered was a VBXE enhanced version where the PM cars were just invisible and for the sake of collision detection then doing proper 320 pixel graphics on the cars.

But considering the small audience would it be worthwhile?

This is the catch 22. I for example, have been on the fence about getting a VBXE for years, waiting to see if enough software came out for it to make it a worth-while upgrade and not just something to show off demos and Falcon art conversions. I think the more software come out for it the more people will buy it and your audience would grow. At this point I'm more interested in the Rapidus because at least some legacy software is vastly improved with the speed boost, especially 3D vector stuff, and Lucasfilm games.

 

Is there a list somewhere for VBXE software and tools? All it would take for me to get one is if there was a decent graphic art program for it. I know theres a few demos and The Last Word is compatible, maybe a platformer or two if they were ever completed. I would have expected more for the VBXE considering it's been out a decade now. But I think it's going to require software authors to make the first move, then the audience will follow.

Link to comment
Share on other sites

Rapids and VBXE turn the A8 into something else IMHO. So,etching that can be ....and have been done better on ST AMIGA and everything that came later....

 

Stereo POKEY is still 2 POKEYs, it’s not an entire different sound chip with different sound, extra memory has been done from the very early years. Sophia RGB output is still the original graphics, AntiX simply makes your system almost a dual system machine...

I have all those upgrades, it the other two alienate the machine too much from it’s origin. I guess that is the key factor for both of those upgrades not being so popular.

  • Like 1
Link to comment
Share on other sites

Have you ever played it at 16Mhz on a Mega STE? The frame-rate is incredible, probably 60fps. I loved playing Vroom! on that machine! (Stunt Car Racer too)

I actually have yes as my main ST now is a Mega STE and Once i got that running playing Vroom was one of the first games i tried but I didnt notice any difference from BITD when I ran it on my 1040STfm.

 

Do i need to set anything to make it run in 16Mhz and wont it make the game uncontrollably fast ?

Is there an adapted version maybe ? The version I played was still on the floppy I had frommBITD..

Edited by Level42
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...