libretro / libretro-cap32

caprice32 4.2.0 libretro
21 stars 34 forks source link

Zoom (enhancement) #100

Closed Darknior closed 2 years ago

Darknior commented 2 years ago

Hi,

Please, is it possible to add a zoom option to this emulator ? To play games in full screen. And hide the overscan not used borders...

Like on others old computers, to let us using last bezels and filters on last libretro projects :D

screenshot-2021 12 31-16h12 17

screenshot-2021 12 31-17h08 39

screenshot-2022 01 02-00h41 41

Because the problem with black borders on CPC is that it give a really bad result :( There is not reflect because reflect is black :(

screenshot-2022 01 02-19h48 12

DSkywalk commented 2 years ago

Thanks, but the amstrad CPC is not a "standard" computer, it had a specific chip that allowed to have multiple resolutions, move the screen position in memory, dynamic resolutions...

Try arkanoid with that bezel and you'll see that it fills the whole screen vertically. Other games, like the one you show, used very small resolutions to allow for other effects (or just to have more memory available). The screen originally looked exactly like this, that's how it should look :+1:

The emulators you've shown their computer had a fixed resolution in a fixed memory location, that doesn't happen in CPC it's much more complex and would slow it down. Which is not my goal now :calendar:

You can also zoom in and out from the Retroarch video options. My opinion is that it's something the core should not worry about. Anyway I'll keep an eye on the new API options in case I've missed something :wink:

I'll close the topic just for cleanliness, but I appreciate your suggestion and will see if I can do something about it. The bezel is beautiful!

Darknior commented 2 years ago

Arf so bad ... i understand what you write but i'm sure it is possible to zoom. It's not easy on other computers too, Amiga has so many games resolutions ... we must use a different zoom for each games. It is same on CPC i think, some use overscan and some other not. This feature of bezel with reflect is really used a lot. I'm on the Batocera team and now we are working to add it to the system too ... i think it will be added too, in Retrobat and Emuelec ... Please if you can found a solution, a little trick for it, a zoom with an unique or multiple factor, it can be enought. Thanks a lot

DSkywalk commented 2 years ago

Yup, the case is similar to Amiga, which also has its custom-chips, each game could set the resolution it chooses and display it wherever it wants. I've been thinking about how to do it, but as I said it won't be soon. Please think that the original computer was exactly how it looked and that's my goal, to stay close to the original.

You can keep writing and commenting on what you test, if in the end it is possible to do it efficiently and it makes sense to reopen it. Don't worry and thanks again.

Darknior commented 2 years ago

Ok thanks, no problem. I understand, take time to do it later. I think i can't help you more with this feature, but i think too that the best way should be to copy the Amiga idea. In a first way, to try it. I know that for now the emulation is close to the original :) But with some reflect and bezel it make it a little more modern and artistic :)

DSkywalk commented 2 years ago

@Darknior in fuse you use border: none ¿? in UAE emulator please send me your config too :+1:

Darknior commented 2 years ago

@Darknior in fuse you use border: none ¿? in UAE emulator please send me your config too 👍

i really don't remember i have workl on it a long time a go, now all is available from ES on Batocera, look at the options i have added, all is explained. if you don't use batocera all is explained on the libretro doc https://docs.libretro.com/library/puae/

Zoom Mode [puae_zoom_mode] (disabled|minimum|smaller|small|medium|large|larger|maximum|auto)