The Touhou PC-98 Restoration Project. Decompiled 100% of TH01 to provably legit C code, remaining games in progress. Which mods or ports do *you* want to see?

Joined February 2015
427 Photos and videos
Pinned Tweet
5 Oct 2019
Replying to @ReC98Project
Website is done, and the crowdfunding is now live! rec98.nmlgc.net Please invest responsibly.

7
24
140-175 ms for simulating the full 7 minutes of Shuusou Gyoku's Extra Stage on the command line. On an 8-year-old Core i5. Single-threaded. With MSVC's horrid codegen and several untapped optimization opportunities. And that's the heaviest case. Regular stages are much faster.
1
2
52
Of course, this also means instant detection of desyncs. (Though only via a Game Over occurring before the game processed all inputs, since that's all data we have in the old format. The new one will record more events that could pinpoint the cause of a desync more closely.)
36
Finally, Shuusou Gyoku's game logic, isolated in a reusable, freestanding DLL. No global state. No Win32 API dependencies besides GetProcessHeap(), HeapAlloc(), and HeapFree(). No instructions newer than i586. Still simulates blazingly fast. (Have fun guessing how fast exactly!)
23
700
ReC98 retweeted
(Yes, I've heard the news and will go right back to work! Just let me finish this really cool thing for Shuusou Gyoku I've been working on for the past few months, and then I'm going to spend an extended amount of time with the main business. OK?)
1
4
159
sizeof(C_SSG) is 403,280 bytes on 32-bit systems, and 405,664 bytes on 64-bit systems.
1
6
223
(Yes, I've heard the news and will go right back to work! Just let me finish this really cool thing for Shuusou Gyoku I've been working on for the past few months, and then I'm going to spend an extended amount of time with the main business. OK?)
1
4
159
Many thanks to this month's subscribers! The splitting process has escalated to not only cover Shuusou Gyoku's logic, but also my SDL-based engine, laying the groundwork for future modern-system builds. Only missing the CLI now, and of course the blog post. Mid-June, maybe?
5
204
Full list of seemingly decorative aspects in Shuusou Gyoku that are actually game logic and must always be simulated because they draw from and advance the single global RNG: • The hearts shown when losing a life • The sparks shown when grazing bullets or hitting an enemy
1
5
19
587
• The falling stars in the last phase of the Gates fight, and in Stage 6 • Boss explosions • The background animations in Stage 6 (wavy clock, wireframe cubes, and …
1
2
151
• …fake script code) • The text popups shown for boss defeat and Evade bonuses or when collecting a bomb or extra life, where each letter flies off at a different angle • The sprintf() implementation that decides the number of letters (and thus, RNG steps) in these popups (!)
2
104
Point items in Shuusou Gyoku will award negative points if you collect them below the bottom edge of the playfield during the respawn animation. And nobody noticed because 1) the game's 5×7-digit font doesn't have a - sign, and 2) the total score can't decrease, only increase.
1
8
40
1,711
… that's *not* the score that the game would record in the High Score list. Shuusou Gyoku only ever adds potential negative deltas to the score on a Game Over – not when switching stages, and not when clearing the game. And we obviously don't want to change such scoring details.
1
200
Thus, negative item values will continue to just "absorb" points from subsequently collected positive-value items like they did in the original game, and not immediately decrease the score. Some zoomed-in images variants for comparison: (fixed → original → ≥P0295 && ≤P0326)
188
Hilarious Shuusou Gyoku pbg quirk dropping later today
3
156
What's this? A MinGW fork with GCC 15 that targets Windows 98? Small package, no bullshit? Tested and working fine for trivial programs? github.com/redpanda-cpp/ming… Removing the KernelEx and SSE instruction requirements from Shuusou Gyoku's backport has just become a lot cheaper.
1
3
194
Many thanks to this month's subscribers! Very slow month, but I still managed to move enough code to push the headless Shuusou Gyoku subproject to over 100 commits. Very close to solving the hardest issues while juggling Windows 9x and FFI use cases. 4 pushes for sure, though.
2
191