TASEmulators / BizHawk

BizHawk is a multi-system emulator written in C#. BizHawk provides nice features for casual gamers such as full screen, and joypad support in addition to full rerecording and debugging tools for all system cores.
http://tasvideos.org/BizHawk.html
Other
2.19k stars 384 forks source link

Sega 32X games that doesn't work well on Bizhawk Dev 2019-07-22 and implementation of the 6 Sega 32X CD games #927

Open ghost opened 7 years ago

ghost commented 7 years ago

LAST EDITED (JULY 23 2019)

Game that are currently glitched or not working

The new Sega 32X Core that was added work well with most games, but ive noticed a few issues with some of the games. Note the 34 32X games are playable without major issues but

-WWF Raw (W Version) is missing image in the intro and the background in the title screen, the wrestler portrait are also missing when you get to choose one of them. Looks like a menu problems

crash

-NFL Quarterback 95 has the same menu problem as WWF Raw, you cannot see the team name or helmet when you are choosing one of them and the game seems to be slower

5654

-NBA Jam TE (W Version) crash with a exception error if you let the demo run before you return to the title screen. If you avoid the demo thought, the game is playable but slower than it should -Mortal Kombat 2 (W Version) is slower than normally and some background (such as dead pool, has minor glitch on the edge, but is perfectly playable otherwise

the 6 Sega 32X CD games are not working (But it is not that surprising since the 32X core was just added less than a week ago

Ill update the comments if I find bugs with others games, so far ive recorded 20 of them.

nattthebear commented 7 years ago

Thanks for reporting this. With 32x emulation in such a shoddy state in general, the best we'll probably be able to do is add a different 32x core that does better on different games, but it's still useful to have this information.

DerekTurtleRoe commented 7 years ago

@nattthebear If I'm not mistaken, the core we use for Genesis is the Genesis Plus GX core, which is also used by RetroArch. 32X and Sega/Mega CD emulation were not the main focus of the emulator when it was first developed, so it was more of an afterthought.

The only other cores I am aware of are Gens (and it's forks and derivatives), Kega Fusion, PicoDrive, and Higan.

Genesis Plus GX is a Gens fork, I think. I could be wrong about that, though.

Kega Fusion isn't open-source, so no go there. 😞

We could add support for the PicoDrive core, that would be good. It has pretty good Genesis emulation as well, but it is mostly used for 32X nowadays.

I think adding Higan support for all the systems it supports would be cool, since it has support for the WonderSwan, Sega Genesis/Megadrive, Sega/Mega CD, 32X, PC-Engine/TurboGrafx-16, SuperGrafx, and all the Game Boy systems. The emulators are all pretty accurate, and we already have a BSNES core, so it should be just updating the current core and hooking some stuff up (in theory).

Too bad BlastEm, Exodus, and Regen don't have 32X and CD support.

Sappharad commented 7 years ago

@vgturtle127 They're using PicoDrive for 32x, not GPGX. GPGX only does Genesis and Sega CD.

GPGX is a Genesis Plus fork, it has nothing to do with Gens.

hegyak commented 7 years ago

Porting Higan, is not an easy task, from what I remember hearing from long ago. Something about how pain in the ass the code was designed or something. And there's also license issues with the code, possibly.

nattthebear commented 7 years ago

Higan is a many core project. Some are very accurate; some are less so. All of them are above average difficulty to port. BSNES was a one-off job; there's not much there that would help make other Higan cores easier.

For the purposes of this issue: Is there a 32X core that is known, confirmed to have better emulation behavior in these games?

DerekTurtleRoe commented 7 years ago

@Sappharad Oh, so GPGX doesn't do 32X at all? Huh, I thought it did. Alright, then I suppose if we are using PicoDrive, then we should add either a Gens core or a Higan core.

Also, I just learned that Genesis Plus and Genesis Plus GX are both not forks of Gens, so that explains some things.

BooBerry commented 7 years ago

Actually Higan doesn't emulate the 32X or Sega CD (and likely never will emulate the 32X according to byuu) and its Genesis emulator is still pretty early in development, so I wouldn't really consider it "accurate" like its SNES and GBA cores.

IMO Genesis Plus GX is the best open source Genesis/SMS/GG emulator right now that's still actively developed. But it likely won't support the 32X because it's likely the Nintendo Wii (its targeted platform) can't run 32X games at full speed, at least not without major optimizations. Exodus is also open source, but it hasn't been updated for a good while, has high system requirements and only emulates the Genesis right now. BlastEm is another potential open source candidate, but it doesn't do 32X yet either. Basically as of right now open source-wise for the 32X there's only PicoDrive and Gens. I'm not sure if PicoDrive bases its 32X emulation on Gens or not like it does with the Sega CD but I wouldn't be surprised if it does.

32X emulation is probably as good as it's going to get right now as besides PicoDrive and Gens there's no alternatives. At least until another open source emulator adds support for it.

challenger-tas commented 7 years ago

While I played Knuckes' Chaotix (32x version) on BizHawk, I noted a graphical glitch on Character Selection (Also, It lacks a background): http://i.imgur.com/5oLjSrr.gif

On Gens, It doesn't ocurr: http://i.imgur.com/Z8NcDqg.png

I don't know if more graphical bugs exist or not. Actually, I played Blackthorne 32x version and the Waterfall, sometimes or more, it doesn't work correctly: http://i.imgur.com/R7mrF7n.gif

On Gens, despite that emulation inacurracies, the waterfall looks correctly: http://i.imgur.com/udvM1BM.gif

(Also, the same problem ocurrs on Snow level of this game version)

P.S: Those gifs isn't acurrate. So, that's why it looks slower than normal.

ghost commented 7 years ago

I can also confirm it for Knuckle Chaotix (when I originally recorded the game, I didn't went to the character select and went directly to the main game)

Darxide also as a very minor graphical glitch appearing when you finish a level

As for Blackthorne, I can't really see the difference, even when I tried on Kega Fusion

Also just a note I forgot to add about the Sega 32X CD Games. When you attempt to play them, it will open up the Genesis Plus GX emulator instead and will throw an error saying that the 32X is not plugged in (this particular screen can also be seen on real hardware when the 32X is not plugged). I think this is expected because It need both the Sega CD and 32X emulation to run at the same time and each core does not support the other half.

nattthebear commented 7 years ago

That's not correct; Picodrive does support Mega CD. With a hack to the load logic, you can even use it in Bizhawk and all of the basic functionality works. For some reason though, the few Mega CD + 32X games I tried hang indefinitely at the start, so we left that off.

hegyak commented 7 years ago

According to Sega-16, Farenheit uses two CDs. The Sega CD disc with the 32X connected, tells you, insert Disc 2. After that, the game starts using the hardware of the Sega CD and 32X. You can't insert Disc 2 and run the game straight from that.

I don't have all the hardware setup at the moment or the game itself. If I had the game, I would break out my Genesis, 32X and Sega CD and see how the game works.

More information on Fahrenheit: http://www.segaretro.org/Fahrenheit

Edit: I am looking forward to better/proper 32X Emulation and Cross play with 32X-CD games.

nattthebear commented 7 years ago

The two games I tried were Corpse Killer and Night Trap.

DerekTurtleRoe commented 7 years ago

@BooBerry Yeah, not as accurate as the SNES/GBA core definitely, but I still like to use it and compare it to Gens/GPGX/etc.

GPGX is probably the best in terms of compatibility and "accurate emulation output" for lack of a better term. It always looks like the real thing, at least.

I really wish Kega Fusion was open-source, that would be cool to see.

I thought Byuu said he was going to add Sega/Mega CD support along with PC-Engine/TurboGrafx-16 CD support in the future? At that point, why not add 32X support? It would kind of like having Game Gear emulation and not adding Sega Master System games. Except the 32X uses a different CPU, but you get the idea I think.

32X emulation seems to be a bit wonky, upon further inspection.

BooBerry commented 7 years ago

I thought Byuu said he was going to add Sega/Mega CD support along with PC-Engine/TurboGrafx-16 CD support in the future? At that point, why not add 32X support?

It's simple, the 32X is too powerful and it'd run too slow. Plus according to his own words the entire 32X library is crap - I do agree to a point, there's only a few games worth playing (Knuckles' Chaotix, Spider-Man Web Of Fire, etc.).

https://board.byuu.org/viewtopic.php?f=4&t=1180&hilit=32X

Yes, 32X emulation is wonky. But that's not surprising considering it was added to PicoDrive in its last update 7 years ago as an unfinished WIP feature. Gens? It hasn't been updated in over a decade and has all kinds of issues.

It's a shame Kega Fusion is a closed source emulator as it's the only emulator in existence that can play 32X CD games. Like PicoDrive though, it hasn't been updated in over 7 years either.

That's why I say open source 32X emulation is probably as good as it's going to get right now.

DerekTurtleRoe commented 7 years ago

@BooBerry Kind of surprising nobody has tackled it, if it's so hit and miss. It's funny there are so many Genesis emulators and even those aren't entirely very good. Hm.

hegyak commented 7 years ago

From what I heard online, the 32X has two separate CPUs and a different Sound Chip from the Genesis. And on top of all that stuff, there is the Genesis hardware, which also does work, for most games on the system.

So, you would have to, one, emulate the Dual CPU system of the 32X, Two, emulate the sound chip of the 32X. Three, Emulate a complete Genesis alongside the 32X Emulation. Four, synchronize all of the hardware to work together, properly.

BooBerry commented 7 years ago

Nobody has tackled it because it's pretty damn complex. Yes, the 32X has two Hitachi SH-2 processors - in terms of pure performance that's like over 20 times the performance of the SNES' Ricoh 5A22. There's also the 32X VDP and the two channel QSound PWM sound chip. That in addition, like @hegyak said, having to emulate the entire Genesis at the same time.

Good luck to anyone ever trying to get cycle accurate 32X emulation running at any decent speeds on currently available hardware.

DerekTurtleRoe commented 7 years ago

@hegyak Somewhat like the Sega Saturn, funnily enough.

Plus, the only accurate Genesis/Megadrive emulators all don't emulate a lick of the 32X, but I would imagine that is not the primary goal of them right now, as they are trying to get accurate MD emulation first.

@BooBerry I think that synchronization is the main issue, much like the N64 emulators.

ghost commented 4 years ago

Steve snake author of Kega Fusion is still active on twitter. Wonder if he would be willing to turn it open? If he did would it benefit the bizhawk team? Should I try and reach out and ask and see what he says?

nattthebear commented 4 years ago

If there's an open sores core that does what is needed then maybe some day we might look at it, but no guarantees, nor is it even that likely -- there aren't many people working this problem.

People that write closed sores emulators tend to have Opinions.