Giter VIP home page Giter VIP logo

mesen-s's People

Contributors

carmiker avatar gouchi avatar inactive123 avatar jet082 avatar newsie-oss avatar sourmesen avatar webgeek1234 avatar yoshisuga avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mesen-s's Issues

Text invisible in ActRaiser 2 with 0.3.0 Release

Several areas that are supposed to display text in the game ActRaiser 2 are not doing so. They have invisible text in the 0.3.0 release, whereas in version 0.2.0 they displayed just fine.

Here's some screenshots to show what I mean. The first image is with version 0.3.0, and the second is 0.2.0:
ActRaiser 2 (USA)_000

ActRaiser 2 (USA)_000

In both instance I'm loading the rom from a ZIP archive, and additionally my 0.3.0 release was upgraded from a 0.2.0 one, if that helps.

erroneous tooltip label in Event Viewer

I have my 65816 code reading from an aboluste address around $4400 with the data bank register being $7E, and EventViewer recognizes that read as one from Register.

I assume this problem is attributed to CpuDebugger::ProcessRead only accepting a uint16_t address rather than a uint32_t and discarding the bank information?
The same problem happens to Write as well.

Loading a save state while debugging hangs the emulator.

While debugging, trying to load a save state to go back to a previous state causes the emulator to just hang forever.

Steps to reproduce:

  • Create a save state
  • Open the debugger and break execution
  • Load the previously saved state without hitting Continue

0.3.0 release makefile tries to use msbuild on linux

