Saturday, October 31, 2026

Show HN: NES Contra (1987) port (ASM –> C and then C –> WebAssembly) https://ift.tt/NjroaRV

Show HN: NES Contra (1987) port (ASM –> C and then C –> WebAssembly) Based on vermiceli's annotated disassembly of Contra: https://ift.tt/Swq57ZE . Thanks for the great work. I ported it in two steps. First to C: the game logic is translated routine by routine from the 6502 assembly, and checked frame by frame against the original in the Mesen emulator. Then the C code to WebAssembly so it runs in the browser. The cherry on top: online multiplayer, so two players can play co-op over the internet. Source: https://ift.tt/e3KIqCi https://ift.tt/rgPaA8u November 1, 2026 at 12:48AM

Show HN: A language model that lives in a boot sector https://ift.tt/eCycpaD

Show HN: A language model that lives in a boot sector All the ideas came from the boot sector demo scene where people had been writing chess and BASIC games in 512 bytes, even a C compiler. I wondered what one can do using a neural network instead of a program and generating boot logs for non-existent hardware was something fun to try. Entire inference engine is 510 bytes of MBR, weights, vocab, and strings reside in the sectors following MBR. Small char-level neural network was trained on dmesg generated by machine, so machine produces Linux boot messages infinitely. train.py performs precisely the same integer arithmetic operations as the asm code does and thus produces an output identical character-by-character to the one produced by QEMU. The difference analysis revealed my favorite bug. The characters at the beginning matched those generated by the simulator, but then the output diverged. I retrieved the hidden layer via QEMU’s debug port and compared the neurons' values with those of the simulator, one neuron at a time. Only the value of the first neuron was correct. The activation involves idiv, and idiv stores its remainder in edx. The pointer to the biases table was stored in edx, which resulted in the first neuron being biased correctly and the following ones using garbage. Now the bias' address is determined from the loop counter, and no pointers have to survive the division. Another bug I found simply by looking at the code before I did my first run-through: the BIOS print routine zeros out bx, but bx contains the predicted character number. This explains the push and pop of bx surrounding the print. sectorllm is the most similar to my project, as it runs an actual 5-layer llama2 with attention mechanism in just 1.2K of assembly code. It is the trade-off in the opposite direction, as my engine needs to fit into one sector and therefore my network has just one hidden layer of int8 operations for dreaming the dmesg. https://ift.tt/LVKED6h October 31, 2026 at 06:28PM

Friday, October 30, 2026

Thursday, October 29, 2026

Wednesday, October 28, 2026

Show HN: I built a map of billboards and banners in Poland (gpy.pl) https://ift.tt/g5Pwn1k

Show HN: I built a map of billboards and banners in Poland (gpy.pl) https://gpy.pl/ October 29, 2026 at 01:24AM

Show HN: A visual map of related food dishes from around the world https://ift.tt/GwUVkE2

Show HN: A visual map of related food dishes from around the world A fun, personal project - AI did a pretty good job. https://ift.tt/IJTCg0i October 29, 2026 at 01:35AM

Show HN: A proof-of-concept formalization of the IRS federal tax forms https://ift.tt/sCxv5Ad

Show HN: A proof-of-concept formalization of the IRS federal tax forms The linked repo is 100% vibe coded, but it was built on a handful of principles: - Most tax software derives trust from the party who maintains it (e.g. Intuit, the IRS, etc.) - Vibe coded software lacks this trustworthiness. - Therefore any formalization should build in verifiability and mechanisms that make it possible for users/maintainers to trace claims/interpretations back to authoritative source documents. It's very much a back-burner passive project right now (do not use this for anything real!), but I feel strongly that something like this ought to exist for the public good. I built it to get a sense of what the shape of what such a thing might be. https://ift.tt/3O5qKa4 October 29, 2026 at 12:00AM

Show HN: NES Contra (1987) port (ASM –> C and then C –> WebAssembly) https://ift.tt/NjroaRV

Show HN: NES Contra (1987) port (ASM –> C and then C –> WebAssembly) Based on vermiceli's annotated disassembly of Contra: https:...