Homebrew DS(i) NOOB PARADISE - Ask questions here

xonn

Well-Known Member
Member
Joined
Jan 11, 2020
Messages
148
Trophies
0
Age
34
XP
893
Country
Spain
I posted this question some time ago, but it was unanswered then. Let's try again :)
In TWLMenu++ there is a soft reset function that is always "listening" and resets the console when L+R+DOWN+B buttons are pressed some seconds.
Would be possible to create any type of function that will be always ready to execute, or the only options is limited to reset?
Thanks!
 

RocketRobz

Stylish TWiLight Hero
OP
Developer
Joined
Oct 1, 2010
Messages
16,514
Trophies
3
Age
24
XP
20,843
Country
United States
I posted this question some time ago, but it was unanswered then. Let's try again :)
In TWLMenu++ there is a soft reset function that is always "listening" and resets the console when L+R+DOWN+B buttons are pressed some seconds.
Would be possible to create any type of function that will be always ready to execute, or the only options is limited to reset?
Thanks!
Depends on what you want implemented.
There's already RAM dumping, via L+R+DOWN+A.
 

xonn

Well-Known Member
Member
Joined
Jan 11, 2020
Messages
148
Trophies
0
Age
34
XP
893
Country
Spain
Depends on what you want implemented.
There's already RAM dumping, via L+R+DOWN+A.
I was thinking about calling lcdSwap() function.
Would be the perfect solution to enjoy every NDS titles in GBMacros (or broken DS consoles with only one screen available).
 
  • Like
Reactions: banjo2

xonn

Well-Known Member
Member
Joined
Jan 11, 2020
Messages
148
Trophies
0
Age
34
XP
893
Country
Spain
Don't think that's possible, since the games themselves can swap screens depending on what happens.
In Mario Kart DS, for example, the bit is changed when a race starts, but after it remains unchanged. In a emulator, you can force the swap screen and complete the race.
It seems that the games change this configuration just in concrete moments. Maybe some titles are constantly doing it, I don't know. Do you think it could be a "feature" to be included in next release? :D
And, as always, thanks for your time
 
  • Like
Reactions: banjo2

RocketRobz

Stylish TWiLight Hero
OP
Developer
Joined
Oct 1, 2010
Messages
16,514
Trophies
3
Age
24
XP
20,843
Country
United States
In Mario Kart DS, for example, the bit is changed when a race starts, but after it remains unchanged. In a emulator, you can force the swap screen and complete the race.
It seems that the games change this configuration just in concrete moments. Maybe some titles are constantly doing it, I don't know. Do you think it could be a "feature" to be included in next release? :D
And, as always, thanks for your time
How to implement it would have to be per-game, I think.
 
Last edited by RocketRobz,

xonn

Well-Known Member
Member
Joined
Jan 11, 2020
Messages
148
Trophies
0
Age
34
XP
893
Country
Spain
How to implement it would have to be per-game, I think.
Maybe we're thinking in different things. I suggest a key combination (for example Select+Start) that if it's pressed, TWM calls to ndslib's lcdSwap().
This feature will be always available and used at convenience.
 
  • Like
Reactions: banjo2

RocketRobz

Stylish TWiLight Hero
OP
Developer
Joined
Oct 1, 2010
Messages
16,514
Trophies
3
Age
24
XP
20,843
Country
United States
Maybe we're thinking in different things. I suggest a key combination (for example Select+Start) that if it's pressed, TWM calls to ndslib's lcdSwap().
This feature will be always available and used at convenience.
Not sure if that's possible. We'd need something that runs in the background, which checks for the top/bottom switch flag in arm9, and the screens would switch or not switch, depending on if the flag is set.
For that to work, the key combo would have to be implemented on arm9 side, and for that, we'd have to hook into arm9's vBlank IRQ like we're doing with arm7 for the key combos to work.
Unfortunately, unless there's enough requests, I don't feel like implementing it. :P
 

xonn

