Hacking [Tuto] R4i SDHC (and other clones) - How to play new games ?

CalamityDjenn

Well-Known Member
OP
Member
Joined
Nov 7, 2010
Messages
162
Trophies
0
Age
36
Location
Quimperlé
XP
140
Country
France
You got a clone ?
You got problems playing new games ?
You cannot find informations about your linker?
Well, you should fin a solution in this topic <img src="style_emoticons/<#EMO_DIR#>/smile.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile.gif" />

IMO, too much people would cry not playing few games cause of the so called "crappy fake linkers". Yeah, they are fake, but we got alternatives and they work properly if you don't throw them in the washing machine <img src="style_emoticons/<#EMO_DIR#>/tongue.gif" style="vertical-align:middle" emoid=":P" border="0" alt="tongue.gif" />

<img src="style_emoticons/<#EMO_DIR#>/excl.gif" style="vertical-align:middle" emoid=":!:" border="0" alt="excl.gif" /> <b>What follow should work for every R4i (revolution) (DSTT) based clones (>= 1.4</b>) <img src="style_emoticons/<#EMO_DIR#>/excl.gif" style="vertical-align:middle" emoid=":!:" border="0" alt="excl.gif" /> <img src="style_emoticons/<#EMO_DIR#>/toot.gif" style="vertical-align:middle" emoid=":toot:" border="0" alt="toot.gif" />
<b>You also should check if your card supports these manipulations : <a href="http://gbatemp.net/t267899-list-cards-which-can-use-ysmenu-dstt" target="_blank">list of card which work</a></b>

To play new games, we got to modify the kernel we use. Here, we have got few choices :

<b>1</b> - to natively use YSMenu/DSTT kernel (really easy, set it up in +/- 5 minutes!)
<b>2</b> - to mix your original clone kernel with the last TTMenu/YSMenu release, so you would keep your GUI
<b>It can be quite long to make it works if you don't have enough informations about the correspondance between files</b>
<b>3</b> - to use another kernel besides the original R4 clone's (very simple as well, +/- 5minutes!)

These three methods mean you would be able to launch any game fixed in extinfo.dat, infolib.dat and savlib.dat files from Retrogamefan.

<u><b>The kind of linker we use for this tutorial :</b></u>
I am using this linker :
<img src="http://images.excheap.com/R4i-Ndsill-dsi-ll-Revolution-for-DS-DSL-DSi-DSi-LL-2940.jpg" border="0" class="linked-image" />

This is its system structure :

<a href="http://img593.imageshack.us/i/r4ibluewwwndsillnetarch.png/" target="_blank"><img src="http://img593.imageshack.us/img593/4533/r4ibluewwwndsillnetarch.png" border="0" class="linked-image" /></a>

All linkers with this kind of structure match this tutorial.
We basically cannot modify anything and have to wait for updates on the websites... Really annoying.
Then, we are going to modify the linker's kernel!


<!--sizeo:3--><span style="font-size:12pt;line-height:100%"><!--/sizeo--><!--coloro:#9ACD32--><span style="color:#9ACD32"><!--/coloro--><b>FIRST CHOICE - USING YSMenu/DSTT NATIVELY (no more R4 main menu, no more R4 kernel, only YSMenu/DSTT)</b><!--colorc--></span><!--/colorc--><!--sizec--></span><!--/sizec-->
<b>INFO :</b> This means you would not use your R4 clone kernel at all, you would not copy any files from it on you SD card, all you will use is YSMenu or DSTT <img src="style_emoticons/<#EMO_DIR#>/wink.gif" style="vertical-align:middle" emoid=";)" border="0" alt="wink.gif" />

- Backup you files.
- Format your micro SD card.
- Copy all files from Retrogamefan's last release on / (root) of you card : /TTMENU/, TTMenu.dat, TTMENU.SYS
- Rename TTMenu.dat to what your R4 clone's kernel uses (iLL.iL, R4.dat, R4i.TP, etc...). Mine uses iLL.iL so I renamed TTMenu.dat with that name.
- Put the micro SD card into your linker, then turn on your DS and say "woaaaaaw" <img src="style_emoticons/<#EMO_DIR#>/tongue.gif" style="vertical-align:middle" emoid=":P" border="0" alt="tongue.gif" />
If it boots fine, then you can copy your games/homebrews on your card and play!

