Skip to content
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

Rad Racer boots in different states depending on most recently loaded ROM #37

Open
wesmckiel opened this issue Oct 10, 2023 · 1 comment
Labels
bug Something isn't working

Comments

@wesmckiel
Copy link

Version (or build number)

1.0.0

Steps to reproduce

-Use RetroDriven/Pocket_Updater v1.5.6 to install this core on a formatted memory card
-Run this core from the FPGA menu, as normal, and select (no-intro verified) "Rad Racer (USA)"
-Title screen shows, as expected, followed by the vehicle selection screen several seconds later
-Access the system menu and quit the core
-Run the core once more and select the same ROM
-Title screen is skipped and execution proceeds from the vehicle selection screen
-Access the system menu and quit the core
-Run the core once more and select (one that I know works, but there may be others) the ROM "Racket Attack (USA)"
-Allow the game to load
-Access the system menu and quit the core
-Run the core again and select "Rad Racer (USA)" once more
-Title screen shows, as expected, followed by the vehicle selection screen several seconds later
-Other ROMs seem to have other effects on the boot state of Rad Racer

Expected Behavior

The Rad Racer ROM boots to the title screen 100% of time on ROM load.

Actual Behavior

The Rad Racer ROM boots in a variety of states (perhaps according to the state of RAM?):

  • The title screen
  • The vehicle select screen (this is the most common)
  • A grey screen that's unresponsive to game controls (happened once and can't reproduce)
  • The ending sequence of the game! (happened once and can't reproduce)

Additional Context

Is there something odd about this game that I don't know? Is there a race condition (no pun intended) coded into the front-end or something? Or is this behavior I just happened to notice indicative of an issue with the core?

The reason I suspect the core is that the one time the game booted to the ending sequence, I used the system menu to "Reset core" multiple times and it simply reset the ending sequence every time.

@wesmckiel wesmckiel added the bug Something isn't working label Oct 10, 2023
@agg23
Copy link
Owner

agg23 commented Oct 10, 2023

Bad game is bad, but it actually looks like RAM is not properly zeroed in the core (which is incorrect, but it's what most emulators do). Thanks for the report. It may be a while before I'm able to make a new release, but it's an easy fix.

https://github.com/agg23/openfpga-NES/blame/master/rtl/nes_top.sv#L640-L642

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants