notaz / picodrive

Fast MegaDrive/MegaCD/32X emulator
Other
290 stars 165 forks source link

Make use of libretro's new "RETRO_ENVIRONMENT_SET_SYSTEM_AV_INFO" function #16

Open micechal opened 10 years ago

micechal commented 10 years ago

Not that long ago, there was new function added to the libretro API, which allows to change the output resolution on the fly. It can be used to set the correct resolution after loading a game for specific Sega console.

Right now, for Genesis games, Picodrive uses a resolution of 320 by 240, which isn't really 1:1 with the original resolution of the console, which is 320 by 224 for most games.

The new RETRO_ENVIRONMENT_SET_SYSTEM_AV_INFO function lets you change the resolution while the core is running, which wasn't possible earlier.

@ekeeke has already implemented support of this function in his Genesis Plus GX emulator, so it should be possible for Picodrive too: https://github.com/ekeeke/Genesis-Plus-GX/issues/24

You can see the issue about adding such function to libretro under RetroArch's Github project page here: https://github.com/libretro/RetroArch/issues/530

andres-asm commented 9 years ago

well this is old, but actually a better solution would be to user the RETRO_ENVIRONMENT_SET_GEOMETRY function because the other one tears up the whole context and restarts it (window closes and reopens whenever resolution changes)