NESFab, a new programming language for NES games by Pubby Games

screenshot1.png

Developing homebrew games for retro consoles has always been a really in-depth process, with developers requiring to know a lot of the technical details about the console to even attempt starting a "Hello World" program for any given device. Not only that, but usually when it comes to retro consoles, anyone attempting to develop for one would be required to know an assembly language specific to that console's chipset, for example, the NES worked with 6502 assembly, SNES with 65816, and so on, varying from console to console.

The homebrew community has since seen a huge step up in terms of giving support and new experiences to older consoles, with many homebrew devs working on all-new games, like E.T. for NES by Khan, or Classic Kong, a remake of the original Donkey Kong arcade game, for the SNES. The amount of new titles developed by homebrew developers surged during the last decade, with many tools and compilers being developed to aid in the development process.

NESFab is a new programming language created to help with the coding of NES games, recently released just a month ago in its initial 0.1 version. This programming language is specifically tailored with the 8bit limitation of the NES, with the creator claiming that this language is much more ergonomic to use than C, and also providing a much faster assembly code and better optimized than any other high-level compiler available, like GCC and LLVM.

The language does have its limitations though, as one of the most prominent cons of the language is that it only supports a select number of mappers for the system, and of course, developing a game in assembly code directly will always surpass any other type of language.

However, without any doubt, this will surely help in developing new titles for homebrew devs, and the creators of NESFab have also released an NES game purely developed with NESFab, titled "Hang Glider", which for those interested, they can try it out right now by getting the game from their website.

:arrow: Source
:arrow: GitHub Repository
 

VinsCool

Persona Secretiva Felineus
Global Moderator
Joined
Jan 7, 2014
Messages
14,600
Trophies
4
Location
Another World
Website
www.gbatemp.net
XP
25,257
Country
Canada
Looks pretty cool, the syntax looks like a hybrid between C and 6502 ASM, which is not too far from the C programs with Inline Assembly code baked into them, but without actually going for the full 6502 mnemonics there.
 

VinsCool

Persona Secretiva Felineus
Global Moderator
Joined
Jan 7, 2014
Messages
14,600
Trophies
4
Location
Another World
Website
www.gbatemp.net
XP
25,257
Country
Canada

J-Machine

Self proclaimed Pog champion
Member
Joined
Aug 25, 2011
Messages
940
Trophies
1
Location
A concrete Igloo
XP
1,698
Country
Canada
just looked at the nes maker site that was shared and boi howdy that's a garbage way to advertise things by not giving a price and then sending someone immediately to a paypal invoice. glad there is an alternative.
 
  • Like
Reactions: Henx and SylverReZ

SylverReZ

GBATemp's Meme Lord
Member
GBAtemp Patron
Joined
Sep 13, 2022
Messages
7,456
Trophies
3
Location
The Wired
Website
m4x1mumrez87.neocities.org
XP
21,135
Country
United Kingdom
just looked at the nes maker site that was shared and boi howdy that's a garbage way to advertise things by not giving a price and then sending someone immediately to a paypal invoice. glad there is an alternative.
Yes, and that's exactly why we have this as an alternative.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • Psionic Roshambo @ Psionic Roshambo:
    But my 3DS is loaded with emulators and 3DS games and DS games and GBA games probably thousands of games in total lol
  • Xdqwerty @ Xdqwerty:
    Brb going with my dad
  • Xdqwerty @ Xdqwerty:
    @Psionic Roshambo, are most of those games shovelware?
    +1
  • K3Nv2 @ K3Nv2:
    Nah gotta buy 3 1tb SD cards for 3ds the entire libraries need archived in my home
    +1
  • SylverReZ @ SylverReZ:
    >buys x3 1TB SD cards
    >stores the entire 3DS library on them
    >installs CFW
    >realised why I wasted loads of money and resources
    +2
  • Psionic Roshambo @ Psionic Roshambo:
    Lol no I clean my sets
  • K3Nv2 @ K3Nv2:
    Cause it's in my home ready to go
  • K3Nv2 @ K3Nv2:
    Like uremum
  • Psionic Roshambo @ Psionic Roshambo:
    But 100 games on SNES and Genesis and GBA then TG16 and NES and GB and GBC then all the other random systems and arcade games it all adds up lol
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Virtual Boy alone has probably 5 games!!! Lol
    +1
  • K3Nv2 @ K3Nv2:
    I won't mention any names in chat but some of us wastes $300 on preloaded hdds :tpi:
    +1
  • SylverReZ @ SylverReZ:
    @Psionic Roshambo, The PS5 had none.
    +2
  • Psionic Roshambo @ Psionic Roshambo:
    Lol I spent more than that on a stuffed 4TB drive lol
  • K3Nv2 @ K3Nv2:
    Honestly I've yet to fill the 1tb internal drive on my ps5
    +1
  • Xdqwerty @ Xdqwerty:
    @SylverReZ, 1) except final fantasy 16. 2) why would I have a console's whole catalogue if most of the games are either shovelware or terrible games?
  • Psionic Roshambo @ Psionic Roshambo:
    Kind of a waste, but the allure of all those games over 100,000
  • Psionic Roshambo @ Psionic Roshambo:
    Some shovel ware with low ratings you might enjoy more than the ratings would sugest
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Cruisn on the Wii is one of my personal examples of that, it's considered one of the worst games of all time, I loved it and completed it several times.
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    The trick for me was to go into the settings and crank up the Wiimote sensitivity to the max and it gets twitchy but you can win that way lol
  • Psionic Roshambo @ Psionic Roshambo:
    Lots of other games I enjoyed that reviews would say otherwise lol
  • btei @ btei:
    lethal company servers are down rn
  • btei @ btei:
    my pocket pikachu is going crazy rn
  • Psionic Roshambo @ Psionic Roshambo:
    Pocket Pikachu sounds dirty lol
  • SylverReZ @ SylverReZ:
    @Psionic Roshambo, Penischu, I choose you.
    SylverReZ @ SylverReZ: Lol