Jump to content



Recommended Posts

Nonag is the colloquial name given to modifying the source to prevent the red or yellow screens telling you that the game doesn't work. Even though mame devs don't like it being done, it's completely legal to do.

It can usually be done with a one-line patch to the source.

In ARCADE64, it can be switched on/off with a few clicks. To set this up, click on Options, Default Game Options, Advanced. Find the slider "Seconds to run" and adjust it to exactly 1. Click OK. Now you can run any game without being "nagged". Of course, don't turn this on then start complaining that so-and-so game doesn't work.

How does it work? MAME has a feature that suppresses the warning screens if you use the -str option to run a game for up to 300 seconds. This is checked in 2 places: line 419 in src/frontend/mame/ui/ui.cpp to see if the warnings should show or not, and line 987 of src/emu/video.cpp to see if the time is up and so terminate.

All that's been changed (in video.cpp) is instead of checking for str != 0, we check for str > 1. So if you specify exactly 1, the game never ends.

Another way to get rid of the warnings all the time (you can't turn it on/off) is to instead comment out the above-mentioned line 419 in ui.cpp .

I think some other derivatives have more complicated arrangements, but as you can see it's a simple thing to do.

HBMAME is 99% working games with no warnings, so there isn't really any point adding a nonag facility.

The greatest benefit would probably be for standard MAME, because 66% of the machines are marked as not working, and in addition many more have the yellow screens.


  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Create New...