ReC98
@rec98project.bsky.social
110 followers 7 following 160 posts
https://rec98.nmlgc.net 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?
Posts Media Videos Starter Packs
Summary blog post: rec98.nmlgc.net/blog/2025-09-29

Ending this overly indulgent subproject with, among other things:
• Heap fragmentation everywhere
• An asynchronous fade effect
• Silly binary size micro-optimizations

Funded by [Anonymous] and Ember2528.
Many thanks to this month's subscribers!

The current plan for the rest of the year:
1) Shuusou Gyoku maintenance (will quickly free up some budget)
2) TH03 RE
3) Better replays for Shuusou Gyoku
4) TH03 netplay (would be nice to get it done by the end of the year)
🚚 Released the first version of the TH03 Anniversary Edition together with the first debloated builds of all five games! Primarily reduces lag in menus and cutscenes as a first step towards portability, but also comes with a single new feature.

Download: github.com/nmlgc/ReC98/...
The end is near! >9,800 words, and probably the last big blog post for this year. I wanna code again!

Out within the next few hours…
$ git diff --stat debloated~193 debloated
[…]
259 files changed, 4145 insertions(+), 8099 deletions(-)

~4,000 lines of ad-hoc PC-98-native graphics code, bloat, landmines, bloat- and landmine-documenting comments, and binary-specific inconsistencies removed from game code 🎉
Summary blog post: rec98.nmlgc.net/blog/2025-09...

This time with:
• More research into earlier Bluesky posts
• Special content for Peaceful Romancer enjoyers
• The 4th bug caused by C's integer promotion rules within 11 months

Funded by [Anonymous], Ember2528, Yanga, and Blue Bolt.
🚚 Part 3 is out, bringing five disconnected and small decompilations and actually shifting the percentages on the front page for a change!

🐞 5 bugs
💣 3 landmines
🎺 2 quirks
🪨 24 pieces of bloat
> Next post is about five small and disconnected RE tasks
> Try to write five short paragraphs with bullet points in the style of touhou-memories
> Still end up with over 2,000 words

Coming to you within the next few hours…
Link: rec98.nmlgc.net/blog/2025-09...

… OK, it does have two bits of very silly Touhou content in the end. That'll have to do until the next one.

Funded by [Anonymous], Ember2528, and Congrio.
Part 2 of my 4-part 2025 PC-98 Touhou portability series is out!
This one is also our second deep dive into PC-98 blitting performance with two new benchmarks, and also looks at the two libraries that ZUN used to load PI images.

Not a lot of Touhou-specific content in this one.
Second part is in proofreading. Over 9,300 words about PC-98 blitting and the .PI format, coming to you within the next few hours…
📝 Wrote a post about the various strategies of porting PC-98 Touhou to modern platforms! Also clears up common misconceptions about the performance of the PC-98 originals.
This one is required reading for anyone who wants to see these games ported.

Link: rec98.nmlgc.net/blog/2025-09...
Trying something new this time! The next release touches on so many topics that one blog post would have been way too intense for everyone.

So I'm splitting it up into 4 posts, with each focusing on a different topic.

First part (~8,000 words) coming within the next few hours…
Many thanks to this month's subscribers!

Code is done escalating, and now it's the blog post's turn. Got >13,000 words now and it's still missing lots of content… I'll be so relieved once I get to spend the rest of the year on TH03 and Shuusou Gyoku with no more distractions.
Here's all the ZUN quirks, bugs, landmines, and bloat from previously RE'd code that I missed or got wrong in previous pushes and fixed for the upcoming ones.

Reverse-engineering is hard.
By the way, your TH06 review contains what's still the best piece of journalism I've read about ReC98 so far. Thank you so much for that.
Testing completed.
This one was fixed in the 2014 English patch.
The same screen appears correctly in Reimu B's Good Ending, which reveals this as a typo in a picture crossfading command.

The ",4" is supposed to be the second parameter, specifying how many frames to wait between each crossfading step.
Here's a funny script bug in TH04's Good Ending for Reimu A that I just stumbled over.

",4魔理沙"?! 🎺

(Third-party clip from 2013 for proof: www.youtube.com/clip/UgkxUo6...)
Summary blog post (1,031 words) and downloads:
rec98.nmlgc.net/blog/2025-08...

Found no actual case of such a desync in the wild so far, but the possibility is there.

Many, many thanks to Ripper Roo for reporting this one.
⚠️ Another Shuusou Gyoku Extra Stage replay desync bug?
This time though, it's the actual catastrophic kind: An accidental fork of Marisa's gameplay that might invalidate replays recorded on any ReC98 build from the last 10 months, now that I've restored the original behavior.
Many thanks to this month's subscribers!

384 commits across 10 pushes coming your way soon… (Hopefully)
But for the most part, this went hand in hand with making the games more portable by throwing out redundant PC-98-specific code, sorting out inconsistencies between OP and MAINE/MAINL, and general code cleanup.

That finally concludes this dev cycle! Onto testing and blogging…
And TH05. This game has by far the most data unique to its OP.EXE and MAINE.EXE; even just *matching* the memory consumption of the original OP.EXE required every trick in the book and then some.

(Storing all those hardcoded strings in files would have still been better.)