I just finished making a build Mesen that runs under Linux and I was wondering if some people would be willing to test it on their end to see if it works (or crashes!).It runs under Mono (only tested Mono 4.2.1 - I assume any recent version will work) and requires SDL2 to be installed.

Building requires clang or gcc, Mono/XBuild and SDL2. It comes with a very basic makefile - just run "make" and then "make run" to start the emulator.There's also a prebuilt binary here: [linux preview download] (This was built on Ubuntu 16.04 - if you get a popup asking to download the microsoft C++ runtime, you are missing some dependencies)

Beyond that, everything else should work (including debugging, netplay (works cross-platform!), NSF player, etc.)The code itself is almost identical between the Windows & Linux versions - the only portions that differ being the Video/Audio/Input handling (DirectX vs SDL), so most things should be ok.There is a bunch of features I haven't had the time to test, so I definitely expect some things to be broken beyond what I just listed, though.

Also, for some reason, performance seems to be worse than the Windows build (e.g ~30% slower).But I've only tested on a VM, so that may be part of the reason.

If you encounter any issue or crash with the Linux version, please let me know in this thread.

Building from source was super easy, with two small sticking points: for some reason std::sqrt needs #include <cmath> ... and the makefile accidentally uses clang instead of $(CC) to build SevenZip/obj/%.o

Debugger is quite nice, but again two small sticking points, both pertaining to fonts. One: the disassembly and memory viewer both seem to be using some random proportional font instead of a monospaced one, and two: the memory viewer is doing something very odd:

Both of the debugger issues you mentionned are actually the same - it's because the display needs to use a monospaced font to work properly.At the moment it's hardcoded to use "Ubuntu Mono" in BaseControl.cs since that's what I had available on the VM - if you change it to a font you have, it should work as expected.Are there any "standard" monospaced fonts that I can reasonably expect all (or at least most) linux distros to have?

Are there any "standard" monospaced fonts that I can reasonably expect all (or at least most) linux distros to have?

I guess you could query fontconfig for the user's preferred monospace font. If all else fails, you could find a free font, like good old DSM, and bundle it. If that's too big, you could bundle a bitmap font.

I plan to try Mesen after I've upgraded my laptop to Xubuntu 16.04 "Xenial". It currently runs 14.04 "Trusty" because that was the newest when I began my last major paid project, and I didn't want to do a major upgrade right in the middle.

Thanks for the suggestion - I bundled DroidSansMono (it's pretty small) and automatically install it to ~/.fonts on startup, seems to work pretty well.Also reduced the default font size for the debugger because DSM looked ridiculously big.

I'm not sure how hard it would be to build on Ubuntu 14, probably just depends on the compiler you have installed.The code uses the C++17 filesystem api, which apparently is only available in GCC 5.3+ (Dec 2015).

edit: Another: if I go into the Audio configuration, change anything, quit, and restart, then audio doesn't work. For some reason, having any non-empty value in <AudioDevice> in the configuration file causes sound to stop working.

For the audio issue, what does the "Device" dropdown contain in the audio config window?I'm thinking it might have multiple devices with the same name and it doesn't pick the right one after you change any other setting.

A bit unrelated, but how is the audio latency? On my VM it's pretty terrible (e.g 300-400ms real latency with the latency set to 50ms), but I think that might just be due to the VM itself as I don't really see any reason why it would be so high based on the code.

Also, I just finished adding gamepad support if you feel like giving it a try.

"HDA Intel PCH, ALC1150 Analog" or the same but ending in "Digital"Either choice causes no audio on the analog output.

Odd - it could potentially be a SDL bug (although it's more likely to be my own code's fault). I committed a patch/safety net that will ignore the device name if audio init fails because of it (and log a line in the "message log" with the string it tried to use to initialized the audio system - if it doesn't match the dropdown's content, that's probably what's causing the bug in the first place) - so at the very least you should be able to alter the audio config normally now.

I committed a patch/safety net that will ignore the device name if audio init fails because of it (and log a line in the "message log" with the string it tried to use to initialized the audio system - if it doesn't match the dropdown's content, that's probably what's causing the bug in the first place) - so at the very least you should be able to alter the audio config normally now.

I took a look and I can't see anything wrong - the function list can only detect functions from PRG ROM (since anything else could be erased at any time). As far as I can tell, it's working as I'd expect. What issue did you have with it?

Unrelated, but I also fixed the code window's mouse over tooltip in the debugger (the tooltip when you mouse over labels/addresses didn't show up correctly on my end - it was too small to fit the content)

This is what I see (on the left) with Driar—the code keeps moving the RTS around in RAM, so I assume that's why we end up with this fragmented thing:

Attachment:

unroller-blocks.png [ 2.76 KiB | Viewed 1837 times ]

Redraw issues are fixed.

Other things:- The nametable portion of the PPU memory map seems to be a misleading with things that use ROM nametables?(I was testing with my silly N163 demo here as well as After Burner)- Trying to load a 7z file from the GoodMerged GoodNES distribution elicits some complicated crash- (wishlist) please let me start Mesen with a path to a NES ROM as the first argument?

Who is online

Users browsing this forum: No registered users and 11 guests

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot post attachments in this forum