HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
spieglt
nestur
Rust2020–2020
spieglt / nestur

nestur

The NES (emulator) you left outside in the rain but let dry and still kind of works

2Distinct people
2Mentions
0Explicit recommenders
544GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

The NES (emulator) you left outside in the rain but let dry and still kind of works

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by day2 dated mentions

Observed mentions: 2020-01-06 19:57:56 UTC to 2020-01-15 17:43:45 UTC.

012020-01-06 00:00:00 UTC to 2020-01-07 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsJan 62020-01-07 00:00:00 UTC to 2020-01-08 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-08 00:00:00 UTC to 2020-01-09 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-09 00:00:00 UTC to 2020-01-10 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-10 00:00:00 UTC to 2020-01-11 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsJan 102020-01-11 00:00:00 UTC to 2020-01-12 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-12 00:00:00 UTC to 2020-01-13 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-13 00:00:00 UTC to 2020-01-14 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-14 00:00:00 UTC to 2020-01-15 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-15 00:00:00 UTC to 2020-01-16 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsJan 15

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Jan 62020-01-06 00:00:00 UTC2020-01-07 00:00:00 UTC110
Jan 72020-01-07 00:00:00 UTC2020-01-08 00:00:00 UTC000
Jan 82020-01-08 00:00:00 UTC2020-01-09 00:00:00 UTC000
Jan 92020-01-09 00:00:00 UTC2020-01-10 00:00:00 UTC000
Jan 102020-01-10 00:00:00 UTC2020-01-11 00:00:00 UTC000
Jan 112020-01-11 00:00:00 UTC2020-01-12 00:00:00 UTC000
Jan 122020-01-12 00:00:00 UTC2020-01-13 00:00:00 UTC000
Jan 132020-01-13 00:00:00 UTC2020-01-14 00:00:00 UTC000
Jan 142020-01-14 00:00:00 UTC2020-01-15 00:00:00 UTC000
Jan 152020-01-15 00:00:00 UTC2020-01-16 00:00:00 UTC101

What Hacker News says

2 sources
Thanks! Mapper 1 is since done as well as battery-backed RAM support, and I'll be implementing mappers 2-4 in the next couple days. I just read your blog post and the audio section caught my eye: I went through the exact same struggles with trying to queue 44,100Hz to SDL, including trying to implement dynamic sampling, but it was never quite right and I got quite frustrated with it. So eventually I took another pass at using the callback method instead, which I thought wasn't possible as you can't exfiltrate a reference to the struct that you give the audio device, but I got it to work this time with an Arc<Mutex<Vec<u8>>> and it's wayyy better. The APU sends all of its samples to a staging buffer, then between video frames, the Mutex for the SDL buffer is locked and the staging buffer is emptied into it. The SDL callback also locks the
Read the rest
Mutex 60 times per second, takes evenly spaced samples from the raw data, and truncates what it consumed if it had more than it needed. Now the audio keeps perfect pace with the emulator, whether it slows to 58 FPS or goes too fast, and there's no popping and clicking. If you're curious, here are the relevant spots in the code now: https://github.com/spieglt/nestur/blob/master/src/audio.rs https://github.com/spieglt/nestur/blob/e49921541d493b3616352... I just beat the first Zelda dungeon last night, saving the file afterwards, and it was indeed really satisfying.
In Nestur: NES Emulator in Rust

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.