- Notifications
You must be signed in to change notification settings - Fork0
Programming language that targets the Nintendo Entertainment System
License
fjpolo/nesfab
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
NESFab is a new programming language for creating NES games.
- Website:http://pubby.games/nesfab.html
- Documentation:http://pubby.games/nesfab/doc.html
- Discord:https://discord.gg/RUrYmC5ZeE
- The NESFab compiler (
src/
) is licensed under GPL 3.0 (seeCOPYING
). - The NESFab standard library (
lib/
), examples (examples/
), and documentation (doc/
) are licensed under the Boost Software License 1.0 (Seelib/LICENSE_1_0.txt
).
TL;DR: If you make a game using NESFab, your code can remain private, and you do not need to include attribution in your binary release.
Requirements:
- GCC Compiler, supporting the C++20 standard.
- Boost Library (You may also need the
libboost-program-options-dev
package) - Make
NESFab can be built in either debug mode, or release mode.
- Debug mode includes runtime sanity checks to ensure the compiler is working correctly.
- Release mode has no checks and is optimized for speed.
To build in debug mode, run:
make debug
To build in release mode, run:
make release
By default, the compiler builds executables for the x86-64 architecture.To target others, specify a blankARCH
flag:
make ARCH= release
By default, the NESFab compiler builds binaries that use unofficial ("illegal") instructions.To force the compiler to only use official ones, compile the compiler with the following flag:
make ISA=legal
Like most makefiles, you can change the compiler usingCXX
. This is useful on MacOS:
make CXX=clang++
The build process uses generated tables. These tables are included in the repository, but you can generate them yourself with:
make tables
Post bug reports on the Github issues page andinclude aminimal reproducible example if possible.
When testing bugs, use the debug-mode compiler. It gives far better diagnostics.
Small fixes are welcome and can be submitted as Github pull requests.For anything larger, open a Github issue prefixed with "Contrib Request:" and what you'd like to do, and await approval before starting.
If you made a project using NESFab, please get in touch! It would be great to hear about.
About
Programming language that targets the Nintendo Entertainment System
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Languages
- C++99.4%
- C0.2%
- Pawn0.2%
- Makefile0.1%
- Lua0.1%
- Vim Script0.0%