BizHawk icon indicating copy to clipboard operation
BizHawk copied to clipboard

[Core Port Req.] PokeMini (Nintendo Pokémon mini)

Open noddy360 opened this issue 3 years ago • 8 comments

I want to suggest a core for the obscure Pokémon mini handheld.

Upstream info

PokeMini would probably be the emulator of choice for this:

  • Website
  • Target platforms: Win/Tux
  • Language(s): C
  • License: GPL v3

Technical details

pokemini_libretro 2022-02-03 19 46 02

I tested the Libretro core on BizHawk and it ran the couple of games I tested just fine. I managed to use savestates and rewind without too many issues. I couldn't turn off the rumble screen shake, unfortunately. I even managed to record a movie using this core. At first it desynced due to the initial recording skipping the date/time settings screen for some reason, but I managed to fix it by using TAStudio, which also seemed to work just fine. Screenshots and audio/video recording works as well. I couldn't test if the reed switch works, though.

I later on managed to make a fully optimized TAS using this core: https://tasvideos.org/7416S

This emulator has been ported to many different platforms, such as the PSP, DS, 3DS, GameCube, Wii, Wii U, Dreamcast, Android, and even a TI-Nspire calculator. In theory it wouldn't be too difficult or take too long to port this to BizHawk properly, at least compared to other emulators that have been ported in the past. GBE+ also emulates the Pokémon mini but it doesn't seem to be good for porting purposes. MAME also has support for the platform, but it is nowhere near as compatible as the other two options.

Merits

This is the last cartridge based, dedicated Nintendo handheld without proper TAS tools. This is an often forgotten, yet underappreciated system that has quite a few interesting and innovative features for the time, with a small library of cute little games (all Pokémon based) and for many years, it has had a passionate community that has made it's own homebrew games for the platform. So, it would be really cool if this little device could be emulated in BizHawk along with most other handhelds.

Other maybe useful links: https://wiki.sublab.net/index.php/Pokemon_Mini https://www.pokemon-mini.net/

Alternate source code link: https://github.com/badbrizzo/pokemini

Libretro repo: https://github.com/libretro/PokeMini

noddy360 avatar Feb 21 '22 01:02 noddy360

GBE+ also has it available as under their source code only for the sake of noting and is also still under active development.

Spikestuff avatar Feb 21 '22 13:02 Spikestuff

GBE+ 1.6 released in early April which adds the Pokémon mini core in a "Largely complete" state and with IR multiplayer support. I haven't personally tested this emulator myself though, so I can't say for certain if it's really better than PokeMini in terms of accuracy or ease of use yet. Dunno about how easy it's source code is to work with for porting purposes either. I still feel that PokeMini would be a far better choice anyways but that's just my opinion.

noddy360 avatar Jun 25 '22 00:06 noddy360

GBE+ has a poor frontend/core separation with SDL slapped into the core so it wouldn't be easy to port over.

CasualPokePlayer avatar Jun 25 '22 02:06 CasualPokePlayer

Edited the title and the description to be more in line with more recent core requests.

noddy360 avatar Feb 23 '23 02:02 noddy360

PokeMini probably isn't the best choice of emulator for this; it's got several known inaccuracies, which don't come up when playing games, but could cause issues with TASing - the most notable being that it doesn't emulate interrupt priorities accurately. (redacted) might be a better choice; it's got pretty good emulation/UI separation (there's an existing Libretro core already, as well as a (redacted), is more accurate than PokeMIni, and is designed around the modern understanding of the system.

Jhynjhiruu avatar Oct 13 '23 21:10 Jhynjhiruu

Right, I don't think that emulator looks like quite the best idea when it decides to put a ton of Pokemon ROMs directly in its repo.

CasualPokePlayer avatar Oct 13 '23 22:10 CasualPokePlayer

It is, however, currently the best emulator for accuracy

Jhynjhiruu avatar Oct 13 '23 22:10 Jhynjhiruu