$ make --trace
makefile:95: update target 'ui' due to: InteropDLL/obj.x64/libMesenSCore.x64.dll
mkdir -p bin/x64/Release/Dependencies
rm -fr bin/x64/Release/Dependencies/*
cd UpdateHelper && msbuild /property:Configuration="Release" /property:Platform="AnyCPU"
/bin/sh: 1: msbuild: not found
makefile:95: recipe for target 'ui' failed
make: *** [ui] Error 127

feature request (resolution)

Both Mesen and Mesen-S have become an emulator I use daily. both lack one feature I find very important.

The ability to select screen resolution.

Those of us using giant screens on media centers or those of us using a weaker machine can benefit greatly if we have the option to set different exclusive full screen resolution rather than desktop resolution.

most stand alone emulators till recent did this.

Examples can be seen in Mednafen, snes9x, nestopia ue, kega fusion etc.

Please consider adding this ability one day.

Thank you.

[Linux] The type initializer for 'System.Windows.Forms.WindowsFormsSynchronizationContext' threw an exception

exception inside UnhandledException handler: The type initializer for 'System.Windows.Forms.WindowsFormsSynchronizationContext' threw an exception.

[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: The type initializer for 'System.Windows.Forms.WindowsFormsSynchronizationContext' threw an exception. ---> System.TypeInitializationException: The type initializer for 'System.Windows.Forms.ThemeEngine' threw an exception. ---> System.TypeInitializationException: The type initializer for 'System.Windows.Forms.ThemeWin32Classic' threw an exception. ---> System.TypeInitializationException: The type initializer for 'System.Drawing.KnownColors' threw an exception. ---> System.TypeInitializationException: The type initializer for 'System.Drawing.GDIPlus' threw an exception. ---> System.DllNotFoundException: libgdiplus.so.0
  at (wrapper managed-to-native) System.Drawing.GDIPlus.GdiplusStartup(ulong&,System.Drawing.GdiplusStartupInput&,System.Drawing.GdiplusStartupOutput&)
  at System.Drawing.GDIPlus..cctor () [0x000b0] in <2721d3953df14566a54b9fdff288b758>:0 
   --- End of inner exception stack trace ---
  at System.Drawing.KnownColors..cctor () [0x0001a] in <2721d3953df14566a54b9fdff288b758>:0 
   --- End of inner exception stack trace ---
  at (wrapper managed-to-native) System.Object.__icall_wrapper_mono_generic_class_init(intptr)
  at System.Drawing.Color.FromKnownColor (System.Drawing.KnownColor color) [0x00007] in <2721d3953df14566a54b9fdff288b758>:0 
  at System.Drawing.Color.get_Black () [0x00000] in <2721d3953df14566a54b9fdff288b758>:0 
  at System.Windows.Forms.ThemeWin32Classic..cctor () [0x00000] in <40fc4fd150ac4c6e8103dd90b12f43df>:0 
   --- End of inner exception stack trace ---
  at System.Windows.Forms.ThemeVisualStyles..ctor () [0x00000] in <40fc4fd150ac4c6e8103dd90b12f43df>:0 
  at System.Windows.Forms.ThemeEngine..cctor () [0x00007] in <40fc4fd150ac4c6e8103dd90b12f43df>:0 
   --- End of inner exception stack trace ---
  at System.Windows.Forms.SystemInformation.get_MenuAccessKeysUnderlined () [0x00000] in <40fc4fd150ac4c6e8103dd90b12f43df>:0 
  at System.Windows.Forms.Control..ctor () [0x000d6] in <40fc4fd150ac4c6e8103dd90b12f43df>:0 
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.Control..ctor()
  at System.Windows.Forms.WindowsFormsSynchronizationContext..cctor () [0x00000] in <40fc4fd150ac4c6e8103dd90b12f43df>:0 
   --- End of inner exception stack trace ---
  at (wrapper managed-to-native) System.Object.__icall_wrapper_mono_generic_class_init(intptr)
  at System.Windows.Forms.WindowsFormsSynchronizationContext.get_AutoInstall () [0x00000] in <40fc4fd150ac4c6e8103dd90b12f43df>:0 
  at System.Windows.Forms.Control..ctor () [0x0000d] in <40fc4fd150ac4c6e8103dd90b12f43df>:0 
  at System.Windows.Forms.ScrollableControl..ctor () [0x00000] in <40fc4fd150ac4c6e8103dd90b12f43df>:0 
  at System.Windows.Forms.ContainerControl..ctor () [0x0000e] in <40fc4fd150ac4c6e8103dd90b12f43df>:0 
  at System.Windows.Forms.Form..ctor () [0x00012] in <40fc4fd150ac4c6e8103dd90b12f43df>:0 
  at System.Windows.Forms.MessageBox+MessageBoxForm..ctor (System.Windows.Forms.IWin32Window owner, System.String text, System.String caption, System.Windows.Forms.MessageBoxButtons buttons, System.Windows.Forms.MessageBoxIcon icon, System.Boolean displayHelpButton) [0x0000c] in <40fc4fd150ac4c6e8103dd90b12f43df>:0 
  at System.Windows.Forms.MessageBox+MessageBoxForm..ctor (System.Windows.Forms.IWin32Window owner, System.String text, System.String caption, System.Windows.Forms.MessageBoxButtons buttons, System.Windows.Forms.MessageBoxIcon icon) [0x00000] in <40fc4fd150ac4c6e8103dd90b12f43df>:0 
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.MessageBox+MessageBoxForm..ctor(System.Windows.Forms.IWin32Window,string,string,System.Windows.Forms.MessageBoxButtons,System.Windows.Forms.MessageBoxIcon)
  at System.Windows.Forms.MessageBox.Show (System.String text, System.String caption, System.Windows.Forms.MessageBoxButtons buttons, System.Windows.Forms.MessageBoxIcon icon) [0x00000] in <40fc4fd150ac4c6e8103dd90b12f43df>:0 
  at Mesen.GUI.Forms.MesenMsgBox.Show (System.String text, System.Windows.Forms.MessageBoxButtons buttons, System.Windows.Forms.MessageBoxIcon icon, System.String[] args) [0x00077] in <91966e149435474797b7c37b482f0bea>:0 
  at Mesen.GUI.Program.CurrentDomain_UnhandledException (System.Object sender, System.UnhandledExceptionEventArgs e) [0x0001b] in <91966e149435474797b7c37b482f0bea>:0 

openSUSE Tumbleweed, x86-64

Enabling "Show game timer" crashes the emulator

Congratulations on this amazing emulator! I'm enjoying it very much, although I think I found a small bug.

Enabling 'Tools > Preferences > Advanced > Show game timer' makes the emulator crash on next start. Most times just enabling it works fine during the running session. However the emulator won't start afterwards, unless disabled manually in settings.xml:
false or delete de settings.xml as if it was a new setup.

Using Linux x64 compiled from source. Tried several updates since 0.20.0.10 to latet.

Can't run from read-only directory

Even though I selected to place config files in the user directory, Mesen-S still tries to write to its own directory:

Screenshot_20190519_124623

I've encountered it under Linux but I assume Mesen-S getting installed in "C:\Program Files" and then executed as non-administrator user would lead to the same error message.

Error when trying to load Tetris & Dr. Mario (USA)

I get this:

mesens_err_tetris

This game doesn't appear in the wiki list of games using supplemental chips, so I thought I should post it. This happens with the no-intro version of the rom. On the other hand, this game runs with no problems with a rom from another romset (Cylum's).

Exiting while maximized seems incorrect

I'm using build 0.1.0.77. On at least my computer, exiting Mesen-S while it's maximized seems to produce behavior where the rendered video stays maximized on the next launch, but the window itself uses the previous non-maximized size, resulting in a zooming and cropping effect.

image

Save/Load command occasionally gets "Stuck" and executes the wrong function.

This one's a bit hard to explain, but I'll do the best I can.

Occasionally, when trying to load a state, the "SAVE" function gets executed instead. I'm using the default shortcuts for this (Shift + F keys to save, F keys to load), while also extending them out to F8-F10. I've noticed that it thinks the Shift is held, when its not (and no, it's not my keyboard to my knowledge, I've tested that too). While in this odd phase where the error has at least once occurred, if I continue to press F10 again in an attempt to load, it will continously keep saving.

The only way I've found that I can break out of this behavior is to press "SHIFT" as a standalone. Then when I go to load, it'll work correctly. I used my keyboard's opposite shift key when doing this, as opposed the one I normally use, just to make sure.

Bilinear Interpolation issue

Hi SourMesen,

Thanks again for this great piece of software, it's becoming my first choice for SNES emulation.

I found something strange when using Bilinear Interpolation and certain games that use Hi-Res.
Most noticeable on Seiken Densetsu 3 / Trials of Mana. The filter is much better (clearer) when there is a dialog displaying on screen, however when there is no text, the image turns noticeably blurrier. It is a bit annoying during dialog scenes, you can notice the change in between characters speaking. I suppose this kind of issues might pass unnoticed to some people, but if you try full screen I think it's easier to see.

I'm using Linux x64, and it's happening in both the Libretro core and the UI builds, compiled from source.

FAQ / Known Issues

As of the latest dev builds:

  • These enhancement chips are still unsupported:
    • ST018 (Hayazashi Nidan Morita Shogi 2)
  • These games freeze at boot (or soon after):
    • Battle Grand Prix
    • Kishin Douji Zenki - Tenchi Meidou

Other than the games listed above, everything else should be working properly. If you find issues with any other game, please let me know!

Minor sound issues

This is probably known since the emulator is still young, but sometimes the beginning of sound bytes are a little chopped off when they play, be it just sound effects or music when it begins to play.

If there is a way to fix this by adjusting the latency, I'd like to know. The buffer size in Snes9x is 64 by default and I notice it is 60 in Mesen-S.

TraceLogger.cpp:181:17: error: array initializer must be an initializer list or string literal

When trying to compile the Linux version:

[  207s] mkdir -p Core/obj.x64 && cd Core/obj.x64 && clang++ -fPIC -Wall --std=c++14 -O3  -m64 -flto  -c  ../TraceLogger.cpp
[  210s] ../TraceLogger.cpp:181:17: error: array initializer must be an initializer list or string literal
[  210s]         constexpr char activeStatusLetters[8] = cpuType == CpuType::Cpu ? cpuActiveStatusLetters : spcActiveStatusLetters;
[  210s]                        ^
[  210s] ../TraceLogger.cpp:182:17: error: array initializer must be an initializer list or string literal
[  210s]         constexpr char inactiveStatusLetters[8] = cpuType == CpuType::Cpu ? cpuInactiveStatusLetters : spcInactiveStatusLetters;
[  210s]                        ^
[  210s] ../TraceLogger.cpp:295:10: warning: enumeration values 'D', 'DB', and 'CycleCount' not handled in switch [-Wswitch]
[  210s]                 switch(rowPart.DataType) {
[  210s]                        ^
[  211s] 1 warning and 2 errors generated.
[  211s] make: *** [makefile:131: Core/obj.x64/TraceLogger.o] Error 1
[  211s] error: Bad exit status from /var/tmp/rpm-tmp.OY4vT9 (%build)

OS: openSUSE Tumbleweed and Fedora 29, x86-64

See https://build.opensuse.org/package/show/home:KAMiKAZOW:Test/mesen-s

RetroArch iOS copies the wrong filename

Right now, it copies the wrong file name, which forces it to fail compiling.

To fix, change the following in the Makefile:

else ifneq (,$(findstring ios,$(platform)))
   TARGET := $(TARGET_NAME)_libretro.dylib

to

else ifneq (,$(findstring ios,$(platform)))
   TARGET := mesens_libretro_ios.dylib

Then it works.

firmware list

PLease supply a list of supported firmware roms.

seems cx4.rom not required or supported (using HLE emulation?)

dsp1b.rom is required and supported.

WHat else?

Thank you

RetroArch iOS arm64 Core Version No Longer Compiles

I think that the Makefile needs -stdlib=libc++ or something, but I cannot seem to get it to work. It apparently did compile at some point, as the core is here: https://buildbot.libretro.com/nightly/apple/ios-arm64/2019-08-26_cores/

The error is below:

c++ -arch arm64 -marm -miphoneos-version-min=8.0 -isysroot /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.0.sdk -miphoneos-version-min=5.0 -O3 -Wall -D LIBRETRO -fPIC -std=c++14 -fPIC -c ../Core/BaseCartridge.cpp -o../Core/BaseCartridge.o
make: *** [../Core/AluMulDiv.o] Error 1
make: *** Waiting for unfinished jobs....
In file included from ../Core/AviRecorder.cpp:1:
../Core/stdafx.h:6:10: fatal error: 'memory' file not found
#include <memory>
         ^~~~~~~~
clang: warning: argument unused during compilation: '-mno-thumb' [-Wunused-command-line-argument]
warning: include path for stdlibc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
1 warning and 1 error generated.
1 warning and 1 error generated.
make: *** [../Core/AviRecorder.o] Error 1
make: *** [libretro.o] Error 1
In file included from ../Core/BaseCartridge.cpp:1:
../Core/stdafx.h:6:10: fatal error: 'memory' file not found
#include <memory>

Chester Cheetah - Too Cool to Fool (USA) - sound issue

  • screenshot 1: when you want to go to "option" and press select, you can't hear sound
  • screenshot 2: when you want to collect those coins(?), you can't hear anything either

There are no problems with bsnes or snes9x Edit: and hardware.

aaa

SMW2: Yoshi's Island - Broken Effects

Just wanted to say, thank you for this amazing emulator so far. I only use Mesen for NES emulation and I'm sure Mesen-S will replace all my other SNES emulators eventually. :)

So with that said, I noticed some potential layering and transparency issues with this title. World 1-2, after bouncing on the up arrow ball, there is a layer of the foreground that should vanish/appear as you enter/exit it. Currently it fades out correctly, but it doesn't fade back in.

Before it fades out, I noticed that my star counter was falling behind the foreground in some spots. I'm assuming both issues are one in the same.

[Linux compilation] fatal error: too many errors emitted, stopping now

[  451s] mkdir -p Core/obj.x64 && cd Core/obj.x64 && clang++ -fPIC -Wall --std=c++14 -O3  -m64 -flto  -c  ../Ppu.cpp
[  466s] ../Ppu.cpp:848:17: error: constexpr variable cannot have non-literal type 'const (lambda at ../Ppu.cpp:848:24)'
[  466s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  466s]                        ^
[  466s] ../Ppu.cpp:1839:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', true, true, true, true>' requested here
[  466s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, applyMosaic, true>();
[  466s]                 ^
[  466s] ../Ppu.cpp:1829:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', true, true, true>' requested here
[  466s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, true>();
[  466s]                 ^
[  466s] ../Ppu.cpp:437:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', true, true>' requested here
[  466s]                 RenderTilemapMode7<1, forMainScreen, true>();
[  466s]                 ^
[  466s] ../Ppu.cpp:497:4: note: in instantiation of function template specialization 'Ppu::RenderMode7<true>' requested here
[  466s]                         RenderMode7<true>();
[  466s]                         ^
[  466s] ../Ppu.cpp:848:24: note: lambda closure types are non-literal types before C++17
[  466s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  466s]                               ^
[  466s] ../Ppu.cpp:848:17: error: constexpr variable cannot have non-literal type 'const (lambda at ../Ppu.cpp:848:24)'
[  466s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  466s]                        ^
[  466s] ../Ppu.cpp:1841:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', true, true, true, false>' requested here
[  466s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, applyMosaic, false>();
[  466s]                 ^
[  466s] ../Ppu.cpp:1829:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', true, true, true>' requested here
[  466s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, true>();
[  466s]                 ^
[  466s] ../Ppu.cpp:437:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', true, true>' requested here
[  466s]                 RenderTilemapMode7<1, forMainScreen, true>();
[  466s]                 ^
[  467s] ../Ppu.cpp:497:4: note: in instantiation of function template specialization 'Ppu::RenderMode7<true>' requested here
[  467s]                         RenderMode7<true>();
[  467s]                         ^
[  467s] ../Ppu.cpp:848:24: note: lambda closure types are non-literal types before C++17
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                               ^
[  467s] ../Ppu.cpp:848:17: error: constexpr variable cannot have non-literal type 'const (lambda at ../Ppu.cpp:848:24)'
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                        ^
[  467s] ../Ppu.cpp:1839:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', true, true, false, true>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, applyMosaic, true>();
[  467s]                 ^
[  467s] ../Ppu.cpp:1831:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', true, true, false>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, false>();
[  467s]                 ^
[  467s] ../Ppu.cpp:437:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', true, true>' requested here
[  467s]                 RenderTilemapMode7<1, forMainScreen, true>();
[  467s]                 ^
[  467s] ../Ppu.cpp:497:4: note: in instantiation of function template specialization 'Ppu::RenderMode7<true>' requested here
[  467s]                         RenderMode7<true>();
[  467s]                         ^
[  467s] ../Ppu.cpp:848:24: note: lambda closure types are non-literal types before C++17
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                               ^
[  467s] ../Ppu.cpp:848:17: error: constexpr variable cannot have non-literal type 'const (lambda at ../Ppu.cpp:848:24)'
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                        ^
[  467s] ../Ppu.cpp:1841:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', true, true, false, false>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, applyMosaic, false>();
[  467s]                 ^
[  467s] ../Ppu.cpp:1831:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', true, true, false>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, false>();
[  467s]                 ^
[  467s] ../Ppu.cpp:437:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', true, true>' requested here
[  467s]                 RenderTilemapMode7<1, forMainScreen, true>();
[  467s]                 ^
[  467s] ../Ppu.cpp:497:4: note: in instantiation of function template specialization 'Ppu::RenderMode7<true>' requested here
[  467s]                         RenderMode7<true>();
[  467s]                         ^
[  467s] ../Ppu.cpp:848:24: note: lambda closure types are non-literal types before C++17
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                               ^
[  467s] ../Ppu.cpp:848:17: error: constexpr variable cannot have non-literal type 'const (lambda at ../Ppu.cpp:848:24)'
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                        ^
[  467s] ../Ppu.cpp:1839:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x00', true, false, true, true>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, applyMosaic, true>();
[  467s]                 ^
[  467s] ../Ppu.cpp:1829:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x00', true, false, true>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, true>();
[  467s]                 ^
[  467s] ../Ppu.cpp:440:2: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x00', true, false>' requested here
[  467s]         RenderTilemapMode7<0, forMainScreen, false>();
[  467s]         ^
[  467s] ../Ppu.cpp:497:4: note: in instantiation of function template specialization 'Ppu::RenderMode7<true>' requested here
[  467s]                         RenderMode7<true>();
[  467s]                         ^
[  467s] ../Ppu.cpp:848:24: note: lambda closure types are non-literal types before C++17
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                               ^
[  467s] ../Ppu.cpp:848:17: error: constexpr variable cannot have non-literal type 'const (lambda at ../Ppu.cpp:848:24)'
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                        ^
[  467s] ../Ppu.cpp:1841:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x00', true, false, true, false>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, applyMosaic, false>();
[  467s]                 ^
[  467s] ../Ppu.cpp:1829:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x00', true, false, true>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, true>();
[  467s]                 ^
[  467s] ../Ppu.cpp:440:2: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x00', true, false>' requested here
[  467s]         RenderTilemapMode7<0, forMainScreen, false>();
[  467s]         ^
[  467s] ../Ppu.cpp:497:4: note: in instantiation of function template specialization 'Ppu::RenderMode7<true>' requested here
[  467s]                         RenderMode7<true>();
[  467s]                         ^
[  467s] ../Ppu.cpp:848:24: note: lambda closure types are non-literal types be[  429.793297] serial8250: too much work for irq4
[  467s] fore C++17
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                               ^
[  467s] ../Ppu.cpp:848:17: error: constexpr variable cannot have non-literal type 'const (lambda at ../Ppu.cpp:848:24)'
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                        ^
[  467s] ../Ppu.cpp:1839:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x00', true, false, false, true>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, applyMosaic, true>();
[  467s]                 ^
[  467s] ../Ppu.cpp:1831:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x00', true, false, false>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, false>();
[  467s]                 ^
[  467s] ../Ppu.cpp:440:2: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x00', true, false>' requested here
[  467s]         RenderTilemapMode7<0, forMainScreen, false>();
[  467s]         ^
[  467s] ../Ppu.cpp:497:4: note: in instantiation of function template specialization 'Ppu::RenderMode7<true>' requested here
[  467s]                         RenderMode7<true>();
[  467s]                         ^
[  467s] ../Ppu.cpp:848:24: note: lambda closure types are non-literal types before C++17
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                               ^
[  467s] ../Ppu.cpp:848:17: error: constexpr variable cannot have non-literal type 'const (lambda at ../Ppu.cpp:848:24)'
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                        ^
[  467s] ../Ppu.cpp:1841:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x00', true, false, false, false>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, applyMosaic, false>();
[  467s]                 ^
[  467s] ../Ppu.cpp:1831:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x00', true, false, false>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, false>();
[  467s]                 ^
[  467s] ../Ppu.cpp:440:2: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x00', true, false>' requested here
[  467s]         RenderTilemapMode7<0, forMainScreen, false>();
[  467s]         ^
[  467s] ../Ppu.cpp:497:4: note: in instantiation of function template specialization 'Ppu::RenderMode7<true>' requested here
[  467s]                         RenderMode7<true>();
[  467s]                         ^
[  467s] ../Ppu.cpp:848:24: note: lambda closure types are non-literal types before C++17
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                               ^
[  467s] ../Ppu.cpp:848:17: error: constexpr variable cannot have non-literal type 'const (lambda at ../Ppu.cpp:848:24)'
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                        ^
[  467s] ../Ppu.cpp:1839:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', true, false, true, true>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, applyMosaic, true>();
[  467s]                 ^
[  467s] ../Ppu.cpp:1829:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', true, false, true>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, true>();
[  467s]                 ^
[  467s] ../Ppu.cpp:443:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', true, false>' requested here
[  467s]                 RenderTilemapMode7<1, forMainScreen, false>();
[  467s]                 ^
[  467s] ../Ppu.cpp:497:4: note: in instantiation of function template specialization 'Ppu::RenderMode7<true>' requested here
[  467s]                         RenderMode7<true>();
[  467s]                         ^
[  467s] ../Ppu.cpp:848:24: note: lambda closure types are non-literal types before C++17
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                               ^
[  467s] ../Ppu.cpp:848:17: error: constexpr variable cannot have non-literal type 'const (lambda at ../Ppu.cpp:848:24)'
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                        ^
[  467s] ../Ppu.cpp:1841:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', true, false, true, false>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, applyMosaic, false>();
[  467s]                 ^
[  467s] ../Ppu.cpp:1829:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', true, false, true>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, true>();
[  467s]                 ^
[  467s] ../Ppu.cpp:443:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', true, false>' requested here
[  467s]                 RenderTilemapMode7<1, forMainScreen, false>();
[  467s]                 ^
[  467s] ../Ppu.cpp:497:4: note: in instantiation of function template specialization 'Ppu::RenderMode7<true>' requested here
[  467s]                         RenderMode7<true>();
[  467s]                         ^
[  467s] ../Ppu.cpp:848:24: note: lambda closure types are non-literal types before C++17
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                               ^
[  467s] ../Ppu.cpp:848:17: error: constexpr variable cannot have non-literal type 'const (lambda at ../Ppu.cpp:848:24)'
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                        ^
[  467s] ../Ppu.cpp:1839:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', true, false, false, true>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, applyMosaic, true>();
[  467s]                 ^
[  467s] ../Ppu.cpp:1831:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', true, false, false>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, false>();
[  467s]                 ^
[  467s] ../Ppu.cpp:443:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', true, false>' requested here
[  467s]                 RenderTilemapMode7<1, forMainScreen, false>();
[  467s]                 ^
[  467s] ../Ppu.cpp:497:4: note: in instantiation of function template specialization 'Ppu::RenderMode7<true>' requested here
[  467s]                         RenderMode7<true>();
[  467s]                         ^
[  467s] ../Ppu.cpp:848:24: note: lambda closure types are non-literal types before C++17
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                               ^
[  467s] ../Ppu.cpp:848:17: error: constexpr variable cannot have non-literal type 'const (lambda at ../Ppu.cpp:848:24)'
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                        ^
[  467s] ../Ppu.cpp:1841:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', true, false, false, false>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, applyMosaic, false>();
[  467s]                 ^
[  467s] ../Ppu.cpp:1831:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', true, false, false>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, false>();
[  467s]                 ^
[  467s] ../Ppu.cpp:443:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', true, false>' requested here
[  467s]                 RenderTilemapMode7<1, forMainScreen, fal[  429.952664] serial8250: too much work for irq4
[  467s] se>();
[  467s]                 ^
[  467s] ../Ppu.cpp:497:4: note: in instantiation of function template specialization 'Ppu::RenderMode7<true>' requested here
[  467s]                         RenderMode7<true>();
[  467s]                         ^
[  467s] ../Ppu.cpp:848:24: note: lambda closure types are non-literal types before C++17
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                               ^
[  467s] ../Ppu.cpp:848:17: error: constexpr variable cannot have non-literal type 'const (lambda at ../Ppu.cpp:848:24)'
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                        ^
[  467s] ../Ppu.cpp:1839:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', false, true, true, true>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, applyMosaic, true>();
[  467s]                 ^
[  467s] ../Ppu.cpp:1829:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', false, true, true>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, true>();
[  467s]                 ^
[  467s] ../Ppu.cpp:437:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', false, true>' requested here
[  467s]                 RenderTilemapMode7<1, forMainScreen, true>();
[  467s]                 ^
[  467s] ../Ppu.cpp:498:4: note: in instantiation of function template specialization 'Ppu::RenderMode7<false>' requested here
[  467s]                         RenderMode7<false>();
[  467s]                         ^
[  467s] ../Ppu.cpp:848:24: note: lambda closure types are non-literal types before C++17
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                               ^
[  467s] ../Ppu.cpp:848:17: error: constexpr variable cannot have non-literal type 'const (lambda at ../Ppu.cpp:848:24)'
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                        ^
[  467s] ../Ppu.cpp:1841:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', false, true, true, false>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, applyMosaic, false>();
[  467s]                 ^
[  467s] ../Ppu.cpp:1829:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', false, true, true>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, true>();
[  467s]                 ^
[  467s] ../Ppu.cpp:437:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', false, true>' requested here
[  467s]                 RenderTilemapMode7<1, forMainScreen, true>();
[  467s]                 ^
[  467s] ../Ppu.cpp:498:4: note: in instantiation of function template specialization 'Ppu::RenderMode7<false>' requested here
[  467s]                         RenderMode7<false>();
[  467s]                         ^
[  467s] ../Ppu.cpp:848:24: note: lambda closure types are non-literal types before C++17
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                               ^
[  467s] ../Ppu.cpp:848:17: error: constexpr variable cannot have non-literal type 'const (lambda at ../Ppu.cpp:848:24)'
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                        ^
[  467s] ../Ppu.cpp:1839:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', false, true, false, true>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, applyMosaic, true>();
[  467s]                 ^
[  467s] ../Ppu.cpp:1831:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', false, true, false>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, false>();
[  467s]                 ^
[  467s] ../Ppu.cpp:437:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', false, true>' requested here
[  467s]                 RenderTilemapMode7<1, forMainScreen, true>();
[  467s]                 ^
[  467s] ../Ppu.cpp:498:4: note: in instantiation of function template specialization 'Ppu::RenderMode7<false>' requested here
[  467s]                         RenderMode7<false>();
[  467s]                         ^
[  467s] ../Ppu.cpp:848:24: note: lambda closure types are non-literal types before C++17
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                               ^
[  467s] ../Ppu.cpp:848:17: error: constexpr variable cannot have non-literal type 'const (lambda at ../Ppu.cpp:848:24)'
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                        ^
[  467s] ../Ppu.cpp:1841:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', false, true, false, false>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, applyMosaic, false>();
[  467s]                 ^
[  467s] ../Ppu.cpp:1831:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', false, true, false>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, false>();
[  467s]                 ^
[  467s] ../Ppu.cpp:437:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x01', false, true>' requested here
[  467s]                 RenderTilemapMode7<1, forMainScreen, true>();
[  467s]                 ^
[  467s] ../Ppu.cpp:498:4: note: in instantiation of function template specialization 'Ppu::RenderMode7<false>' requested here
[  467s]                         RenderMode7<false>();
[  467s]                         ^
[  467s] ../Ppu.cpp:848:24: note: lambda closure types are non-literal types before C++17
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                               ^
[  467s] ../Ppu.cpp:848:17: error: constexpr variable cannot have non-literal type 'const (lambda at ../Ppu.cpp:848:24)'
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                        ^
[  467s] ../Ppu.cpp:1839:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x00', false, false, true, true>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, applyMosaic, true>();
[  467s]                 ^
[  467s] ../Ppu.cpp:1829:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x00', false, false, true>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, true>();
[  467s]                 ^
[  467s] ../Ppu.cpp:440:2: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x00', false, false>' requested here
[  467s]         RenderTilemapMode7<0, forMainScreen, false>();
[  467s]         ^
[  467s] ../Ppu.cpp:498:4: note: in instantiation of function template specialization 'Ppu::RenderMode7<false>' requested here
[  467s]                         RenderMode7<false>();
[  467s]                         ^
[  467s] ../Ppu.cpp:848:24: note: lambda closure types are non-literal types before C++17
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                               ^
[  467s] ../Ppu.cpp:848:17: error: constexpr variable cannot have non-literal type 'const (lambda at ../Ppu.cpp:848:24)'
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                        ^
[  467s] ../Ppu.cpp:1841:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x00', false, false, true, false>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, applyMosaic, false>();
[  467s]                 ^
[  467s] ../Ppu.cpp:1829:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x00', false, false, true>' requested here
[  430.111074] serial8250: too much work for irq4
[  467s] 
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, true>();
[  467s]                 ^
[  467s] ../Ppu.cpp:440:2: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x00', false, false>' requested here
[  467s]         RenderTilemapMode7<0, forMainScreen, false>();
[  467s]         ^
[  467s] ../Ppu.cpp:498:4: note: in instantiation of function template specialization 'Ppu::RenderMode7<false>' requested here
[  467s]                         RenderMode7<false>();
[  467s]                         ^
[  467s] ../Ppu.cpp:848:24: note: lambda closure types are non-literal types before C++17
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                               ^
[  467s] ../Ppu.cpp:848:17: error: constexpr variable cannot have non-literal type 'const (lambda at ../Ppu.cpp:848:24)'
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                        ^
[  467s] ../Ppu.cpp:1839:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x00', false, false, false, true>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, applyMosaic, true>();
[  467s]                 ^
[  467s] ../Ppu.cpp:1831:3: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x00', false, false, false>' requested here
[  467s]                 RenderTilemapMode7<layerIndex, forMainScreen, processHighPriority, false>();
[  467s]                 ^
[  467s] ../Ppu.cpp:440:2: note: in instantiation of function template specialization 'Ppu::RenderTilemapMode7<'\x00', false, false>' requested here
[  467s]         RenderTilemapMode7<0, forMainScreen, false>();
[  467s]         ^
[  467s] ../Ppu.cpp:498:4: note: in instantiation of function template specialization 'Ppu::RenderMode7<false>' requested here
[  467s]                         RenderMode7<false>();
[  467s]                         ^
[  467s] ../Ppu.cpp:848:24: note: lambda closure types are non-literal types before C++17
[  467s]         constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };
[  467s]                               ^
[  467s] fatal error: too many errors emitted, stopping now [-ferror-limit=]
[  467s] 20 errors generated.
[  467s] make: *** [makefile:131: Core/obj.x64/Ppu.o] Error 1

https://build.opensuse.org/package/live_build_log/home:KAMiKAZOW:Test/mesen-s/openSUSE_Tumbleweed/x86_64

C++14 compliance issue in Ppu::RenderTilemapMode7

C:\Projects\Mesen-S\Core\Ppu.cpp(850): error C2127: 'clip': illegal initialization of 'constexpr' entity with a non-constant expression

Lambdas cannot be constexpr until C++17:

constexpr auto clip = [](int32_t val) { return (val & 0x2000) ? (val | ~0x3ff) : (val & 0x3ff); };

To fix this, change Core's project settings to say C++17 in Properties / C/C++ / Language / C++ Language Standard. Or remove constexpr.

This breaks compilation on MSVC 2019.

Spc700.rom

Every game I try to load gives me this error. Is that a BIOS file I need?
Capture2-26-2019-1 00 36 AM4-2-2019-11 51 57 AM

[BUG - MINOR] Super Mario World 2 - Yoshi's Island // Level Select screen shaking when validating a level

Bug : The map of the game is shaking one time when selecting a level on the level select screen.
Expected behaviour : The map should not shake at all.
How to reproduce the bug : Using the save state, validate the level to enter and the bug will appear on the left of the screen.

Super Mario World 2 - Yoshi's Island (USA)_SaveState.zip

Same problem happen on all regions and revisions of the game

Doom Slow down.

Using DevWin-0.2.0.8 I get slow downs on these to screens the game runs fine.
Capture2-26-2019-1 00 36 AM4-13-2019-1 36 54 PM7-30-2019-11 30 13 PM
Capture2-26-2019-1 00 36 AM4-13-2019-1 36 54 PM7-30-2019-11 32 14 PM

Found another game where there is slowdown Kirby Super Star This only happens on this screen when playing the game it stays at 60 FPS.

Capture2-26-2019-1 00 36 AM4-13-2019-1 36 54 PM7-31-2019-12 12 28 AM

Black bars on top and bottom of screen

Capture2-26-2019-1 00 36 AM4-13-2019-1 36 54 PM6-30-2019-12 06 38 PM

DevWin-0.1.0.52

Here's my settings file if you need it.

settings.zip

Operating System
Windows 10 Pro 64-bit
CPU
Intel Pentium G3240 @ 3.10GHz
Haswell 22nm Technology
RAM
8.00GB Dual-Channel DDR3 @ 698MHz (10-10-10-25)
Motherboard
Gigabyte Technology Co. Ltd. H81-D3 (SOCKET 0)
Graphics
ELEFW328 (1360x768@60Hz)
Intel HD Graphics (Gigabyte)
1023MB NVIDIA GeForce GT 720 (EVGA)
ForceWare version: 417.35
SLI Disabled
Storage
931GB TOSHIBA DT01ACA100 (SATA )
Optical Drives
HL-DT-ST DVDRAM GH24NSC0
Audio
Realtek High Definition Audio

Feature Request: Show HUD text when toggling BG & Sprite layers on/off

Hello again,

A quick feature request here. Having a HUD appear when you toggle BG & Sprite layers on/off would be great! Sometimes in certain areas and games, you literally cannot tell if something is on or off until you move around, which isn't always ideal. The text overlay area for when saves get loaded/saved would work just fine.

Please consider. Cheers & Thanks!

Super Offroad

Does this emulator support this title correctly?

Memory randomization?

Should Use SRGB backbuffer and textures for more accurate interpolation

Mesen-S is currently using DXGI_FORMAT_B8G8R8A8_UNORM as its format for Textures and Backbuffer, and it should be changed to DXGI_FORMAT_B8G8R8A8_UNORM_SRGB.

The common SRGB color space is not a linear color space. It is a pre-compressed color space where one half of White 255,255,255 is actually 187,187,187, and not 128,128,128. Compare a checkerboard of Black and White pixels, and you will see that 187,187,187 matches the intensity better.
Article about that here: https://blog.johnnovak.net/2016/09/21/what-every-coder-should-know-about-gamma/
Another article: http://www.ericbrasseur.org/gamma.html

Direct3D 11 has built in support for SRGB correction.
If you declare your Texture as SRGB, then it automatically performs an SRGB to Linear RGB correction when sampling from the texture. So reading your 187,187,187 pixel will result in 0.5, 0.5, 0.5 values being used in the math.
And if you create the render target or backbuffer as SRGB, it performs a Linear RGB to SRGB correction back when writing to the destination. So writing 0.5, 0.5, 0.5 will write the 187,187,187 pixel.
This applies even in the simple case where you just draw one quad with Linear filtering.
This has no effect on the 8-bit RGB values you are putting into the texture. They are the same numbers as before.

As a side effect, thin white lines on a black background will look much brighter after being scaled this way than the old way (misinterpreting SRGB as a linear color space), so it takes a little time to get used to it if you have been doing things the wrong way for so long.

Keep rewind data for the last 30 minutes cannot be changed

Whenever you set the Keep Rewind Data option to something other than 30 minutes, it doesn't stick. Pressing OK and then coming back to the option it is always stuck at 30. Exiting and reopening the emu doesn't make the setting change either.

As an aside, why doesn't this have a "Disable Game Selection Screen" option in Preferences/Advanced like Mesen does? I like that option and honestly wished it was turned on by default. And why no Turbo button option either?

Another thing I'd like to add is how good this emulator is. I've been playing Wild Guns and it plays much better than Snes9x. The controls are much tighter and the collision detection is on point (Snes9x hiccups a lot with this game). And everything just looks smoother, even Blargg's filter has the slight jitter like a real television of the time if you look closely enough.

Cheats

Will we see a Cheat finder like Mesen has? Will Mesen-S be able to use Snes9s 1.60 Cheat codes someday? Also Snes9x 1.60 had a search database here is the search database file.

cheats.zip

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.