ekeeke / Genesis-Plus-GX

An enhanced port of Genesis Plus - accurate & portable Sega 8/16 bit emulator
Other
690 stars 197 forks source link

Improved Sega Pico support #375

Open getCursorsExe opened 3 years ago

getCursorsExe commented 3 years ago

In fact, Genesis Plus GX can actually run Sega Pico games (this is due to Sega Pico having same hardware as Genesis), but they will be unplayable, since Magic Pen is not supported. However, due to Sega Pico having the same hardware as Sega Genesis, it is easy to add support for it, simply learn how to add Sega Pico support to an emulator and add it as a console mode. The only difference here is the audio processor Yamaha YM2612 FM synthesis-based sound chip is absent, and the Texas Instruments SN76489 PSG is accompanied with NEC ųPD7759 ADPCM chip, which can produce extra sound effects.

ekeeke commented 3 years ago

In fact, Genesis Plus GX can actually run Sega Pico games (this is due to Sega Pico having same hardware as Genesis), but they will be unplayable, since Magic Pen is not supported.

Actually, Pico specific hardware mapping and the Magic Pen ARE emulated when a PICO game is loaded (see https://github.com/ekeeke/Genesis-Plus-GX/blob/master/core/genesis.c#L115 and https://github.com/ekeeke/Genesis-Plus-GX/blob/master/core/mem68k.c#L1324) and it is even supported in libretro port (see https://github.com/ekeeke/Genesis-Plus-GX/blob/master/libretro/libretro.c#L437) so a few games should be kinda playable.

The 'only' things missing are the interaction with the storyware pictures (the book that came with pico cartridge), that also somehow need to be displayed in a separate screen to reproduce the full PICO 'experience' and the emulation of the ADPCM sound chip, which most PICO games require to boot as they somehow wait for some interrupt to happen from it periodically.

it is easy to add support for it, simply learn how to add Sega Pico support to an emulator and add it as a console mode.

Yeah, that's really sounds so easy.... just learn how to do it hahaha

The only difference here is the audio processor Yamaha YM2612 FM synthesis-based sound chip is absent, and the Texas Instruments SN76489 PSG is accompanied with NEC ųPD7759 ADPCM chip, which can produce extra sound effects.

I know yes, there is also no Z80 cpu so it's not really a complex system. However the difficulty comes from the need to have storyware pictures dumped along the ROM and displayed in a separate screen. Also, the ADPCM chip, despite being emulated in MAME and to some extent in Picodrive, is poorly documented regarding the external interface used in Pico consoles, which suddenly makes things more difficult ^^

I am leaving this open though as there was already a feature request about it opened in old googlecode/bitbucket repository and someone (me or someone else) could maybe work on finishing PICO support one day.