Jump to content
IGNORED

One On One Basketball - Title Fix hack


RevEng

Recommended Posts

As part of some troubleshooting, I happened to run One On One in a7800 without a bios, and noticed that the title screen was different. Usually the game starts with Larry Bird shooting a free throw, shortly after which the options screen appears. But if the bios is skipped and the cart is executed immediately, the title screen instead features a continuous gameplay attract mode, which gives you time to read the scrolling message at the bottom and to hear the entirety of the title music, until you press the fire button to get to the game menu. I also noticed that the A8 version is identical in behaviour to the 7800 bios-skip behaviour.

 

I have little doubt that the 7800 version free-throw beginning was a bug that either nobody noticed until the carts were made, or that nobody cared enough about to track down.

 

I added a memory cleanup routine to the beginning of the rom, which fixes the bug. I also added a proper 2-button setup, since the game does a half-assed one.

 

One-on-One Basketball - Title Fix (NTSC).a78

One-on-One Basketball - Title Fix (NTSC).bin

 

Enjoy!

  • Like 11
  • Thanks 4
Link to comment
Share on other sites

What other ways could the game be improved?  Make a POKEY version of the intro music?  [and/or offer the C64 tune as a POKEY version]. For the record, the audio fx in the Atari 8-bit version are not better.  Maybe an option to change the uniforms to appear like the A8 and C64 versions?

 

A commenter on The Shadow Nose YouTube Channel comparison video claimed the A8 and C64 versions were quick ports of the Apple II version which used software sprites. They both look a lot more polished than the atrocious looking Apple II version. The 7800 version plays better than all 3 though...

Link to comment
Share on other sites

On 12/29/2020 at 7:08 PM, RevEng said:

As part of some troubleshooting, I happened to run One On One in a7800 without a bios, and noticed that the title screen was different. Usually the game starts with Larry Bird shooting a free throw, shortly after which the options screen appears. But if the bios is skipped and the cart is executed immediately, the title screen instead features a continuous gameplay attract mode, which gives you time to read the scrolling message at the bottom and to hear the entirety of the title music, until you press the fire button to get to the game menu. I also noticed that the A8 version is identical in behaviour to the 7800 bios-skip behaviour.

 

I have little doubt that the 7800 version free-throw beginning was a bug that either nobody noticed until the carts were made, or that nobody cared enough about to track down.

 

I added a memory cleanup routine to the beginning of the rom, which fixes the bug. I also added a proper 2-button setup, since the game does a half-assed one.

 

One-on-One Basketball - Title Fix (NTSC).a78 48.13 kB · 14 downloads

One-on-One Basketball - Title Fix (NTSC).bin 48 kB · 9 downloads

 

Enjoy!

Great work. It's shame that the 7800 had such a poorly developed commercial games.

Link to comment
Share on other sites

39 minutes ago, Rick Dangerous said:

What is the difference between the two files available for download?

 

Thanks BTW--worth it for the proper two button setup alone! 

You're welcome. One of the files is an A78 file, which has a header that describes the hardware the game requires, and can be used with emulators and some flash carts. The other one is a BIN file, which is just a headerless ROM file, which you'd use either for burning an EPROMs with real cart hardware, or with an older flash cart like the CC2. Otherwise, both files are identical.

 

4 hours ago, darryl1970 said:

Great work. It's shame that the 7800 had such a poorly developed commercial games.

Thanks. I think there's some good ones, and some stinkers. The stinkers hurt more on the 7800 than they do on other consoles, because the commercial library was so limited. But there are very good ones; IMO it's the go-to console for Joust or Food Fight.

 

One On One is actually a pretty faithful port, in spite of the bug. I think it's fair to say the trade-offs the game design makes - large soft sprites, at the cost of less than fluid action - have made it age less well.

 

I ran the 7800 version of the game through the 7800heat profiler, and it spends a ghastly amount of time just copying bytes around. I don't know for sure, but that makes me think they just overlaid the soft-sprite code on top of the 7800 architecture, which is a shame. Given how few things actually move in this game, it should really fly on this hardware.

 

  • Like 4
Link to comment
Share on other sites

1 hour ago, RevEng said:

Thanks. I think there's some good ones, and some stinkers. The stinkers hurt more on the 7800 than they do on other consoles, because the commercial library was so limited. But there are very good ones; IMO it's the go-to console for Joust or Food Fight.

Agree 100% and feel the same way about Jaguar (the stinkers hurt more because of the limited library.)

 

