Stewmath / GameYob

[Super] Gameboy [Color] emulator for the Nintendo [3]DS
MIT License
270 stars 59 forks source link

At least one recent native 2DS/3DS build? Not regular releases or any actual development, but just a single version available #183

Closed NintendoManiac64 closed 3 years ago

NintendoManiac64 commented 3 years ago

I don't mean making 2DS/3DS versions for every single build going forward or any actual development, but rather just one single native 2DS/3DS build of, say, v0.5.2 or whatever the current trunk version is, and just leaving it be and just continuing to focusing development on the DSi version like you have been.

Thing is, users of the original 2DS (quite possibly the most comfortable handheld made since the original GBA) and of course the original 3DS are between a bit of a rock and a hard place when it comes to GB/C emulation, so I'm wondering how much it would take for just a single recent 2DS/3DS build to be made available just so we have, well, something.

The thing is, the RetroArch cores and mGBA tends to be too slow on the original 2DS/3DS, especially on more demanding games (I recently noted that Pokemon Puzzle Challenge absolutely chugs in mGBA at ~35fps). Meanwhile, the previous 2DS/3DS fork of GameYob from 2015 actually performs worse than this current DSi version of GameYob, not to mention that old 3DS fork is old enough to still have audio issues.

Heck I've even tried using the old Goomba Color in combination with open_agb_firm, but I discovered that, while it technically runs games at full speed, it does it by use of quite noticeable frame skipping (particularly noticeable when going up or down a pipe in the Super Mario Land 2 DX color-hack - something even mGBA has no problem running).

Just using the DSi version has the problem of double-scaling whereby games are scaled to the 192p resolution of the DSi and then scaled a second time to the 240p resolution of the 2DS/3DS - this is one aspect that mGBA is actually extremely good at, particularly its "bilinear (pixelated)" scaling mode which looks similar to super sampled integer nearest neighbor (e.g. doing 200% nearest neighbor to 320x288 and then downscaling via bilinear back to 267x240), and it doesn't even seem to result in any performance hit.

(if interested, I've elaborated on this aforementioned "super sampled integer nearest neighbor" on melonDS's issue tracker here: https://github.com/Arisotura/melonDS/issues/1100)

And while I cannot code at all, I do at least have a bit of image-editing skills, so I even took the 32x32 DSi GameYob icon and made a slightly more detailed, higher resolution 48x48 icon that the 2DS/3DS would need to use and IMO looks considerably better than the icon that the old 2015 2DS/3DS GameYob port used (its banner is great though; no need to re-invent the wheel there): image (the background is colored to match the Home menu's color that surrounds any and all icons as transparent pixels just turn into black instead)

Stewmath commented 3 years ago

This repository doesn't build the 3DS version and hasn't for a long time. You want this repository: https://github.com/Steveice10/GameYob

The last released build was in 2015, which might be correct - I haven't been keeping tabs on it.

NintendoManiac64 commented 3 years ago

This repository doesn't build the 3DS version and hasn't for a long time. You want this repository: https://github.com/Steveice10/GameYob

That repository you linked to is archived.

Your repository is literally, not figuratively, the only GameYob repository open and therefore is also the only Git with an open issue tracker.

Stewmath commented 3 years ago

Regardless, this repository does not build the 3DS version and I don't have anything to do with the 3DS version anymore. Although there is technically some 3DS code remaining in this repository, it hasn't been updated since 2014 and probably can't even be compiled anymore.

That archived repository was where the 3DS version was developed and it would have the most up-to-date source to my knowledge. I see that there are commits as recent as 2018, but I don't know what state it was left in, it may be unstable compared to the 2015 build. Regardless I have nothing to do with it anymore, sorry. If the 2015 build isn't something that you want to use then there might not be anything better you can use.