http://bugs.winehq.org/show_bug.cgi?id=11643
Summary: Gens: Sega Genesis Emulator will not open or run ROMs Product: Wine Version: 0.9.54. Platform: PC URL: http://gens.consolemul.com/downloads.shtml OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: phydaux@gmail.com
Created an attachment (id=10840) --> (http://bugs.winehq.org/attachment.cgi?id=10840) Error log of crash
When a ROM is loaded into (opened with) Gens, Wine crashes. Specifically, using the Gens "File" menu, and "Open ROM" command, navigate to the ROM in Gens' file browser, and click on the "Open" button. The file browser dialogue closes and Gens attempts to load the ROM, Wine then crashes.
Also: Gens opens in Wine but the graphic display is faulty (the "static" while no ROM is loaded is in the wrong aspect ratio to the Gens window). When Gens full screen is selected, Gens appears to hang and is unresponsive.
Gens versions tested: 2.14 (latest at 2008/02/19), 2.11, 0.99 all have the same results as described above. Sega Genesis ROMs tested: Golden Axe (JU) (REV 00) [!].bin, Sonic the Hedgehog (JUE) [!].bin, Streets of Rage (JUE) (REV 00) [!].bin
http://bugs.winehq.org/show_bug.cgi?id=11643
affect afffect@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |afffect@gmail.com
--- Comment #1 from affect afffect@gmail.com 2008-02-22 15:49:58 --- confirmed in .56
http://bugs.winehq.org/show_bug.cgi?id=11643
--- Comment #2 from affect afffect@gmail.com 2008-02-23 07:10:42 --- ok, i found out that it crashes after returning from IDirectDrawSurfaceImpl_Blt in
switch(hr) { ... default: return hr; } hr is 0 so its ok, and after that something else causes app to crash. some disassembling and debugging is needed
http://bugs.winehq.org/show_bug.cgi?id=11643
--- Comment #3 from affect afffect@gmail.com 2008-02-23 07:16:17 --- Created an attachment (id=10917) --> (http://bugs.winehq.org/attachment.cgi?id=10917) WINEDEBUG=all+relay,+seh,+tid,+ddraw,+d3d_surface
ERR("RETURNING %x \n", hr); was added to ddraw/surface.c inside IDirectDrawSurfaceImpl_Blt before { return hr; }
http://bugs.winehq.org/show_bug.cgi?id=11643
Alexander Dorofeyev alexd4@inbox.lv changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |alexd4@inbox.lv
--- Comment #4 from Alexander Dorofeyev alexd4@inbox.lv 2008-02-28 15:25:35 --- This was discussed on #winehackers, adding here while I still remember it, so it doesn't get lost.
After some debugging in IDA disassembler, I believe it crashes in z80_Exec routine, at z80.asm:5119 (source is available). The reason it crashes is because it accesses a NULL pointer stored in M_Z80.PC (M_Z80 is a global struct defined somewhere in C code). Probably, some correct pointer must be in M_Z80.PC, but for some reason it isn't initialized to anything correct. From what I understood from a cursory glance over the code, M_Z80.PC is a sort of instruction pointer for the emulated Z80 processor like IP/EIP on PC.
I also believe that the place where M_Z80.PC should've been initialized to correct pointer is z80_Reset routine (also z80.asm). It basically does M_Z80.PC = M_Z80.Fetch[0]. Fetch is an array of pointers to what I guess would be memory blocks of Z80 code. For some reason, there's NULL there. Looking for where Fetch array and specifically Fetch[0] is set in the code may show the real problem's location. Probably, ROM loading goes wrong somewhere.
Hopefully, this may be of help to affect or anybody else who may wish to take it further.
2 Affect: would be cool if you let me know if you are continuing to work on this issue. If that's not so, I may eventually try to finish the job, won't be immediately though as I've some other stuff planned to do and it may take a while to figure out what exactly goes wrong with M_Z80.Fetch.
http://bugs.winehq.org/show_bug.cgi?id=11643
--- Comment #5 from affect afffect@gmail.com 2008-02-29 07:22:18 --- go on, i dont have enough time and asm knowledge
http://bugs.winehq.org/show_bug.cgi?id=11643
--- Comment #6 from Alexander Dorofeyev alexd4@inbox.lv 2008-02-29 13:24:13 --- Ok, i'll consider it for future tasks. It's not necessary asm though, I haven't yet found (or tried to) where Fetch array is initialized, but it very well may be in C code, I believe ROM loading code is in C. It may require time nonetheless finding it.
http://bugs.winehq.org/show_bug.cgi?id=11643
--- Comment #7 from Austin English austinenglish@gmail.com 2008-06-03 13:27:34 --- Is this still an issue in 1.0-rc3?
http://bugs.winehq.org/show_bug.cgi?id=11643
--- Comment #8 from affect afffect@gmail.com 2008-06-03 15:35:33 --- yeah still there
http://bugs.winehq.org/show_bug.cgi?id=11643
--- Comment #9 from Austin English austinenglish@gmail.com 2008-12-01 02:07:00 --- Is this still an issue in current (1.1.9 or newer) wine?
http://bugs.winehq.org/show_bug.cgi?id=11643
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |ABANDONED
--- Comment #10 from Austin English austinenglish@gmail.com 2009-06-02 10:43:26 --- Abandoned. If you still have an issue in current (1.1.22 or newer) wine and can provide the needed information, feel free to reopen.
http://bugs.winehq.org/show_bug.cgi?id=11643
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #11 from Austin English austinenglish@gmail.com 2009-06-02 10:46:05 --- Closing.