<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/f-zero-x-on-nintendo-3ds-vgb5xwkl6" -->

---
title: F-Zero X on Nintendo 3DS | daily.dev
description: G-Diffuser, a native port of the F-Zero X decompilation to the Nintendo 3DS, reached v1.0.0 after two phases built with AI coding agents. The first 24-day...
canonical: https://daily.dev/posts/f-zero-x-on-nintendo-3ds-vgb5xwkl6
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: F-Zero X on Nintendo 3DS | daily.dev
og:description: G-Diffuser, a native port of the F-Zero X decompilation to the Nintendo 3DS, reached v1.0.0 after two phases built with AI coding agents. The first 24-day...
og:url: https://daily.dev/posts/f-zero-x-on-nintendo-3ds-vgb5xwkl6
og:image: https://api.daily.dev/og/posts/vgb5Xwkl6.png
og:image:alt: F-Zero X on Nintendo 3DS
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# F-Zero X on Nintendo 3DS

**[Hacker News](https://daily.dev/sources/hn)** · 7 min read · 1 upvotes · 0 comments

## Summary

G-Diffuser, a native port of the F-Zero X decompilation to the Nintendo 3DS, reached v1.0.0 after two phases built with AI coding agents. The first 24-day sprint got a New 3DS build running at 60 fps in stereoscopic 3D. A second 43-day phase added Old 3DS support, a new native renderer, and a 64DD Expansion Kit with course editor and machine creator. One person directed the work while a single long-lived Claude session orchestrated 147 subagents in the first phase and more in the second. The Old 3DS build hit instruction-cache misses as its real bottleneck, and a rewritten renderer sized to the 16 KB instruction cache got most Grand Prix courses to 59-60 fps, with the heaviest courses able to fall back to a steady 30 fps.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://hypnotize.works/gdx-3ds/postmortem/index.html>

## Questions this post answers

### What was the actual performance bottleneck when porting F-Zero X to the Old 3DS at 268 MHz?

The real limit was instruction-cache misses, not raw instruction count, discovered via hardware performance counters. Once identified, the renderer was rebuilt around the 16 KB instruction cache instead of around minimizing instruction count, using one small loop per race category. That change brought the median frame time on a 2D Grand Prix race down to 16.5 ms, enabling a later push to 59-60 fps in 3D on most courses.

_Developers chasing embedded performance walls can track hardware-level optimization writeups like this on daily.dev._

### How many AI-generated subagents were used to port the F-Zero X decompilation to the Nintendo 3DS?

147 subagents built the first phase of the port, with many more used in the second phase. A single long-lived Claude session orchestrated the work throughout both phases, while one person directed the overall project across a 24-day first sprint and a 43-day second phase.

_Anyone evaluating AI agent orchestration for large coding projects can follow real-world case studies on daily.dev._

### What does the 64DD Expansion Kit add to the F-Zero X 3DS port?

It adds the course editor and machine creator from the original F-Zero X 64DD expansion, playable with a user-supplied disk image, and ships only on the New 3DS build since the Old 3DS proved too slow to run it. It was verified tick-for-tick identical under the native renderer before release.

_Retro console modders tracking homebrew expansion support can follow projects like this on daily.dev._

## Community take

How the wider developer community reacted, aggregated from 1 discussion and 89 comments across hackernews (as of 2026-10-26).

**TL;DR:** The port itself is widely admired as an impressive technical and cost feat, but the discussion is dominated by a sharp fight over AI-written project prose and what counts as legitimate

**Sentiment:** 40% positive · 30% mixed · 30% skeptical

**The case for**

- The deterministic rematch-style netcode and CPU-bound optimization work (batching draw calls, precomputing track meshes) impressed technically-minded readers.
- Many found the cost/time savings vs. hiring human engineers for a N64-to-3DS port striking.
- Some enjoyed the author's willingness to clearly separate human-written notes from AI-generated technical notes.
- The 3DS's accessible jailbreak scene and nostalgia value were cited as good reasons for ports like this to target it over the Switch.

**The pushback**

- Several found the AI-generated writeup prose off-putting and said it undermined trust in the rest of the project.
- Critics pointed out factual gaps/errors (e.g. claims about lack of debugger/stdout support) suggesting insufficient due diligence.
- Some dismissed the whole effort as low-effort 'AI slop' not worth human engineering time.
- Debate over whether API pricing vs. subscription pricing meaningfully reflects the 'real' cost of the project.

**By community**

- hackernews (heated): Technical appreciation for the renderer and cost breakdown coexists with a heated back-and-forth over AI-generated writing and whether the project represents progress or 'slop'.

**Hottest debate:** Whether the AI-generated project writeup (and AI-assisted development generally) represents exciting progress or low-effort 'slop' undeserving of praise.

**Open questions**

- What is the real-world dollar cost once API subsidization from subscription pricing is accounted for?
- Could the CPU-bound bottleneck be further reduced by combining stereo draw calls or other citro3d-level optimizations?

**Highlights**

> Look, I'm gonna say what's been said a lot of times, but bears repeating: when the very first two or three sentences I read are mind-blanketing AI prose breathlessly em-dashing together fragments of stuff I don't care about, it makes me skeptical that there's value perusing the rest of the project. Like, you can't even be bothered to make your lede some form of human-to-human communication.
> — [cynicalkane on hackernews · 5 comments](https://news.ycombinator.com/item?id=50237730)

> The only slop is this anti-progess mindset that memetically propagates everywhere saying the same thing over and over. People using AI are constantly showing off net new things to the world. Antis are using the same arguments from 2022 and aren't showing us anything good or cool that they've done. They just complain. Y'all need to do something worth talking about. This mindset you have is exhausting. Antis somehow find a way of entering every pro-AI conversation and breathing down our necks with hate and misery. I don't like these bleak views and I don't want to interact with this kind of fist shaking and ground gazing while I'm trying to have a good time using all the new toys. This post was a celebration, and yet here we are again. Why even show up? What is so worth it to you to come in here and complain? Let us reinvent the web. Let us cure cancer. And instead of chanting "slop" in every corner this is discussed, you can go to Matrix or Mastodon or live on a farm or cut the cords or something. Just don't dump on every single thing we do. You can sit this out on the sidelines. This thread is about cool AI results - why are you even here?  This is our celebration, not an open invitation to complain.
> — [echelon on hackernews](https://news.ycombinator.com/item?id=50241798)

> Good instinct, the bottleneck is on the CPU side though. The PICA200 is an immediate-mode GPU not a tiler. Other F-Zero X ports feed the N64 display lists to an interpreter, command by command, with the T&L on CPU. Pre-v1.0 of this port took that approach but did some double buffering on another CPU core. When porting to Old 3DS, that other core wasn't an option, so we had to make better batch calls to the GPU. It ended up being that now we walk that list the first time and group triangles that share the same material, and moved the position & rotation transformations to the GPU too. Rather than creating the mesh for tracks out of the spline on the fly, it also precomputes at the start of the race. I'm fairly certain this is a pretty novel implementation for a N64 to 3DS port. Most of these optimizations are just for race elements, which is why some of the menus are still pretty laggy.
> — [coffeesoda on hackernews · 1 comments](https://news.ycombinator.com/item?id=50238656)

> Yep, I agree. Further in the notes it's mentioned this probably would've taken a handful of Senior Engineers anywhere from 6 months to 2 years. The range of budget on the project is like $200 to $500k. This was done for peanuts in my spare time. I share both your optimism and pessimism, depending on the day, lol.
> — [coffeesoda on hackernews · 1 comments](https://news.ycombinator.com/item?id=50237636)

> AI slop port. The gaming world doesn't need any more of these.
> — [VCFundedGenYer on hackernews](https://news.ycombinator.com/item?id=50242329)

**Source threads**

- [hackernews](https://news.ycombinator.com/item?id=50237078) · 134 points · 89 comments

## Similar posts on daily.dev

- [There's now a Zelda: Breath of the Wild native PC port, and early reports suggest it runs surprisingly well](https://daily.dev/posts/there-s-now-a-zelda-breath-of-the-wild-native-pc-port-and-early-reports-suggest-it-runs-surprising-ujjiwl1pk) · XDA Developers · 1 upvotes · 0 comments
- [Rendering at 500 km/h in Gear.Club Unlimited 3](https://daily.dev/posts/rendering-at-500-km-h-in-gear-club-unlimited-3-as8iorgc8) · Unity · 0 upvotes · 0 comments
- [DS code editor & scriptable game engine](https://daily.dev/posts/ds-code-editor-scriptable-game-engine-hdfqkwbxq) · Hacker News · 1 upvotes · 0 comments
- [AI slop is taking over the retro PC port scene, but these Zelda ports remind me how good it still is](https://daily.dev/posts/ai-slop-is-taking-over-the-retro-pc-port-scene-but-these-zelda-ports-remind-me-how-good-it-still-is-g5nyjgjvi) · XDA Developers · 0 upvotes · 1 comments

---

Tags: [#ai-agents](https://daily.dev/tags/ai-agents), [#performance](https://daily.dev/tags/performance)

[View this post on daily.dev](https://daily.dev/posts/f-zero-x-on-nintendo-3ds-vgb5xwkl6)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"F-Zero X on Nintendo 3DS","url":"https://daily.dev/posts/f-zero-x-on-nintendo-3ds-vgb5xwkl6","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/f-zero-x-on-nintendo-3ds-vgb5xwkl6"},"datePublished":"2026-10-26T02:22:15.348Z","dateModified":"2026-10-26T12:48:57.963Z","description":"G-Diffuser, a native port of the F-Zero X decompilation to the Nintendo 3DS, reached v1.0.0 after two phases built with AI coding agents. The first 24-day...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/bac7fd7e706fa24aa65c3ef33247765e?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/bac7fd7e706fa24aa65c3ef33247765e?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Hacker News","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Hacker News","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn","url":"https://daily.dev/sources/hn"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/f-zero-x-on-nintendo-3ds-vgb5xwkl6","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"ai-agents,performance","timeRequired":"PT7M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Hacker News","item":"https://daily.dev/sources/hn"},{"@type":"ListItem","position":3,"name":"F-Zero X on Nintendo 3DS"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/f-zero-x-on-nintendo-3ds-vgb5xwkl6#faq","mainEntity":[{"@type":"Question","name":"What was the actual performance bottleneck when porting F-Zero X to the Old 3DS at 268 MHz?","acceptedAnswer":{"@type":"Answer","text":"The real limit was instruction-cache misses, not raw instruction count, discovered via hardware performance counters. Once identified, the renderer was rebuilt around the 16 KB instruction cache instead of around minimizing instruction count, using one small loop per race category. That change brought the median frame time on a 2D Grand Prix race down to 16.5 ms, enabling a later push to 59-60 fps in 3D on most courses. Developers chasing embedded performance walls can track hardware-level optimization writeups like this on daily.dev."}},{"@type":"Question","name":"How many AI-generated subagents were used to port the F-Zero X decompilation to the Nintendo 3DS?","acceptedAnswer":{"@type":"Answer","text":"147 subagents built the first phase of the port, with many more used in the second phase. A single long-lived Claude session orchestrated the work throughout both phases, while one person directed the overall project across a 24-day first sprint and a 43-day second phase. Anyone evaluating AI agent orchestration for large coding projects can follow real-world case studies on daily.dev."}},{"@type":"Question","name":"What does the 64DD Expansion Kit add to the F-Zero X 3DS port?","acceptedAnswer":{"@type":"Answer","text":"It adds the course editor and machine creator from the original F-Zero X 64DD expansion, playable with a user-supplied disk image, and ships only on the New 3DS build since the Old 3DS proved too slow to run it. It was verified tick-for-tick identical under the native renderer before release. Retro console modders tracking homebrew expansion support can follow projects like this on daily.dev."}}]}
```