It means, for people using the same R4 clone's kernel than me :
- no more main menu where you got to choose between Games, Media, SLOT2.
- no more R4 clone's kernel updates' to do, just update the YSMenu/DSTT files from Retrogamefan's.

<b>Nota Bene :</b> You can also use an AKAIO or any GUI with the DSTT kernel if you want to, BUT you will always have to use /TTMENU/ files. <b>You cannot autoload another kernel structure, it has to match DSTT's!</b>
<!--sizeo:3--><span style="font-size:12pt;line-height:100%"><!--/sizeo--><!--coloro:#FF8C00--><span style="color:#FF8C00"><!--/coloro--><b>SECOND CHOICE - USING THE NATIVE SYSTEM FILES</b><!--colorc--></span><!--/colorc--><!--sizec--></span><!--/sizec-->
Well, you all know these cards kernel is DSTT based...

Here is the <b>correspondance schem from /SYSTEM/ (if you got different names but same kind of structure it will also work the same)</b> :

<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->Cookie.dll -> ttsystem.ini
DLDIDB.dll -> R4patch.datÂÂÂÂÂÂ-----ÂÂÂÂ To launch the games
extinfo.dll -> extinfo.dat
FONTLU.dat -> system.l2u
FONTUL.dat -> system.u2l
INFbase.dll -> infolib.dat
infdase.dll -> ?????ÂÂÂÂÂÂ-----ÂÂÂÂ Don't know its correspondance exactly but it does not need to change, so keep it as it is atm
R4RESET.dll != ttreset.dat (same data but you got to modify the reset.mse for it to work. See the end of this post)
SYSFON.datÂÂ-> system.fon
Runhook.dll -> ttpatch.datÂÂÂÂÂÂ-----ÂÂÂÂ To launch the games
SAVEDB.DLL -> savlib.dat
SYSANK.dat -> system.ank
usrcheat.dat = usrcheat.dat (exactly the same file)

R4patch.dat != ttpatch.dat
R4RESET.dll != ttreset.dat (need the reset.mse to work on YSMenu/TTDS)

OPTIONS.SYS : What is that file for ? Don't have anything like that on the R4 DSTT clone system, does not seem to be necessary...<!--c2--></div><!--ec2-->

So, copying and renaming DSTT files in order to use them natively works, you can launch any game fixed via the last .dat files from Retrogamefan <img src="style_emoticons/<#EMO_DIR#>/wink.gif" style="vertical-align:middle" emoid=";)" border="0" alt="wink.gif" />


<u>ORIGINAL FILES :</u>

INFbase.dll = 530,00Kio (542720 octets) - 5200 entries - 26 March 2010
infdase.dll = 536,9Kio (549792 octets) 5281 entries - 30 July 2010
extinfo.dll = 53,9 Kio (55242 octets) 348 entries - 30 July 2010

Here are the difference that ttds.exe shows :

<a href="http://img696.imageshack.us/i/infbasedllinfdasedllext.png/" target="_blank"><img src="http://img696.imageshack.us/img696/6129/infbasedllinfdasedllext.png" border="0" class="linked-image" /></a>

So, obviously the infdase.dll is just another infolib.dat but I don't get why we need it for, but it is necessary to boot games so, donnot modify/replace it except from official cards constructor releases.

<u><b>HOW TO</b></u>

