MiSTer-devel / Gameboy_MiSTer

Gameboy for MiSTer
105 stars 48 forks source link

SGB - Issues list #88

Closed mario-64 closed 4 years ago

mario-64 commented 4 years ago

Castlevania Legends is unplayable in Super Gameboy mode due to corrupted graphics.

Immediately upon startup the Konami logo doesn't fully display as it should. IMG_2254

Once the game begins the graphics quickly start getting corrupted. IMG_2258

After a few seconds all you can see are the health and heart bars. Otherwise it's a totally blank screen. The game is still running but cannot be played. IMG_2259

Please forgive my poor photos. I'm happy to help troubleshoot however needed. Correct behavior was verified using a real SGB2.

paulb-nl commented 4 years ago

Thanks for your report. I fixed this issue. Did you find any other games which have SGB issues?

mario-64 commented 4 years ago

Awesome thank you. Not yet but let me do some testing and I will report back

mario-64 commented 4 years ago

Thanks for your report. I fixed this issue. Did you find any other games which have SGB issues?

I plan to go through the entire USA SGB-enhanced set to test compatibility. Ok to keep in this thread or would you prefer separate threads for each game? I have a feeling there will be a lot of issues. So far I've checked games starting with 'A'.

First of all, there is an overall delay in loading the SGB border. For example, as I have been changing games the border for the first game will remain on screen well past booting the second game. In fact, I've seen the second game get all the way to its start/select screen before the border changes from the previous game. IMO the border should be removed or reset immediately upon selecting a new rom

Game issues found: Animaniacs - no music in SGB mode. works correctly in GB mode Arcade Classics No 1 - missing graphics in the upper right & left corners of the border Azure Dreams - wrong colors and the border does not load at all. works correctly on a real SGB2. Seems as though the core is not detecting this as a SGB-compatible game

This testing was done with System set to Auto and SGB set to On. 'B' games coming next...

paulb-nl commented 4 years ago

You can put all the issues here. Just rename this to 'SGB issues' or something like that.

The border is not removed when loading a new rom so that there is a border even if the new game does not have a border. The game loads the border itself so the delay depends on the game.

SGB music/sound will not be supported.

mario-64 commented 4 years ago

You can put all the issues here. Just rename this to 'SGB issues' or something like that.

The border is not removed when loading a new rom so that there is a border even if the new game does not have a border. The game loads the border itself so the delay depends on the game.

SGB music/sound will not be supported.

Will do.

I understand that the game controls boarder loading. My suggestion is for the core to clear the existing border immediately upon selection of a new rom.

All games have music and sound. What do you mean it won't be supported???

paulb-nl commented 4 years ago

Animaniacs uses the SNES sound hardware for sound. That is not supported. Arcade classics 1 is fixed. Azure dreams is a Gameboy Color/Gameboy game. You need to set system to Gameboy mode.

mario-64 commented 4 years ago

Animaniacs uses the SNES sound hardware for sound. That is not supported. Arcade classics 1 is fixed. Azure dreams is a Gameboy Color/Gameboy game. You need to set system to Gameboy mode.

Great thanks again. Yes, I'm seeing that .gbc Super Gameboy games are interpreted by the core as Gameboy Color games. Setting System to Gameboy does fix this for -some- games but not all. Games such as Blaster Master show the border in Gameboy mode but not the color palette as they do on a real SGB2. Gameplay is in grayscale. I suspect what's happening here is that some games don't define a color palette and expect the SGB to use its default. That isn't happening in the core.

Full post coming next. Spent all day testing :-)

mario-64 commented 4 years ago