Well-Known Member
Member
Joined
Jan 11, 2020
Messages
148
Trophies
0
Age
34
XP
893
Country
Spain
Not sure if that's possible. We'd need something that runs in the background, which checks for the top/bottom switch flag in arm9, and the screens would switch or not switch, depending on if the flag is set.
For that to work, the key combo would have to be implemented on arm9 side, and for that, we'd have to hook into arm9's vBlank IRQ like we're doing with arm7 for the key combos to work.
Unfortunately, unless there's enough requests, I don't feel like implementing it. :P
Of course, this only would be implemented if it's really interesting. But I don't know why the program should check the flag, because lcdSwap() just inverts the value, regardless of its previous state (the function has no arguments due to this).
 
Last edited by xonn,
  • Like
Reactions: banjo2

Pk11

A catgirl with a DSi
Member
Joined
Jun 26, 2019
Messages
1,285
Trophies
1
Age
22
Location
米国
Website
pk11.us
XP
3,878
Country
United States
Of course, this only would be implemented if it's really interesting. But I don't know why the program should check the flag, because lcdSwap() just inverts the value, regardless of its previous state (the function has no arguments due to this).
I took a look since it did seem easy, the problem seems to be that POWCNT1 is only accessible from the ARM9, from looking at GBAtek it doesn't look like there's any way for the ARM7 to swap the screens directly (https://web.archive.org/web/20210108175702/http://problemkaputt.de/gbatek.htm#dspowercontrol)
 

xonn

Well-Known Member
Member
Joined
Jan 11, 2020
Messages
148
Trophies
0
Age
34
XP
893
Country
Spain
I took a look since it did seem easy, the problem seems to be that POWCNT1 is only accessible from the ARM9, from looking at GBAtek it doesn't look like there's any way for the ARM7 to swap the screens directly (https://web.archive.org/web/20210108175702/http://problemkaputt.de/gbatek.htm#dspowercontrol)
Just for learning something new, if swap function can be only called by ARM9 processor, when ARM7 detects the key combination, the next step should be send some type of "notification" to ARM9?
Thanks!
 

wavemotion

Benign Geek
Member
Joined
Nov 23, 2020
Messages
909
Trophies
1
XP
7,262
Country
United States
So I have 4 DSx consoles... three of them run TWL++ and that's all working great.

My 2DS, however, just runs an R4i flashcart and the SD card has 3DS game updates and such... I don't want to mess with the SD card too much and the R4i with stock software is running great (all NDS games play flawlessly and have for years). I don't want to mess with the mojo too much here... but one thing that bugs me is that when I directly launch the Atari Emulators (StellaDS, A5200DS and A7800DS) they run in native DS mode and not DSi (2x faster CPU mode). Is there a way to force them to run at the faster rate? Short of installing TWL on the Flashcart, is there some easy launcher NDS file I can use to force the launch of those? Again, I'm not really wanting to shake up the workings of this particular system as I mainly use it to play a handful of 3DS games (Zelda, Pokemons, etc).
 

Pk11

A catgirl with a DSi
Member
Joined
Jun 26, 2019
Messages
1,285
Trophies
1
Age
22
Location
米国
Website
pk11.us
XP
3,878
Country
United States
Just for learning something new, if swap function can be only called by ARM9 processor, when ARM7 detects the key combination, the next step should be send some type of "notification" to ARM9?
Thanks!
Yeah, normally you can use FIFO to talk between the processors, but since nds-bootstrap needs to run alongside retail games I'm not sure that's possible, looking at the current code it doesn't seem to be using FIFO at all in the cardengine.

So I have 4 DSx consoles... three of them run TWL++ and that's all working great.

My 2DS, however, just runs an R4i flashcart and the SD card has 3DS game updates and such... I don't want to mess with the SD card too much and the R4i with stock software is running great (all NDS games play flawlessly and have for years). I don't want to mess with the mojo too much here... but one thing that bugs me is that when I directly launch the Atari Emulators (StellaDS, A5200DS and A7800DS) they run in native DS mode and not DSi (2x faster CPU mode). Is there a way to force them to run at the faster rate? Short of installing TWL on the Flashcart, is there some easy launcher NDS file I can use to force the launch of those? Again, I'm not really wanting to shake up the workings of this particular system as I mainly use it to play a handful of 3DS games (Zelda, Pokemons, etc).
NTR_Launcher lets you boot DS cards using the DSi clock speed (though I'm not 100% sure if that works for flashcards, but I think it would) so assuming it works, that'd probably be the simplest way to do it. There's no way to do it without some kind of homebrew installed to the 3DS since flashcards are launched in DS mode without the ability to change that normally.
 

xonn

Well-Known Member
Member
Joined
Jan 11, 2020
Messages
148
Trophies
0
Age
34
XP
893
Country
Spain
I have downloaded the TWLM++ source fron github and I'm trying to implement the idea, but first it's necessary to locate where is the code of soft reset in order to understand how it works. Any help is welcome :)
 
  • Like
Reactions: banjo2

RocketRobz

Stylish TWiLight Hero
OP
Developer
Joined
Oct 1, 2010
Messages
16,514
Trophies
3
Age
24
XP
20,843
Country
United States
I have downloaded the TWLM++ source fron github and I'm trying to implement the idea, but first it's necessary to locate where is the code of soft reset in order to understand how it works. Any help is welcome :)
You need to check the nds-bootstrap source code, as that runs the DS games from the SD card.
The button combo checks are in "retail/cardengine/arm7/source/cardengine.c".
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • K3Nv2 @ K3Nv2:
    We just question @AncientBoi
  • ZeroT21 @ ZeroT21:
    it wasn't a question, it was fact
  • BigOnYa @ BigOnYa:
    He said he had 3 different doctors apt this week, so he prob there. Something about gerbal extraction, I don't know.
    +1
  • ZeroT21 @ ZeroT21:
    bored, guess i'll spread more democracy
  • LeoTCK @ LeoTCK:
    @K3Nv2 one more time you say such bs to @BakerMan and I'll smack you across the whole planet
  • K3Nv2 @ K3Nv2:
    Make sure you smack my booty daddy
    +1
  • LeoTCK @ LeoTCK:
    telling him that my partner is luke...does he look like someone with such big ne
    eds?
  • LeoTCK @ LeoTCK:
    do you really think I could stand living with someone like luke?
  • LeoTCK @ LeoTCK:
    I suppose luke has "special needs" but he's not my partner, did you just say that to piss me off again?
  • LeoTCK @ LeoTCK:
    besides I had bigger worries today
  • LeoTCK @ LeoTCK:
    but what do you know about that, you won't believe me anyways
  • K3Nv2 @ K3Nv2:
    @BigOnYa can answer that
  • BigOnYa @ BigOnYa:
    BigOnYa already left the chat
  • K3Nv2 @ K3Nv2:
    Biginya
  • BigOnYa @ BigOnYa:
    Auto correct got me, I'm on my tablet, i need to turn that shit off
  • K3Nv2 @ K3Nv2:
    With other tabs open you perv
  • BigOnYa @ BigOnYa:
    I'm actually in my shed, bout to cut 2-3 acres of grass, my back yard.
  • K3Nv2 @ K3Nv2:
    I use to have a guy for that thanks richard
  • BigOnYa @ BigOnYa:
    I use my tablet to stream to a bluetooth speaker when in shed. iHeartRadio, FlyNation
  • K3Nv2 @ K3Nv2:
    While the victims are being buried
  • K3Nv2 @ K3Nv2:
    Grave shovel
  • BigOnYa @ BigOnYa:
    Nuh those goto the edge of the property (maybe just on the other side of)
  • K3Nv2 @ K3Nv2:
    On the neighbors side
    +1
  • BigOnYa @ BigOnYa:
    Yup, by the weird smelly green bushy looking plants.
    BigOnYa @ BigOnYa: Yup, by the weird smelly green bushy looking plants.