<b>Part One</b> - Download the last TTMenu/YSMenu files available
<b>Part Two</b> - Copy and rename the /TTMENU/ files into /SYSTEM/ according to the correspondance table above.
<b>Part Three</b> - Test it! <img src="style_emoticons/<#EMO_DIR#>/tongue.gif" style="vertical-align:middle" emoid=":P" border="0" alt="tongue.gif" />
<!--sizeo:3--><span style="font-size:12pt;line-height:100%"><!--/sizeo--><!--coloro:#9932CC--><span style="color:#9932CC"><!--/coloro--><u><b>ALTERNATIVE - USING A DUAL BOOT WITH TTMENU/YSMENU/ANOTHER KERNEL :</b></u><!--colorc--></span><!--/colorc--><!--sizec--></span><!--/sizec-->
<b>First step - Easy</b> Got the latest firmware for your linker. For this tutorial, we would use the 2.07 from <a href="http://r4i-sdhc.com.tw/downloade.asp" target="_blank">r4i-sdhc.com.tw</a> as it is the more recent one available on internet betwenn all constructor websites (www.r4igold.cn and www.ndsill.net should also works on it).
You can find many others from different websites, just be sure they use the same system architecture.

<b>Second step - Still easy...</b> Then, get the last <b>YSMenu/TTDS kernel</b> from... Google <img src="style_emoticons/<#EMO_DIR#>/tongue.gif" style="vertical-align:middle" emoid=":P" border="0" alt="tongue.gif" /> : I am using the V117a13 (japanese version) for this tutorial, but you would prefer to find the last Retrogamefan package!.
-> Copy the TTMENU folder, TTMENU.DAT and TTMENU.SYS on / (root) of your micro SD card. It could ask you to replace TTMENU.SYS, say yes.
-> Rename the /TTMENU.DAT to /TTMENU.NDS.

<b>Third step - Drowsy part : what you got to know</b> At this point, as you got the last TTDS firmware, you got the new ID games (clean rom) in the database.
These files are /TTMENU/infolib.dat and /TTMENU/extinfo.dat. Inside them, you got two columns : CODE (4characters) and ID (8characters) containing Hexadecimal data (0-9 and A-F). They're informations about the games supported by the system.

<b>Fourth step - Only necessary if you need to add games ID (for example, if you patched a rom which now got a new ID)</b>

To edit '/TTMENU/extinfo.dat' and '/TTMENU/infolib.dat' related to the ID games database (on your Micro SD card) :
-> <a href="http://www.mediafire.com/?rco5tv4wvgto1nt" target="_blank">Download this package</a>
-> Use ttd.exe and open both .dat files we were talking above; find the lines with the xxxx code of your game.
-> If you want to play a patched rom : in both .dat, you got to copy an original code line relative to your game and then rename it (Data Control -> ID info...) with the patched ID. Now, you should got another line in both files : for example, with Pokemon Black/White IDs, here you got the clean ROM ID, the V3 patch ID and the V5 patch ID for each version of the game :

<a href="http://img830.imageshack.us/i/ttdseditiondatabaseedit.png/" target="_blank"><img src="http://img830.imageshack.us/img830/581/ttdseditiondatabaseedit.png" border="0" class="linked-image" /></a>
<b>!!! The hex data should not change as you just do copies, then only edit the ID you see in the column !!!</b>

-> To get ID from any rom, you can use <b>R4 Cheat Code Editor V1.01</b> (google!)
<b>/!\ R4 Cheat Code editor only permits to get ID with 1.01 version. The 1.00 would not do it /!\</b>
-> Save the files where they were on the card (/TTMENU/).

<b>Fifth step - Happiness</b> Put your Micro SD card into your linker, then put it in your DS.
Turn on your DS, boot the linker and from now, you can launch the TTMENU.NDS everytime you need to play any/new games (cause we can update the TTDS database, but you cannot do it easily on the R4i)! It will launch the TTDS firmware as if you had a TTDS card <img src="style_emoticons/<#EMO_DIR#>/yay.gif" style="vertical-align:middle" emoid=":yay:" border="0" alt="yay.gif" />
There you are! Launch the game and enjoy it! <img src="style_emoticons/<#EMO_DIR#>/wink.gif" style="vertical-align:middle" emoid=";)" border="0" alt="wink.gif" />
The good thing with this one is you would not need to update your R4i firmware anymore, like in the first choice <img src="style_emoticons/<#EMO_DIR#>/wink.gif" style="vertical-align:middle" emoid=";)" border="0" alt="wink.gif" />



