Hacker News new | past | comments | ask | show | jobs | submit

Show HN: A working Nintendo in ~1GB of Qwen weights

https://github.com/dbreunig/nesformer
A couple thoughts on the process here…

First off, Opus 5.5 built working weights and code with only two prompts:

1. Read this article and any relevant source code: https://divagr.com/blog/qwenputer. Then explore if you could emulate the chip and ram in a Nintendo Entertainment System (as people do today with FPGAs in MISTRs) using this technique. If so, what size model would you have to build and if you could use smaller faster ones, could you get it to be at the standard clockspeed.

It returned charts well illustrating any model would be _slow_. But it's still fun, so the second prompt was:

2. I think we should build it! Just for fun. It's okay if it's not fast. We want to be able to have the weights, and a cli to run them that we can point at a ROM.

Now while this was an _epic_ run by Opus (5.5 is a crazy capable model), this is a surprisingly well-structured challenge.

There is a long-lived and incredible community of classic gaming emulation work online for it to reference. And that community has created…conformance tests! Opus found them and built against one, that has >3k golden instructions: https://github.com/christopherpow/nes-test-roms/blob/master/...

Also, there is the original Qwenputer repo that Opus used to drive the weight writing. That was essential.

But this is a great example of what these models can do with proper reference materials, great specs, conformance tests, and clear direction.

loading story #50309280
loading story #50307720
This opens up so many interesting opportunities. In principle one could compile a small VM inside the LLM weights. The VM can host for example a Python interpreter, a shell and tools like sed, cat, grep etc. Instead of LLMs having to do slow autoregressive token emission with the current "external" tool calling, it could literally execute everything except web search, inside the LLM, with just matmul operations. You could probably optimise this so it runs in batches. You could have a gdb like application that can step through the LLM forward pass. Anyway, just a crazy thought. Have a great weekend everyone!
loading story #50312144
loading story #50308327
loading story #50309945
loading story #50310633
I love these hacks, even though from an efficiency point of view it is horrifying to my assembly-code-golfing-brain. And it also gives some new appreciation for how much more efficient deterministic programs are compared to AI.
loading story #50306819
loading story #50306911
loading story #50306919
>Overall, nesformer runs 150–290× slower than the real console.

I like these kinds of projects because it helps to show the massive compute requirement between LLMs and ordinary programs.

A while back I saw some people saying we would just have LMMs hallucinate an entire operating system every single frame. I guess technically it's now proven to be technically possible, but it would be thousands of times slower while requiring thousands of times more compute (a multi-million x difference from an ordinary OS!).

loading story #50307677
loading story #50308321
loading story #50313203
loading story #50311134
loading story #50308223
loading story #50310772
loading story #50307787
loading story #50310073
loading story #50307686
loading story #50307390
loading story #50307274
loading story #50308108
I expected this to only simulate the CPU itself, but was surprised to find they actually simulate the RAM as well (contained in the model itself via the gated deltanet architecture). So in my understanding, the CPU, ROM, and RAM are all handled internally by the model, and the only inputs after initialization are the controller events, wild.
loading story #50308170
> nesformer builds on Qwenputer by Divyansh Agrawal, which compiled a CHIP-8 and then a RISC-V CPU into Qwen3.5-4B. It reuses Qwenputer's compiler and its central trick: the model's Gated DeltaNet state is the machine's memory

This is amazing, love it! Qwenputer is very cool too

Sorry, I couldn't parse the obviously AI written README. If the author can't be bothered writing it, I can't be bothered reading it.

Maybe the bots will appreciate it more, after all, it seems to be written for them.

I guess I don't understand the point of this. Of course a set of digital logic circuits can be reduced to a set of weights. Am I missing something?
loading story #50307136
loading story #50306962
loading story #50307637
loading story #50307304
loading story #50306879
B-but "there's no such thing as a Nintendo".

https://www.reddit.com/media?url=https%3A%2F%2Fi.redd.it%2F5...

"Mario thanks you".

I'm guessing it's safe to say that LLMs can run Doom.
It mentions a greedy decoder in the readme, I'm curious what would happen if you run it stochastically with T>0. Vibe NES? Or does it just crash.
loading story #50309908
Woowww this is cool, not trained is even cooler--maybe I'm probably a bit naive, but to me it demonstrates an understanding of how an LLM can compute
Has anyone tried training a diffusion model for speed ?
loading story #50314065
Omg what is this sorcery?!
How do they know it's "working"?

Did they test every possible input/output combination?

loading story #50306936
loading story #50306932
so, are LLMs going to be come the universal computing medium?
Can someone give a TL;DR ? What's the input to the model? What's the output?
It's NES
loading story #50306753
loading story #50306830
loading story #50306914
This is like when people used to make tetris using only CSS or whatever in the 2010s. But it's less impressive because Claude Code can slop it out in an afternoon.