Also go-to for Dig-Dug and Ms. Pac Man! 

  • Like 2
Link to comment
Share on other sites

2 hours ago, RevEng said:

One On One is actually a pretty faithful port, in spite of the bug. I think it's fair to say the trade-offs the game design makes - large soft sprites, at the cost of less than fluid action - have made it age less well.

2 hours ago, RevEng said:

I ran the 7800 version of the game through the 7800heat profiler, and it spends a ghastly amount of time just copying bytes around. I don't know for sure, but that makes me think they just overlaid the soft-sprite code on top of the 7800 architecture, which is a shame. Given how few things actually move in this game, it should really fly on this hardware.

They didn't utilize the sprite hardware? That is really lame! I haven't played it in a LONG time, but I thought it was slightly faster than the A8. Maybe not. Maybe I was taken back by the solid, wooden court. (I actually found that impressive.) That was a nice touch, but it didn't affect game play.

1 hour ago, Rick Dangerous said:

Agree 100% and feel the same way about Jaguar (the stinkers hurt more because of the limited library.)

Has there ever been a clear answer of whether the Jaguar truly has untapped potential? I actually like the Cybermorph. I had fun with that. Tempest 2000 was great, and AVP was fun. I read that there's a bug in one of the processors, which causes a serious bottleneck or something. I really wanted to see Atari comeback. The 16-bit ports wouldn't have been so bad if they were good games. Most of the games seemed to be ported Amiga and ST games, which were sub par compared to the Genesis and SNES generation.

 

Unlike the 7800, where home brew is realizing the potential. It seems like many home brew Jaguar games are below 16-bit quality. I haven't followed up in a while though. I saw a pre-demo of Outrun at the last PRGE. I should follow up.

 

The 7800 version of Joust was definitely the best port for a home system of the day. Commando is pretty sweet too. I've seen some really good ones. I didn't give Food Fight a chance, due to the low resolution sprites, but there's really a lot going on there. I seem to remember it played well.   I had always been so critical of the low-res. The first time I saw Froggie, I was totally confused. I played it on my Gp2x, and I thought the emulator had somehow simulated a higher resolution. Up until that point, I didn't know there was a 320 mode. I still wish they would have made 256x224 the standard, with the same color capability as 160a/b. That would have been enough for me to feel it was a leap to next gen. It makes a huge difference in detail, such as when Dig Dug moves vertically on the NES version. Joust would have been even better! Would have, could have.

 

@RevEng You know what game I'd like to see fixed? My head spins every time I hear positive things about Kung Fu Master. The backgrounds look pretty decent. The sprites are okay. The gameplay is awful. If you play the arcade or NES version, it's obvious that the physics are off. When running toward an enemy, they should reach your player quicker. Makes sense, since they are running toward each other. When you stop moving toward the enemies, they should take longer to get to your player. This game is just the opposite. The enemies are creeping toward the main character if you're walking toward them. If you stop, the enemies double their speed toward you. This is not right. It completely throws off the game. I wonder if it's as simple as flipping that logic.  Even so, the knife throwers are kind of off in their logic too. I don't know that it would be worth it.

 

The 2600 version is the same way. I think they reused the logic code from the 2600 version, but they cleaned up the graphics. These are the type of things that made me anti -7800 for a long time. I am starting to see that it was mostly just poor, discount, programming.

Link to comment
Share on other sites

Kung Fu- the enemies move toward you at a constant pace, it dosen't matter if you move towards them, away from them, or stand still. If you just look at the sprites and ignore the background, you'll see it more clearly. It should have used 2 buttons, and the knife guy needs time between throwing knives. The music is too quiet, there's no stairs or cutscenes. 

Other than that, and a couple other things, it's an ok game.

Link to comment
Share on other sites

1 hour ago, darryl1970 said:

They didn't utilize the sprite hardware? That is really lame! I haven't played it in a LONG time, but I thought it was slightly faster than the A8. Maybe not. Maybe I was taken back by the solid, wooden court. (I actually found that impressive.) That was a nice touch, but it didn't affect game play.

I think it probably uses Maria sprites, mostly because a full-screen graphic buffer like the A8 or Apple II versions would be too costly in terms of ram. But I think the sprites are ram backed and it's copying the sprites over. Maybe. If not, all of that copying doesn't make a lot of sense to me otherwise.

 

The wooden court is indeed a nice touch indeed. ?

  • Like 1
Link to comment
Share on other sites

2 hours ago, darryl1970 said:

