Page 2 of 2

Posted: Mon Feb 03, 2003 10:13 pm
by mahlemiut
Here's a fix of my own that I'll add.

gaiden.c:
change line 275 to

Code: Select all

PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
and line 283 to

Code: Select all

PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
Now you can use the third button like in previous MAME versions. Who knows why that was changed in the first place.

Posted: Tue Feb 04, 2003 3:45 am
by mahlemiut
http://marp.retrogames.com/exe/alphamame-064-3.zip
http://marp.retrogames.com/exe/alphamame32-064-3.zip
http://marp.retrogames.com/exe/alphadmame-064-3.zip

Just a few fixes to some drivers. And I think I remembered to enable the speedup for the MAME32 GUI. :)

Posted: Tue Feb 04, 2003 6:22 am
by Blost
leet :D

Posted: Tue Feb 04, 2003 3:27 pm
by kfx
The Ninja Gaiden missing at button was a mistake. This is taken from the Mame testers board :
Anyway, here is the fix ... In src/drivers/gaiden.c, change the following lines (under PORT_START /* Players Inputs */) :


PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )

to :

PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 ) PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )

And sorry again for the troubles ...

Steph from The Ultimate Patchers:

http://www.mameworld.net/cgi-bin/wwwthr ... #Post13646

Good think you fixed it, but did you have to beat me at the same time :lol:

Posted: Tue Feb 04, 2003 9:11 pm
by mahlemiut
Yep. :)

Posted: Wed Feb 05, 2003 1:02 pm
by Kale
mahlemiut wrote:Kale, I don't know what you're on about with system32.c, rand() is never used in the driver.
Here's the response...
Kale wrote: *Under s32_read_rand

Code: Select all

static READ16_HANDLER(sys32_read_random)
{
	// some totally bogus "random" algorithm
	s32_rand = activecpu_gettotalcycles() % 0xf;

	return s32_rand;
}
rand() isn't used,but the driver has random problems,most notably in Super Visual Football(team selection is always the same...)

Posted: Wed Feb 05, 2003 1:25 pm
by Chad
you realize activecpu cycles will not be the same on all platforms and thus garuantee incompatibility between different oses...

Posted: Wed Feb 05, 2003 1:34 pm
by Kale
Chad wrote:you realize activecpu cycles will not be the same on all platforms and thus garuantee incompatibility between different oses...
activecpu_gettotalcycles() is a number used by the CPU and it's modified at every instruction fetch/decode/execution cycle.It must be the same for every platform...

Posted: Wed Feb 05, 2003 5:08 pm
by mahlemiut
I would figure that it could be different for different CPU cores. Especially to those that may not use the MAME CPU cores in some cases (like MacMAME, although you can compile XMAME under MacOS X)

Posted: Wed Feb 05, 2003 5:21 pm
by Chad
I'm also thinking with instruction pipelining, the cycles can be different even on the same platform depending on how many other threads are running on the computer at the time. A good random number generator but not garuanteed to be the same every time, i still believe rand() is the same every time if it's seeded the same and called the same # of times because it just uses a % function and a static counter.

Posted: Wed Feb 05, 2003 6:15 pm
by mahlemiut
The next version of MAME should have a proper pseudo-random number generator function, aimed at getting correct playback. Hopefully, we won't need to worry about this anymore from then.

Posted: Thu Feb 06, 2003 6:22 pm
by Haze
the wizard fire 'fix' will break the continue feature of the game btw, not that it matters for marp recordings.