nesicide is an Integrated Development Environment (IDE) for the 8-bit Nintendo Entertainment System (NES).
This project contains the following products:
- NESICIDE (the IDE itself)
- A NES emulator (standalone package of the emulator used in the IDE)
- Qt FamiTracker (a fork of jsr's FamiTracker)
- FamiPlayer (a music player for .ftm files)
The following steps are required prior to building this project on any platform.
- Install
git
- Install Qt 5.12.6 as it was the latest kit to be verified to build NESICIDE properly without errors. Please do not use a kit later than this, or if you do, please create a pull request with necessary changes.
- Make sure qmake and your Qt installation is in your PATH.
At the time of writing this Mac OS Homewbrew contains Qt 5.14.1 and NESICIDE can also be built with that version of Qt. So, alternatively, you can install Qt using
brew intall qt5
sudo apt-get install qtchooser build-essential libasound2-dev liblua5.1-dev libsdl1.2-dev libgl1-mesa-dev
sudo pacman -S lua sdl mesa wine
This project builds for Linux, macOS, and Windows. To perform a build for any supported platform follow the instructions for the platform below.
NOTE: The build process takes a while, so grab a snack while you wait. ;)
./build/linux-build.sh
./build/linux-deploy.sh local
If you installed Qt from Homebrew you need to set the following environment variable so that the build process can find qmake (the qt5 Homebrew formula is keg-only):
PATH="/usr/local/opt/qt/bin:$PATH"
./build/osx-build.sh
./build/osx-deploy.sh local
NOTE: The build process uses GnuWin32 tools and MinGW tools. Install these and make sure that mingw32-make
and wget
are on your path.
./build/windows-build.sh
./build/windows-deploy.sh local
The deploy.sh
creates artifacts of the following form.
Separate AppImage executables for each product of the project. See https://appimage.org/ for information on AppImage containers.
Separate Apple Disk Images (DMGs) for each product of the project.
Monolithic bzipped tarball containing all products of the project, extractable to anywhere.
Enjoy!