Mr Driller
Moderator: Chad
Mr Driller
http://marp.retrogames.com/inp/a/4/6/mr ... _win89.zip
Appears to require NVRAM. Anyone else confirm this? (Can't be arsed changing settings back to using NVRAM)
Appears to require NVRAM. Anyone else confirm this? (Can't be arsed changing settings back to using NVRAM)
- Barry Rodewald
MARP Assistant Web Maintainer
MARP Assistant Web Maintainer
http://marp.retrogames.com/inp/8/5/d/mr ... mame89.zip
Loses syncs at about 465m... probably due to the RTC at a guess.
Loses syncs at about 465m... probably due to the RTC at a guess.
- Barry Rodewald
MARP Assistant Web Maintainer
MARP Assistant Web Maintainer
i think rtc involves a command line option (need to do a search to figure out what it is or wait for sawys to respond), and i think it does affect playbackability, but i did not use it, nor did i used the NON official 89 release to play it back, in windows xp with sound.
EDIT, i DID use the official release to play it back btw.
EDIT, i DID use the official release to play it back btw.
Last edited by Chad on Tue Dec 07, 2004 1:08 am, edited 1 time in total.
-skito
Zwaxy's right, it's a real time clock. Many Neo Geo games used its RTC for random number seeding, so around v0.60 someone fixed it so that on record/playback, the date and time was zeroed. I figure that the same thing could be happening here, especially since Mr Driller played back fine before the RTC was emulated.
- Barry Rodewald
MARP Assistant Web Maintainer
MARP Assistant Web Maintainer
If MAME is reading the PC's clock and using that to seed the random number generator in Mr. Driller, then how on earth did Chad get the game to play back correctly?
As an aside, why can't I get Mr. Driller to play at anything above 60% or so, even with full frame-skip? Mr.Driller (the player) tells me his latitude c840 laptop plays it at 100%. I've tried with the command-line and MAME32 versions. Didn't try WolfMAME, but apparently that's even worse. Is it just that my 2.2GHz P4 is too slow for Mr. Driller?
As an aside, why can't I get Mr. Driller to play at anything above 60% or so, even with full frame-skip? Mr.Driller (the player) tells me his latitude c840 laptop plays it at 100%. I've tried with the command-line and MAME32 versions. Didn't try WolfMAME, but apparently that's even worse. Is it just that my 2.2GHz P4 is too slow for Mr. Driller?
PSX-based hardware is very slow under MAME - You'll need 2.8GHz or so for good speed in most. And due to a lot of floating-point code, it's a far bit faster on Pentiums than on Athlons. Many high resolution PSX-based games (512x480) have an interlace setting, which will run the game at a lower resolution if disabled, making it run faster. With Mr Driller (and other Namco System 12 games) you'll find the option in the game's video output test.
- Barry Rodewald
MARP Assistant Web Maintainer
MARP Assistant Web Maintainer
Well, I found the code that needs changing.
For the neogeo real-time clock, src/machine/neogeo.c, around line 80 has
if( record != 0 || playback != 0 )
which only uses the current date/time if we're not recording or playing back.
For Mr. Driller we need to do something since around line 328 of src/drivers/namcos12.c.
What's the best place to report this to, so that it's most likely to get into the next version of MAME?
In general, it would be a good idea to scan all the MAME sources for calls to the time() function, to check whether any other drivers are accessing the PC's clock. I'll take a look later if I'm not too busy in work today.
Chris.
For the neogeo real-time clock, src/machine/neogeo.c, around line 80 has
if( record != 0 || playback != 0 )
which only uses the current date/time if we're not recording or playing back.
For Mr. Driller we need to do something since around line 328 of src/drivers/namcos12.c.
What's the best place to report this to, so that it's most likely to get into the next version of MAME?
In general, it would be a good idea to scan all the MAME sources for calls to the time() function, to check whether any other drivers are accessing the PC's clock. I'll take a look later if I'm not too busy in work today.
Chris.
The easiest fix may be to add a new line to src/drivers/namcos12.c just before this line:
time(&curtime);
at line 325 saying this:
if( record != 0 || playback != 0 ) return 1;
'1' is a valid value for every field (hours, minutes, days, etc).
Maybe the game won't notice or care that the time is constantly set to 01:01:01 on the 1st Jan 01... At least recordings would playback correctly.
Chris.
time(&curtime);
at line 325 saying this:
if( record != 0 || playback != 0 ) return 1;
'1' is a valid value for every field (hours, minutes, days, etc).
Maybe the game won't notice or care that the time is constantly set to 01:01:01 on the 1st Jan 01... At least recordings would playback correctly.
Chris.