Skip to content

Add point-ROM auto-increment to Namco System 23 #13957

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

Merged
merged 2 commits into from
Jul 15, 2025

Conversation

MooglyGuy
Copy link
Contributor

This fixes point-ROM verification in Final Furlong's service menu.

In addition, it significantly improves graphics in Downhill Bikers and Race On!, as both games look for the expected walking-bit patterns from offset 0x100 to 0x1FF in the point-ROM data, with the expectation of the current point-ROM peephole address to auto-increment after each LSW read. If the walking-bit patterns aren't found, it zeroes out a global model-index offset, otherwise it sets that offset to 0x80.

Downhill Bikers won't fail to POST if these bit patterns aren't present, so this might be some sort of development leftover where the first 512 bytes of data were only added to the point-ROM data as part of the retail build process.

@happppp
Copy link
Member

happppp commented Jul 15, 2025

Don't forget the side effects check, so something like:

const u16 data = rom[x];
if (!side_effects...)
	x++; // does it need & or % to make sure it won't go OOB? - edit: i see LOGMASK about a limit check, so I guess that's covered
return data;

@MooglyGuy
Copy link
Contributor Author

There are other handlers that need a pass for that, too, the check for that specific function in particular has now been added.

@happppp happppp merged commit 1995d1c into mamedev:master Jul 15, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants