Homebrew [Discontinued] TWLoader - CTR-mode NDS app

Status
Not open for further replies.

bakawun

Well-Known Member
Member
Joined
Jan 10, 2017
Messages
227
Trophies
0
Age
37
XP
93
Country
Luxembourg
nds-bootstrap does the ROM loading. TWLoader is a frontend for nds-bootstrap.
i think you are underselling it, twloader is a great frontend for flashcards too. i would sooner describe it as something similar to vwii on wiiu, a virtual dsi environment that supports physical cards, flashcarda and even nds_bootstrap
 
Last edited by bakawun,
  • Like
Reactions: RocketRobz

seb5049

Well-Known Member
Member
Joined
Feb 25, 2015
Messages
122
Trophies
0
XP
212
Country
I'm using an original R4. When I add a game, my 3DS goes to the power off screen, and when I go back to TWLoader my game isn't there. I'm using the correct pack and have the correct flashcard selected in settings. Why does this happen?
 

RocketRobz

Stylish TWiLight Hero
OP
Developer
Joined
Oct 1, 2010
Messages
16,515
Trophies
3
Age
24
XP
20,845
Country
United States
I'm using an original R4. When I add a game, my 3DS goes to the power off screen, and when I go back to TWLoader my game isn't there. I'm using the correct pack and have the correct flashcard selected in settings. Why does this happen?
Download this file, and overwrite the existing one in "sdmc:/_nds/twloader/loadflashcard/".
 
  • Like
Reactions: seb5049

Wuigi

Well-Known Member
Member
Joined
Sep 14, 2012
Messages
727
Trophies
1
XP
1,783
Country
United States
It loads the file menu for cards that use ace_rpg.nds, are the games booted from it still using DSi mode?
But I have to say I quite like it like that, as the long (for now unskippable?) downloads of nonexisting boxarts are skipped this way.
 
Last edited by Wuigi,

bakawun

Well-Known Member
Member
Joined
Jan 10, 2017
Messages
227
Trophies
0
Age
37
XP
93
Country
Luxembourg
gbarunner is running gba natively as a hypervisor similarly to nintendont gamecube on wii (u)

the 3ds is backwards compatible with the ds.
this is achieved by having the 3ds contain the ds cpu.
ds games actually make use of the gba cpu so the ds cpu also has the gba cpu in it.

now gba games also make use of the gb cpu, this chip was not added to the 3ds because its not used by ds or 3ds games.

some functions where also modified because gba compatibility was no longer required.

it is these changes and the missing gb cpu that are causing the remaining issues (like missing audio which is often run on the gb cpu in gba games)

so the way gbarunner works is by running in ds mode to get acces the the gba cpu and running code on the ds to patch things and emulate the missing hardware.

i am sure @Gericom will correct me where i am wrong, and this discussion belongs in the gbarunner2 thread
 
Last edited by bakawun,

metroid maniac

An idiot with an opinion
Member
Joined
May 16, 2009
Messages
2,068
Trophies
2
XP
2,575
Country
A lot of this post is incorrect or misleading.

the 3ds is backwards compatible with the ds.
this is achieved by having the 3ds contain the ds cpu.
ds games actually make use of the gba cpu so the ds cpu also has the gba cpu in it.

The DS does not have one CPU, it has two. It has an ARM9 as its primary CPU, and an ARM7 for some background I/O and GBA backwards compatibility. The 3DS has two under normal operation, an ARM9 and an ARM11, but the ARM7 kicks into action when you switch to GBA or NDS mode.

now gba games also make use of the gb cpu, this chip was not added to the 3ds because its not used by ds or 3ds games.

Not true. The GBZ80 (The GB/C CPU) cannot be accessed at all when running a GBA game on a GBA. The GBZ80 does not even exist on the NDS, yet GBA games play perfectly fine on that console because it is not used by GBA games.
The sound hardware attached to the ARM7, which is an incrementally upgraded version of the GB/C sound hardware and also utilised when the GBA is using the GBZ80 for its backwards compatibility mode, is used by the GBA and NDS. It is still present in the 3DS for the sake of compatibility, naturally.

so the way gbarunner works is by running in ds mode to get acces the the gba cpu and running code on the ds to patch things and emulate the missing hardware.

GBARunner2 runs GBA games on the NDS-specific ARM9 processor and basically rewrites all the memory and I/O addresses on the fly to account for the different memory map of the NDS. The instruction set of the ARM9 CPU and the ports on the 2D engine are similar enough that the game can effectively be run directly thereafter. The ARM7 is too slow to handle this, and I believe it doesn't have direct access to the 2D engine's I/O ports while in DS mode either.
It also has to handle ROM accesses (ROM is memory mapped on the GBA but not on the DS, which makes things trickier), some tweaks to BIOS calls and audio. Since only the ARM7 has access to the sound hardware, there are more complications with sound. The ARM7 here is being used to only handle sound and in some builds provides filesystem access, but it doesn't do the bulk of running actual games.

--------------------- MERGED ---------------------------

So using this homebrew can we run any .nds games or is there a max size limit?

There are a lot of factors that determine whether or not a DS game will run with nds-bootstrap, but size isn't really one of them.
 
  • Like
Reactions: bakawun
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    LeoTCK @ LeoTCK: yes for nearly a month i was officially a wanted fugitive, until yesterday when it ended