Homebrew Homebrew game Touhou Project on Switch - all ports in one place

  • Thread starter Thread starter Saekaze
  • Start date Start date
  • Views Views 2,177
  • Replies Replies 17
  • Likes Likes 11

Saekaze

Active Member
Newcomer
Joined
Jul 6, 2026
Messages
32
Reaction score
71
Trophies
0
XP
258
Country
Russia
Touhou Project on Switch – all ports in one place​

All my native Touhou Project ports for the Nintendo Switch have one hub page:
https://github.com/saekaze/touhou-switch

Official games (ZUN / Team Shanghai Alice)

Fan games
  • 東方眠世界 ~ Wonderful Waking World by Oligarchomp — thWWW-switch

Note for Touhou 15
The first launch takes much longer than usual: the port builds the text font from msgothic.ttc once and saves it to the SD card. Let the loading screen run. After that it starts normally.

No game files are included. You need your own copy of each game.
 
Last edited by Saekaze,
The Ports work perfectly with files i'm had.

My question is you can play with translate english version? I'm see someone put english files and play in switch.

My question is how to do this? What files need to put or change or nee removed to play with english patch?
 
icon.jpg


Touhou 15: Legacy of Lunatic Kingdom – Switch Port
東方紺珠伝 ~ Legacy of Lunatic Kingdom​


Features
  • The full game: Reimu, Marisa, Sanae and Reisen, Legacy and Pointdevice modes, every difficulty, all 6 stages and Extra, chapter checkpoints, endings, music room and replays
  • Original BGM streamed straight from your thbgm.dat, with the original loop points
  • Same default controls as my other Touhou ports, remappable in Option → Key Config
  • Touch controls in handheld mode (drag to move, tap menus)
  • 4:3 picture centred with pure black bars (OLED friendly)
  • Japanese title in hbmenu on consoles set to 日本語
  • Saves, replays, checkpoints and snapshots next to the game data

⚠️ First launch is long – only once!
The first start takes much longer than usual. This is normal, so let the loading bar finish and don't close the game.

Why: TH15 draws all of its text (menus, dialogue, spell card names) with Windows fonts, and those aren't in the game files. On the first start the port builds the font itself from msgothic.ttc (about 7,500 characters in 8 sizes) and saves it to the SD card as fontcache/ (~55 MB).

After that it's fine. Later launches just load the saved font and start normally.

Installation
You need your own copy of Touhou 15 v1.00b. No game files are included.

Code:
sd:/switch/touhou/touhou15/
    ├── touhou15.nro
    ├── th15.dat
    ├── thbgm.dat      (music, optional)
    └── msgothic.ttc   (from C:\Windows\Fonts, recommended)



Download
touhou15.nro – GitHub Releases

All my Touhou ports: https://github.com/saekaze/touhou-switch
1791316366716.png

Post automatically merged:

Update: 東方眠世界 ~ Wonderful Waking World (thWWW-switch update 2)

