<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: jackpriceburns</title><link>https://news.ycombinator.com/user?id=jackpriceburns</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 01 Jul 2026 23:20:33 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jackpriceburns" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by jackpriceburns in "Show HN: Decomp Academy – Learn to decompile GameCube games into matching C"]]></title><description><![CDATA[
<p>You're not completely wrong, AI does usually have a weird proclivity for blue/purples lol</p>
]]></description><pubDate>Mon, 29 Jun 2026 12:02:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=48718140</link><dc:creator>jackpriceburns</dc:creator><comments>https://news.ycombinator.com/item?id=48718140</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48718140</guid></item><item><title><![CDATA[New comment by jackpriceburns in "Show HN: Decomp Academy – Learn to decompile GameCube games into matching C"]]></title><description><![CDATA[
<p>- The purple theme was a conscious choice, not an AI's decision. I wanted to match the colour theme of the GameCube. You can see the current colour pallete here: <a href="https://decomp-academy.dev/brand/brand-sheet" rel="nofollow">https://decomp-academy.dev/brand/brand-sheet</a> this will likely go through changes in the near future but I'd like to stick to the purple theme as a nod to the GameCube<p>- I've just added some new lessons before the first lesson to explain assembly syntax!<p>- I believe there are around 200-odd instructions, and a lot of them I'm not sure you'll ever see, but I can certainly look at adding something like this</p>
]]></description><pubDate>Sun, 28 Jun 2026 17:23:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=48709460</link><dc:creator>jackpriceburns</dc:creator><comments>https://news.ycombinator.com/item?id=48709460</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48709460</guid></item><item><title><![CDATA[New comment by jackpriceburns in "Show HN: Decomp Academy – Learn to decompile GameCube games into matching C"]]></title><description><![CDATA[
<p>There will deffo be a lesson on how to setup a decomp project from scratch! This is far from finished, there's opportunity to add so much more. I'd argue that I'd rather teach the user the basics of matching first before diving into setting a project, as setting up the splits.txt or symbols.txt might be quite a leap for a beginner. Feel free to keep checking in once a week and the lesson will appear :)</p>
]]></description><pubDate>Sun, 28 Jun 2026 14:40:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=48707720</link><dc:creator>jackpriceburns</dc:creator><comments>https://news.ycombinator.com/item?id=48707720</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48707720</guid></item><item><title><![CDATA[New comment by jackpriceburns in "Show HN: Decomp Academy – Learn to decompile GameCube games into matching C"]]></title><description><![CDATA[
<p>The lessons taught in this can be applied to x86/64, but can deffo look adding different instruction sets in the future</p>
]]></description><pubDate>Sun, 28 Jun 2026 14:33:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=48707660</link><dc:creator>jackpriceburns</dc:creator><comments>https://news.ycombinator.com/item?id=48707660</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48707660</guid></item><item><title><![CDATA[New comment by jackpriceburns in "Show HN: Decomp Academy – Learn to decompile GameCube games into matching C"]]></title><description><![CDATA[
<p>No plans to profit at all from this!</p>
]]></description><pubDate>Sun, 28 Jun 2026 14:32:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=48707644</link><dc:creator>jackpriceburns</dc:creator><comments>https://news.ycombinator.com/item?id=48707644</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48707644</guid></item><item><title><![CDATA[New comment by jackpriceburns in "Show HN: Decomp Academy – Learn to decompile GameCube games into matching C"]]></title><description><![CDATA[
<p>Will look at adding this!</p>
]]></description><pubDate>Sun, 28 Jun 2026 14:32:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=48707636</link><dc:creator>jackpriceburns</dc:creator><comments>https://news.ycombinator.com/item?id=48707636</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48707636</guid></item><item><title><![CDATA[New comment by jackpriceburns in "Show HN: Decomp Academy – Learn to decompile GameCube games into matching C"]]></title><description><![CDATA[
<p>I'm not aware of anything that's similar to this for ARM.. but in the future there is certainly room to add this. For now I'm focusing on getting the current set of lessons up to scratch as a lot of them need improvement. Then I think I want to add C++ as a language and allow you to change which version of MWCC you can run</p>
]]></description><pubDate>Sun, 28 Jun 2026 08:31:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=48705480</link><dc:creator>jackpriceburns</dc:creator><comments>https://news.ycombinator.com/item?id=48705480</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48705480</guid></item><item><title><![CDATA[New comment by jackpriceburns in "Show HN: Decomp Academy – Learn to decompile GameCube games into matching C"]]></title><description><![CDATA[
<p>Just deploying a fix for this right now! Didn't expect this to be so popular haha</p>
]]></description><pubDate>Sun, 28 Jun 2026 05:00:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=48704521</link><dc:creator>jackpriceburns</dc:creator><comments>https://news.ycombinator.com/item?id=48704521</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48704521</guid></item><item><title><![CDATA[New comment by jackpriceburns in "Show HN: Decomp Academy – Learn to decompile GameCube games into matching C"]]></title><description><![CDATA[
<p>They do an alright job, but they deffo need human-in-the-loop for the best results. I wrote on my blog about how I wrote an MCP to communicate with the Dolphin emulator. Allows Claude Code to set breakpoints, read the memory, write the memory, etc. It was a super fun way to work with Claude and has made naming functions/structs/fields/etc much easier! <a href="https://jpb.dev/blog/dolphin-debugger-mcp/" rel="nofollow">https://jpb.dev/blog/dolphin-debugger-mcp/</a></p>
]]></description><pubDate>Sun, 28 Jun 2026 04:38:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=48704419</link><dc:creator>jackpriceburns</dc:creator><comments>https://news.ycombinator.com/item?id=48704419</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48704419</guid></item><item><title><![CDATA[New comment by jackpriceburns in "Show HN: Decomp Academy – Learn to decompile GameCube games into matching C"]]></title><description><![CDATA[
<p>Most games will have been written in a higher level language first (like C or C++) and then compiled into assembly. With matching decomp, we write C, compile it to assembly, and see how much it matches the retail assembly. Using this we can write C that we theorise is almost identical to how it would have been written originally.
There are things lost during the compilation process (like comments, function names, etc) these we have to name manually and it's a long process to do! But yes, the goal is to have C at the end and once you have C you can recompile using a different compiler and target any architecture you like</p>
]]></description><pubDate>Sun, 28 Jun 2026 04:24:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=48704335</link><dc:creator>jackpriceburns</dc:creator><comments>https://news.ycombinator.com/item?id=48704335</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48704335</guid></item><item><title><![CDATA[New comment by jackpriceburns in "Show HN: Decomp Academy – Learn to decompile GameCube games into matching C"]]></title><description><![CDATA[
<p>Are you on mobile? You'll need to switch to the code/review tab to see. I think mobile support is a bit funky, I'll look at fixing that as soon as I can!</p>
]]></description><pubDate>Sun, 28 Jun 2026 02:28:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=48703784</link><dc:creator>jackpriceburns</dc:creator><comments>https://news.ycombinator.com/item?id=48703784</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48703784</guid></item><item><title><![CDATA[New comment by jackpriceburns in "Show HN: Decomp Academy – Learn to decompile GameCube games into matching C"]]></title><description><![CDATA[
<p>AI is being used in many retro game decomp projects!<p>One of the reasons I went down the path of learning decomp myself was because AI had hit a wall. Matching decomp is quite a bit harder than just normal decomp as even simple things like using an if/else instead of a terney actually change the assembly. AI did an amazing job of getting to 95% matches on nearly all functions, but once it got to that tail end, it started to struggle quite a lot and would often just claim "it's impossible". So that's when I pivoted and started learning actual decomp myself so that I could prompt AI better and finish off the star fox adventures decomp!</p>
]]></description><pubDate>Sun, 28 Jun 2026 02:10:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=48703684</link><dc:creator>jackpriceburns</dc:creator><comments>https://news.ycombinator.com/item?id=48703684</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48703684</guid></item><item><title><![CDATA[New comment by jackpriceburns in "Show HN: Decomp Academy – Learn to decompile GameCube games into matching C"]]></title><description><![CDATA[
<p>decomp.me is also a great tool! The playground section of the site allows you to turn the code into a decomp.me scratch.
I also use the objdiff wasm on the frontend for the assembly diffing. I don't see much point in reinventing the wheel and these tools are already great, so I'll deffo be leaning on them when I can</p>
]]></description><pubDate>Sun, 28 Jun 2026 02:05:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=48703661</link><dc:creator>jackpriceburns</dc:creator><comments>https://news.ycombinator.com/item?id=48703661</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48703661</guid></item><item><title><![CDATA[New comment by jackpriceburns in "Show HN: Decomp Academy – Learn to decompile GameCube games into matching C"]]></title><description><![CDATA[
<p>I was thinking of something similar as well, perhaps a section of this site after you've completed the course where we show functions from popular decomp projects that aren't 100% matched, and you can match it. Doing so will magic up a PR or something.. It's a great idea!<p>As for cheating, the community calls this a fake match. I don't check that the code you submit conforms to what I expect, I only check if the assembly matches. You can do interesting things where you do a series of bit shifts and bit masks, and you can replicate an equality operator `a == b` or a low clamp `x < 0 ? 0 : x`. I'm not sure if I'll lock this down or not, for people who have accounts, I can see their submissions so I think I'll play it by ear and see what happens. If it looks like people are constantly fake matching, I can look at tweaking the lessons or locking it down more</p>
]]></description><pubDate>Sun, 28 Jun 2026 02:02:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=48703652</link><dc:creator>jackpriceburns</dc:creator><comments>https://news.ycombinator.com/item?id=48703652</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48703652</guid></item><item><title><![CDATA[New comment by jackpriceburns in "Show HN: Decomp Academy – Learn to decompile GameCube games into matching C"]]></title><description><![CDATA[
<p>The backend is closed source, but it runs all on AWS Lambda/DynamoDB/APIGateway and is written in Rust. Getting the compiler running in a Lambda was an adventure of it's own</p>
]]></description><pubDate>Sun, 28 Jun 2026 01:24:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=48703426</link><dc:creator>jackpriceburns</dc:creator><comments>https://news.ycombinator.com/item?id=48703426</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48703426</guid></item><item><title><![CDATA[Show HN: Decomp Academy – Learn to decompile GameCube games into matching C]]></title><description><![CDATA[
<p>Over the past few months I've been heavily involved in the decompilation community. I've been hands-on decompiling a beloved game from my childhood (Star Fox Adventures). I started this journey with zero prior decomp experience—and to make things worse I had never really touched C nor assembly either.<p>Learning how to decompile was challenging. It's difficult to find any good learning resources for it and any open-source projects for this are inactive and/or contain little actual learning material.<p>So I put together Decomp Academy! Decomp Academy is an interactive way to learn how to decompile PowerPC assembly back into C. The site runs a live Metrowerks CodeWarrior GC/2.0 compiler, converts your C into assembly, and then checks how close your assembly matches the target. If even 1 instruction or bit is off, that's a fail. This is the gold standard for video game decompilation and this is much stricter than a normal decompile.<p>As of writing there are 250+ lessons on the site and the lessons start at the very basics so anyone with a little programming experience should be able to jump straight in, even if you're not a C expert. Some lessons also have real functions taken from live open source decomp projects (Star Fox Adventures, Mario Party 4, Pikmin, Metroid Prime). The idea being you learn everything you need to know to be able to jump in and contribute to a real decompilation project when done.<p>The site is completely free, open source and you have access to all lessons without having to sign up. All lessons are stored in markdown in the repo (src/curriculum), it's trivial to add or modify lessons. The site is very new and the lessons are rapidly changing every day with a whole C++ section on the way. The site has already been well received by the decomp community and I'm happy to share it with HN. I'm very keen on others to contribute to this project and I hope this becomes the best resource on the internet for learning the art of decompilation. Please let me know what you think!<p>Source: <a href="https://github.com/JackPriceBurns/decomp-academy-fe" rel="nofollow">https://github.com/JackPriceBurns/decomp-academy-fe</a></p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48703412">https://news.ycombinator.com/item?id=48703412</a></p>
<p>Points: 195</p>
<p># Comments: 78</p>
]]></description><pubDate>Sun, 28 Jun 2026 01:21:20 +0000</pubDate><link>https://decomp-academy.dev</link><dc:creator>jackpriceburns</dc:creator><comments>https://news.ycombinator.com/item?id=48703412</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48703412</guid></item></channel></rss>