Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
02808 Core Major Always Jan 8, 2009, 13:01 Mar 7, 2010, 12:31
Tester Robbbert View Status Public Platform Other
Assigned To Resolution Fixed OS
Status [?] Resolved Driver
Version 0.129 Fixed in Version Build Normal
Fixed in Git Commit Github Pull Request #
Summary 02808: wswan, wscolor: Debugger access violation with V30MZ cpu
Description This CPU is only used in MESS by the Wonderswan driver.

Any attempt to use the debugger will cause an immediate access violation.

The problem was tracked to src\emu\cpu\nec\necdasm.c

There is a variable "v25v35_decryptiontable", which whenever referenced causes the crash. It is used in 3 places in this c file.

I'm guessing by the name that the variable should not exist for this cpu, but since it is created at the top of the file, I'm not sure what the programmer's intent is.

This is the first crash, but you need to comment out all 3 occurances to make the debugger work again.


Program received signal SIGSEGV, Segmentation fault.
0x6b023449 in necv_dasm_one (buffer=0x22f938 "", eip=1048554, oprom=0x22f9dc "ÿ", _config=0x6b131820)
    at src/emu/cpu/nec/necdasm.c:1541
1541 if (Iconfig->v25v35_decryptiontable) op = Iconfig->v25v35_decryptiontable[op];
Steps To Reproduce
Additional Information Just noticed another issue: if the lines are commented out as above, after about 20 instructions, an assert occurs, on a debug build only:

Assertion failed: bytes <= cpu_get_max_opcode_bytes(device), file src/emu/debug/debugcpu.c, line 434
Github Commit
Flags
Regression Version
Affected Sets / Systems wswan, wscolor
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
3
User avatar
No.03533
Tafoid
Administrator
Jan 8, 2009, 15:05
edited on: Jan 8, 2009, 15:07
I can confirm with "mess wswan -debug" command line of the downloadable 0.129 MESS. While not specifically a MAME problem - It's my understanding that if a core in MAME the interaction with with debugger is a core issue, not a MESS issue. A clear direction with Dev would be useful for determining bugs like this as valid or invalid in the future.
User avatar
No.03536
Haze
Senior Tester
Jan 8, 2009, 21:36
the decryptiontable thing is for supporting the realtime decryption used in the v25+/v35+ cpus (it's a common internal feature of that cpu, so the table is passed to the cpu core, some games switch it on / off dynamically)

I suspect the wonderswan version of the cpu hasn't been set up correctly, maybe some code is shared....I do wonder why it has it's own folder and isn't built on top of the existing core.
User avatar
No.05842
Robbbert
Senior Tester
Mar 7, 2010, 11:20
This is now fixed, not sure when it happened.