
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:
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
- The Windows version requires at least Windows 10/11 64bit.
- Download the .zip file, unpack it.
- 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
- 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. - 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. - 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.