NESbag

NESbag lets you distribute your NES game as a standalone app for Windows, Linux and macOS

Distribute your NES game as a standalone application (even on Steam)

 

WHAT IS NESBAG?

NESbag 2 is a play on the words NES (yep, that old 1980s gaming console by Nintendo) and backpack. It’s like a backpack (in the form of a standalone Windows, Linux or macOS program) in which you pack your self-developed NES game and then distribute this complete package as a standalone application.

The player only has to double-click on a single file to use it, just as they are used to.

NESbag 2 supports custom input configurations and game controllers. NESbag 2 includes various display shaders, for pixel-perfect or typical retro-looking image output. NESbag 2 is open-source.


DOWNLOAD

To download, please visit: https://eastpixel.itch.io/nesbag

Requirement: The offered Windows version requires Windows 10/11. The macOS version requires Apple Silicon (M1 and later). For compiling on Linux and macOS, .NET 8 SDK and SDL2 must be installed.

Changelog: To view the changelog for NESbag 2, please scroll down.


PRE-DEFINED KEYBOARD LAYOUT

If you start NESbag 2 out of the box, you’ll find a pre-defined button layout:

NESbag 2 predefined button layout

You can configure your keyboard or gamepad directly via Settings > Controls menu.


CONTROLLER AND KEYBOARD SUPPORT

You can configure your keyboard or gamepad directly via the Settings > Controls menu.


WHAT YOU GET

You will receive a .zip file containing all the necessary NESbag 2 files.


HOW TO USE – INSTRUCTIONS

General

To start NESbag2 in fullscreen on every startup, please add the parameter “/fullscreen” when starting. For example: “NESbag2.exe /fullscreen”

Windows version

  1. The Windows version requires at least Windows 10/11 64bit.
  2. Download the .zip file, unpack it.
  3. To change the game: Put your game (named “game.nes”) into the “Game” folder.

Linux version

Due to the large number of Linux distributions, I do not provide a pre-compiled Linux binary file at the moment. Of course, a Makefile is included in the source code.

Steamdeck

Thanks to LowtekGames for try out NESbag 2 on Steamdeck. It’s working.

Mac version

You can compile the tool directly from source by using the free version of JetBrains Rider.
The process is identical to compiling with Visual Studio on Windows.

Ready-to-use macOS version: I can also provide a finished macOS version, but you will have to sign it with an Apple developer account before you can pass it on. As I don’t have the resources for an Apple developer account, I can’t sign the macOS versions myself.


CONFIGURATION PARAMETER

There are some configuration parameters in the “settings.json” file you can change.

 

Parameter Content
GameTitle You can write your game title here, it will displayed on top of the NESbag 2 window and inside the Help > About window
AutoFullscreen true or false | to start GBCbag 2 in fullscreen set  the parameter “true” otherwise set it “false”
Version enter the version number of your game, it will displayed inside the Help > About window
EnableVFilter_BRZ to enable these display filters in the Settings > Video filter menu, set the parameter to “true”
EnableVFilter_HQ to enable these display filters in the Settings > Video filter menu, set the parameter to “true”
EnableVFilter_Scale to enable these display filters in the Settings > Video filter menu, set the parameter to “true”
EnableVFilter_Sai to enable these display filters in the Settings > Video filter menu, set the parameter to “true”
EnableVFilter_Prescale to enable these display filters in the Settings > Video filter menu, set the parameter to “true”

 

Please do not change any of the other parameters by hand.


FAQ

  1. How to use NESbag 2?
    a) Download the release version of NESbag 2 and unzip.
    b) Copy your NES game as a ROM file with the name “game.nes” into the “game” directory.
    c) Play your game or share the complete files and folders as you like.
  2. Are there any technical dependencies in order to use NESbag 2?
    The Windows version requires Windows 10/11.
    For compiling on Linux and macOS, .NET 8 SDK and SDL2 must be installed.
  3. Is the source-code available?
    Yes. Please visit this link: https://github.com/faktor73/nesbag2
    You can use, modify and distribute the source code and compile your own program versions. Please always respect the GPL V3 license.

CHANGELOG

Version 2.3.0

  • Added five new configuration parameters to enable or disable different display filters (Parameter list: “EnableVFilter_BRZ”, “EnableVFilter_HQ”, “EnableVFilter_Scale”, “EnableVFilter_Sai”, “EnableVFilter_Prescale”). Initial setting is “false” for every single one because most people don’t need them activated

Version 2.2.1

  • The defined “GameTitle” and “Version” data (in the “settings.json” file) will now be displayed in the Help > About window

Version 2.2.0

  • Added configuration parameter “AutoFullscreen”
    How to: In the “settings.json” file, please change “AutoFullscreen” in line 3 of the file to “true”, if you like to start the tool in fullscreen on launch. Otherwise set the parameter to “false”. (ID: 077cc17)
  • Small Bugfixes (ID: f9163d3)

Version 2.1.0

  • Set the displayed game name in the NESbag 2 window
    How to: In the “settings.json” file, please change the name in line 2 of the file (change the content of “GameTitle” from “NESbag 2” to whatever you like) (ID: c174848)
  • Small Bugfixes (ID: a144d54)

Version 2.0.0

  • inital release

LICENSE

NESbag 2 is available under the GPL V3 license. Full text here: http://www.gnu.org/licenses/gpl-3.0.en.html

NESbag 2 is based on the awesome gamesystem emulator system Mesen. Copyright (C) Mesen 2014-2024 Sour

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

STEAMWORKS INTEGRATION

Integrating NESbag with the Steamworks SDK (Online save games, other Steam based online features) is not possible due to licensing restrictions outlined here: https://partner.steamgames.com/doc/sdk/uploading/distributing_opensource


QUESTIONS?

If there are any questions or issues surrounding this tool, please get in touch with Christian @ EASTPIXEL via Discord or the Contact page of this website.