The 2600 version is the same way. I think they reused the logic code from the 2600 version, but they cleaned up the graphics. These are the type of things that made me anti -7800 for a long time. I am starting to see that it was mostly just poor, discount, programming.

The programmer posted a few years ago that it was a fast cheap port of the 2600 version.

 

Mitch

  • Like 2
Link to comment
Share on other sites

10 hours ago, toiletunes said:

Kung Fu- the enemies move toward you at a constant pace, it dosen't matter if you move towards them, away from them, or stand still. If you just look at the sprites and ignore the background, you'll see it more clearly. It should have used 2 buttons, and the knife guy needs time between throwing knives. The music is too quiet, there's no stairs or cutscenes. 

Other than that, and a couple other things, it's an ok game.

I double-checked, because I thought it might have been my eyes playing tricks on me. I really do not think the background messing me up. It literally takes the enemies longer to get to the player if the player is moving toward them. If the player stops, the enemies fly at him. Revisit that, and measure by the time it takes for them to get to the player. I think you may notice what I'm talking about. It's still not the behavior of any reputable version, such as the arcade and NES.

 

Regardless, thanks @Mitch for validated that they ported that from the 2600. I had a hunch that was the case. Was this an article from the programmer? Is he part of the community here? I'd like to read that. It's also cool to find out who created some of the games for the old systems. I

Link to comment
Share on other sites

10 hours ago, darryl1970 said:

Regardless, thanks @Mitch for validated that they ported that from the 2600. I had a hunch that was the case. Was this an article from the programmer? Is he part of the community here? I'd like to read that. It's also cool to find out who created some of the games for the old systems. I

 

5 hours ago, Mitch said:

I am pretty sure the programmer posted here on the forums.

Indeed, he did. :)

 

From the programmer:

 

"I coded Kung Fu Master for the 7800 and was a very straightforward port of the 2600 version. Due to similarities between the 2600 and 7800, it was relatively easy to use the same game logic code from the 2600 version and rewrite only the display portion. It took 10 weeks from start to finish. I used the same approach for Pete Rose Baseball -- direct port using the 2600 version game logic, also a 10 week project. This was the way that Absolute Entertainment wanted it done, to minimize development costs."

 

This additional tidbit as well:

 

"...For 7800 ports of 2600 games it was only necessary to write new graphics code, all of the game logic could be copied and pasted with very minor edits. Of course, one needed to UNDERSTAND the logic code, and when another programmer had written it that wasn't always easy, LOL. But I did essentially the same thing for both Pete Rose Baseball and Kung Fu Master."

  • Like 3
Link to comment
Share on other sites

Very interesting @Trebor. It's sad, but I can see why they did it that way. The 7800 didn't have the market share to ensure a high profit, so it wasn't financially viable to put a lot of money into the ports.

 

That explains why I thought the 7800 had very sloppy, loose controls, aside from a handful of first release titles.

 

That's why home brew has enlightened me. My experience with Popeye has also made a big impact. I never expected a program compiled from BASIC to be able to push so many objects. I am still amazed at how much I was able to throw at the system.

  • Like 4
Link to comment
Share on other sites

On 1/8/2021 at 2:02 AM, darryl1970 said:

I didn't know there was a 320 mode. I still wish they would have made 256x224 the standard, with the same color capability as 160a/b. That would have been enough for me to feel it was a leap to next gen.

So it looks like you weren't expecting a jump to the next generation but a jump to the fourth generation. I think having both 256 x 240 resolution and 25 colors per sprites / tiles in the same area was an unrealistic expectation for a home video game console designed in 1983, not even Sega Master System and Atari ST can afford this luxury. Or colors or resolution, a matter of choices. In fact, it is no coincidence that the SNES has the same low resolution as the NES while the Sega Genesis can handle 320 × 240.

 

 

On 1/8/2021 at 2:02 AM, darryl1970 said:

It makes a huge difference in detail, such as when Dig Dug moves vertically on the NES version

Regarding the graphics of those Dig Dug sprites, I have already told you on other occasions that it is simply bad pixel art, if you remember I had already shown you the images of an initial update that will be part of Dig Dug XM...

 

Again, the new 7800 version having a greater number of colors on screen (which will be updated) and a huge palette available will make a huge difference compared to the NES version...

 

 

 

22006586_7800DigDugupdatedgraphics.png.04bf81aad0c1f796e76b5452d2970625.png

 

 

 

