Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
00759 Misc. Major Always Feb 4, 2008, 12:26 Oct 11, 2017, 21:22
Tester -Misc Reporters- View Status Public Platform
Assigned To MetalliC Resolution Fixed OS
Status [?] Resolved Driver
Version 0.99 Fixed in Version 0.191 Build
Fixed in Git Commit Github Pull Request #
Summary 00759: mtlchamp and clones: There is a problem with the nvram in the RAM / ROM check after you change some settings in service mode.
Description Enter the service mode, and change a game option (Violence or Difficulty) then select 'Save and Quit', then 'Game Mode' to exit service mode. MAME will write 'mtlchamp.nv' to the 'nvram' directory.

On the first reboot, the RAM / ROM check will fail. Thereafter, the check will succeed, but then 'Version Error' appears in the middle of the screen. The game will reset and this will continue in a loop.
Steps To Reproduce
Additional Information Posted by marco75
Github Commit
Flags
Regression Version
Affected Sets / Systems mtlchamp and clones
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
6
User avatar
No.00546
couriersud
Developer
Apr 4, 2008, 08:55
Still reproduces in 0124u1 - How do I set the last repro version?
User avatar
No.00547
Fujix
Administrator
Apr 4, 2008, 08:59
I have disabled editing the repro version field.
Now it appears in the "update issue" page.
User avatar
No.05964
Tafoid
Administrator
Apr 12, 2010, 17:26
Some discussion about this from Shimapong:
http://www.mameworld.info/ubbthreads/showthreaded.php?Cat=&Number=219534
User avatar
No.08373
NekoEd
Senior Tester
Mar 16, 2012, 14:15
This is still present, but the message board thread returns an error "We cannot proceed."
User avatar
No.14198
MetalliC
Developer
Sep 30, 2017, 15:29
edited on: Sep 30, 2017, 16:02
short version: current emulation missing some interrupt disable logic, or this is caused by forced pull up logic in eepromser.cpp

longer version:
this game does not disable interrupts during EEPROM read when in test mode.
interrupt handler write data to same port there connected eeprom and clear CS line in the middle of read cycle -> eepromser starts to output 1 data, so in result one (unused) byte of read data becomes FF, this lead to incorrect calculated checksum before data writeback.
User avatar
No.14258
M.A.S.H.
Senior Tester
Oct 11, 2017, 21:22
Fixed by MetalliC:
https://git.redump.net/mame/commit/?id=12b8cc98541c5e400ae9fc3a83215720cda40ca9