Viewing Issue Advanced Details
|ID||Category [?]||Severity [?]||Reproducibility||Date Submitted||Last Update|
|03262||DIP/Input||Critical (emulator)||Always||Jun 14, 2009, 18:42||Jun 18, 2009, 01:27|
|Tester||Tafoid||View Status||Public||Platform||MAME (Official Binary)|
|Assigned To||etabeta||Resolution||Fixed||OS||Windows 2000|
|Version||0.132||Fixed in Version||0.132u1||Build||Normal|
|Summary||03262: Drivers using TMS9928: Using any type of frameskip causes crash|
Using a preset -FS value, or even using Fast Forward (Insert), causes MAME to crash.
|Steps To Reproduce|
Drivers seemingly effected:
cliffhgr.c uses this, but doesn't seem to crash.
|Affected Sets / Systems||Drivers using TMS9928|
|There are no relationship linked to this issue.|
Jun 14, 2009, 18:45
Program received signal SIGSEGV, Segmentation fault.
Jun 14, 2009, 18:47
I debugged the same issue in the coleco driver in MESS, the crash is in src/emu/video/tms9928a.c:675 (draw_sprites()), which seems to be caused by the following call at line 438:
draw_sprites (NULL, NULL, NULL);
This doesn't work so well when the first thing draw_sprites() does is try to dereference one of those parameters....
Jun 15, 2009, 09:17
edited on: Jun 15, 2009, 09:18
Please check MESS svn 5023 for a possible solution.
Needs to be extensively tested.
Jun 15, 2009, 09:22
edited on: Jun 15, 2009, 09:24
it should be enough to replace line 438 with
draw_sprites (machine->primary_screen, NULL, NULL);
EDIT: not sure about Robbbert's change, but my fix is for the frameskipping crash and it works perfectly. never had any soft reset issue otoh, so maybe there are more problems
Jun 18, 2009, 01:27
edited on: Jun 18, 2009, 01:29
|Yeah, eta's fix is correct. MESS #5023 is wrong, it treats the symptom rather than the problem.|