Download thwww.nro · Source / README

  • Stage 5 background fixed: the boat interior looks like the PC game again.
  • About 24% less CPU work on dense Lunatic patterns.
  • Remappable controls: Option → Key Config rebinds shot, focus, bomb and pause. Same defaults as my other ports (B shoot, A bomb, L/ZL focus, + pause, R/ZR hold to skip dialogue).
  • High scores and replays use your own name again (the game's name entry) instead of "SWITCH".

Overclock recommended for Lunatic: the port runs at stock clocks. At stock the hardest Lunatic spell cards reach about 55 FPS, because every bullet runs the game's GameMaker scripts through an interpreter. Tested docked with a ~1785 MHz overclock, they hold perfect 60 FPS; a much smaller overclock will probably also work.

Just replace thwww.nro in sd:/switch/thwww/, your save/ folder is kept.
 
Last edited by Saekaze,
Touhou 15: Legacy of Lunatic Kingdom – update 1.00b-r2

Download touhou15.nro

  • Fixed the freeze when a spell card ends. At every chapter change TH15 saves a checkpoint file; the port used to compress and write it on the game thread, which froze the game for a moment right as the bullets disappeared. It now saves in the background on another CPU core, like the original game.
  • Faster checkpoint snapshot when lots of bullets were just cancelled.

Just replace touhou15.nro in sd:/switch/touhou/touhou15/ – saves, replays and fontcache/ are kept.
 
Last edited by Saekaze,
  • Like
Reactions: NekoMikoReimu
Touhou 15 – 1.00b-r3 · Download
The original loading screen is back: the "15th Project Shrine Maiden" start screen with the 少女祈祷中 animation, instead of a grey bar.
Big thanks to シエル (native Touhou PSP ports), who worked out how the original makes this screen and shared their code!

Just replace touhou15.nro – saves, replays and the font cache are kept.
 
  • Like
Reactions: NekoMikoReimu
icon.jpg


Touhou 7.5: Immaterial and Missing Power – Switch Port
東方萃夢想 ~ Immaterial and Missing Power.​

The first fighting game: a native homebrew port of Twilight Frontier and Team Shanghai Alice's Touhou 7.5: Immaterial and Missing Power for the Nintendo Switch.

It runs SteinsGateON's C++ reimplementation of the game, compiled natively for ARM64. No emulation, no Linux, no Box64 or Wine. Just an NRO you start from hbmenu.

Features
  • The full game: Story (all ten characters to their endings), Arcade, Versus (player or CPU), Training, replays, Music Room, results and the card list
  • Reads your original th075.dat, th075b.dat and th075bgm.dat directly – nothing to unpack or convert
  • Original BGM streamed straight from th075bgm.dat, with the original loop points
  • Japanese text drawn from msgothic.ttc as it appears – no long first launch
  • 4:3 picture centred with pure black bars (OLED friendly)
  • Japanese title in hbmenu on consoles set to 日本語
  • Scores, settings, replays and snapshots next to the game data

🎮 Local 2-player
The Joy-Cons are player 1 (handheld, in a grip or both detached) and a Pro Controller is player 2. Play Versus on one Switch. With no Joy-Cons connected, the first Pro Controller is player 1.

Installation
You need your own copy of Touhou 7.5, Japanese, updated to ver1.11. No game files are included.

Code:
sd:/switch/touhou/touhou075/
    ├── touhou075.nro
    ├── th075.dat
    ├── th075b.dat     (ver1.11 patch data)
    ├── th075bgm.dat   (music, optional)
    └── msgothic.ttc   (from C:\Windows\Fonts, recommended)

Launch from hbmenu. The Chinese fan edition (th075c) isn't supported; use the Japanese files.


Known limitations
Training mode's dummy settings (F1–F8 on PC) and the replay speed keys aren't on the controller yet.

Download
touhou075.nro – GitHub Releases
Source: https://github.com/saekaze/th075-switch
All my Touhou ports: https://github.com/saekaze/touhou-switch

Credits
  • Twilight Frontier / ZUN / Team Shanghai Alice – Immaterial and Missing Power
  • SteinsGateON – the TH075 C++ reimplementation, published by Goan114 (MIT)
  • N0zoM1z0 – the TH075 reverse-engineering reference it was checked against
  • Switchbrew & devkitPro – libnx and the toolchain

Bug reports are welcome. If something goes wrong, please attach th075-switch.log from the game folder.
 
Last edited by Saekaze,
icon.jpg


Touhou 12: Undefined Fantastic Object – Switch Port
東方星蓮船 ~ Undefined Fantastic Object.​

a native homebrew port of ZUN's Touhou 12: Undefined Fantastic Object for the Nintendo Switch.



Installation
You need your own copy of Touhou 12, ver 1.00b (Japanese). No game files are included.

Code:
sd:/switch/touhou/touhou12/
    ├── touhou12.nro
    ├── th12.exe       (the original 1.00b executable)
    ├── th12.dat
    ├── thbgm.dat      (music, optional)
    └── msgothic.ttc   (from C:\Windows\Fonts, recommended)

th12.exe must be the original 1.00b executable, not a patcher's launcher: the port reads the sound and bullet tables from it. If you are already playing on PC you can copy your scoreth12.dat, th12.cfg and replay folder over too.

Controls
Same layout as all my Touhou ports; Option → Key Config can rebind it.

Download
touhou12.nro – GitHub Releases
Source: https://github.com/saekaze/th12-switch
All my Touhou ports: https://github.com/saekaze/touhou-switch

Credits
  • ZUN / Team Shanghai Alice – Undefined Fantastic Object
  • Tweet-META – the TH12 C++ reimplementation (MIT), also published by Ritosa2333
  • thpatch / thtk – the TH12 archive cipher table
  • Switchbrew & devkitPro – libnx and the toolchain

Bug reports are welcome. If something goes wrong, please attach th12-switch.log from the game folder.
 
  • Like
Reactions: NekoMikoReimu
Touhou 12:Update: 1.00b-r2

- Stage transitions like the original: after a stage clear the field fades out and the next stage fades in, no black loading screen in between. Replays play the stage clear sequence too.
- Smoother boss fights: fewer frame drops in dense patterns.

Just replace touhou12.nro. Saves and replays are kept.
Download: Releases
All my Touhou ports in one place: Touhou Project on Nintendo Switch — hub
Post automatically merged:

Saekaze strikes again! Thanks for Touhou 12! It's one of my favorites of the series. :)
Thank you so much for your support!💚
 
  • Like
Reactions: NekoMikoReimu
Touhou 10:Update: 1.00a-r6

The game now runs as native ARM64 code instead of going through a WebAssembly layer.

- Much faster: the game's own work per frame is about 60% lower in the heaviest spell cards, and the hardest moments run about 33% faster when fast-forwarding a replay. The frame drops in busy boss fights are gone. (framedrop during Hina's spellcard was too annoying before lol)
- Same folder, saves, replays and controls.

Just replace touhou10.nro.
Download: Releases
All my Touhou ports in one place: Touhou Project on Nintendo Switch — hub
 
  • Like
Reactions: NekoMikoReimu

Site & Scene News

New Hot Discussed User Submitted