<b>Edit 14.11.10 : <u>You want to launch the TTMenu automatically when taping the middle/left icon (to get the file explorer) ?</b></u>
-> Edit the Cookies.dll with a text editor like Notepad.
-> Modify this line as follow
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->; Auto boot this file (default DEFAULT.NDS)
AUTO_BOOT=TTMENU.NDS<!--c2--></div><!--ec2-->
-> Save and be sure to have TTMENU.NDS on the root of ther card.
-> Put your micro SD into your linker, boot and say "hourra!" <img src="style_emoticons/<#EMO_DIR#>/smile.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile.gif" />
<b>Edit 19.11.10 : <u>You want to make the reset work (A+B+X+Y+L+R) ?</b></u>
-> Edit the /TTMenu/reset.mse
-> Find the line with TTMENU.DAT and replace it with your bootloader name (e.g iLL.iL, R4.dat, etc.). Save the file.

<u>Additional links :</u>
-> <a href="http://www.linfoxdomain.com/nintendo/ds/" target="_blank">To find your linker firmware website</a>
-> <a href="http://gbatemp.net/t267243-retrogamefan-updates-releases" target="_blank">To get the last RetroGameFan update/release </a>
-> Lazy/bored/a big cheater ? <a href="http://cheats.gbatemp.net/" target="_blank">Get the last usrcheat.dat</a>
-> Is this game fixed ? <a href="http://gbatemp.net/t264644-for-coder-about-extinfo-infolib-etc" target="_blank">Have a look</a>!
-> "I got the last .dat files but the new game I wanna play is not even fixed in the database" : <a href="http://gbatemp.net/t255899-project-code-infolib-dat-extinfo-dat-for-dstt" target="_blank">You are not a noob and you'll get the Hexadecimal Data+ID from the rom to inject them in the database!</a> <img src="style_emoticons/<#EMO_DIR#>/tongue.gif" style="vertical-align:middle" emoid=":P" border="0" alt="tongue.gif" />
-> Dev project for DSTT clones firmware : upgrade from v1.4 to v1.4.1 - <a href="http://gbatemp.net/t267898-dev-firmware-upgrade-for-clones-v1-4-to-v1-4-1" target="_blank">Have a look!</a>


<div align="center"><!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo--><!--coloro:#FF0000--><span style="color:#FF0000"><!--/coloro--><b>Credits for:</b><!--colorc--></span><!--/colorc--><!--sizec--></span><!--/sizec-->
<b>Retrogamefan</b> - DSTT/R4 coder
<b>Ymyn</b> - DSTT/R4 coder
<b>Rudolph & 2ch</b> - majority of (J) fixes
<b>Bitonio6</b>, for his fixed/added list project
<b>Any other GBATemp people that helped before Retro started</b></div>



Feel free to make any comments on the guide.

-- Calamity --
 
  • Like
Reactions: 1 person

CalamityDjenn

Well-Known Member
OP
Member
Joined
Nov 7, 2010
Messages
162
Trophies
0
Age
36
Location
Quimperlé
XP
140
Country
France
Does anyone know a way to edit the files system from a R4i firmware?
I would like to uncompile in order to change the R4 Menu icons for the middle one to launch the TTMENU.NDS.

The .dll extensions could be .xyz that would be the same, meaning they are not proper dynamic link library...
 

pjmorie

Well-Known Member
Member
Joined
Dec 10, 2009
Messages
141
Trophies
0
XP
80
Country
In the firmware for the R4i-SDHC I have there is a folder called R4iMenu.
In this folder there is a multimedia_path.ini. When you open this file as a text file it has the following in it:
/moonshl2/moonshl2.nds

If you change this text to TTMenu.nds it will load the TTMenu firmware when you select the middle icon.
I know the card you have is different but the structure may be the same so have a look in the .ini files.
 

Totoy_Kamote

