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,104
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
  • Julie_Pilgrim @ Julie_Pilgrim:
    sonic unleashed
  • K3Nv2 @ K3Nv2:
    Make it a happy meal toy
  • Julie_Pilgrim @ Julie_Pilgrim:
    that game's engine is really fucking intensive so it runs like literal shit on xbox 360 and ps3
  • Veho @ Veho:
    Nah I'm getting value creep again. I look at a $50 console "but for just a few more dollars you could get XYZ" and I end up considering the Steam Deck.
    +2
  • Julie_Pilgrim @ Julie_Pilgrim:
    like the lighting in that game was genuinely so good
  • Veho @ Veho:
    Not getting dragged into that again.
  • Julie_Pilgrim @ Julie_Pilgrim:
    i dont get why they didn't port the one game that ran the worst on consoles, to pc
  • Julie_Pilgrim @ Julie_Pilgrim:
    like you port everything to pc except the one game where it would make the most sense. why. what do you gain from this
  • Julie_Pilgrim @ Julie_Pilgrim:
    is sega just personally fucking with me? are they laughing while watching me through my kinect camera as i get up to restart my xbox for the third time because the game froze again
  • K3Nv2 @ K3Nv2:
    Buy handhelds from five below better quality
  • K3Nv2 @ K3Nv2:
    Valve probably going to do another refresh of the deck this fall with rog ally like specs tbh
    +1
  • Veho @ Veho:
    A smaller form factor would be nice too.
    +1
  • K3Nv2 @ K3Nv2:
    A shield portable 2 would be nice aye Nvidia
    +2
  • Psionic Roshambo @ Psionic Roshambo:
    The big leap in all things tech is when carbon based chips start hitting.
  • Psionic Roshambo @ Psionic Roshambo:
    Longer battery life cooler temps and faster! What's not to like lol (probably expensive as hell)
  • AncientBoi @ AncientBoi:
    [checks my dildo(s) batteries, coolant and lube] :O [promptly replaces them] :D
    +1
  • 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.
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    No one expects the database errors!!!
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Hey a thought occurred to me... If they are unexpected database errors, are there expected database errors?
    +1
    Psionic Roshambo @ Psionic Roshambo: Hey a thought occurred to me... If they are unexpected database errors, are there expected... +1