MicroPython Is This Summer’s Hottest Title For The SNES, Thanks To Claude Fable

MicroPython, for the uninitiated, is a pared-down version of python meant to run on today’s powerful microcontollers. As impressive as it was for its day, the SNES is not quite in their league in terms of computing power. Time marches on, and so while there may be other indie releases worth mentioning, we’re declaring the hottest SNES game this season to be [Fabian Kübler]’s port of MicroPython.

Well, except he didn’t exactly do the porting himself: the Antrhopic LLM Claude generated the code, and performed most of the testing, as [Fabian]’s test of its new Fable 5 model. A brief pause during an export ban showed that Opus would crash and burn on the same task, but Fable was able to get things quickly back on track. It might be “AI slop” by some definitions, but the port scales 430 out of 468 on MicroPython’s core test/basics, which makes it usable to play some simple python games… slowly.

As you can see for yourself in an embedded emulator if you check out [Fabian]’s blog, spooling up MicroPython takes about twenty seconds at 3.58 MHz, and after that you can watch some sprites bouncing around at a blistering 0.8 FPS. [Fabian] seems satisfied with that performance, and impressed with Fable’s efforts at optimization. What to you think? Does the hardware have much more to give, or is that about it, given the nature of the Pythonic beast? Perhaps some plucky human could become a digital John Henry by producing a better, faster port — if you do, please let us know. If you’d rather just to see what Fable can do, the project is available on GitHub, so you can judge for yourself how sloppy the code is or test out the ROM.

Putting Python onto limited hardware may not to be to everyone’s taste, but there’s a good case to be made for it. The SNES may actually be too limited, though. It makes sense — the kind of micros you run MicroPython on can emulate the SNES.

