FS#12564 - [dgen-sdl] segfaults in 64bit; patches to fix
Attached to Project:
Arch Linux
Opened by Andrew Eikum (ColdPie) - Wednesday, 24 December 2008, 21:34 GMT
Last edited by Eric Belanger (Snowman) - Thursday, 27 May 2010, 23:32 GMT
Opened by Andrew Eikum (ColdPie) - Wednesday, 24 December 2008, 21:34 GMT
Last edited by Eric Belanger (Snowman) - Thursday, 27 May 2010, 23:32 GMT
|
Details
The 64bit version of dgen-sdl segfaults on launch. This is a
known issue with the emulator code; it's not 64-bit
compatible. Unfortunately, dgen isn't maintained any longer,
so upstream fixes aren't really possible.
A user on launchpad created a patch set for dgen which makes it work in 64-bit environments. I applied these patches to dgen-sdl and it works fine, save one patch which refers to some Debian file which obviously isn't there in non-Debian distros. Link to the launchpad bug & patchset: https://bugs.launchpad.net/ubuntu/+source/dgen/+bug/131281 As the user describes, there's still an issue with sound emulation. Sound works, but it plays back slowly at times. I don't know anything about writing emulators, so I don't know how to fix this myself. Graphics and gameplay seem to work fine with these patches. Also note the user's comments about possible issues with distributing changed versions of this source. There is a license and contact information for the mz80 author in dgen-sdl-1.23/mz80/mz80.txt. Given the wording of the license and comments in that file, I doubt the author would have an issue with distribution, but it's probably a good idea to contact the author anyway. |
This task depends upon
Closed by Eric Belanger (Snowman)
Thursday, 27 May 2010, 23:32 GMT
Reason for closing: Won't fix
Additional comments about closing: dgen-sdl has been removed from repo.
Thursday, 27 May 2010, 23:32 GMT
Reason for closing: Won't fix
Additional comments about closing: dgen-sdl has been removed from repo.
Seems alive and well here.
I'll update it, including the patches, and a copy of the email into svn.
edit: ignore the blank attachments, that's a bug in uzbl.
I just tested it a bit with a range of compile opts/patches and some others I found (gentoo). I got no further than what you did, removing any just made it segfault earlier.
It did work on 32bit with some games. I got through the first few stages of Sonic 1 (w sound), but Sonic 2 just hanged at the opening credits, and Sonic 3 segfaulted.
It's odd though, as the version in extra now works perfectly, so some update of gcc, nasm or sdl has caused it to break.
I looked around and there's three other maintained projects.
- XE, 64 and 32, multi machine emulator, slow, glitches, gtk2.
- gens/GS, 32 only, fully featured, stable, gtk2
- generator, [community], gtk1, 32 and 64, doesnt work with all games.
Edit: re-read the above comments, and I should be more clear. Runs great on my 64-bit laptop, but now segfaults on my 32-bit desktop. It seems a shame to lose the "official" package, but AUR might be appropriate since it is pretty broken.