Well-Known Member
Member
Joined
Oct 7, 2010
Messages
516
Trophies
0
Age
112
Location
Down Under Hate,KillandDESTROY
XP
123
Country
pjmorie said:
In the firmware for the R4i-SDHC I have there is a folder called R4iMenu.
In this folder there is a multimedia_path.ini. When you open this file as a text file it has the following in it:
/moonshl2/moonshl2.nds

If you change this text to TTMenu.nds it will load the TTMenu firmware when you select the middle icon.
I know the card you have is different but the structure may be the same so have a look in the .ini files.

i can't find the multimedia_path.ini because there's no R4iMenu folder here i looked everywhere but i still cant find the multimedia_path.ini
biggrin.gif
 

pjmorie

Well-Known Member
Member
Joined
Dec 10, 2009
Messages
141
Trophies
0
XP
80
Country
rikardo03 said:
pjmorie said:
In the firmware for the R4i-SDHC I have there is a folder called R4iMenu.
In this folder there is a multimedia_path.ini. When you open this file as a text file it has the following in it:
/moonshl2/moonshl2.nds

If you change this text to TTMenu.nds it will load the TTMenu firmware when you select the middle icon.
I know the card you have is different but the structure may be the same so have a look in the .ini files.

i can't find the multimedia_path.ini because there's no R4iMenu folder here i looked everywhere but i still cant find the multimedia_path.ini
biggrin.gif

The card I was talking about is different to the one on the top of the page but it may have a similar setup.
Open up the various .ini files and see if there is anything like /moonshl2/moonshl2.nds in one of them.
 

Totoy_Kamote

Well-Known Member
Member
Joined
Oct 7, 2010
Messages
516
Trophies
0
Age
112
Location
Down Under Hate,KillandDESTROY
XP
123
Country
pjmorie said:
rikardo03 said:
pjmorie said:
In the firmware for the R4i-SDHC I have there is a folder called R4iMenu.
In this folder there is a multimedia_path.ini. When you open this file as a text file it has the following in it:
/moonshl2/moonshl2.nds

If you change this text to TTMenu.nds it will load the TTMenu firmware when you select the middle icon.
I know the card you have is different but the structure may be the same so have a look in the .ini files.

i can't find the multimedia_path.ini because there's no R4iMenu folder here i looked everywhere but i still cant find the multimedia_path.ini
biggrin.gif

The card I was talking about is different to the one on the top of the page but it may have a similar setup.
Open up the various .ini files and see if there is anything like /moonshl2/moonshl2.nds in one of them.

i saw a R4MENU.INI in the root menu but when i opened it with notepad i can only see weird characters which i can't read..
 

CalamityDjenn

Well-Known Member
OP
Member
Joined
Nov 7, 2010
Messages
162
Trophies
0
Age
36
Location
Quimperlé
XP
140
Country
France
I already looked these files, I'll do it again tonight or tomorrow but I don't think I would be lucky.

@rikardo03 : yeah, the file could be written with asian char maybe, but if you do a 'grep' on it you could find lines in english.
 

CalamityDjenn

Well-Known Member
OP
Member
Joined
Nov 7, 2010
Messages
162
Trophies
0
Age
36
Location
Quimperlé
XP
140
Country
France
gozu said:
Thanks for the tutorial. TTDS works with my "R4i Upgrade Revolution" cart.

Could you please give us the website which is mentionned on the box or the card? Also, find a picture of it on google?
It will help to complete the tutorial and find which card/firmware is not working with it (actueally, all would but in case...).
Thank you.
smile.gif
 

NicoW

New Member
Newbie
Joined
Nov 11, 2010
Messages
2
Trophies
0
Age
36
XP
50
Country
France
Hi!

Thanks for your tuto it's super!

But I have a problem ^^ I can't understand step 4 : I want to use a Pokemon white eng patch v3 but i can't manage to find it's ID.
Tried for hours Yesterday :s

Could you explain to me plz?
smile.gif


FYI : I have a R4 revolution upgrade from R4i-sdhc.com

I am able to play the game with the 1.27b frimware but i couldn't save (the game was creating a new save at every reboots)

Thanks again for the tuto and I hope you will be able to help me ^^
 

CalamityDjenn

