deltabeard / Peanut-GB

A Game Boy (DMG) emulator single header library written in C99. Performance is prioritised over accuracy.
https://projects.deltabeard.com/peanutgb/
278 stars 37 forks source link

core: game compatibility list #31

Open deltabeard opened 5 years ago

deltabeard commented 5 years ago

Please comment whether Peanut-GB was able to play a game in a playable state or not. Any issues with playable games must be listed with a comment. Unplayable games must have a comment describing why it isn't playable.

Playable:

Unplayable:

DasBlackfur commented 2 years ago

Pokémon Red/Blue crashes when blacking out / healing your Pokémon. Making the game literally unplayable.

deltabeard commented 2 years ago

Pokémon Red/Blue crashes when blacking out / healing your Pokémon. Making the game literally unplayable.

Is this with the latest commit?

DasBlackfur commented 2 years ago

Will have to check, thanks for the quick response

DasBlackfur commented 2 years ago

Turns out I am too small brain to merge these properly as the fork of peanut gb I am working with has made quite some modifications. Could you tell me what exactly fixed the issue with pokecenters?

DasBlackfur commented 2 years ago

Okay, with the new update, this still happens.

deltabeard commented 2 years ago

I can't reproduce the problem with the SDL2 example. I used the version of Pokemon Red at https://github.com/pret/pokered

2022-01-13-190938_337x324_scrot

Only problem with Gen 1 Pokemon games so far was fixed in https://github.com/deltabeard/Peanut-GB/commit/86a0092948bf2820d9221f1455eb7a123ac40a8e whereby entering the Pokemon Center would crash the game. This was due to the serial connection (link cable) not being emulated correctly.

Are you also using the SDL2 example or a different one?

diddyholz commented 2 years ago

I reproduced the bug in the SDL2 example on master branch in Pokemon Blue. It's definitely happening there

deltabeard commented 2 years ago

This time I tested with the retail version of Pokemon Blue (U). Using the Pokemon Center worked and so did getting whited out. I'm unable to reproduce the problem. Tested with the latest version of Peanut-SDL.

Please provide a save file and your copy of Peanut-SDL, and I will test again.

diddyholz commented 2 years ago

Ok it looks like this issue occures when you do not define ENABLE_SOUND. When I defined that while building, the bug did not occur and healing in Pokemon Center worked just fine. Is this expected behaviour? These are my compiled peanut-sdl binary and savegame.

deltabeard commented 2 years ago

Ah. That is a bug. I've opened an issue at https://github.com/deltabeard/Peanut-GB/issues/49 . Thanks for investigating the problem and for the files.

deltabeard commented 2 years ago

@TheBlackfurGuy @diddyholz I think I've fixed the issue in 88723514cb604c8de337d5c1c6b8bb02cfe27be6. This commit fixes reading and writing to APU registers when APU emulation is disabled with ENABLE_SOUND=0. I need to test a bunch of other games to just to make sure I haven't broken anything else.

YouMakeTech commented 1 year ago

Playable

Unplayable

Mr-PauI commented 2 months ago

Playable: Arcade Classics No1: Asteroids & Missile Command F1 Race Final Fantasy Legend II Final Fantasy Adventure Golf Kirby's Pinball Land Mystic Quest Street Racer Space Invaders

Partial Support: Battlezone/Superbreakout. Battlezone has rendering issues, flickering 3d rendering; must be run without frameskip option to get any output. Objects seem to render incorrectly. The Superbreakout half of the collection works perfectly.

Unplayable: Final Fantasy Legend III - Locks up when entering battle on overworld; intro is playable. Tested on SDL version and my own implementation. Debugging shows it endlessly looping within gb_run_frame(), and taking fallthrough case 3 in __gb_read(). LittleSoundDJ - note: Has 128kb cart ram which is larger than the 32kb of the largest official original gameboy game. image LSDJ fails it's own internal SRAM test.

alphic commented 1 month ago

Partial Support: Battlezone/Superbreakout. Battlezone has rendering issues, flickering 3d rendering; must be run without frameskip option to get any output. Objects seem to render incorrectly. The Superbreakout half of the collection works perfectly.

Do note that the Battlezone half was developed with period-correct screen ghosting in mind. Might take more development (and probably more resources) to create good frameblend functionality without sacrificing speed, but that's just me. There are a few other games I know of that do similar "screen flicker tricks", so please keep this in mind.