1591217758_7800DigDugupdatedgraphicsb.thumb.png.026546eaf91796bc8f161e899c11c882.png

 

  • Like 3
Link to comment
Share on other sites

8 hours ago, Defender_2600 said:

So it looks like you weren't expecting a jump to the next generation but a jump to the fourth generation. I think having both 256 x 240 resolution and 25 colors per sprites / tiles in the same area was an unrealistic expectation for a home video game console designed in 1983, not even Sega Master System and Atari ST can afford this luxury. Or colors or resolution, a matter of choices. In fact, it is no coincidence that the SNES has the same low resolution as the NES while the Sega Genesis can handle 320 × 240.

Good point about the number of colors. Even with the 4-color sprites, 8 palettes on the 7800 is greater than 3 on the NES. I forget about 25 per sprite. Does that mode slow processing down any?

 

I always thought of the SNES as max 512x448, but I guess it's really not usable for game play, due to memory bandwidth.

 

The 7800 is pretty impressive for 1983!

 

I don't see where 256 x 224 with 16-colors per sprite would have been too unrealistic, but I am happy with the 7800 as it is. Just saying that when you put it into perspective, it's not really that far off from the 4th generation already.

Quote

 

 

Regarding the graphics of those Dig Dug sprites, I have already told you on other occasions that it is simply bad pixel art, if you remember I had already shown you the images of an initial update that will be part of Dig Dug XM...

 

Again, the new 7800 version having a greater number of colors on screen (which will be updated) and a huge palette available will make a huge difference compared to the NES version...

 

 

 

22006586_7800DigDugupdatedgraphics.png.04bf81aad0c1f796e76b5452d2970625.png

 

 

 

1591217758_7800DigDugupdatedgraphicsb.thumb.png.026546eaf91796bc8f161e899c11c882.png

 

This is very nice looking. I see where bad pixel art and TIA sound are the issues that I had. Great work! I'll have to find this development thread. Will this go to Yamaha sound if the XM is delayed, or does this rely on other XM functionality?

8 hours ago, Defender_2600 said:

 

Alien vs Predator, Doom, Rayman, Dragon's Lair (CD), Space Ace (CD)... these games already show great potential...

I owned AVP and Doom as soon as they were released. Iron Soldier was pretty impressive for the day, and it looks like Iron Soldier 2 upped the ante a little. I think Tempest 2000 is 100x more impressive than Dragon's Lair or Space Ace, as they are just FMV, so I am not saying any of that as an insult on the system's potential.  I read that those games didn't fully utilize the hardware, because it was hard to program for Tom & Jerry. (Also poor development environments.) I haven't seen anything rival those games. I just wondered if there were any breakthroughs in Jag homebrew programming.

 

I wasn't taking a dig on the system. I have seen the 7800 reach potential that wasn't obvious from its commercial release. I am wondering if the same has started to happen for the Jaguar. That is where I was coming from with my question.

 

 

Edited by darryl1970
Link to comment
Share on other sites

11 hours ago, darryl1970 said:

Good point about the number of colors. Even with the 4-color sprites, 8 palettes on the 7800 is greater than 3 on the NES

In 7800 160A mode there are 8 palettes for sprites instead the NES can only use 4 palettes for sprites... therefore the 7800 doesn't have just more colors available for sprites compared to NES, the 7800 has DOUBLE number of colors available for sprites than the NES. Also, the 7800 features a palette of 256 colors instead the NES has a palette of only 48 colors and 6 grays. This makes it clear why, for example, in the Tengen version of Ms. Pac-Man on NES, it's easy to get confused between Blinky and Sue, simply the number of colors available for the sprites and the reduced color depth of the palette are not enough to cover the needs.

 

 

 

1124998085_NESpixelaspectratio.PNG.dea5f8caafa519bda4033640d2cce9f7.PNG

 

 

 

397204270_7800palettevsNESpalette.thumb.PNG.ccfa2a0e8a8481ba6917411882a94847.PNG

 

 

 

Again, the 7800 can handle a high number of large sprites, no flicker... instead the NES a low number of small sprites, with abundant flicker...

 

1752862792_7800VSNES.thumb.png.2bb1eece518b0cab82f2a00f2c66ff93.png

 

 

11 hours ago, darryl1970 said:

I forget about 25 per sprite. Does that mode slow processing down any?

