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.2k stars 385 forks source link

Unregistered A7800 games not recognized as A7800 #732

Closed Rekrullurker closed 7 years ago

Rekrullurker commented 7 years ago

I have some A7800 games which are valid ROMs, but they're not listed in the EMU7800.csv file. Well, they are, but I have different versions of them.

Even though they have the .A78 extension, BizHawk treats them as if they were A2600 games. The games run, but in the controls, only one fire button is listed and the console controls list a B/W switch, which normally isn't present with A7800 games. While these games don't seem to use the second fire button, that may not always be the case with homebrew games released in the future. Yes, they can be added to the CSV file, but since it seems to be the same CSV that EMU7800 uses, the process for doing so is equally as confusing.

Additionally, one of the games I have, which is a fixed copy of the NTSC version of Impossible Mission (the official release of the NTSC version had a bug that rendered the game impossible to complete) doesn't work at all in BizHawk. It says that the core accepted it, but then caused an exception. This same ROM works fine in both EMU7800 and Prosystem.

I have uploaded a Zip file of the three ROMs and an EMU7800 CSV file that supports them to;

https://www.sendspace.com/file/n64pwc

I tried to attach the file here, but GitHub claims it doesn't support files "of that type" and then suggests "zip" as one of the formats I should try. Go figure...

Note that the CSV file only contains entries for these three ROMS. I figured it makes the file smaller, and you don't have to hunt through all the other entries for the relevant lines.

hegyak commented 7 years ago

This Commit https://github.com/TASVideos/BizHawk/commit/1390e263712738250b0458c251046202392c0d96

Fixes the Impossible Mission Hack not loading.

hegyak commented 7 years ago

This Commit https://github.com/TASVideos/BizHawk/commit/438e89135827c91d3f4997aa39d14190eb015c92

Corrects BeefDrop and FailSafe not using the correct Inputs.

adelikat commented 7 years ago

I see two commits here, is everything resolved now, should I close this? If not, what is still remaining?

hegyak commented 7 years ago

The Detection for BeefDrop and FailSafe force the controller to an Atari 2600 Controller. Which isn't the intended effect. The CSV corrects this but, it's a band-aid over the real issue.

Rekrullurker commented 7 years ago

The one thing I disliked about EMU7800 was the need to add entries to the CSV file in order for the emulator to recognize the ROMs. When I first tried BizHawk, I didn't realize that it was also using a CSV file. I had hoped that it could just recognize the files and load them under the proper core. I would think this would at least be the case if the ROM files are named with the .A78 extension.

adelikat commented 7 years ago

I'm confused. If it is an .a78 extension it loads in the emu7800 core, and you will see the emu7800 logo in the status bar. However, maybe the core itself is setting it to an atari 2600 mode? That's not bizhawk though, that's emu7800 not us.

DerekTurtleRoe commented 7 years ago

I'm confused.

Me too, actually.

I always thought EMU7800 had you select which system you wanted to play, then select the ROM.

alyosha-tas commented 7 years ago

There seems to be some confusion regarding this issue. It's actually seperate issues.

One is EMU7800 not recognizing some games that need the 2 button controller. The other is EMU7800 relying on the game DB to load ROMs. Being in '2600 mode' in this sense means using the one button joystick, which is not desireable for some games. Normally, you could just pick which controller you want to use, but EMU7800 does not afford that option, at least not in our implementation.

Both of these issues are resolved as of the latest commits to A7800Hawk, so the resolution is to use that core instead of EMU7800.