Mesen Core

The 480p resolution is mostly an artifact of the standalone version, it didn’t even support changing the aspect ratio back when the NTSC filter was first implemented, so doubling the res to 480p was the simplest solution.

I’ll give it some more thought - might rename the “Vertical blending” option to “Vertical resolution” and have 240p / 480p (w/ blending) / 480p (w/o blending) as options.

@Arviel Cheats should work. Game genie and pro action rocky codes are supported along with the xxxx:yy and xxxx?yy:zz notations that Nestopia’s core uses. (i.e: the cheat system should support the exact same things as the nestopia core). It’s not impossible that there are some issues with them, though.

I haven’t looked at bisqwit’s code, but I don’t think NTSC encoding cares about vertical resolution in general, since IRL it’s just operating on a signal stream (that is, lines drawn horizontally). IIRC, the 12 horizontal neighboring pixels are involved but nothing vertical.

EDIT: looks like maister’s NTSC shader always stays at 1x vertical res, as well.

The 480px res is just Mesen’s doing. Bisqwit’s outputs 2048px wide lines (the 2x and 4x resolutions just ignore some of the pixels), and blargg’s is always ~600px wide, but both have only 240 lines.

1 Like

Just wanted to say THANK YOU! @Sour It’s so great that you didn’t go, “… Well, I released it. That’s good enough”. The amount of changes you have sent to the build-bot in the last few days is something to be proud of.

Ok, so in the end, I got rid of the “NTSC Filter: Vertical blending” option entirely and made all NTSC shaders render 240 lines. The “Vertical blending” option was more or less equivalent to enabling bilinear filtering anyway. This way the NTSC filter should behave exactly the same as in Nestopia’s core (so shaders now work as expected)

This change also makes the Bisqwit 4x & 8x filters substantially faster (8x runs almost twice as fast as before). I imagine blargg’s NTSC filter probably runs a tiny bit faster, too (e.g a few FPS faster at most).

@HellfireEternal You’re welcome! Here’s yet another change for the buildbot!

6 Likes

Fantastic core, i’m pretty much ready to ditch nestopia now.

I did notice this though - The NTSC filter seems to be doing something funky with vertical cropping. Check out the scrolling text segment at the beginning of Castlevania 3. Up the top there appears to be some glitchyness once the text and graphics start moving up the screen.

1 Like

@Sour

Just to relief some stress here, there are no future plans to shutdown the standalone version right? 0.9.5 will happen eventually?

Thinking of how things went with Nestopia, the standalone version is as good as dead today which is sad since the Libretro core misses a few essential options like playing with DIP Switches (Nintendo World Championship) and the ability to write to dumped .fds disk files directly instead of creating separate files, kinda like how the real FDS handles the disks.

Do you think implementing this to Mesen would be a good idea? Because as it is today there is no easy way transferring saves from FDS games from one emulator to another because:

A. The format of the separate files does not match (Nestopia .ups, puNES .dif and Mesen .ips)

B. The save state format does not match and usually save states from different emulators won’t work which makes replaying Metroid, Kid Icarus, Zelda etc. over and over again a bit tedious especially Zelda 2.

EDIT:

I have also created a feature request on GitHub for puNES regarding the ability to write to .fds disk dumps because instead of saves you can backup the whole game and transfer to other emulators.

1 Like

@butanebob To the best of my knowledge, this is how the actual game behaves as well during the intro sequence. This is usually not visible on a CRT TV because of overscan.

@SigmaVirus No, the standalone version isn’t going anywhere - I’ve spent far too much time on the debugging tools to throw them out of the window! :slight_smile:
As for transferring FDS saves, you should already be able to do this easily by using any program that can apply IPS patches (e.g LunarIPS). Just select the FDS file, and patch it with the IPS file that Mesen creates, the resulting file should be a regular .fds file with the saved data inside it.

1 Like

I noticed that too, but there’s an option to crop the overscan 8 or 16 pixels. I went with 16, and it completely fixed that.

I think the other cores do that by default, and that’s why you didn’t see it before.

thats the overscan area which is not normally seen if playing on CRT.

1 Like

Nice change on the Blargg filter. :slight_smile:

But… the overscan settings only cut the picture at the bottom (vertical overscan setting) and from the right side (horizontal) when the filter is activated.

@Sour

Thanks for the tip, so you can actually use the .ips to patch the .fds disk system dumps.

Cool!

What I also liked with the ability to write directly to the dumps in Nestopia were that it was relatively easy to purify the dumps you made which contained all sorts of save files (most used disks you buy from eBay unfortunately do)

All slots taken in Zelda no Densetsu 1 - The Hyrule Fantasy and The Legend of Zelda 2 - Link no Bouken, well just select Namae Kesu and wipe all slots and your .fds disk dump is as good as new again.

Some games doesn’t write to disk when wiping saves with the Namae Kesu option however.

With Akumajou Dracula, Dracula II - Noroi no Fuuin, Hikari Shinwa - Palutena no Kagami and Metroid for example you have to first wipe all slots, create one, start and save in game.

And then we have the impossible ones like Yume Kōjō - Doki Doki Panic and Super Mario Bros. 2 which can’t be wiped easily…

Anyway, thanks again!

same thing with Nestopia’s UPS patches.

1 Like

So that’s what all these different files were for, I thought it was just some kind of unique save file for the current emulator or something. Damn, I wish I knew which program to use for puNES .dif files, I got quite a lot complete save files that needs to be saved.

I’ve been playing around with the different options, and I noticed that the entire screen seems to get pushed down when you select a filter, except for the Bisqwit filters (no change in screen position for those filters that I could see). Here’s a couple screenshots, 1st is normal, 2nd is with Composite (Blargg).

The 2nd screenshot has the gray bar at the top of the title screen.

I would expect those to be patch files, as well. You could try opening one with a hex editor and see if it has any headers, etc. that are human-readable. Otherwise, I think IDA uses dif for patches, so you might be able to use one of the patching utilities that’s compatible with that format.

1 Like

Issue: image is not resized to correct aspect when returning to Auto in quick menu > options > Region:

What happens: When starting the core with Region in Auto, (for example an NTSC content is loaded), moving to PAL/Dendy changes aspect as well as timing as its suppose to. But when returning to Auto, only timing is restored, but not the aspect. Similar thing will happen if you move to PAL/Dendy and press START to restore default value(Auto in this case) will only restore timing, but not aspect-have to press Auto again(while in Auto) to restore original rom timing/aspect.

@Sour, I did. :+1:t2:

As tatsuya pointed out - When the NTSC filter is enabled the overscan cropping feature is only cropping the bottom/right hand sides, so the junk that should be cropped on the top and left is still visibile.

Cheers.

@Tatsuya79 @Typhon @butanebob Thanks for the reports, the overscan issue with the blargg NTSC filter should be fixed in the next build.

@wertz Thanks, this should be fixed too.

@SigmaVirus I took a quick look at puNES’ code, it looks like the .dif files are in a custom format. Essentially, it’s just a list of modifications done to the original file, 1 byte at a time. It would take some effort to convert them since they seem to be applied to the FDS file after the emulator parses it into multiples disk “sides”, rather than on the original .fds file itself (i.e it doesn’t work the same way as Mesen/Nestopia do)

4 Likes