In 7800 160B mode there are 2 palettes for sprites, and each palette has 12 colors, so a single sprite / tile can have 12 colors :o... we are light years from the 3 colors per sprite on NES. In 160B the 7800 can use both palettes for sprites, obtaining 25 colors in the same area, and even surpasses the Sega Master System which has only one palette with 16 colors available for sprites. 160B mode is 4 bits per pixel therefore it consumes more resources than 160A, consequently not all types of games can be made using exclusively the 160B mode, however it can be a tremendous ally when used in conjunction with the 160A.

 

An excellent example of games made in 160A + 160B are Bentley Bear's Crystal Quest and Arkanoid, the head graphics of DOH and Arkanoid Spaceship are made entirely in 160B mode. Both games are two masterpieces with spectacular graphics and both demonstrate that the color depth can be considerable despite of the wide pixel aspect ratio. It is absolutely fantastic to have the possibility to work on graphics when you have such a large number of colors available and I consider a step back to lose this color depth in favor of a resolution with 256 horizontal pixels. I really love the 7800 strengths.

 

 

 

1144759728_7800Arkanoid_DOHgraphic_VSNES.thumb.PNG.c0531c8c2cdcbc3236c8bcc752a19454.PNG

 

 

 

1619290669_7800Arkanoid_spaceshipgraphic_160Bmode_8colorsVSArcade.thumb.PNG.93e9db3bd14c885bad6f7aa28ba917b1.PNG

 

 

 

12 hours ago, darryl1970 said:

I always thought of the SNES as max 512x448, but I guess it's really not usable for game play, due to memory bandwidth.

Forget the interlaced 512 × 448 resolution and also forget the progressive 512 × 224 resolution used only for text strips. All SNES games run at 256 x 224 and you can well recognize the fat pixels and the playing field horizontally cut by a portion when compared to Sega Genesis versions which run at 320 x 240.

 

 

278631210_GenesisvsSNES.thumb.PNG.b91a666abbd39403dc65f83e05ac6ecd.PNG

 

 

13 hours ago, darryl1970 said:

I don't see where 256 x 224 with 16-colors per sprite would have been too unrealistic, but I am happy with the 7800 as it is. Just saying that when you put it into perspective, it's not really that far off from the 4th generation already.

I talked about "unrealistic expectations" and "fourth generation (16-bit era)" because you wrote << I still wish they would have made 256x224 the standard, with the same color capability as 160a / b. >>. Obviously they would not have been unrealistic expectations if increasing the resolution decreases the number of colors available for sprites, decreases the color depth of the palette, decreases the number of sprites on the screen, decreases the size of the sprites, etc... So we would get some sort of 7800 clone of the NES... No thanks, I love the 7800 strengths. And I also love the 7800 320 mode.

 

Indeed, the 7800 320 mode (320 × 240) shows square pixels (pixel aspect ratio: 0.9 NTSC and 1.0 PAL) and can replicate the correct aspect ratio of the arcade graphics. For example, the NES with 256 horizontal pixels by 240 vertical pixels display wide pixels and therefore wide sprites/tiles compared to arcade graphics / 7800 320 mode (same goes for ColecoVision, Sega Master System, CoCo 3, SNES, etc., for these systems the pixel aspect ratio is approximately 1.2 NTSC and 1.4 PAL).

 

Also, when you have only 240 vertical pixels it may be useful to place a extra display (scores, status, etc.) on the right side of the main game but in this case the play field will be compromised if you have only 256 horizontal pixels rather than 320 horizontal pixels.

 

 

 

1139356695_7800Ms.Pac-ManVS.thumb.PNG.f071ba0bf2bad8e79aef3b8aea83c120.PNG

 

 

 

13 hours ago, darryl1970 said:

Will this go to Yamaha sound if the XM is delayed, or does this rely on other XM functionality?

I think, at some point, a solution will be found for this. The truth is that too many tragic events have happened in 2020. Anyway, tep392 has already started working on the Yamaha sound, some time ago he also publicly showed a file MP3 with some progress, I don't remember where, however here:

 

digdug.mp3

 

 

  • Like 2
Link to comment
Share on other sites

@RevEng Thank you for providing this fixed ROM! It makes way more sense now. I like watching the competition between Bird and Dr. J rather than watching a lonely Bird shoot hoops.

 

When loading this on my CC2, I'm noticing missing button functionality. Neither button begins game play, nor do the buttons engage action(s) during game play. The buttons DO work to select from the menu however.

 

I've tried both 7800BIOS and 78QUICK startup files.

 

I'm using the standard 7800_48K banking file (the same one used when loading the original ROM).

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