Ladies and gentlemen, it is with great pride that I am announcing that I have released the latest version of my SH4ZAM accelerated math and linear algebra library, v0.9.1!
github.com/gyrovorbis/sh4zam…
It features not only an SH4-accelerated back-end with hand-written, SIMD-optimized assembly routines targeting the Sega Dreamcast, but also now a generic back-end which runs on anything with a C or C++ compiler, enabling many of my users to run their same high-perf math code that is optimized for the Dreamcast also on the PC, PSP, Gamecube, 3DS and more... I even have a dude who cross-compiles his Dreamcast homebrew to WebAssembly, using SH4ZAM!
Unfortunately, though... I have something that I desperately need to get off my chest: this release almost didn't happen. I almost walked away from it all and rode off into the sunset, calling it a day on my retro homebrew career, leaving the Dreamcast community forever... due to one thing: AI.
I'm sure you've all noticed that the Dreamcast scene and other retro homebrew communities went from a few AAA ports a year being released by absolute rock star developers and trade-master engineers to becoming a dime-a-dozen, vibed up by people who have absolutely no idea what the fuck they're doing, frankly (and running like shit to prove it).
I was told by many that I was a fool for not using AI to accelerate my work with SH4ZAM, and that it could do all of my gainz better than I could. I was told that if I wouldn't step up and do it, someone else would fork my repo and go at it with AI, creating a better product... I was told that I would inevitably be replaced, and everything I was doing was pointless...
So I knew I had a choice... I could either sit back and let myself become self-deprecated due to stagnation, or I could step up and see if this brave new AI-driven world really did have something to offer to my work...
I knew objectively that my users only give a shit about GAINZ, and they could not care less where they come from. I also knew that rolling over and dying like an unsuccessful organism who refuses to adapt isn't my style... so...
I bought a subscription to Claude, and I immediately got to work setting everything up so that Claude could autonomously power on and off my physical Sega Dreamcast hardware, run my SH4ZAM testbed and benchmarks through the performance counters on the SH4 CPU to get clock cycle-level accurate timing information, and taught it how to iterate on my code with real-time feedback from HW-in-the-loop on whether its changes to my SH4 ASM resulted in GAINZ or LOSSEZ.
The result? You die-hard "zomg AI is so much better than you" guys are a bunch of goddamn LARPers!!! NOT ONCE, no matter how hard I tried or how many tokens I blew on this shit, did Claude find a way to reorganize a single instruction in my routines for GAINZ. It did, however find half a dozen novel new ways to fuck up my performance and destroy my work.
For SH4 performance work, and SH4 assembly optimizations, Claude is about as LARPy as you can be. Witness as it roleplays optimization guru, audaciously telling you that something "looks" slow based on instruction count, without even being smart enough to refer to the HW docs or do VERY BASIC cycle counting or bother with examining pipeline scheduling or data hazards or instruction pairing for superscalar dispatch on SH4... Not only was it BAD, but it was actively harmful, and no amount of telling it to extract its head from its ass made it any smarter...
BUT... I have to be honest here. While it's fucking WORTHLESS for writing REAL code, and I have literally forbidden it from touching my shit in a claude.md file... I do have to admit... I did find a way to accelerate my workflow and have multiplied my productivity many times with it... allowing me to slowly come to grips with how to use sir Claudius von LARPimus, the audacious Clanker, to my full advantage.
I started having it write unit tests for me. I started having it tweak my benchmarker for me. I started having it troubleshoot my mistakes IN PARALLEL with me doing the same, so that we could root-cause issues even faster. I started having IT be the one to run my tweaks through the hardware counters and report back precise instruction count deltas and GAINZ or LOSSEZ between the changes... and shit, I even got Claude to do some of this work autonomously while I was out doing other things... like getting in some cardio or watching Digimon with my beautiful daughter...
So there you have it. Yes, I've decided to stick around and continue my work with an AI accelerated workflow. NO, AI is not great at writing EITHER high-quality or high-perf code, but it has an obvious appeal to B-tier devs due to LARPing with authority.
In the end? I might be a hypocrite flip-flopping on my stance many times, but I have to be open and honest with where I'm at... and the truth is that my love for the Dreamcast and this community and everything we've built together supersedes my disgust with the brainless direction this industry is headed in...
So no, I'm not going to be taking a hard anti-AI stance and fragmenting this beautiful community which has always been held together by the bonds of common interests and shared passion for the Dreamcast.
So come as you are, everyone. Come engineers, come casuals, come AI accelerated developers, come clueless vibing LARPers: come and get your GAINZ, and let me know if you or your Clanker need anything else from me or SH4ZAM, because I will not be going anywhere anytime soon!