Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
06615 Graphics Major Always Jun 11, 2017, 23:42 Nov 19, 2017, 08:30
Tester john_iv View Status Public Platform MAME (Self-compiled)
Assigned To Resolution Open OS Windows 10 (64-bit)
Status [?] Confirmed Driver model3.cpp
Version 0.186 Fixed in Version Build 64-bit
Summary 06615: scud: Scud Racer regression, now just a black screen on launch.
Description As before, I use the 'scud' set to benchmark. Phil fixed it a few revs. back when it was crashing. Now however it just displays a black screen when attempting to play (fwiw, the bench results are off too if run as 'mame64.exe scud -bench 90').
Steps To Reproduce 1. mame64 scud

Launch scud and display demo.

Black screen.
Additional Information
Regression Version 0.185
Affected Sets / Systems scud
Attached Files
related to 06492ResolvedPhil Bennett scud: Crash running scud with -bench 90, regression. 
User avatar
Phil Bennett
Jul 17, 2017, 00:50
PPC execution is stuck on this instruction:

FFF00174 mftb r5,tbl

This issue is a side-effect of this change:

"Convert Sega Model 1 Sound Board and Z80-based Digital Sound Board to use proper UART-based serial interfaces"

The UART introduced a high-frequency clock (500KHz), which has caused the scheduling quanta to be greatly reduced. The mftb instruction requires 100 cycles to execute but due to the way it is handled in the PPC DRC, there are never enough cycles in a scheduling period for it to execute and thus advance to the next instruction.

Moving generate_update_cycles() to the end of the instruction sequence of mftb resolves the issue but I'm not familiar enough with PowerPC or MAME's DRC to be confident that this is the correct fix.
User avatar
Phil Bennett
Jul 17, 2017, 01:12
Yeah, that's not correct.

Perhaps all that is required is to change the allow_exception parameter of the early call to generate_update_cycles() to false to allow the instruction to run regardless of the cycles remaining?
User avatar
Nov 19, 2017, 08:30
With today's updates it gets to car and course selection, but then it hangs when it should go to the start line.