Viewing Issue Advanced Details Jump to Notes ] megadriv.cpp
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
06326 Crash/Freeze Critical (emulator) Always Jul 27, 2016, 15:36 Jul 29, 2016, 16:12
Tester Zaghadka View Status Public Platform MESS (Official Binary)
Assigned To Osso Resolution Fixed OS Windows 10 (64-bit)
Status [?] Resolved   Driver megadriv.cpp
Version 0.176 Fixed in Version 0.177 Build 64-bit
Summary MESS-specific 06326: megadriv, 32x and clones, some segac2.c sets: Selecting machine and game via softlist though internal menu results exception/crash
Description In the Genesis, NTSC driver, Sonic the Hedgehog 2 and Sonic the Hedgehog 3 crash to desktop. When Sonic 2, World Rev. A is run with Mega drive, Europe it succeeds. Mega Drive, Japan crashes. When Sonic 3 is run with any driver, it crashes. This may affect more Genesis/Mega Drive games, but I'm getting CTDs on various Sonic sets.

I am using HLSL with NTSC processing turned on. Turning off HLSL does not help, though.
Steps To Reproduce Launch Sonic the Hedgehog games with various Mega Drive/Genesis drivers.
mame genesis flicky should be enough to verify exception

Additional Information Likely GCC 6.1.0 related

Exception at EIP=0000000002b2ec33 (ioport_port::read()+0x0023): ACCESS VIOLATION
While attempting to read memory at 0000000000000029
Stack crawl:
  0000000000228840: 0000000002b2ec33 (ioport_port::read()+0x0023)
  0000000000228910: 0000000000c3e701 (md_cons_state::screen_eof_console(screen_device&, bool)+0x0021)
  0000000000228970: 0000000002b86736 (screen_device::vblank_begin()+0x00e6)
  00000000002289e0: 0000000002b8a3e5 (screen_device::device_timer(emu_timer&, unsigned int, int, void*)+0x0275)
  0000000000228a80: 0000000002b802c9 (device_scheduler::timeslice()+0x0479)
  0000000000228b00: 0000000002b4a5d8 (running_machine::run(bool)+0x01a8)
  000000000022f440: 00000000017df41f (mame_machine_manager::execute()+0x015f)
  000000000022f8c0: 000000000183b384 (cli_frontend::execute(int, char**)+0x0e04)
  000000000022f930: 00000000017de4c5 (emulator_info::start_frontend(emu_options&, osd_interface&, int, char**)+0x0035)
  000000000022fd70: 00000000017409bb (utf8_main(int, char**)+0x012b)
  000000000022fe50: 0000000002f6453c (wmain+0x018c)
  000000000022ff20: 000000000040140c (__tmainCRTStartup+0x025c)
  000000000022ff50: 000000000040153b (mainCRTStartup+0x001b)
  000000000022ff80: 00000000774559bd (BaseThreadInitThunk+0x000d)
  000000000022ffd0: 000000007768a2e1 (RtlUserThreadStart+0x0021)
Regression Version 0.176
Affected Sets / Systems megadriv, 32x and clones, some segac2.c sets
Attached Files

-  Notes
User avatar
Jul 27, 2016, 15:39
Okay, it happens with Alisia Dragoon (USA) on Genesis, USA NTSC as well. There seems to be a problem with the driver.

I am launching these games from the GUI through the software list picker.
User avatar
Jul 27, 2016, 15:42
I also checked the games with Mame 0.175. They work in that version, so the regression is at 0.176.
User avatar
Jul 28, 2016, 01:14
edited on: Jul 28, 2016, 01:22
I can confirm with those using GCC 6.1.0 only ('s release) and those who are using GCC 5.4.0 or earlier don't seem to be having this issue.
It appears to affect most all megadriv.cpp drivers to various extents.