Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
03149 Crash/Freeze Critical (emulator) Random May 8, 2009, 00:31 May 16, 2009, 08:47
Tester Tafoid View Status Public Platform
Assigned To aaron Resolution Fixed OS
Status [?] Resolved Driver
Version 0.131u1 Fixed in Version 0.131u3 Build
Fixed in Git Commit Github Pull Request #
Summary 03149: All sets in cps3.c: Access Violation
Description Game crashes out with Access Violation BEFORE OK - sometimes after and sometimes not at all.
Steps To Reproduce
Additional Information
Github Commit
Flags
Regression Version 0.131u1
Affected Sets / Systems All sets in cps3.c
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
3
User avatar
No.04353
etabeta
Developer
May 8, 2009, 06:55
the culprit seems to be timer allocation when the wd33c93 is initialized

#0  0x0069f773 in state_save_register_memory ()
#1  0x006a60ce in timer_register_save ()
#2  0x006a719d in _timer_alloc_internal ()
#3  0x007311f6 in wd33c93_init ()
#4  0x00097988 in machine_start_cps3 ()
#5  0x0067912a in mame_execute ()
User avatar
No.04369
Mamesick
Senior Tester
May 11, 2009, 06:05
Maybe the bug is here... no time to test. Though:
 	/* just some NOPs for the game to execute if it crashes and starts executing unmapped addresses
      - this prevents MAME from crashing */
-	cps3_nops = auto_malloc(0x4);
+	cps3_nops = auto_alloc(machine, UINT32);
 	cps3_nops[0] = 0x00090009;
this is obviously wrong, it should be:
 	/* just some NOPs for the game to execute if it crashes and starts executing unmapped addresses
      - this prevents MAME from crashing */
-	cps3_nops = auto_malloc(0x4);
+	cps3_nops = auto_alloc_array(machine, UINT32, 0x4/4);
 	cps3_nops[0] = 0x00090009;
User avatar
No.04374
gc774
Tester
May 12, 2009, 05:16
The memory allocated to scsiInstance with a SCSIMalloc function is too small.
It is required to specify a suitable size with a SCSISizeof function.