Mesen NES and Famicom Emulator

in #utopian-io5 years ago

Repository

https://github.com/SourMesen/Mesen

Introduction

изображение.png
(source)
Mesen is a high-accuracy NES and Famicom emulator. You can play old classic games on Windows and Linux by using it if you download these games (ROM-files) from the Internet.

Mesen is an open-source software. Its core is written in C++, and the interface is built with the C# language. So, it combines high performance and beautiful interface. The emulator interface is translated into 9 languages (English, Russian, Ukrainian, Chinese, French, Japanese, Portuguese, Spanish and Catalan).

Post Body

Mesen supports all features of modern emulators:

  • Save/load game. In addition to the usual save to a file, the emulator supports integration with Google Drive to use the save in the cloud function the game can be continued from any of the devices.

  • Recording and replaying walkthrough. This feature is not fully implemented. During the recording of the game, the player cannot use the save function, but the developer promises to add this feature in the near future.

  • Acceleration/deceleration of emulation speed. Also supported frame-by-frame emulation for high-precision recording and unwinding game back-in-time.

  • Emulation of various devices - joypads, light gun, devices for using cheat codes.

  • Netplay.

  • Support for game patches in IPS files. You can use the game patch file without changing the ROM file to play the modified version.

For example, here’s the Chip & Dale hack: Tale Spin Levels (article about it) loaded into the emulator:
load_ips.png

  • Playing NSF files. NSF-formatted files contain music from games, so the emulator can be used as a player of such files.

  • The console country setting, as well as a wide selection of video filters, which allow both to improve the graphics using bilinear or trilinear filtering or display it in an old-television style.

This option is important for gamers, who originally played games in a specific region (PAL/NTSC). Gameplay is then little different for different modes.

dendy_mode.png

Furthermore, I want to highlight the important features of the emulator:

  • Active development. The developer constantly improves the emulator, responds to questions and suggestions from the community (links cover the topic on Nesdev, mail, issues on Github). The emulator is created, in fact, by one person with the nickname Sour.

  • Support for HD packs games. The emulator supports a special way of describing improved graphics and music for games. There are several prepared packs, where you will get graphics of such quality the original console could never have.

For example, here is the HD pack for the game Castlevania
castle_hd.png

Many HD packs can be found here. There are packs for games: Metroid, Super Mario, Pacman, Ninja Gaiden 1-2, Kung-Fu, Nuts’n Milk.

  • Powerful tools for debugging and researching games - debugger, code and data logger, memory editor and video memory viewer. This is not very interesting for the average user, but homebrew developers can use the emulator to debug their projects. Also, the emulator provides high accuracy - it works as close as possible to the real console.

  • Embedded Lua scripting allows users to use all debugging tools, allowing you to create additional utilities for researching or modifying games. There are several examples of Lua scripts included within the emulation.

I used the Lua scripts system to show the effect of splitting the screen into layers, which is performed using the horizontal scrolling PPU (script). Now, this script is included in the Mesen distribution.

Here are a few gif-images created with it (I created gif files also using the lua-script!):




Also, I used the Lua script for allowing me to record the passage of the HD pack of the Castlevania game without taking damage (the emulator does not allow saving the game while recording the game by default):

I asked the Mesen developer to add the LuaSocket library (commit) to Lua. This will allow the user to control the emulator remotely from other languages, as I did with the Fceux emulator (link).

Almost any of the features of the emulator can be described in more detail. Generally, Mesen emulator is probably the best NES emulator at the moment, which I highly encourage you to try it on your own. Finally, I’d like you to provide you with a compiled list of my favorite NES games.

Additionally, thanks @infinitelearning for corrections.

Resources

Mesen website
HD packs
My Lua scripts

Sort:  

Hello, @pinkwonder!

Thank you for another nice contribution. This is a really interesting project I knew nothing about, so I appreciate the information you provided me with. Your post is informative and well-illustrated with relevant graphic content.

On the content side, I like all the information provided. You gave a succinct analysis of the important features mentioned in your review, and even took the time to share your own knowledge. However, I have to admit that I wanted to read a bit more about your personal experience of using the emulator.

That said, there were issues of style and proofreading, but not to the level where it hurt the reading experience. In conclusion, this is a nice review, and I appreciate the effort you put into your work.

I look forward to your next contribution.

Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.


Need help? Chat with us on Discord.

[utopian-moderator]

Thank you for your review, @lordneroo! Keep up the good work!

Thank you so much for participating the Partiko Delegation Plan Round 1! We really appreciate your support! As part of the delegation benefits, we just gave you a 3.00% upvote! Together, let’s change the world!

Hi @pinkwonder!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your post is eligible for our upvote, thanks to our collaboration with @utopian-io!
Feel free to join our @steem-ua Discord server

Hey, @pinkwonder!

Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Get higher incentives and support Utopian.io!
Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!

Coin Marketplace

STEEM 0.30
TRX 0.12
JST 0.032
BTC 60521.50
ETH 3005.55
USDT 1.00
SBD 3.85