Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
03461 DIP/Input Minor Always Oct 4, 2009, 20:22 Dec 9, 2012, 13:26
Tester TrevEB View Status Public Platform MAME (Official Binary)
Assigned To hap Resolution Fixed OS
Status [?] Resolved Driver starfire.cpp
Version 0.134 Fixed in Version 0.147u4 Build C2D
Summary 03461: starfire, starfirea, starfir2: Scratchpad Ram test not available in emulation
Description Scratchpad ram test is noted on page 7 & 17 of the owners manual as a complete test of the main ram done by disabling the Non-maskable Interrupt signal to the cpu.

Jumper J6 at location 4G on the mainboard must be open.

This would be an added option to complete emulation of the system tests.

Also of note on Page 6 is the shorting of resistor R3 at location 2A of the mainboard if the daughterboard has 11 chips (starfire) versus 10 chips (starfirea)

Does the driver account for this in the test? I have no idea. It behaves like it does.
Steps To Reproduce
Additional Information
Flags Verified with Original
Regression Version
Affected Sets / Systems starfire, starfirea, starfir2
Attached Files
There are no relationship linked to this issue.
User avatar
Jan 6, 2010, 07:04
Careful analysis of the game's code reveals where the self tests occur and the check for the NMI's to determine if a scratchpad RAM test should occur.

You can fool the game's code into allowing the scratchpad RAM test with the following breakpoint set in the debugger console of MAME:

bp 51fd,1,{a=b@8367 ; g}

From what I can tell, the scratchpad RAM test is set to run 256 times, but the loop does not contain a watchdog kicker (unlike Starfire2). So the game will reset before this test completes all of these loops.

I don't know if disabling the NMI's also affects the need to kick the watchdog. It seems like it does, or else this test would also reset on an actual machine, which I doubt.

So it appears that we need something in the MAME driver, like a dipswitch, which can emulate the disabling of the NMI's which is done on the actual board by shorting a resistor and/or changing a jumper.