[HN Gopher] NESFab - A new programming language for creating NES...
       ___________________________________________________________________
        
       NESFab - A new programming language for creating NES games
        
       Author : redbell
       Score  : 205 points
       Date   : 2025-02-10 12:39 UTC (3 days ago)
        
 (HTM) web link (pubby.games)
 (TXT) w3m dump (pubby.games)
        
       | pvg wrote:
       | Show HN a couple of years ago
       | https://news.ycombinator.com/item?id=35055308
        
       | djmips wrote:
       | I've been using this and it's a lot of fun
        
         | jkosoy wrote:
         | +1. It's a lot of fun, it makes 6502 more approachable and it's
         | deeply satisfying. I've been making a game with my daughter.
        
       | snvzz wrote:
       | The code is GPLv3:
       | https://github.com/pubby/nesfab/blob/master/COPYING
       | 
       | While software made using this SDK can be any license, as stated
       | in the readme:
       | 
       | >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.
        
         | rvnx wrote:
         | It means it is actually LGPL in practice then ?
        
           | mijoharas wrote:
           | To clarify, the _compiler_ is GPL (as is GCC, GPL doesn't
           | mean that artefacts created with it share that license), but
           | the standard library is the boost software license (which is
           | not a copyleft library) so any machine code artefacts can
           | remain private and doesn't require attribution.
           | 
           | [0] The NESFab standard library (lib/), examples (examples/),
           | and documentation (doc/) are licensed under the Boost
           | Software License 1.0 (See lib/LICENSE_1_0.txt).
        
           | qwery wrote:
           | No. The (GPL) license doesn't "infect" the output of the
           | (GPL) software.
        
             | colejohnson66 wrote:
             | But it _does_ infect if some  "standard library" is
             | injected into the output. This is why glibc has a "linking
             | exception".
        
       | atan2 wrote:
       | I just finished Gustavo Pezzi's NES course last year
       | (https://pikuma.com/courses/nes-game-programming-tutorial). It
       | was excellent and it gave me some great insights to how things
       | work inside the NES using 6502. This looks a lot simpler. I'll
       | take a look. :)
        
       | agentultra wrote:
       | Oh this is cool. One of my back-burner projects is a compiler
       | targeting the 6502 specifically for NES development. This looks
       | super nifty.
        
       | breckinloggins wrote:
       | When I was a kid in the 80s and early 90s I was fascinated with
       | the process of making video games for my favorite console. But
       | back then I didn't really know how to research that topic (and
       | much of it - unbeknownst to me - was behind NDA anyway).
       | 
       | One day I asked my friend if he knew how these games were
       | programmed. He confidently claimed that they were made in a top
       | secret tool called NPL - The Nintendo Programming Language.
       | 
       | Of course that kid didn't know anything more about it than I did
       | so this was just a wild rumor. Now I know that "NPL" was just
       | 6502 assembly with the correct system documentation and some dev
       | hardware, but kid me didn't know that. Instead, he spent a lot of
       | time dreaming up what this super secret language looked like.
       | 
       | When I checked out NESFab today I instantly saw something that
       | looked very much like what 7 - 9 year old me would have imagined.
       | So thanks for that.
        
         | TriedWharf wrote:
         | For me, it was the same but with the game boy. Turns out no-one
         | knew the name of it. For some reason.
        
       | pubby wrote:
       | Hey, this is my project. Cool to see it here again.
       | 
       | You might like this article I wrote on the backend:
       | https://pubby.games/codegen.html
        
         | asfasfds wrote:
         | Nice read, thanks for the link!
        
       | 999900000999 wrote:
       | Would love this for GBA instead. Something about that system is
       | so perfectly limiting.
        
         | TriedWharf wrote:
         | The SNES probably has tools like this, and a GBA is pretty
         | similar limitation-wise to a SNES.
        
       | namuol wrote:
       | I often wonder what sort of tools like this must have existed in-
       | house at the many small game development studios of the era.
       | 
       | This one reminds me of another modern compiler for the
       | Intellivision console called INTYBasic, which has an extremely
       | impressive suite of games and NES remakes implemented in it:
       | 
       | https://nanochess.org/intybasic.html
       | 
       | https://youtu.be/h7ttNz2UVw8
       | 
       | For something even higher level check out GBStudio:
       | 
       | https://www.gbstudio.dev/
        
       ___________________________________________________________________
       (page generated 2025-02-13 23:01 UTC)