Homebrew nds-bootstrap modified to allow play DS games with only one screen

  • Thread starter Thread starter xonn
  • Start date Start date
  • Views Views 35,257
  • Replies Replies 54
  • Likes Likes 23

xonn

Well-Known Member
Member
Joined
Jan 11, 2020
Messages
153
Reaction score
215
Trophies
0
Age
37
XP
981
Country
Spain
Hello to everyone.
I have included a swap screen option through key combination SELECT+UP / SELECT+DOWN in nds-bootstrap to enjoy NDS titles in GBMacros or DS with one screen damaged.
To use it follow those instructions:
  1. Download it from this repository and copy it to _nds folder of TwilighMenu++.
  2. In your console, press Y in a NDS title and select nds-bootstrap = nightly
  3. Start your game and use key combination whenever you want.
I have checked some games, and for now, I only have found one that is not swap-screen-friendly: Mario64 DS. Some games reset the screens (like MKDS) when a level is completed, or a cinematic is displayed. In this case, just re-swap again :)
 
Last edited by xonn,
I was curious to try it out
(Don't have a GB Macro or broken top screen, but I do have some dead pixels)

IMG_20210203_172028292.jpg

Seems to work on Mario Party DS

Unfortunately it didn't work for me in Metroid Prime Hunters, it would just instantly switch back to the regular screen setting when in-game or menus

Also, if anyone's having trouble, it may help to know that you have to hold the button combo for ~1 second :)
 
Last edited by banjo2,
I was curious to try it out
(Don't have a GB Macro or broken top screen, but I do have some dead pixels)

View attachment 244791
Seems to work on Mario Party DS

Unfortunately it didn't work for me in Metroid Prime Hunters, it would just instantly switch back to the regular screen setting when in-game or menus

Also, if anyone's having trouble, it may help to know that you have to hold the button combo for ~1 second :)
I was thinking about two options to swap:
A) L+R+UP for a second (safer but slower)
B) SELECT+UP / SELECT+DOWN to set main screen up or down. This option could be activated instantly (usafer but fast)

What would be better?
 
  • Like
Reactions: Aphelios and banjo2
I was thinking about two options to swap:
A) L+R+UP for a second (safer but slower)
B) SELECT+UP / SELECT+DOWN to set main screen up or down. This option could be activated instantly (usafer but fast)

What would be better?
I've made it so that holding L+R+Up+X for 1 second swaps the screens.
 
does the swap screen option also possible for B4DS or is this only for nds-bootstrap?
also thank you very much for your contribution to nds-bootstrap! never thought that it was possible to swap DS screen on software because all i ever see about swap screen is only through hardware
 
Last edited by whywhy2,
This is really coo, but what's the advantage of this? or is it just preference?
Seems like the key demographic would be for people that turned an old or broken DS or DSLite into a GBA Macro as they've become known (some people completely remove the hinge part, others leave it or add things like that glow rod, but it's all the same idea, the bottom of half of a DS can function as a nice sized GBA), so for any DS game that only needs the top screen, this adds more game compatibility for GBA Macro owners, as you can still put DS games in it and boot them up too. But it does seem you could also use this if you'd prefer for DS games on any fully intact DS/3DS to display the top screen on the bottom.
 
Seems like the key demographic would be for people that turned an old or broken DS or DSLite into a GBA Macro as they've become known (some people completely remove the hinge part, others leave it or add things like that glow rod, but it's all the same idea, the bottom of half of a DS can function as a nice sized GBA), so for any DS game that only needs the top screen, this adds more game compatibility for GBA Macro owners, as you can still put DS games in it and boot them up too. But it does seem you could also use this if you'd prefer for DS games on any fully intact DS/3DS to display the top screen on the bottom.
Yeah, it can actually be really nice to have the top screen be the "primary" display (like in MPDS, although it'd take some getting used to), I typically prefer it that way.
 
what if I awnt to try this with a NDS Catdrige game? I have Skate it DS and my top screen is broken. There is a black cloud covering half of the skater's body u__u

Also I don't understad how this runs instead of "nightly" bootstrap. It doesn't even replace the nigthly file
 
Last edited by ruffo,
  • Like
Reactions: banjo2
I have updated here the release with two alternatives:
  • Old version: Swap screen option through key combination L+R+UP (press for 1 second)
  • Fast version: Set main screen on top or bottom just pressing SELECT+UP or SELECT+DOWN (instant change)
Due to code size limitations, I have commented the soft-reset feature in ARM9 to save lines in fast version. If I try to compile with all code, it fails and throw following error message: cardengine_arm9_dldi.elf section `.bss' is not within region `vram'
 
Man, this is great, thank you for your work
I've tried this with Skate it DS (with a rom, can't get it to work with the original catgridge) and it works flawlessly. It's cool how the touch screen keeps its touch input actions while displaying what is on the top screen at the same time.

I have also tried with Taiko No Tatsujin which requires to run in DS Mode since there is an issue of screen flickering/swapping and it doesn't work, doesn't swap screens, probably due to be running under DS Mode.

Also doesn't seem to work with Animal Crossing Wild World.

I'll be checking with your new version to see if there is changes about these points I've mentioned.
 
  • Like
Reactions: banjo2
Man, this is great, thank you for your work
I've tried this with Skate it DS (with a rom, can't get it to work with the original catgridge) and it works flawlessly. It's cool how the touch screen keeps its touch input actions while displaying what is on the top screen at the same time.

I have also tried with Taiko No Tatsujin which requires to run in DS Mode since there is an issue of screen flickering/swapping and it doesn't work, doesn't swap screens, probably due to be running under DS Mode.

Also doesn't seem to work with Animal Crossing Wild World.

I'll be checking with your new version to see if there is changes about these points I've mentioned.
Some games are constantly setting the order of screens in each frame. When you force swap screen, it's "fixed" instantly.
For now, this problem can't be solved :(
 
Hey @Robz8 , I have modified the source code to make the user screen configuration persistent. Now, the program remembers which screen has been selected as bottom screen and changes it each vblank event. It seems that performance has not been affected. I hope it will be interesting for you :)
 
Is there any way to run homebrew with this?
It would be amazing to run JenesisDS or even the new Cave story DS port on a macro, but at the moment no matter what I do I can't seem to get this functionality to work.
I suspect its because of some difference in the nds bootstrap for homebrew and the nds bootstrap for official games?
Also @Robz8 , would it be possible in any way to add the option to choose the screen swap button combo to Twilight menu?
I personally really prefer the (Select + up/down) instant screen change as its a much easier button combo to remember, but I assume I am a minority here.
Thank you both for your hard work! It is greatly appreciated :)
 
  • Like
Reactions: banjo2

Site & Scene News

Popular threads in this forum