0 users browsing Emulation. | 3 bots  
    Main » Emulation » Revamping my Genesis/MD emulation workbench
    Pages: 1 2 Next Last
    Posted on 19-02-26, 22:14
    Dinosaur

    Post: #169 of 1318
    Since: 10-30-18

    Last post: 6 days
    Last view: 21 hours
    While I no longer have that much free time I can spare for gaming purposes, I still devote a couple hours every now and then for checking random stuff that somehow caught my interest that day. Recently, it was the surfacing of the Brazilian release of Surgical Strike, one of the 6 "games" for the ill-fated abomination of cables and power bricks known as Sega CD 32X. The rip found its way to the wild wide Internets shortly after that, and I reminded of the fact I never tried a SCD32X game, despite having a emulator on my setup (Kega Fusion) that claimed support for said games.

    I downloaded the BIN+CUE rip. Booted Fusion for first time in over a year. The SCD BIOS ROM runs, I get Sonic saying me that indeed I'm playing with LICENSED BY SEGA ENTERPRISES fire, and... blackness. Nothing, nada, only a FPS counter and a CDROM read LED permanently lit. At first I thought I may have downloaded a bad rip, but it seems everybody and his dog were playing with the same Brazilian-sourced rip (volume label is "TCM_GAME", and the hashes don't match the listed ones on Sega Retro... which makes sense as they only have rip metadata for the vanilla MCD versions). The rip boots fine if 32X is disabled (or if run in a emulator that doesn't support the SCD32X combo), although it dies with a "please power down and connect the 32X" message, as expected.

    Well, I took this as a excellent chance to look around and bring some updated Genesis/MD emu love to my workbench. Being a Linux user means I don't have as many options as Windows users do (or used to do?). But then, there aren't that many newcomers to the Genny emuscene. Let's recap what is out there:

    - Gens/GS: Development on Gens stopped nearly a decade ago, despite having oh so many forks out there (most of them dead after one or two releases, and/or infringing the GPL in one or other form). Too bad GerbilSoft never managed to complete his Gens/GS 2 rewrite. Still, for most definitions of the word "best", Gens/GS can be considered the best Gens version ever. At least Gens isn't the ZSNES of the G/MD emuworld, right???!

    - Kega Fusion: The emulator that once was the gold standard on accuracy, at the cost of slightly higher system requirements. After years of pestering Snake, he eventually relented and made Mac and Linux ports of Fusion. But then, there were only TWO releases for Linux (the Mac version had an extra earlier release), and no platform other than Windows received the final (and rushed) release, 3.64. Plus, as a closed source binary blob which was compiled in 2009 under a 2006 distro (hey, my nick is right there as the reason!), it's unlikely that it will continue working with modern Linux distros for much longer (it already gives plenty of trouble on some PulseAudio and multiarch setups)

    - Regen: I know AamirM released a few Linux builds (kinda featureless when compared to the matching Windows builds). Never had luck running any of those on my setups back then. Wonder what happened with the project...

    - PicoDrive: First time I heard about this emulator was back when notaz came with one of the breakthroughs in G/MD emulation: the SVP chip being emulated for the first time. But back then, PicoDrive was only aimed at ARM toys (and it seems it still is), the x86 SVP build was a PoC, a one-off. Back to the present, there is now a "generic" build for *nix platforms (although you have to build it yourself), and the emulator now supports the 32X, pirate mappers, and other fun junk. But then, notaz reaaaaaaly want you to either own an ARM toy, or use the libretro core: while the generic build works fine on Debian for emulation-related purposes (including running the SCD32X version of Surgical Strike in all its glorious suckyness because all '90s FMV games are shit), the standalone UI certainly is very barebones. I like the fact you can use it with a gamepad. I don't like the fact you can't setup video filters (other than the default blurry GL_LINEAR filtering you get on the OpenGL renderer), properly build a OpenGL-enabled binary (I had to resort to this hack), no native fullscreen support (I had to work around that with a Devils' Pie 2 script), or actually being able to set controller key mappings (as the UI seems to be EXTREMELY buggy for that - I had to resort to manually keying in my gamepad inputs on config2.cfg). Come up with a decent standalone UI and I can see myself ditching Fusion for good in favor of PicoDrive.

    - BlastEm: I can read bold claims regarding emulation accuracy about this one (including being able to correctly run the infamous Overdrive demos that nothing else but legit Sega-made consoles can properly run). So far no expansion peripherals are supported (so no SCD or 32X), but for me the biggest deal breaker is their incredibly confusing gamepad setup UI! It assumes that every gamepad in the world is a Xbox/PS pad. Yes, I do have a X360 wired pad. No, I don't use it for emulators ("the D-pad is horrible" being the main flaw on a otherwise good pad). I do have a couple cheap Genius MaxFire (G-08XU/G-12U Vibration) pads for that (the D-pads are also kinda terrible on those, but at least they're in the correct position for my fingers), but BlastEm gamepad setup dialogs get confused and try to convince me that they are a Xbox pads in disguise (they aren't). Once a gamepad type is setup, changing controller mappings is still not straightforward! So... yeah, I can't really use this as-is.

    - Please I've not included Higan's MD core on the list, as I don't own the best hardware for enjoying it at its finest, plus I don't know if byuu itself would consider it "mature" at this stage.


    Before you guys come with "RetroDrive is the second coming of $DEITY", let me get something clear: I'm not looking for a "emubox solution". I'm not looking for purchasing a RPi (or lookalike), or any ARM toy - my ol' repurposed P4 IBM TV box still works fine with any Genesis ROM I throw at it. I have no need for other consoles at this stage (I haven't dusted off my GBA collection in over a decade, for starters). I don't need a CoverFlow™/Big Picture thing forcing me to scroll through endless pages of games with the same banners (as most as my ROMs are hacks). My emulation needs for the Genesis in particular can be resumed in three broad groups of games:
    - Games I've ever owned in carts and its prequels/sequels (~35%)
    - Entries of the yearly Sonic ROM hack contests (~50%)
    - Random one-off curiosities, like the entire 32X library or anime-based videogames (~15%)
    I feel that my particular needs are best served by a standalone emulation solution.

    For now, I guess I'll work around PicoDrive's standalone UI bugs and oddities (as I like the rest of the emulator), while keeping my trusty Gens/GS and Fusion setups as backups. But I certainly would like some more alternatives, particularly on the UI and the support for expansion devices.

    Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™
    Posted on 19-02-27, 00:23

    Post: #26 of 49
    Since: 10-29-18

    Last post: 1911 days
    Last view: 1796 days
    I know the UI of RetroArch is a polarizing issue around here, but AFAIK it's the only reliable way of MD emulation using the latest Genesis Plus GX (my go-to for SCD at least) on Win/Mac/Lin. Eke-Eke is pretty receptive to things like bug reports and some feature requests, even going so far as to compiling a custom version of the libretro core on Windows for me to help debug the sound output.

    On Linux before that I was also using the last Gens/GS, even going so far as to install the Intel i32 packages on my 64-bit Ubuntu to get the 32-bit application running, as the Linux Kega didn't quite work right for me (I wanted to play the Sonic 1 Megamix hack at the time and Kega wasn't having it).
    Posted on 19-02-27, 01:12 (revision 1)
    Dinosaur

    Post: #171 of 1318
    Since: 10-30-18

    Last post: 6 days
    Last view: 21 hours
    Ah yeah, compiling Gens/GS (which is strictly a 32-bit x86 executable) under AMD64 is a pain. I've always struggled doing so, can't really remember how I did it the last time I tried on my Debian laptops (I remember I had to do some -m32 trickery or something).

    Last time I needed to do a Gens/GS build, I just used one of my ancient P4 systems (Or I could just make a chroot). But then, we quickly hit the second brick wall: deprecations. With GTK2 forced to go the way of the dodo in the not so distant future, well, I guess the fate for Gens is already sealed, and it's not going to be pretty. And that's not even considering the fact the last people who tried to bring its internals to this century gave up. At this point, I'm sad to admit that both Gens and Kega are walking zombies. They have served us very well for almost two decades, but the road is almost over for both of them.

    EDIT: Oh wow, Gens/GS II is still alive..!??!
    Well, not really. It seems GerbilSoft just did the same those classic Mac emudevs did: put the sources on GitHub, make one or two lone commits that fix compiler errors or something, and... dash my hopes of any future progress :/

    Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™
    Posted on 19-02-27, 01:21
    Stirrer of Shit
    Post: #41 of 717
    Since: 01-26-19

    Last post: 1773 days
    Last view: 1771 days
    You considered using Wine? It should run well:
    https://appdb.winehq.org/objectManager.php?sClass=version&iId=23900

    If not that, then I recall using a special "Mini" build of Windows XP that was like 100mb and ran from RAM. Even in QEMU the overhead would probably be tolerable.

    All of this emulation software is pretty old anyway, and most of it is Windows-only. I think Windows 7 is going to become some kind of gold standard for software. In the future, we'll just run it on Wine (ported to Android). When Android starts to become archaic, we'll just run AINE on whatever OS comes after, with WINE under that, gradually piling on layers of emulators as we go. And it won't matter, since the overhead will be negligible compared to whatever horror Electron has developed into after 20 years. Remember, CPU time is always cheaper than developer time.

    There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this.
    Posted on 19-02-27, 02:12 (revision 2)
    Dinosaur

    Post: #173 of 1318
    Since: 10-30-18

    Last post: 6 days
    Last view: 21 hours
    Emulating a emulator?!

    Yo dawg, I want to smoke some of that too - looks like it's damn good!

    No, seriously, I left Windows for all of my emulation needs over 13 years ago. The last emulator I had to emulate was NO$GBA, and that was during a very brief time (the DS came around that time, and I lost interest into emulating portables in general). At least I gotta admit the efforts the libretro folks have made to convince emudevs to step up their multiplatform game have been very productive.

    Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™
    Posted on 19-02-27, 02:38
    Stirrer of Shit
    Post: #42 of 717
    Since: 01-26-19

    Last post: 1773 days
    Last view: 1771 days
    I don't see the issue. With Wine, you'd be good on the compatibility front for many years to come, and the overhead is negligible.

    Is GTK2 dead yet? What would it even entail, no more updates?

    It might be harder than it looks, but Gens doesn't look to be that tightly coupled to GUI code. Might be able to fix that without doing a full rewrite.

    There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this.
    Posted on 19-02-27, 03:03
    Custom title here

    Post: #275 of 1164
    Since: 10-30-18

    Last post: 73 days
    Last view: 1 day
    I was under the impression Lunix distros were starting to remove GTK2 from their package repositories. One of the problems with trusting a single third-party for all your software is that you're at the meroy of their whims.


    Why stop at Wine? Install MAME, install Windows in MAME, install your emus in Windows in MAME in Linux.

    --- In UTF-16, where available. ---
    Posted on 19-02-27, 15:46
    Stirrer of Shit
    Post: #43 of 717
    Since: 01-26-19

    Last post: 1773 days
    Last view: 1771 days
    The current Debian stable release is Stretch, came out on 2017-06-17. They usually go two years and two months between each release. And GTK2 is still in unstable, which is two releases out. That means it's at the very least (read: if they dropped support for it tomorrow) going to survive until late 2023/early 2024, when current unstable becomes oldstable.

    And that's assuming nobody writes a GTK2 -> GTK3 shim/compatibility layer in the next five years. It seems overly pessimist to me to avoid using a piece of software because of perceived issues in 5 years that may or may not cause any actual trouble.

    Running things in Wine is a feasible solution. It's not an emulator as much as an API shim. There's no performance hit, as long as the compatibility is fine there aren't any issues. With MAME, you're doing actual CPU emulation with the added issues that brings.

    There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this.
    Posted on 19-02-27, 16:59
    Post: #2 of 20
    Since: 10-29-18

    Last post: 1746 days
    Last view: 1632 days
    There was that emulator aimed at accuracy, something like Nemesis (Don't remember clearly). I think one version was released, then work began on a second one and I then forgot to follow the news.
    Posted on 19-02-27, 22:29
    Dinosaur

    Post: #174 of 1318
    Since: 10-30-18

    Last post: 6 days
    Last view: 21 hours
    Posted by Braintrash
    There was that emulator aimed at accuracy, something like Nemesis (Don't remember clearly). I think one version was released, then work began on a second one and I then forgot to follow the news.

    Exodus: https://www.exodusemulator.com/

    And no, it's Windows-only (IIRC it's Win64-only!), plus it had Higan-esque system requirements, didn't supported console addons, and it was mainly aimed at developers and ROM hackers, rather than gamers.

    And it was kinda dead, until recently.

    Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™
    Posted on 19-02-27, 23:36
    Post: #3 of 20
    Since: 10-29-18

    Last post: 1746 days
    Last view: 1632 days
    Ah, yes, Exodus, thank you!

    Well, I should get my Mega Sg in two months, three top, so Exodus can remain a bigotry.
    Posted on 19-02-28, 02:15 (revision 3)

    Post: #42 of 88
    Since: 11-04-18

    Last post: 1892 days
    Last view: 1892 days
    Posted by neologix
    I know the UI of RetroArch is a polarizing issue around here, but AFAIK it's the only reliable way of MD emulation using the latest Genesis Plus GX (my go-to for SCD at least) on Win/Mac/Lin. Eke-Eke is pretty receptive to things like bug reports and some feature requests, even going so far as to compiling a custom version of the libretro core on Windows for me to help debug the sound output.

    On Linux before that I was also using the last Gens/GS, even going so far as to install the Intel i32 packages on my 64-bit Ubuntu to get the 32-bit application running, as the Linux Kega didn't quite work right for me (I wanted to play the Sonic 1 Megamix hack at the time and Kega wasn't having it).


    +1 for Genesis Plus GX, it has 100%, known at least, compatibility for Megadrive/CD games. and the best way to play that for linux I think is to use its libretro library core using whatever you'd prefer for that. I have little experience with Linux but you can run RetroArch on it

    Also,you can't go wrong with Picodrive. Unlike GPGX it also supports 32x, by far it's not perfect but good enough to play Knuckles' Chaotix without issues, one of the only game for the system that might be worth checking out to be honest, though in my opinion, it's kind of a mess honestly and I'd rather play Sonic-CD

    Posted by tomman
    plus I don't know if byuu itself would consider it "mature" at this stage.


    EDIT missed that initially but kinda uncool to refer to byuu as "it"...
    Posted on 19-03-01, 12:27
    Dinosaur

    Post: #177 of 1318
    Since: 10-30-18

    Last post: 6 days
    Last view: 21 hours
    Now that I have a new 32X emulator (PicoDrive), I feel the need to update this "thing" I did well over a decade ago:

    http://mi.tsdx.net.ve/32Xbench/32XCRAShTEST_en.htm

    Back from a time where I had plenty of free time, a copy of Excel 2002, and the apparent taste for shit games (there is no way I could have tested NFL Quarterback Club or Sangokushi 4 beyond "does it reach the main menu screen?"). And now we have two emulators capable of running SCD32X games (which all are beyond terrible). So yeah, all those "Perfect" grades? Take them with a healthy dose of salt. But back then, noone else bothered checking if any of the available emulators would boot every single game out there, so there is that.

    If I were to revive this thing, I would drop the homebrew/SDK demos, only stick to the Mars Check program (does it run properly on real hardware? - At least Fusion 3.63 does pass it without crashing, and PicoDrive crashes around test 123), simplify the testing for commercial games (give a single grade for both PAL and NTSC ROMs for the few games with separate PAL ROMs), and of course, drop the dead weight (noone is using Xega/Ages/retroDrive in 2019, right?)

    Fun fact: I DO have a real 32X (complete with all its required cables, including the uber-rare Model 1 AV patch cable), but no proper Model 2 TV AV leads, and absolutely no games, and no flashcart either. I don't even know if it works (I did plugged it in once, and passthrough Genesis games worked fine), but well, here is it. Never seen one for sale at the local MercadoLibre site (I've seen a couple of SegaCDs in 10 years, Saturns are extremely uncommon, 8-bit hardware is also very rare, and only Dreamcasts pop up with relative frequency), so I guess noone bothered with those back in the pre-Soviet Venezuela. Or maybe this country was never a pro-Sega land :/

    Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™
    Posted on 19-03-01, 14:10
    Stirrer of Shit
    Post: #54 of 717
    Since: 01-26-19

    Last post: 1773 days
    Last view: 1771 days
    Posted by tomman
    Now that I have a new 32X emulator (PicoDrive), I feel the need to update this "thing" I did well over a decade ago:

    http://mi.tsdx.net.ve/32Xbench/32XCRAShTEST_en.htm

    You might be able to automate it. On most games, if you randomly mash buttons on the controller you'd eventually pass the menu and enter a level. If you make a completely random input movie and feed it to the emulators, then take something like the md5 hash of each frame, it should be enough to compare them to each other. Of course, you'd still need some human intervention to check which frame is correct, but it might simplify the process if you have a few dozen games to test.

    Also, retroDrive r5 x Gnu Sierra Demo (PD) has some text in Spanish, maybe that should be rectified.

    There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this.
    Posted on 19-03-01, 19:07
    Dinosaur

    Post: #178 of 1318
    Since: 10-30-18

    Last post: 6 days
    Last view: 21 hours
    If I ever make a new version, here will be the rules:

    - Release age cutoff date is set at 2009. If your emulator last release was prior to that year, it's automatically out (I'll assume that your emulator doesn't play nice with anything beyond Windows XP, plus all those discontinued emulators would have severe compatibility issues with the existing game library, rendering them useless for any serious gaming). This implies that the only challengers invited would be Gens/GS (r7/November 2009), Kega Fusion (3.64/March 2010, but the last Linux version was 3.63x/October 2009) and PicoDrive (1.93/January 2019), because very few people in the world are/were crazy enough to love the mushroom just to emulate up to FIVE CPUs, at least 3 VDPs, a bunch of minor ICs, and even a CD-ROM drive on top of all that madness. And people dare calling the Saturn "too complex"...
    - Only multiplatform emulators will be tested since all testing would be conducted under Linux, using only native executables. Sorry, there is no excuse for being tied to a single platform in this post-PC era!
    - SCD32X compatibility testing is mandatory (Gens/GS would get an automatic 0 here), albeit its impact on the final grade would be low considering that there were only 6 games released (why in the hell Slam City came on FOUR DISCS!?).
    - Demos, SDK samples and homebrew will be excluded from testing, except for the Mars Check Program (the only known comprehensive hardware test), the Ecco Cinepak demo (it's a FMV ROM, the only one of its kind), and any outstanding homebrew test ROM that actually dives into hardware testing (something like krom's test suites). Did anyone ever made anything like that for the 32X?
    - Regarding prototypes, I'm still on the fence about testing protos: for released games, I don't think people other than ROM hackers would even care about pre-release versions, often with minimal differences with RTM ROMs (plus it would needlessly enlarge the number of ROMs to test). But in the case of unreleased games (X-Men, Virtua Hamster, Soulstar X), there might be interest among a larger user base to fiddle with obviously incomplete/alpha-quality code of games that never came to be due to the swift failure of the platform.

    Note: I said "IF". There is no guarantee I would actually bother doing anything of this, but hey, if I did it once in the past, why not again?

    Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™
    Posted on 19-03-01, 20:09 (revision 1)
    Stirrer of Shit
    Post: #58 of 717
    Since: 01-26-19

    Last post: 1773 days
    Last view: 1771 days
    Posted by tomman

    - Only multiplatform emulators will be tested since all testing would be conducted under Linux, using only native executables. Sorry, there is no excuse for being tied to a single platform in this post-PC era!



    Are you all right?

    There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this.
    Posted on 19-03-01, 20:50
    Dinosaur

    Post: #180 of 1318
    Since: 10-30-18

    Last post: 6 days
    Last view: 21 hours
    Posted by sureanem
    Posted by tomman

    - Only multiplatform emulators will be tested since all testing would be conducted under Linux, using only native executables. Sorry, there is no excuse for being tied to a single platform in this post-PC era!



    Are you all right?

    As much as I hate to admit, yes, I said that.

    What I really meant to say: "we're in 2019, Windows is no longer the king of the hill, and people game on other devices that are not a 'x86-based personal computer running Windows'". This somehow includes cellphones, a platform I find completely unsuitable for gaming of any kind, yet people insist into using those, and that's a real compelling reason to avoid locking yourself as a emudev to Windows-only targets.

    At least Kega and Gens had legit excuses ("x86 assembly"), but even those feature native non-Windows ports, which are Good Enough™ for my use cases.

    Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™
    Posted on 19-03-01, 21:43
    Stirrer of Shit
    Post: #59 of 717
    Since: 01-26-19

    Last post: 1773 days
    Last view: 1771 days
    Posted by tomman

    As much as I hate to admit, yes, I said that.

    What I really meant to say: "we're in 2019, Windows is no longer the king of the hill, and people game on other devices that are not a 'x86-based personal computer running Windows'". This somehow includes cellphones, a platform I find completely unsuitable for gaming of any kind, yet people insist into using those, and that's a real compelling reason to avoid locking yourself as a emudev to Windows-only targets.

    At least Kega and Gens had legit excuses ("x86 assembly"), but even those feature native non-Windows ports, which are Good Enough™ for my use cases.

    Do you really want for people to put themselves through the pain of writing software for Android, let alone iOS?

    As much as I hate to say it, assuming you're writing for PC only, writing Windows-only software is perfectly sufficient. Windows-targeting code runs with native performance on all major platforms, while code targeting OS X or Linux only runs on their respective operating systems.

    There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this.
    Posted on 19-03-01, 22:17 (revision 1)

    Post: #43 of 88
    Since: 11-04-18

    Last post: 1892 days
    Last view: 1892 days
    Posted by tomman
    Now that I have a new 32X emulator (PicoDrive), I feel the need to update this "thing" I did well over a decade ago:

    http://mi.tsdx.net.ve/32Xbench/32XCRAShTEST_en.htm


    your website is probably the most retro, "old internet" thing I've ever seen, no joke
    Posted on 19-03-01, 23:09
    Rated M for Magikarp

    Post: #150 of 599
    Since: 10-29-18

    Last post: 205 days
    Last view: 18 hours
    Posted by DonJon
    your website is probably the most retro, "old internet" thing I've ever seen, no joke
    Have you seen some of the rest of this server?
    Pages: 1 2 Next Last
      Main » Emulation » Revamping my Genesis/MD emulation workbench
      Kawa's Github