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,251
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,251
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,442
Trophies
3
Location
The Wired
Website
m4x1mumrez87.neocities.org
XP
21,105
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
  • BigOnYa @ BigOnYa:
    Lol not even for sale yet to public, and already sold out. I'd like to get one but ill wait for the hype to calm down.
    +1
  • a_username_that_is_cool @ a_username_that_is_cool:
    I'm pretty sure I wasn't on GBAtemp at all yesterday, whenever I tried to go onto the website I got an unexpected database error
  • BigOnYa @ BigOnYa:
    We all teamed together and decided you needed a day off, so we blocked you.
    +2
  • Psionic Roshambo @ Psionic Roshambo:
    No one expects the database errors!!!
    +2
  • Psionic Roshambo @ Psionic Roshambo:
    Hey a thought occurred to me... If they are unexpected database errors, are there expected database errors?
    +1
  • K3Nv2 @ K3Nv2:
    @BigOnYa, that's just a pre-order term to make the product look better it's not sold out
    +1
  • K3Nv2 @ K3Nv2:
    Never expect a website to last 24/7 it's like section 8
  • BakerMan @ BakerMan:
    good afternoon fellas
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Gotten tag!
  • Psionic Roshambo @ Psionic Roshambo:
    Gutten lol
  • Psionic Roshambo @ Psionic Roshambo:
    Autocorrect isn't always correct
  • BakerMan @ BakerMan:
    however,sad news today, although idk if i can say it bc it relates to a rom site
  • BigOnYa @ BigOnYa:
    Rom or Ram site? Cause there's a big difference
  • BakerMan @ BakerMan:
    rom,like game files
  • BakerMan @ BakerMan:
    know what? to paraphrase sonic: "no GBAtemp rule in the universe is gonna stop me"
  • BakerMan @ BakerMan:
    vimm's lair had to remove a bunch of games because of nintendo, sega, and lego
  • BigOnYa @ BigOnYa:
    Got taken down? Another one bites the dust
  • BakerMan @ BakerMan:
    not taken down, but had to remove a bunch of games
  • K3Nv2 @ K3Nv2:
    Sirloin sounds good tonight
  • BakerMan @ BakerMan:
    yeah it does
  • BakerMan @ BakerMan:
    RIP Vimm's Lair (most of the games anyway), you will be missed

    also i think this is a great time and reason to bring back a hashtag previously used about ubisoft
  • BakerMan @ BakerMan:
    #stopkillinggames
    BakerMan @ BakerMan: #stopkillinggames