Thank you for doing this!
I saw it in other thread, but I think it’s better to reply in this one; and please forgive me for my ignorance in what i’m going to ask but I have some questions after looking at this compilation:
How do the Scale overlay exactly works? Or better yet, what is its purpose?
I’ve seen the “record” options… Will you be able to record actual gameplay? I’m baffled at that possibility, I don’t think the Wii can do that (But of course, I’m not expert AT ALL).
And what’s about that Netplay option?
If I could guess, I think some of those options are just there because this is not an official release and are just leftovers of porting code from other platform (PC I supose), but I’m really curious even if it turns out it’s nothing real for the Wii version.
I see in the options we can remap “reset game” I tried to remap it to Wii’s reset button but nothing happened (Wiimote didn’t work either so I had to force shutdown)
Still though would it not be awesome to be able to reset games with the reset button??
Hey Godlance, thanks for putting these up. I had a chance to go through and play around with the regular scanlines mode and had a few thoughts.
Originally, I had gone in with the assumption that I would be switching Bilinear filtering to Point filtering… which didn’t work too well. It makes the pixels dance like they’re at a party. Bilinear plus overlay was nice, but way too dark. I know I can just turn up the brightness on my TV, but that would just throw the balance off whenever I’m not playing in Retroarch.
After a half hour or so or different combos, I think my sweet spot is Bilinear + .25 opacity. It’s just enough to remove a lot of the blurriness of bilinear filtering, but it’s still pretty bright.
Godlance, what combo do you use? Would it be possible to make a scanlines lite, as opposed to the available bold? Or is lowering the opacity basically the same thing?
Thanks again for everyone’s hard work. The sweet spot I hit today was looking pretty great.
I’m not much for scanlines (never owned a TV large enough to distinguish them as a kid!) but I did decide to mess around with this a bit, and to get it looking reasonable for SNES I had to set the scaling to 1.07. I believe I was able to figure out the problem, which is that RetroArch always fits the overlay to your viewport (consider that they’re originally meant as controls for touch screen devices). So when you use a smaller (e.g. 512*448) viewport, the scanline image is being scaled down to fit, which doesn’t really work because it’s a precise, line-by-line image. Scaling up to 1.07 should bring the graphic back to (roughly?) its original scale, making things look reasonable on platforms like SNES or CPS-2 with 448 lines. Basically, you need to adjust this scale to match the line-height you’ve set for the current core.
The math I did for 1.07 was just 480/448, i.e. the default size over the current. It’s not precisely 1.07, but that seems close enough to look solid on point filtered 448-line games. You’ll need to do that math again for any other heights you intend to use with these scanline overlays.
The reason it’s so dark is that you’re alternatively displaying a black line, so in the end half of your image is composed of black lines.
I’ve solved it by adjusting the opacity, so the lines are not purely black.
After a half hour or so or different combos, I think my sweet spot is Bilinear + .25 opacity. It’s just enough to remove a lot of the blurriness of bilinear filtering, but it’s still pretty bright.
Godlance, what combo do you use? Would it be possible to make a scanlines lite, as opposed to the available bold? Or is lowering the opacity basically the same thing?
Well, this is not an exact science. I mean it really depends on several factors:
1.- The console you’re emulating, and of course, the emulator. Sega consoles tend to be brighter than nintendo ones, for example.
2.- Your TV set. My Phillips TV gives a darker image than my LG monitor, both hooked up via component cable. Then again it has better retro ilumination, so in the end I find the result more confortable to my sight. As in not feeling so much eye strain after a gaming sesion.
My advice? Play with the settings until you, as you masterfuly said, find your sweet spot.
I did the scanlines.png with the Gimp. And boy was it easy.
At first I just wanted to buy a comercial scanline generator, such as the SLG-3000, but the mechanism involved was so easy I couldn’t comprehend how it was not being implemented in an emulator. It basicaly draws a black line every normal line, and you get to choose if it draws them on odd or even lines and if you’re lucky the width of the line.
The Gimp gives you the option to create your own filling pattern, so I created a transparent 640x480 image, an oddly blacklined pattern and filled the image with it. The Gimp comes with some pre-generated line patterns, so I used them for the scanline bold one.
Also, I tried my luck with a green brackground and a personalized grid pattern, and voila, the GB one was born.
If you want patterns that are adapted to other resolutions, just ask. Post here which resolutions you want and I’ll upload them to my dropbox, so hunterk can upload them to the repo.
Oh, and sorry for my spelling. I’m Spanish and prone to make lots of mistakes.
Thanks again for everyone’s hard work. The sweet spot I hit today was looking pretty great.
You would be blown apart if you knew how freakingly fast the devs solve every issue you find. These guys are solid gold.
EDIT:
For those with trouble configuring controls in the CPS cores with a single wiimote (no attachments) setup, I’ve uploaded some modified cores here:
They are in the “test cores” folder. The default wiimote controls have been remaped to make some CPS games such as Ghouls and Ghosts playable. This is not a solution, just a temporary fix. I’ve opened an issue in the main repo, so for the time being you can use this ones.
Thanks Godlance. Just a few more questions for you (or maybe if someone else can answer!
What filtering method do you use? Bilinear or Point?
and
Talking SNES, what is the ideal resolution setting in Retroarch? I’ve always just left it at 640 x 480p, but I’ve some people mention 512x448). Does it make a difference since my HDTV is scaling regardless?
There’s not strictly one resolution for SNES, so it’s impossible to give a simple answer to which specific resolution to use. As a short answer, though, yes, it does make a difference.
The vast majority of games run at 256×224. If you want to get a reasonably accurate rendition of these games on an HDTV, 512×448 with point filtering is about the closest you’ll get. Just leaving it on 640×480 is fine if you don’t mind leaving bilinear filtering on at all times, but if you turn it off you’ll have ugly pixel warping all over the image as some lines are doubled and others aren’t. You’ll also be dealing with an extremely stretched screen, as the SNES’s aspect ratio is not 4:3. Additionally, you’re probably losing some of the image to overscan.
Your TV and RetroArch’s filtering are two separate steps, so you’re degrading the image twice by using RA’s bilinear filter. If this is how you like it to look, that’s fine, but if you prefer, it’s certainly possible to reduce the amount of filtering you’re doing to the image by using an exact integer scale and turning off bilinear filtering in RetroArch.
From what I understand, the Snes’ internal aspect is 8:7, but anything not 4:3 just looks weird to me since that’s what I grew up on. What would be a good compromise if I kept the resolution at 640 x 480? Bilinear filtering, 4:3 aspect ratio… would turning on integar scale even do anything at that point?
Yeah, the SNES was never meant to be displayed at 8:7, that’s definitely wrong, but it’s actually a little slimmer than a full 4:3. The intended pixel aspect ratio of the SNES is also 8:7 (meaning not the screen, but each individual pixel is eight-by-seven), so the overall screen shape is (8*7)*256/height, where height can be 224 or 239.
On my TV, which loses 16 Wii pixels to overscan (464 lines visible), if I was going for a compromise on 640×480 with bilinear, I’d shoot for something like 16,8: 606×464, preserving the SNES’s 8:7 pixels for most games (anything that natively runs at 256×224). In this scenario, integer scale isn’t useful at all, since all it does is constrict the custom scaling, making it impossible to enter a value like this.
That “464” is probably pretty specific to TVs similar to mine (Sony Bravia, four or five years old, display area set to +1), so the exact width/height would depend on that. If you’ve got a TV that shows all 480 lines, you’d want something like 7,0: 626×480 to get the correct SNES aspect ratio.
For (the very few) games with 239 lines, the aspect ratio is taller, because while the pixel aspect (8:7) is still the same, there’s now 15 additional lines. For a screen like mine that shows 464 lines, you’d want something like 36,8: 567×464. On a full 480-line display, you’d want a custom ratio of about 27,0: 586×480.
I know this is kind of a complicated mess, sorry about that. The SNES’s 8:7 pixels are to blame, since they result in an image that’s sorta-close-to-but-not-quite 4:3. Nintendo is aware of this and uses a trick of the Wii’s video encoder to make the Virtual Console’s output look pretty close to what a real SNES would do. During the digital-to-analog conversion done by the video encoder (the step right before the image gets shipped up the cable to your TV), Nintendo scale the raw, square pixels’ width by a factor of 8/7, which is kind of the shortcut way to doing all the crap I talk about above.
I have actually filed a request over on GitHub that this video encoder scaling be exposed to end users. In theory, this would allow us to do pretty much exactly what Nintendo does: use point filtering, set the framebuffer size (RetroArch’s “Screen Resolution”) to match the emulator’s output, then adjust the width using video encoder scaling to hit a sweet spot matching the original console’s output (for NES/SNES, ~585 pixels). It’s kind of a niche interest though to get the image this accurately shaped, and could be seen as unnecessary complexity for users who don’t understand its purpose, so whether the devs will find it worthwhile is hard to say.
Many many thanks to the developers for continuing to evolve a great project and to Godlance for compiling those cores.
So, here’s feedback from extensive playtest:
FBA core 1.0.2 finally does allow multiple consecutive game load without code dumps, so it appears as if memory leaks are solved. However it is slightly slower in performance than FBA core 0.9.9 on Wii (compare games like Shinobi on both versions to see), but this is a small minor setback compared to the convenience of the new version.
Also, mapping auto fast forward toggle to a button, makes games like A.B. Cop, Afterburner II, Chase HQ, Racing Hero, S.C.I. etc. playable (for me at least) when played in fast forward.
Same multiple consecutive game load without code dumps is also present in CPS1 core now as well.
CPS2, Neo cores are performing perfectly as before, in performance and consecutive rom loads.
NGP core still has input issue, SNES core has problematic Wiimote button mapping (SNES Y should be Wiimote 1, SNES B should be wiimote 2, SNES A should be wiimote B, SNES X should be wiimote A). Otherwise they’re great as before.
Greatness also applies to Genesis Plus GX core (which seems a bit faster now as well IMHO, nice) and PC engine core (note: i do not use this for PCE CD games though, i have Mednafen Wii for those, as it supports .ogg & .iso files which save a lot of space). Very good performance in Gambatte too. GB colorisation could use more palettes or SGB support but it is great nonetheless.
Nestopia runs great, FCEUM codedumps for me after 3 or 4 consecutive rom loads.
VB core is still slow, use Mednafen Wii.
VBA is pretty good, many games run full speed.
P.S. If you could edit default button settings for wiimote in SNES Next core please?
Vague Rant, thanks for the info. Ultimately, the setting that seems to work the best for me is the one I’ve always been using. For some reason I can’t make a custom resolution without the screen going wide (and one I set it to a none 640x480p resolution, aspect ratio becomes unresponsive). For me, 640x480p, Bilinear filtering, and .20 scanline transparency looks pretty great. It may not have perfect pixels, but I honestly can’t tell. When I get a chance, I’m gonna do a side by side (ish) with real hardware and compare/contrast.
Godlance, I wanted to tell you about a couple of things. I don’t know if this is a result of your way of compiling, or because of recent fixes, but I’ve noticed two longstanding issues that have been fixed since using your compile.
I almost always get a sharp but short audio crackle when loading a rom in every previous version of Retroarch. In your compile, this is gone.
For the past couple versions I’ve only been able to select 2 or 3 resolutions. With your compile, I can select many more.
Considering the devs do this completely for free, I’m of the opinion that they’re always working very hard
Thanks for the clarification, didn’t know if this was because of fixes or compilations, but at any rate I’m looking forward to the next official release.
I think this is by design; when you’re using the hardcoded resolutions (or 640×480 with aspect correction turned off), you will need to set the TV itself to “Normal” or “4:3” rather than “Widescreen” or “16:9”. RetroArch can correct the aspect ratio when running at 640×480, but this is another two scaling steps which reduce your image quality: the video encoder is squishing the image inward so that when your TV’s widescreen mode stretches it back out, you’ll get a 4:3 image. It’s practical and useful for most users, but not ideal if you’re looking for the best picture quality.
I almost always keep my TV in 4:3 when playing emulated consoles. The only exceptions I make are for widescreen N64 games like Banjo-Tooie and the Game Boy Advance, since it also has a wide (3:2) aspect. That said, rather than use the “Core provided” aspect for GBA, I use 59,8: 522×464. Again, this is for the sake of avoiding losing anything to overscan, which is particularly important on handhelds like the GBA because the original screens do not suffer from overscan at all, and developers frequently pushed content right out to the edges, where it won’t be seen on most TVs.
Hmm. I even tried setting my TV to Normal mode and it still presented itself as wide. It may be a quirk of my TV. It’s an older 2007 Olevia (now bankrupt) and it already has some weird issues (my Wii displays most games with 4 black bars around it. It’s like it’s being underscanned. I’ve tried every possible setting and nothing works).