Alleyway - game palette is grayscale not color. should show default SGB2 border Baseball - game palette is grayscale not color. should show default SGB2 border Beauty and the Beast - wrong colors and border does not load Blaster Master Enemy Below - same as above - forcing GB mode loads border but colors still grayscale Bomberman Quest - same as above A Bug’s Life - same as above Contra Alien Wars - no border. Should show SGB2 default border Donkey Kong - missing the girl’s cry for help audio clip Dr Mario - game palette is grayscale not color. should show default SGB2 border Elite Soccer - no border. Should show default SGB2 border F-1 Race - game palette is grayscale not color. should show default SGB2 border FIFA Soccer 96 - border briefly shows during startup then disappears. No way to get it back Golf - game palette is grayscale not color. should show default SGB2 border Hercules - no music Hunchback of Notre Dame - no music International Superstar Soccer - same exact issues as Castlevania Legends Iron Man X-O Manowar in Heavy Metal - border is correct but game palette is grayscale not color Jeapordy Platinum Edition - no border. Should show default SGB2 border Jeapordy Teen Tournament - same as above Kid Icarus - game palette is grayscale not color. should show default SGB2 border Kirby’s Dream Land - game palette is grayscale not color. should show default SGB2 border Kirby’s Pinball Land - game palette is grayscale not color. should show default SGB2 border Zelda Link’s Awakening SGB hack - border shows but no game graphics, just audio. works on a real SGB2 Madden 95 - no border. should show default SGB2 border Madden 96 - border not shown (game has one) Madden 97 - no music Mulan - no music Mystical Ninja Starring Goemon - same issues as Castlevania Legends Olympic Summer Games - no music Pac-Attack - no border. should show default SGB2 border Pac-In-Time - graphics flicker during transitions. Game does a fade effect. Can be seen pausing & unpausing Pocahontas - no music Qix - game palette is grayscale not color. should show default SGB2 border Radar Mission - game palette is grayscale not color. should show default SGB2 border The Rugrats Movie GB - border is correct but game palette is grayscale not color Samurai Shodown - no border. should show default SGB2 border SeaQuest DSV - no border. should show default SGB2 border Small Soldiers - no music The Smurfs - hangs at Nintendo splash screen in all modes Star Trek Generations - no border. should show default SGB2 border Super Black Bass - game palette is grayscale not color. should show default SGB2 border Super Mario Land - game palette is grayscale not color. should show default SGB2 border Super Mario Land 2 - game palette is grayscale not color. should show default SGB2 border Super Star Wars ROTJ - border loads but game palette is grayscale not color Tetris - game palette is grayscale not color. should show default SGB2 border Tetris 2 - no border. should show default SGB2 border Toy Story - no music Urban Strike - border loads but game palette is grayscale not color. Actually more black and white. Unplayable Wario Blast - missing voice effect Wave Race - game palette is grayscale not color. should show default SGB2 border Wild Snake - missing border (game has one) World Cup 98 - no music

Note: All of these issues were validated against a real SGB2. Thanks Paul for investigating :-)

paulb-nl commented 4 years ago

"should show default SGB2 border" is a feature request, not an issue.

For the games that don't have a custom SGB palette I have changed it so that they now use the custom palette that you can set in the core.

With that I have narrowed it down to these issues:

mario-64 commented 4 years ago

Excellent news Paul thank you. Regarding the SGB2 border I respectfully disagree. If the goal is hardware accuracy then not showing it is clearly a defect. On a real SGB2 a border is always shown, provided either by the game or the default one.

Kitrinx commented 4 years ago

afaik SGB system is not supported. Simply gb/gbc with sgb features added as a bonus. Adding more options for this bonus is a feature.

paulb-nl commented 4 years ago

Here is a new build where everything should be fixed. If you set "Custom palette" to Auto then it will use the SGB palette if the game has one otherwise it will use the chosen palette. Gameboy_sgb.zip

mario-64 commented 4 years ago

Fantastic Paul thank you again! Is this what Sorg pushed to Main today or a different build?

paulb-nl commented 4 years ago

No it is different. Today's release does not have these fixes.

mario-64 commented 4 years ago

Gotcha. Just did some quick testing and it looks great. I’ll do more testing this evening. I’m not seeing the default SGB2 border on any games though. Should I submit that as a feature request?

paulb-nl commented 4 years ago

Yeah you can submit that as feature request.

mario-64 commented 4 years ago

Found one problem. Palette selection isn't saving with "save settings". If I have SGB enabled and select the SGBDefault palette I get the SGB colors when loading a Gameboy game. Problem is, when you power cycle, or even just change cores, the palette selection is gone. Gameboy games are grayscale again.

paulb-nl commented 4 years ago

Check the readme how to set a default palette at boot.

mario-64 commented 4 years ago

My bad Paul. Sorry. I've never really used them before and assumed they were saved as part of settings. All good now. Closing ticket. Thank you again for the excellent work!

paulb-nl commented 4 years ago

Thanks for testing all those games!

mario-64 commented 4 years ago

My pleasure. Glad I could contribute. Wish I had skills to do the actual programming :-)