News: 11 March 2016 - Forum Rules

Author Topic: What is the purpose of the 'ftc' folder in DS roms  (Read 441 times)

Nebba

  • Jr. Member
  • **
  • Posts: 17
    • View Profile
What is the purpose of the 'ftc' folder in DS roms
« on: September 23, 2021, 07:49:22 pm »
Hello, I looking into the files of some DS roms and saw the folder 'ftc' and I wanted to to know what the general purpose of the folder and what its files do. If anyone can answer my question that would be much appreciated.

-ftc
*rom.nds
*fnt.bin
*banner.bin
*arm9.bin
*arm7.bin

FAST6191

  • Hero Member
  • *****
  • Posts: 3290
    • View Profile
Re: What is the purpose of the 'ftc' folder in DS roms
« Reply #1 on: September 24, 2021, 10:30:06 am »
Not sure really. Not all ROMs have them and while it seems like one I have seen I have not had real cause to investigate the ftc stuff and don't recall finding anything interesting in them (unlike dwc which often does interesting things). https://tcrf.net/Nintendo_DS#Unused_Banners mentions them as a possible source of developer leftover files.
fnt is usually file name table
banner.bin is the icon and name in various languages
http://problemkaputt.de/gbatek.htm#dscartridgenitroromandnitroarcfilesystems

arm9.bin is the binary for the ARM9 processor of the DS, which in commercial games is the main thing doing everything, homebrew might vary. Should be mostly code but I have pulled everything from debug strings to full text to level data to player stats tables from such things.
arm7.bin is the binary for the ARM7 processor of the DS, which in commercial games is a workhorse common to games developed/released around the same time; you can usually even swap them around between ROMs of similar vintage (at one point some anti piracy/flash cart troubles were sorted by swapping the arm7 around, hence arm7 swap in some tools) as it is basically a library function that handles some of the hardware. Can be useful to hook to do various things as it can still speak to memory, crunch data and whatnot but otherwise is usually of minimal interest to most hacking endeavours. Homebrew however can and sometimes did make more extensive use of the ARM7 processor to do all sorts of things (one of the video programs even using it as the main processor and leaving the ARM9 to data crunching duties).

the arm binaries (mostly arm9) may well be expanded by overlays which is where a small section of memory (usually towards the end of the memory where the arm9 is closer to the start in most games, stuff like ndsts will tell you where things will land in memory as it is also part of the header) will be sectioned off for use by the overlays which swap in and out when needed. Can have multiple overlays in slightly different locations active at once, or the whole thing might be overwritten.

https://imrannazar.com/ARM-Opcode-Map https://imrannazar.com/The-Smallest-NDS-File might also have some stuff you find interesting.

Nebba

  • Jr. Member
  • **
  • Posts: 17
    • View Profile
Re: What is the purpose of the 'ftc' folder in DS roms
« Reply #2 on: September 24, 2021, 11:43:47 am »
Thank you for the info :)