Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. San Francisco Onion Futures Company(onionfutures.com ↗)
    28comments
  2. Android 17 is the first since 3.x to add new APIs without releasing to the AOSP(grapheneos.social ↗)
    346comments
  3. SDCC – Small Device C Compiler(sourceforge.net ↗)
    9comments
  4. Typesafe-computer-use drives a Mac toward a goal for 1/50th of a cent per step(github.com/awlevin ↗)
    6comments
  5. Science Is Open Software(jepedersen.dk ↗)
    17comments
  6. How OpenAI Used Its Own LLMs to Design Its Jalapeño Chip(ieee.org ↗)
    71comments
  7. Cloudflare Quick Tunnels(cloudflare.com ↗)
    271comments
  8. Saving another 100TB of RAM(cloudflare.com ↗)
    58comments
  9. Why building a Rust LSP is hard(rust-glancer.github.io ↗)
    14comments
  10. How to Write with an LLM(sockpuppet.org ↗)
    306comments
  11. Xcode 27.1 Beta Release Notes(developer.apple.com ↗)
    75comments
  12. NASA-IBM Lunar Foundation open-Source Geospatial AI Model(usra.edu ↗)
    discuss
  13. Goroutine Leak Profiles(go.dev ↗)
    1comments
  14. The first new cat species discovered in 100 years(nationalgeographic.com ↗)
    86comments
  15. Show HN: Cactus Needle 3: 8-29MB automation models can match DeepSeek V4 Flash(cactuscompute.com ↗)
    82comments
  16. OpenJev(openjev.com ↗)
    253comments
  17. Photon-Emission-Guided Laser Fault Injection Enables RP2350 Secure Debug(ledger.com ↗)
    61comments
  18. The Farnese letter(simonklee.dk ↗)
    6comments
  19. Cache-to-Cache: Direct Semantic Communication Between LLMs (2025)(arxiv.org ↗)
    12comments
  20. You can run Git on object storage if you re-make packfiles(tigrisdata.com ↗)
    1comments
  21. Minimal Phone 2(minimalcompany.com ↗)
    200comments
  22. LispBM is a concurrent Lisp for microcontrollers with message passing(lispbm.com ↗)
    3comments
  23. Cyclomatic Complexity in C#(ndepend.com ↗)
    16comments
  24. Claude Code now reads AGENTS.md if there is no Claude.md(claude.com ↗)
    212comments
  25. Show HN: LiveWorld – Every 24/7 YouTube live camera on one globe(liveworld.info ↗)
    32comments
  26. Inside ZCode: Silently uploading your Git history to the cloud(ferstar.org ↗)
    96comments
  27. Warez: The Infrastructure and Aesthetics of Piracy (2021)(archive.org ↗)
    41comments
  28. Alibaba open-sources AI model that can detect cancer and nearly 150 conditions(scmp.com ↗)
    10comments
  29. How SpaceX streamlined the Raptor engine(construction-physics.com ↗)
    64comments
  30. Two parallel neural ectoderm progenitors contribute to the developing brain(newscientist.com ↗)
    60comments

Show HN: Bsnes, a Super Nintendo Emulator

6 pointsby 7y agogithub.com
2 comments
7y agoHN ↗

bsnes is an SNES emulator I've spent the last 15 years working on.

I'd love some help from anyone who's interested in working on improving the project with me, so I'm submitting my GitHub project page link here for anyone interested.

Back in 2004, computers were much slower and so performance was a much larger concern with emulators. I was worried that many fan translations, ROM hacks, and homebrew games were depending on bugs in the other emulators to function, and feared this could lead to a loss of those games in the future, should emulators one day improve. And so I started bsnes with the goal to writing an emulator that was as accurate as possible. Needless to say, I underestimated the complexity by a few orders of magnitude.

In 2010, I led a fundraiser to decap coprocessors inside of game cartridges to extract their firmware. This allowed bsnes to be the first emulator to reach 100% game compatibility [1]

In arguably the most surreal moment of my life, it turned out that one of these coprocessors (NEC uPD7720) was used in professor Stephen Hawking's voice machine. Having written the only emulator for this processor, his assistants reached out to me and I was able to donate a portion of code to their project, which was ultimately successful in replacing the original failing voice machine with a much more portable version. [2]

In 2012, to improve emulation of cartridge PCBs, I started a goal of purchasing (and reselling after to break even) every SNES game cartridge. I started with the USA collection (725 games), finished it, moved onto the Japanese collection (1,450 games), finished that, and now I've been working on the European collection (540 games.) I've spent around $30,000 and 1200+ hours working on this goal.

Something I don't like to talk about, but it happened: once a person graciously lended me 100 PAL games worth around $5,000 - $10,000. It was lost in the mail. After a long, stressful five-month wait, I reached out to the media and within a few weeks, the package was recovered, and the games were analyzed and returned to their owner intact. [3]

A few years back, bsnes grew to emulate dozens of systems, and so I made the decision to move the multi-system emulation platform to a new project called higan. [4] This project is likely far too ambitious, but it keeps me occupied.

With bsnes once again a standalone SNES emulator, over the past year I've set about trying to create an easier to use, friendly emulator that is more performance oriented. One of the key insights was developing a method of parallelizing the video rendering in such a way that does not add any input latency.

This parallel renderer provided for another first: the ability to analyze the entire screen before rendering the first pixel. A programmer by the name of DerKoun came along and realized that by interpolating at higher precision the affine transformation coordinates of the screen, that 256x240-resolution SNES games could be upscaled to basically any resolution, even 3840x2160. The results were something no one else believed possible, and it received a good deal of press as a result.

DerKoun has continued with this project, adding new features to SNES emulation such as widescreen support, true color gradients (to remove banding from the system's 15-bit color palette), etc.

Recently, in an effort to try and preserve more history, I've gone back to emulate the older emulators themselves, so that the oldest fan-made SNES software can still be played.

It's never been bsnes' goal to be #1, and over the years I've contributed code, notes, and explanations to basically every known SNES emulator. Both free software and commercial, both open source and closed. My underlying goal has always been to improve emulation quality for everyone.

Thanks for reading!

[1] https://www.tested.com/tech/gaming/44376-16_bit-time-capsule...

[2] https://www.sfchronicle.com/bayarea/article/The-Silicon-Vall...

[3] http://www.nintendolife.com/news/2017/02/usps_recovers_lost_...

[4] https://github.com/byuu/higan

[5] https://arstechnica.com/gaming/2019/04/hd-emulation-mod-make...

7y agoHN ↗

I've used this and donated anonymously when I could afford to do so, but I don't have the coding chops to actually help you out.