Active Threads | Active Posts | Unanswered Today | Since Yesterday | This Week
MAME Jump to new posts
Re: Help Req. w/ MAME's working game count John IV 07/16/25 11:10 PM
Damn, thanks Hap. It's been a struggle for the last piece of the puzzle. smile

Here's his response for any poor sod doing their own front end work w/ LLMs in the future, laugh.

-------------


Yes, that was the final piece of the puzzle. The discrepancy was caused by IV/Play not parsing or using the `<feature>` tags from MAME's XML, which are critical for determining a game's true working status.

Here is a summary of the final fix.

***

### The Root Cause

MAME determines a machine's working status not just from the main driver's `emulation` status, but also by aggregating the status of all its individual `<feature>` tags (like controls, sound, video, etc.). A game like "cgang" can have a "good" emulation status but still be considered imperfect overall if one of its features is imperfect.

Your application was only looking at the `<driver>` tag and ignoring the `<feature>` tags, leading to an inaccurate `Working` property for many games.

### The Solution

The definitive fix involves updating your `Machine.cs` data model to read the list of `<feature>` tags and then incorporating their statuses into the final calculation for the `Working` property.

1. **Data Model Update:** The `Machine` class was modified to include a list of `Feature` objects, and a corresponding `Feature` class was created to capture the `type` and `status` attributes from the XML.
2. **Logic Update:** The `ParseComplexFields` method was updated. The `Working` property is now calculated based on both the `driver.emulation` status and the status of all associated `feature` tags. A machine is only considered "Working" if its driver emulation is "good" or "imperfect" AND no individual feature is explicitly broken (e.g., "unemulated").

This ensures that IV/Play's definition of a working game now accurately mirrors MAME's more nuanced internal logic. After rebuilding the database with this change, the `hide_nonworking` filter now produces the correct game count.
3 37 Read More
MAME Jump to new posts
Re: 2025: Bringing your WIP to a gun fight Just Desserts 07/15/25 08:48 AM
Namco System 23 auto-increments the point-ROM readback address once the least-significant 16-bit word of a given point-ROM word has been read.

This appears to fix the point-ROM test in Final Furlong, but as an added bonus, it fixes the model indexing in Downhill Bikers and Race On!, although Race On! doesn't POST quite yet.

[video:youtube]
[/video]

The reason why I know it fixes the model indexing in Race On! is that if you go into the DIP switches and turn on the 2nd, 3rd, and 4th "Unknown" DIP switches and the Skip POST switch, it'll drop into a text-mode menu labeled "V194 MENU", at which point you can force it into attract by selecting either "SEQ MODE" or "TEST MODE!". There's also a "DEV MODE" option which has a bunch of cool and interesting stuff in it.
14 6,960 Read More
Who's Online Now
0 members (), 198 guests, and 3 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,381
Posts122,709
Members5,085
Most Online1,529
Jun 7th, 2025
Our Sponsor
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!

Superior Solitaire
Powered by UBB.threads™ PHP Forum Software 8.0.0