New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BBSB warp to screen 4 does not work #199
Comments
Does this work in e.g. Altirra? |
It does. I ran an execution trace in Altirra and this is the code that detects the 1+Start combination:
This code polls the keyboard by checking SKSTAT bit 2 to detect the key down. At least in the Windows SDL version of Atari800 5.0.0, the problem is that SKSTAT bit 2 is resetting back to 1 when Start is pressed, even if the 1 key is still being held. |
Avery, thank you very much for your analysis. I'll take a look. @Shamus397 if you could provide a saved state from Atari800 so I don't have to beat all five levels, that would helped a lot. :-) |
@mikrosk Here you go; starting at level 6. Though I don't think you have to trigger the message for it to activate the warp (IIRC, the warp is always active). I should also mention that the message doesn't trigger until you lose your last life (it shows up on the "Game Over" screen). |
@mikrosk
Each one of those |
I have already investigated it. However the fix isn't so easy; for starters, you're looking into wrong file (X11 backend isn't the same as SDL). In the SDL backend there is no concept of "pressed key while some another one is pressed". So that require some rework (or at least a fix as I might have overlooked something). But yeah, in the end, most likely the fix will be needed in all backends. |
@mikrosk
The fix I proposed up above (for atari_x11.c) should take care of the X11 backend, though I haven't tested it at all. So, assuming that one works too, that's two down, eight or so more to go? : P |
Nice work! Yes, this is way closer to what I had imagined. Unfortunately, still other backends are prone to this bug but since you were the first one to notice, it either works on other popular backends (Android?) or they are not that much used anymore. I'll try your test case on Atari Falcon, as this is the platform I know, and try to fix/test it there as well. Feel free to prepare a PR in the meantime (assuming that your own patch works ;-)). |
Fix for issue #199 (BBSB warp doesn't work)
Fixed in #203 |
When you clear level 5 in Bounty Bob Strikes Back! (cartridge version) you get a message telling you how to warp from screen 1 to screen 4:
"IN LEVEL 1, IMMEDIATELY AFTER PICKING UP THE FLOWER POT, HOLD DOWN THE NUMBER 1 ON THE KEYBOARD AND PRESS START TO WARP TO LEVEL 4."
However, this doesn't work; if you follow the instructions (pick up the flower pot, hold down "1", then press START), nothing happens. Just for the sake of completeness, I checked the tape version of BBSB and it suffers from the same problem.
All on a stock NTSC 800XL--nothing fancy added.
The text was updated successfully, but these errors were encountered: