⮜ Blog

List of tags

rec98 PC-98 Touhou source code reconstruction.
website Code behind this website.
th01 東方靈異伝 ~ The Highly Responsive to Prayers
th02 東方封魔録 ~ the Story of Eastern Wonderland
th03 東方夢時空 ~ Phantasmagoria of Dim.Dream
th04 東方幻想郷 ~ Lotus Land Story
th05 東方怪綺談 ~ Mystic Square
animation Colorful, crisp images that are played in a sequence.
anniversary-edition Polished and bugfixed forks of 100% decompiled games.
blitting Getting pixel data to and from VRAM.
bomb Limited-use item that damages enemies and grants temporary invulnerability, while playing a flashy animation specific to the player character.
bug Bugs in the original code that cause catastrophic effects when given malformed input. Modders beware!
build-process Dealing with the difficulties of building a mixed C++/assembly project with ancient compilers.
bullet Projectiles fired by enemies.
card-flipping TH01's regular, non-boss stages.
contribution-ideas Potential improvements that volunteers could meaningfully contribute to this project. Mostly minor issues, or slightly out of scope of the main project.
cutscene Endings or staff roll animations. Also applies to the cutscenes before stages 8 and 9 in TH03.
danmaku-pattern A complete danmaku animation over a specified period of time.
debloating Cleaning up ZUN's original code into something you can actually read and maintain.
debug Debug features that ZUN left in the shipped game.
dosbox-x A DOSBox fork with support for PC-98 emulation.
enemy Common stage enemies with simple scripts, in contrast to midbosses or bosses.
file-format Structure of an on-disk file format.
gaiji Custom 16×16 glyphs that can be used on the PC-98's 8-color text layer.
gameplay Code that defines the main in-game experience.
glitch Bugs in the original code that affect visuals or gameplay in minor ways.
good-code Things that ZUN implemented surprisingly well.
hidden-content Hidden features in the original games.
hud The area of the screen that displays the current score, lives, and bombs.
input Processing data entered from the keyboard or a joypad.
item Collectables, dropped from enemies and (mid)bosses.
jank Code of questionable quality.
kaja The PMD and MMD sound drivers by Masahiro Kajihara (梶原 正裕).
laser Beams that can collide with the player. Sometimes difficult.
master.lib A library providing an abstraction layer for all components of a PC-98 DOS system, collected and extended by Akihiko Koizuka (恋塚 昭彦). Written entirely in 16-bit x86 assembly.
menu Any window offering multiple options to be selected or configured.
meta Thoughts and news about this entire project.
micro-optimization Needlessly complicated code, achieving minimal performance gains at the cost of maintainability.
midboss A single bigger enemy with a slightly more complicated, hardcoded script, occasionally fought halfway through a stage.
mod Pre-compiled mod downloads, changing all sorts of things in the binaries.
palette Manipulation of the PC-98's 16-color palette for graphics.
pc98 Details on PC-98 hardware and software.
performance Evidence-based observations about programming a PC-98 with performance in mind. Does not include ramblings that aren't substantiated with measurements.
pipeline Additional, helpful code generation steps, beyond regular compiler/assembler invocations.
player Player-controlled characters.
portability Notes about future ports of the games away from x86 and the PC-98 platform.
position-independence Reducing the number of unlabeled memory references, to make life easier for modders. Also a requirement for using any other compiler on the reconstructed source code.
resident Data passed between the individual executables of each game.
rng Pseudo-randomness, in a gameplay sense. Emphasis on "pseudo".
score Points collected during gameplay, and stored in high score files.
shot Projectiles fired by the player.
stage The main scrolling portions of gameplay in TH02, TH04, and TH05. Mostly rendered using tile maps.
tasm Discoveries about Turbo Assembler.
tcc Discoveries about Turbo C++ 4.0J, the C++ compiler ZUN originally used for PC-98 Touhou.
thief Things that ZUN stole from others, without crediting them.
unused Unused remnants of code. Might tell something about a game's development history.
uth05win Open-source Windows rewrite of TH05, based on reverse-engineered code from the original. Slightly inaccurate in places, but overall still a great help for this project.
waste Consuming memory or disk space for no reason, or wrong reasons. Decent optimization opportunities for mods.
boss A bigger enemy with an extensive hardcoded script, fought at the end of a stage. Sometimes has personality.
singyoku TH01's Stage 5 boss.
yuugenmagan TH01's Stage 10 boss, on the 魔界/Makai route.
mima-th01 TH01's Stage 10 boss, on the 地獄/Jigoku route.
elis TH01's Stage 15 boss, on the 魔界/Makai route.
kikuri TH01's Stage 15 boss, on the 地獄/Jigoku route.
sariel TH01's Stage 20 boss, on the 魔界/Makai route.
konngara TH01's Stage 20 boss, on the 地獄/Jigoku route.
kurumi TH04's Stage 2 boss.
marisa-4 TH04's Stage 4 boss, when playing as Reimu.
reimu-4 TH04's Stage 4 boss, when playing as Marisa.
yuuka-5 TH04's Stage 5 boss.
yuuka-6 TH04's Stage 6 boss.
gengetsu TH04's second Extra Stage boss.
sara TH05's Stage 1 boss.
louise TH05's Stage 2 boss.
alice TH05's Stage 3 boss.
mai TH05's Stage 4 boss (one of them).
yuki TH05's Stage 4 boss (one of them).
yumeko TH05's Stage 5 boss.
shinki TH05's Stage 6 boss.
ex-alice TH05's Extra Stage boss.
seihou A dormant shooting game series by ZUN's former fellow students, who released the source code to the first two games in 2019.
sh01 秋霜玉 / Shuusou Gyoku