Skip to content
HomeVideos
AllLongsCategoriesPlaylists
BooksBlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    Finding the BEST sine function for Nintendo 64

    Kaze Emanuar

    2 HN recommenders · recommended in 7 months, 2023–2026

    YouTube

    26:41 · 418K views · Jun 24, 2023

    Kaze Emanuar searches for the best sine approximation for the Nintendo 64, comparing the lookup tables in Mario 64 and Ocarina of Time with polynomial alternatives. It walks through numerics and 3rd, 4th and 5th order approximations.

    Cited in discussions of sine implementations and whether lookup tables beat computation on memory-bound hardware.

    Software Engineering & LanguagesSoftware performance & optimizationGame programming & enginesGame history & retro gaming
    1. 2:27:34
      Casey Muratori – The Big OOPs: Anatomy of a Thirty-five-year Mistake – BSC 2025Better Software Conference929K views • 1 year ago
    2. 18:20
      FIXING the ENTIRE SM64 Source Code (INSANE N64 performance)Kaze Emanuar3.2M views • 4 years ago
    3. 13:14
      Did Nintendo really forget to Optimize Super Mario 64 ? | MVGModern Vintage Gamer1.3M views • 6 years ago
    4. 5:58
      MarI/O - Machine Learning for Video GamesSethBling12M views • 11 years ago
    5. 20:08
      Fast Inverse Square Root — A Quake III AlgorithmNemean6M views • 5 years ago
    6. 24:32
      How We Solved the Worst Minigame in Zelda's HistoryLinkus71.1M views • 6 years ago
    7. 1:19:52
      CppCon 2016: Jason Turner “Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17”CppCon264K views • 10 years ago
    8. 15:04
      I made a NES emulator in 15 minutesBisqwit389K views • 14 years ago
    9. 16:18
      Computer program that learns to play classic NES gamessuckerpinch2.2M views • 13 years ago
    10. 7:08
      How "oldschool" graphics worked Part 1 - Commodore and NintendoThe 8-Bit Guy5.7M views • 11 years ago
    11. 12:04
      How we fit an NES game into 40 KilobytesMorphcat Games3.7M views • 8 years ago
    12. 1:01:07
      The Ultimate Game Boy Talk (33c3)media.ccc.de242K views • 9 years ago
    13. 2:48
      TI DOOMTPMFofMFF199K views • 18 years ago
    14. 8:33
      8088 MPH by Hornet + CRTC + DESiRE (final version)andrewmjenner93K views • 11 years ago
    15. 22:21
      Reverse emulating the NES to give it SUPER POWERS!suckerpinch1.1M views • 8 years ago
    16. 34:29
      The History of 3D Graphics on the Gameboy Advance | minimmeminimme667K views • 6 years ago
    17. 1:00:07
      CppCon 2017: Carl Cook “When a Microsecond Is an Eternity: High Performance Trading Systems in C++”CppCon358K views • 9 years ago
    18. 1:27:46
      CppCon 2014: Mike Acton "Data-Oriented Design and C++"CppCon863K views • 12 years ago
    19. 42:15
      "Performance Matters" by Emery BergerStrange Loop Conference502K views • 7 years ago
    20. 52:45
      The Road to PS5PlayStation17M views • 6 years ago

    8 comments from Hacker News

    1. @qingcharlesAug 2024· in “SNES Coprocessors: DSP-1 and Friends”

      Yeah, I used a ton of trig tables for software renderers in the late 80s/early 90s, but I'm just throwing ideas out there, since I've seen a lot of really great optimizations recently that were mostly missed during that time. This guy puts a lot of work into figuring out if there is a faster way to do trig calcs on the N64 than was used in SM64 (spoiler: there is): this video Jez (CEO of Argonaut) once offered me an interview for the Starfox/DSP team, so I almost worked on this thing. He was very active on the coding groups on Usenet around that time.

      RecommendsView on HN
    2. @qingcharlesAug 2024· in “SNES Coprocessors: DSP-1 and Friends”

      This is the video that got me thinking: this video I was writing software texturers etc in the late 80s/early 90s, and even recently I've seen x86 people humble me with all sorts of info that I had no idea about at the time, concerning pipelining etc. I would just sit all day randomly reordering assembler instructions and reprofiling teapot renders to see if anything would move the needle.

      RecommendsView on HN
    3. @eskaMar 2024· in “How do computers calculate sine?”

      You might also find this video interesting: "Finding the BEST sine function for Nintendo 64" this video

      RecommendsView on HN
    4. @somatMar 2026· in “Even Faster Asin() Was Staring Right at Me”

      Not just modern machines, the Nintendo64 was memory bound under most circumstances and as such many traditional optimizations (lookup tables, unrolling loops) can be slower on the N64. The unrolling loops case is interesting. Because the cpu has to fetch more instructions this puts more strain on the memory bus. If curious, On a N64 the graphics chip is also the memory controller so every thing the cpu can do to stay off the memory bus has an additive effect allowing the graphics to do more graphics. This is also why the n64 has weird 9-bit ram, it is so they could use a 18-bit pixel format, only taking two bytes per pixel, for cpu requests the memory controller ignored the 9th bit, presenting a normal 8 bit byte. They were hoping that by having high speed memory, 250 mHz, the cpu ran at 90mHz, it could provide for everyone and it did ok, there are some very impressive games on the n64. but on most of them the cpu is running fairly light, gotta stay off that memory bus. this video (Kaze Emanuar: Finding the BEST sine function for Nintendo 64)

      CitesView on HN
    5. @psychphysicJun 2023· in “Finding the best sine function for Nintendo 64”

      I find him a bit abrasive even though I enjoy his videos (and actually submitted this a couple days ago). It's alot of cool work, but the way he presents it to laymen is kind of annoying. Even if he had never heard of data orientated design in the original video series (where he claims to not know what its called when you organise data to improve throughput) he should by now because clearly he does huge amounts of research. (Case in point at 9:30[0] he talks about localised memory patterns as though he's the first to come up with it). Again, love his work, watch every video and even submit to HN because I think others would. But that doesn't mean he's not very annoying. [0] this video

      CriticalView on HN