Well-Known Member
OP
Member
Joined
Nov 7, 2010
Messages
162
Trophies
0
Age
36
Location
Quimperlé
XP
140
Country
France
Do you mean you would play Pokemon White with the V5 patch or the V3?
To get your rom ID, you can use R4 Cheat Code Editor. Find it via google then download it.
Launch the .exe and Get ID from your rom.

Then, launch ttdt.exe, open your .dat files and have a look in it to see if your ID match. If not, duplicate a line in each file and change the new line ID with the one you got from the ROM.
You should get something like this :

 

CalamityDjenn

Well-Known Member
OP
Member
Joined
Nov 7, 2010
Messages
162
Trophies
0
Age
36
Location
Quimperlé
XP
140
Country
France
11/11/10 update : Added external links at the end of the tutorial

-> Where to get the firmware of your linker
-> Where to get the last extinfo.dat, infolib.dat and savlib.dat
-> Where to get the last usrcheat.dat
-> How to add none existing game informations to the database (to be patient and wait the last .dat files release is easier
wink.gif
)
 

NicoW

New Member
Newbie
Joined
Nov 11, 2010
Messages
2
Trophies
0
Age
36
XP
50
Country
France
Thank you it works now!
smile.gif


My problem was that i was using the 1.00 version of R4 cheat code editor and in this version there isn't the "find game ID" option
smile.gif


Thanks again for this great post!
 

CalamityDjenn

Well-Known Member
OP
Member
Joined
Nov 7, 2010
Messages
162
Trophies
0
Age
36
Location
Quimperlé
XP
140
Country
France
Well, you all know these cards kernel is DSTT based...

Here is the correspondance schem :

Code:
Cookie.dll -> ttsystem.ini
DLDIDB.dll -> R4patch.datÂÂÂÂÂÂ-----ÂÂÂÂ To launch the games
extinfo.dll -> extinfo.dat
FONTLU.dat -> system.l2u
FONTUL.dat -> system.u2l
INFbase.dll -> infolib.dat
infdase.dll -> ?????ÂÂÂÂÂÂ-----ÂÂÂÂ Don't know its correspondance exactly but it only seems to be an old infolib.dat file, so keep it as it is
R4RESET.dll != ttreset.dat (same data but could not work)
SYSFON.datÂÂ-> system.fon
Runhook.dll -> ttpatch.datÂÂÂÂÂÂ-----ÂÂÂÂ To launch the games
SAVEDB.DLL -> savlib.dat
SYSANK.dat -> system.ank
usrcheat.dat = usrcheat.dat (exactly the same file)

R4patch.dat != ttpatch.dat
R4RESET.dll != ttreset.dat (not tested enough)

OPTIONS.SYS : What is that file for ? Don't have anything like that on the R4 DSTT clone system...

So, copying and renaming DSTT files in order to use them natively works, except for the INFbase.dll and infdase.dll.
If I just copy twice infolib.dat then rename to the .dll, I can play Sonic Colours, Monopoly and I can boot Super Scribblenauts -which gives me an infinite introduction (I can't do that at all before) BUT I got a problem with the Pokemon Black V5 rom I play through TTMenu.nds...


Problems - Please have a look to help... :
If I keep the original infdase.dll but change the INFbase.dll with a copy of infolib.dat = errcode=-4
If I keep the original INFbase.dll but change the infdase.dll with a copy of infolib.dat= errcode=-4
If I change both to the last infolib.dat available = errcode=-5

ORIGINAL FILES :

INFbase.dll = 530,00Kio (542720 octets) - 5200 entries - 26 March 2010
infdase.dll = 536,9Kio (549792 octets) 5281 entries - 30 July 2010
extinfo.dll = 53,9 Kio (55242 octets) 348 entries - 30 July 2010

Here are the difference that ttds.exe shows :



I used a random ID to compare...... WTF ??? I don't get what are these two files for, except INFbase.dll SHOULD BE the infolib.dat, but what is the other one for? Does someone have an idea, and a solution? :/
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: https://youtu.be/MddR6PTmGKg?si=mU2EO5hoE7XXSbSr