25 thoughts on “MicroPython Is This Summer’s Hottest Title For The SNES, Thanks To Claude Fable

  1. I was wondering how the heck they got this going in like 2KB of RAM… but that’s the NES. SNES has 128KB (plus 64KB VRAM and 64KB audio RAM…) so yeah, that seems more reasobable. Impressive to get it going on there!

    1. Btw, some Super NES compatibles had a multiple of that RAM.
      The Retro Duo has 256KB or 512KB (later revs), I think.
      Unfortunately, games or applications can only make use of this, if they are a bit intelligent and check for available RAM.

    1. Seriously, what is actually gained by reading/reporting on this sort of AI project? There’s no useful experience to be gained from it, because the only human around you could ask didn’t actually write it. It’s like asking the manager how one of the programmers solved a problem. It’s uninteresting compared to talking to the programmer.

  2. Had to ponder this for a minute. I did like the writeup, seeing that there is a C compiler for a 6502 is also funny.

    The SNES has spiffy 6502 with dedicated 2D GFX hardware, slow ram… slow everything. Credit cards runs faster than a SNES. C code and Python will never shine on these old platform. Sega had a 68k and devs used C. Games only ran at 30fps on Sega, while running 60fps on the slower Nintendo… hand crafted assembler is faster.

    Maybe I misunderstand the article, maybe it’s about mircopython and not the SNES.

      1. Not very interesting tbh. I do stuff because it’s fun doing it, or because I want to build my own skills. Having an LLM do it doesn’t advance either of these goals, and listening to someone tell you about how they got an LLM to do it is even further removed.

        1. aside from tricks in using LLM for max result, which can be interesting.
          LLM’s can give me a lot of assitance in difficult or new tasks i wish to explore. At first they do the work, when I know just enough to be dangerous. And then I learn from the result, ask questions, learn more.

          It’s like having a personal teacher in that respects. It’s how you want to use it.

    1. The linked article really focuses on the fact that “Oh wow an LLM could do this”; my interest came from “Oh wow, the SNES can do this?”

      In both cases it might be the old dancing bear effect: it’s not about how well he dances, but that he does at all.

  3. “It might be “AI slop” by some definitions,” — no, it’s LLM slop by literally any definition and you know it. Quit trying to talk your way around the point and accept that you’re actively advocating for it.

    I absolutely don’t care what the word salad theft machine can do; I want to read about projects that actual, real people have put their own effort and love into. Basing a project on the theft of literally everyone else’s hard work and ever-increasing environmental harm is just disgusting.

    1. you might want to invest in my startup then: we are a company with a proprietary technology that takes AI slop as an input and produces completely non-slop output. it is the missing piece of this whole puzzle, the holy grail if you will. all the big AI companies are interested

    2. I mostly agree. The article says they prompted it with “Please make shit work now”. What are we supposed to learn from this?

      If they had like a real design or something cool at least other than “look what I asked someone else to do”. It’s really antithetical to what people come here for. I don’t think anyone wants to read tech news from a managers perspective.

      “So I told the guy there was this deadline of 4 days and if we didn’t reach it the team would be disbanded. Lol. He actually believed it and made the new thing pulling 4 all nighters! Here’s a screenshot. I don’t know how it works btw”.

      1. If you read the actual article from the author, you will learn the started out with opus and when it eventually failed the wanted to switch to fable just when it was banned. When they could use it again. They were obviouly a bit frustrated and made that “shit” statement to the fable AI. Which it took as make this project work, find the problem, which it did.

        The information is in what model is capable of what and how it reached the goal. MicroPyhton is irrelevant. What is also interesting is that the AI’s found several compiler bugs in the process. Which are now fixed or will be fixed.

        So everybody is better of because they had the AI stress test the compiler and the snes. And the result is funny.

        So yeah, you really really missed the point of the story,

      1. many people are using claude to get started, and that’s okay. just like arduino helped a lot of people get their start before they moved on to other tools, or how many people begin with adafruit beginner projects before branching out, it’s part of the learning process. don’t be like that.

        i obviously don’t agree with, or like, how some current and past editors and authors at hackaday have handled certain things. limor, adafruit, and i have all been on the receiving end of that in how we’re written about, or not written about, and through the broader influence hackaday has with their advertisers and others. but that’s nothing new, and in the end it doesn’t really matter, keep publishing and sharing and releasing under open source licenses.

        if a project was built with claude, saying so is simply the accurate thing to do. giving credit to the tools that were actually used is good reporting. the fact that claude helped someone get an snes project working isn’t evidence that hackaday is going downhill.

          1. a lot of people are using claude to get started in electronics, and that’s not the worst thing. think about a young person, or anyone, just getting started and seeing gatekeeping comments. we were all beginners once. how about “after you get going with claude” … and then offer suggestions, etc.

        1. Even if you develop cure for cancer, there would be naysayers. However, “dogs bark, caravans keep moving”.

          I guess each one of us has to decide in our life whether we will just bark (complain), or keep moving on (trying to do things).

          Hackaday illustrates this dilemma of humanity very well.

      2. It’s mostly because the tips line is full of them. Lots of people are doing a lot of things with LLMs, including Hackaday readers, though you wouldn’t know that from the comments sections.

    3. I don’t know it because some people have strict definitions of “slop”– you probably apply the word to anything made by an LLM, which is common, but there are other people who grade on a curve and don’t call decent code “slop” even if it came from the word salad theft machine. The term is new enough that the definition hasn’t gelled yet.

    4. The defintion for slop includes “low quality” something that applies more to your comment then to the llm’s work in this case. So no, its not slop.

      And your statement about “word salad” and “theft” make me think you neither understand nor ever had acces to a high quality LLM. It’s no more theft that a human using a book or stackoverflow to do somthing.

      Everyone uses the work of those that came before. That is not theft. That is how both humans and now machines work.

      We can talk about the environmental harm, but I run one of solar energy. So no or little harm done.

      Maybe once you are back in reality we can talk as adults.

    5. Claude (over duck.ai)helped me yesterday to write a little python server to log my /etc/hosts blocklist. I learned a lot (that :80 suffices and :443 https gets difficult) and it’s not even 100 loc. AI-assisted code can be fine for discovery.

  4. These higher-level MCU languages like Micropython and Circuitpython were expressly developed to offer the familiar Python syntax to developers, at the (significant) cost of compatibility. What is the point of towing these languages along into LLM-augmented development? What does Micropython offer to the solution if you’re not writing it?

    From the LLMs perspective, the Micropython requirement is the single largest source of complexity. The fact that only Fable 5 was able to achieve this outcome is more likely due to every graphical library needing to be written from scratch for the particular MCU in use.

    Opus 4.8 is more than capable of developing significantly complex MCU programs, because the ESP-IDF, STM, and Arduino frameworks are nearly exhaustively documented. Every conceivable use case or pattern of project has been published to Github, or has been discussed on the Arduino forums, or is specifically documented in first-party SDK documentation. The ubiquity of these types of resources are exactly what dictate the feasibility of LLM development, and the relative scarcity of Micropython resources are exactly why only the most cutting edge model appears to be able to do Micropython dev.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.