Hacking ROM Hack [NDS] Trauma Center 2 – Unable to locate font (need help adding accents)

  • Thread starter Thread starter ferroye
  • Start date Start date
  • Views Views 570
  • Replies Replies 2

ferroye

New Member
Newbie
Joined
Apr 5, 2026
Messages
2
Reaction score
0
Trophies
0
Age
46
XP
11
Country
France
Hi everyone,

I’m currently working on a ROM hack/translation of Trauma Center 2 (NDS) and I’m stuck on the font.

Goal:
→ Add accented characters (é, è, à, ç, etc.)

What I’ve done so far:

  • Extracted the ROM and explored files with CrystalTile2 / Tinke
  • Located script files in /operation/msg/*.bin
  • Successfully identified and modified text content
Problem:

  • I cannot locate the font file
  • I did NOT find any obvious .NFTR file
  • I suspect the font might be:
    • stored as tiles (NCGR/NCLR)
    • or embedded/compressed in a .bin
What I tried:

  • Searching for font-like graphics in NCGR files → no clear match
  • Basic tile viewing, but nothing obvious
  • No success identifying where characters are stored or mapped
Questions:

  1. Does anyone know how Trauma Center 2 handles its font?
  2. Is the font tile-based or custom/compressed?
  3. Any tips to locate it (VRAM viewer, specific file, known offset)?
Any help or direction would be greatly appreciated 🙏

Thanks!
 
Hi everyone,

I’m working on extracting and modifying text from Trauma Center: Under the Knife 2 (Nintendo DS) and I’ve reached a technical roadblock regarding the font rendering.

Here’s the current situation:

  • Text is stored in .bin files using a custom 16-bit encoding
  • I reconstructed a partial table:
    • ASCII letters are mapped (e.g. 0x0100 = e, 0x0115 = z)
  • I can successfully:
    • decode → edit → re-encode → reinject text
    • the game displays modified text correctly

Character mapping experiment​

I found that some unused codes render valid glyphs (likely Cyrillic or extended set):

  • 0x0356, 0x0357, 0x0358, 0x0359, 0x0340
I remapped French accents like this:

  • é → 0356
  • è → 0357
  • à → 0358
  • ù → 0359
  • ç → 0340
This works perfectly from an encoding perspective — the game displays them (as different glyphs), so the slots are usable.



The problem: font location​

Using DeSmuME:

  • Text appears only in:
    • Sub screen → SPR (sprite)
    • LCD: 0x6860000
  • OAM shows 16x16 sprite tiles
  • Tile Viewer only shows:
    • final rendered text
    • no clean font atlas
    • no full alphabet anywhere
I cannot find:

  • NFTR
  • NCGR
  • or any obvious font file in the ROM


Hypothesis​

It seems the game:

  • does not use a standard font atlas
  • likely uses:
    • decompressed / streamed glyphs
    • or runtime-built tile data
  • Tile Viewer only exposes the final buffer, not the source glyphs


Question​

Has anyone encountered this type of text system on NDS?

Specifically:

  • Where could the actual glyph data be stored?
  • Is it common for DS games to:
    • dynamically generate font tiles?
    • or store them in compressed binary blobs / ARM9?
  • Any known approach to:
    • locate glyph sources when they are not visible in VRAM as a clean set?


Goal​

I’d like to replace a few glyphs (repurposed slots) to display proper French accents.



Any pointers or similar case studies would be hugely appreciated.

Thanks!
 
The accent problem isn't trivial, between having to locate the file containing the glyphs and then having to display and edit individual characters. It's easy with some games, but I've noticed it's particularly complex with others.

Then there's the issue of available character height, which may require some compromise, as increasing the available size can usually result in losing lines of text.
 
Last edited by Provare,

Site & Scene News

Popular threads in this forum