Homebrew DS(i) NOOB PARADISE - Ask questions here

Pk11

A catgirl with a DSi
Member
Joined
Jun 26, 2019
Messages
1,282
Trophies
1
Age
22
Location
米国
Website
pk11.us
XP
3,869
Country
United States
Hey all...

In looking to support custom full-lower-screen overlays (256x192x8) for Nintellivision, does anyone know of any simple to drop-in code I could beg/borrow/steal that will read an 8-bit .BMP and render it on the screen? I can probably figure it out and write my own but thought it might have been done a few dozen times before :)
I can't think of anything that uses 8-bit BMPs off the top of my head, it should be pretty much the same as 16-bit ones except that the palette is stored right before the bitmap and is 32 bit RGBA instead of 16 bit RGB565/RGBA5551 though I think, for 16-bit reading see hiyaCFW, TWiLight, a different place in TWiLight, etc.

Also, fyi if you didn't see it I made a pull request to add GRF loading, the PR is NitroFS but all you'd need to do to make it load from SD is like show a file browser and give it that path instead of the hardcoded one. No worries if you're not interested in that as it does add the extra complication of needing the images being converted by GRIT, it requires the least changes though since it can still be map and tiles where a BMP you're probably going to want to give it's own bitmap layer.
 

mystman12

New Member
Newbie
Joined
Sep 18, 2021
Messages
3
Trophies
0
Age
26
XP
35
Country
United States
Just installed Unlaunch on my DSi. It seems to be working properly, except it doesn't seem to have access to Slot-1. I can't launch cartridges (I'm trying to load WarioWare D.I.Y.) from Unlaunch, and ndsi-savedumper doesn't recognize any cartridges I have in the slot (When loaded from Unlaunch). I can load cartridges fine through the standard DSi menu. Anything I should check? I'm wondering if I missed some step or setting that would enable Slot-1 in Unlaunch.

Edit: So it looks like I can get Mario Kart DS to work fine. What's up with WarioWare D.I.Y.? I just want to extract the save file. Is there any way to do that on my DSi?
 
Last edited by mystman12,

Pk11

A catgirl with a DSi
Member
Joined
Jun 26, 2019
Messages
1,282
Trophies
1
Age
22
Location
米国
Website
pk11.us
XP
3,869
Country
United States
Just installed Unlaunch on my DSi. It seems to be working properly, except it doesn't seem to have access to Slot-1. I can't launch cartridges (I'm trying to load WarioWare D.I.Y.) from Unlaunch, and ndsi-savedumper doesn't recognize any cartridges I have in the slot (When loaded from Unlaunch). I can load cartridges fine through the standard DSi menu. Anything I should check? I'm wondering if I missed some step or setting that would enable Slot-1 in Unlaunch.
Have you tried with any other games? Warioware D.I.Y. is just about the least compatible cart out there as it uses a NAND chip for the ROM and saving, unlike all but like 2 other DS games. I know there are no save dumpers compatible with it and I wouldn't be surprised if it can't be booted from anything either.

Another thing to try is booting the cart from TWiLight Menu++ instead of Unlaunch as sometimes it works better, I wouldn't be surprised if that doesn't work either for Warioware D.I.Y though. And for dumping/injecting saves you're better off using GodMode9i than ndsi-savedumper as it has several fixes that aren't in ndsi-savedumper.
 

mystman12

New Member
Newbie
Joined
Sep 18, 2021
Messages
3
Trophies
0
Age
26
XP
35
Country
United States
Have you tried with any other games? Warioware D.I.Y. is just about the least compatible cart out there as it uses a NAND chip for the ROM and saving, unlike all but like 2 other DS games. I know there are no save dumpers compatible with it and I wouldn't be surprised if it can't be booted from anything either.

Another thing to try is booting the cart from TWiLight Menu++ instead of Unlaunch as sometimes it works better, I wouldn't be surprised if that doesn't work either for Warioware D.I.Y though. And for dumping/injecting saves you're better off using GodMode9i than ndsi-savedumper as it has several fixes that aren't in ndsi-savedumper.

Thanks for the quick response. I tested Mario Kart DS and that works fine. I've also tried GodMode9i, as someone on the WarioWare D.I.Y. discord recommended it, but that also gave an error saying it couldn't dump the save, so I'm not sure where to go from here.
 
  • Like
Reactions: banjo2

Pk11

A catgirl with a DSi
Member
Joined
Jun 26, 2019
Messages
1,282
Trophies
1
Age
22
Location
米国
Website
pk11.us
XP
3,869
Country
United States
Thanks for the quick response. I tested Mario Kart DS and that works fine. I've also tried GodMode9i, as someone on the WarioWare D.I.Y. discord recommended it, but that also gave an error saying it couldn't dump the save, so I'm not sure where to go from here.
I'm afraid you simply can't dump Warioware D.I.Y.'s save, no one's managed to figure out how yet. It's one of the two (non bootleg) DS carts known to not work in GodMode9 and that's the most compatible dumper. I know it also isn't supported by GodMode9i, Checkpoint, or TWLSaveTool, and would be very surprised if some old tool everyone's forgotten about supported it.
 

wavemotion

Benign Geek
Member
Joined
Nov 23, 2020
Messages
908
Trophies
1
XP
7,242
Country
United States
Total Noob here...

I'm trying to get a handle on sound processing via LIBNDS.

I understand the basics... enough that my emulators have full sound... but it's far from ideal. Right now, here is my basic scheme:

I pick a sound frequency - say 15360Hz which works well because it's 256 samples per frame (at 60Hz).

The emulator will emulate the sound chip for the ancient gaming system... and place samples into a circular buffer of size 256 (basically it fills the buffer every frame).

I set up TIMER2 as my sound timer:
TIMER2_DATA = TIMER_FREQ(mySoundFrequency);
TIMER2_CR = TIMER_DIV_1 | TIMER_IRQ_REQ | TIMER_ENABLE;
irqSet(IRQ_TIMER2, VsoundHandler);

This IRQ handler will move 1 sample from the 256 entry sample buffer over to a larger shared buffer between the ARM9 and ARM7 cores... this other buffer is, arbitrarily, 2048 to give me a bit of sound buffering without too much latency.

And I tell the ARM7 core to use this shared memory buffer and tell it my sound frequency of 15360.

And it all works... mostly. The sound is good but every 10-30 seconds I can hear a "zinger" ... a sound glitch that I think is related to the two CPUs either accessing the shared memory together or somehow they are not in sync. But I'm not sure... I've tried larger buffers and while that makes the 'zing' happen less frequently - but it also increases the potential sound lag. I've tried hacks like letting the ARM7 run a little faster or slower... that just produces more "zingers".

I'm (quite obviously!) not a sound engineer... but are there any basic tricks I could use or obvious flaws in my setup? Before anyone gets too technical, assume that I'll need this explained to me on a 5th grade level :)
 

PinkCelebi

Active Member
Newcomer
Joined
Aug 20, 2020
Messages
26
Trophies
0
XP
162
Country
United States
Is it worth trying to install TWiLightMenu on my flashcart so I can play DSi-enhanced games in DSi mode? Or is it not worth he trouble? My flashcart is an R4i-SDHC and I'm currently running YSMenu on it.

For reference, I'm playing Pokemon HGSS and Solatorobo from my flashcart, so I'm assuming running those games in DSi-mode would come with improvements, like better performance vs running it in normal DS mode. Correct or not?
 

Pk11

A catgirl with a DSi
Member
Joined
Jun 26, 2019
Messages
1,282
Trophies
1
Age
22
Location
米国
Website
pk11.us
XP
3,869
Country
United States
Is it worth trying to install TWiLightMenu on my flashcart so I can play DSi-enhanced games in DSi mode? Or is it not worth he trouble? My flashcart is an R4i-SDHC and I'm currently running YSMenu on it.

For reference, I'm playing Pokemon HGSS and Solatorobo from my flashcart, so I'm assuming running those games in DSi-mode would come with improvements, like better performance vs running it in normal DS mode. Correct or not?
Installing TWiLight Menu++ on a flashcard is not enough to get access to DSi mode, you need to install TWiLight on the DSi itself for that. With TWiLight on the console and Unlaunch installed you can optionally install it on your flashcard as well and it can use DSi mode if booted from SD TWiLight, however at that point its generally better to just use SD TWiLight.

Pokémon HGSS are just NTR games, they have no DSi enhancements, so its not really going to benefit at all, TWiLight does let you boost the clock speed to DSi speed, but since the game was designed for the original DS its not going to do much if anything.

It looks like Solatorobo is a TWL game though so it might have something worthwhile there, but from a quick search it sounds like literally the only difference is that it lets you take a picture of yourself at a couple points. Most DSi enhancements in games aren't really all that major.
 
Last edited by Pk11,

PinkCelebi

Active Member
Newcomer
Joined
Aug 20, 2020
Messages
26
Trophies
0
XP
162
Country
United States
Installing TWiLight Menu++ on a flashcard is not enough to get access to DSi mode, you need to install TWiLight on the DSi itself for that. With TWiLight on the console and Unlaunch installed you can optionally install it on your flashcard as well and it can use DSi mode if booted from SD TWiLight, however at that point its generally better to just use SD TWiLight.

Pokémon HGSS are just NTR games, they have no DSi enhancements, so its not really going to benefit at all, TWiLight does let you boost the clock speed to DSi speed, but since the game was designed for the original DS its not going to do much if anything.

It looks like Solatorobo is a TWL game though so it might have something worthwhile there, but from a quick search it sounds like literally the only difference is that it lets you take a picture of yourself at a couple points. Most DSi enhancements in games aren't really all that major.
Thanks. Is there a full list of DSi-enhanced games and the various effects it has in-game? I couldn't find a list updated in the last 10 years.

And if I still want to "convert" my flashcart to run DSi stuff, what would the process be? My DSi has TWi installed already.
 

Pk11

A catgirl with a DSi
Member
Joined
Jun 26, 2019
Messages
1,282
Trophies
1
Age
22
Location
米国
Website
pk11.us
XP
3,869
Country
United States
Thanks. Is there a full list of DSi-enhanced games and the various effects it has in-game? I couldn't find a list updated in the last 10 years.

And if I still want to "convert" my flashcart to run DSi stuff, what would the process be? My DSi has TWi installed already.
This is the best list I know of that says what changes: http://www.rfgeneration.com/blogs/pdrydia/DSi-enhanced-titles-an-incomplete-list-1969.php

As it says right in the title though it's an incomplete list, the nds-bootstrap compatibility list has whether a game is TWL (DSi-enhanced/exclusive) or NTR (normal DS game), however that's it, it doesn't say what the difference is.

To install TWiLight Menu++ on your flashcard simply follow the flashcard install instructions.
 

PinkCelebi

Active Member
Newcomer
Joined
Aug 20, 2020
Messages
26
Trophies
0
XP
162
Country
United States
Thanks, I found the compatibility list, but not this one.

To install TWiLight Menu++ on your flashcard simply follow the flashcard install instructions.
So I would just need to replace YSMenu's files with TWi-flashcard's files, and that's it? I will just be able to boot into TWi on the DSi, launch my flashcart via Select > Launch Slot-1, and my games will run in DSi mode? Or is there more steps I need to do?

I did try following the wiki's instructions before, but it gets really confusing from "To run games..." and onwards. So after transferring TWi's-flashcard/Flashcard Loader's files and replacing YSMenu's, it gave me an error when I launched my flashcart, saying I needed a main.something file in a specific folder. I downloaded the main.something file from GitHub, created the folder and dropped it in the directory it said it was supposed to be in, but that only resulted in a white screen when trying to boot into Slot-1. I just gave up at that point and went back to my YSMenu files. Not sure if I did something wrong or if a step was missed, but I couldn't really find any help in the wiki.
 

Pk11

A catgirl with a DSi
Member
Joined
Jun 26, 2019
Messages
1,282
Trophies
1
Age
22
Location
米国
Website
pk11.us
XP
3,869
Country
United States
So I would just need to replace YSMenu's files with TWi-flashcard's files, and that's it? I will just be able to boot into TWi on the DSi, launch my flashcart via Select > Launch Slot-1, and my games will run in DSi mode? Or is there more steps I need to do?

I did try following the wiki's instructions before, but it gets really confusing from "To run games..." and onwards. So after transferring TWi's-flashcard/Flashcard Loader's files and replacing YSMenu's, it gave me an error when I launched my flashcart, saying I needed a main.something file in a specific folder. I downloaded the main.something file from GitHub, created the folder and dropped it in the directory it said it was supposed to be in, but that only resulted in a white screen when trying to boot into Slot-1. I just gave up at that point and went back to my YSMenu files. Not sure if I did something wrong or if a step was missed, but I couldn't really find any help in the wiki.
It should work if you just copy _nds, BOOT.NDS, and the files from the folder for your card in the Autoboot folder to the root of your flashcard's SD card. Copying just the main.srldr (I assume .srldr as that's the only main) was likely the problem as you need the whole _nds folder.

And you'll also want to enable SCFG access in Slot-1 and set Slot-1: Touch Mode to DSi Mode for DSi Mode to work on the flashcard. Then you can either load it from SELECT -> Launch Slot-1 or enable Auto-start Slot-1 in TWiLight Menu++ settings.
 

PinkCelebi

Active Member
Newcomer
Joined
Aug 20, 2020
Messages
26
Trophies
0
XP
162
Country
United States
It should work if you just copy _nds, BOOT.NDS, and the files from the folder for your card in the Autoboot folder to the root of your flashcard's SD card. Copying just the main.srldr (I assume .srldr as that's the only main) was likely the problem as you need the whole _nds folder.

And you'll also want to enable SCFG access in Slot-1 and set Slot-1: Touch Mode to DSi Mode for DSi Mode to work on the flashcard. Then you can either load it from SELECT -> Launch Slot-1 or enable Auto-start Slot-1 in TWiLight Menu++ settings.
I managed to get it working, I think my first attempt went bad because it didn't fully uncompress. So it's working, but I'm having a couple new issues with TWi.

1. If I don't install TWi-flashcard autoboot, it'll boot me into YSMenu, but then YSMenu will load the last game I played. I can boot just to YSMenu by holding B, is there a way I can disable this, or swap the button combo (press nothing to boot into YSMenu, hold B to boot into last played game)?

I read somewhere that you have to install TWi-flashcard's autoboot to stop YSMenu's autoboot, so I did that successfully.
2. But now, whenever I boot into my Slot-1 from TWi on my DSi, it boots my flashcart in slot 1, then boots me back into TWi that's installed on my DSi. I'm not able to navigate my flashcart's SD card (it only shows me my DSi's SD card contents) or boot back into Slot-1. Booting the flashcart on my DS Lite works fine, I boot into TWi and can navigate my flashcart's SD card.

How would I configure it so TWi on the flashcart and TWi on the console are completely separate, so I only ever boot into my flashcart's TWi? And is it possible to configure YSMenu to just boot normally?

Thanks for all the help, I'm just trying to understand the process. I just want to be able to move my flashcart from system to system, and boot games into DS or DSi-mode based on the system.
 

Pk11

A catgirl with a DSi
Member
Joined
Jun 26, 2019
Messages
1,282
Trophies
1
Age
22
Location
米国
Website
pk11.us
XP
3,869
Country
United States
1. If I don't install TWi-flashcard autoboot, it'll boot me into YSMenu, but then YSMenu will load the last game I played. I can boot just to YSMenu by holding B, is there a way I can disable this, or swap the button combo (press nothing to boot into YSMenu, hold B to boot into last played game)?

I read somewhere that you have to install TWi-flashcard's autoboot to stop YSMenu's autoboot, so I did that successfully.
To have YSMenu not autoboot the last game without autobooting to TWiLight you need to use nds-bootstrap when loading games from flashcard TWiLight, which when you have DSi mode access I think should have the same good compatibility as SD nds-bootstrap, though I'm not 100% sure on that. The button behaviour can't be switched afaik, but that wouldn't be ideal anyways since then you'd need to hold B after loading any game on the flashcard.

2. But now, whenever I boot into my Slot-1 from TWi on my DSi, it boots my flashcart in slot 1, then boots me back into TWi that's installed on my DSi. I'm not able to navigate my flashcart's SD card (it only shows me my DSi's SD card contents) or boot back into Slot-1. Booting the flashcart on my DS Lite works fine, I boot into TWi and can navigate my flashcart's SD card.
When you have SCFG access in Slot-1 access turned on then you can access both the flashcard SD and system SD from flashcard TWiLight, hold SELECT and press Up or Down to switch between them, so just press SELECT + Up/Down and it should show your your flashcard's content. (see the controls page on the wiki)

How would I configure it so TWi on the flashcart and TWi on the console are completely separate, so I only ever boot into my flashcart's TWi? And is it possible to configure YSMenu to just boot normally?
I don't think there's a way to both have DSi mode work on the flashcard and have SD/flashcard TWiLight completely separate, however your flashcard should still work fine in DS mode on any other console then just when you use it on the DSi from SD TWiLight it'll be able to use DSi mode. I think the only real difference is that it'll always prioritize the settings.ini on the console SD card so when in the DSi it'll use the SD's settings where in the DS Lite it'll use the flashcard's settings.


So to summarize, just press SELECT + Up/Down to switch between your flashcard and SD content if autobooting, or if you want to keep YSMenu as your main menu and only load TWiLight from there then you'll need to switch to using nds-bootstrap in TWiLight settings on the flashcard, which will maybe lower compatibility but if you're using YSMenu on DS Lite and TWiLight on DSi I think it'd be fine, though they won't use the same save files so probably better to use TWiLight as the autoboot. You probably also have to delete the autoboot line from the YSMenu INI, I think it's in the TTMenu folder.
 

PinkCelebi

Active Member
Newcomer
Joined
Aug 20, 2020
Messages
26
Trophies
0
XP
162
Country
United States
So to summarize, just press SELECT + Up/Down to switch between your flashcard and SD content if autobooting, or if you want to keep YSMenu as your main menu and only load TWiLight from there then you'll need to switch to using nds-bootstrap in TWiLight settings on the flashcard, which will maybe lower compatibility but if you're using YSMenu on DS Lite and TWiLight on DSi I think it'd be fine, though they won't use the same save files so probably better to use TWiLight as the autoboot. You probably also have to delete the autoboot line from the YSMenu INI, I think it's in the TTMenu folder.
Thanks, was able to use Select + Up to see my flashcart. I've also removed the line for YSMenu's auto boot, which also worked.

But now, I'm facing a (hopefully final) issue.

To prepare my SD card for a clean install, I format my SD card, then open the "TWiLightMenu-flashcart" and "RetroGameFan Multi Cart Update v7.06" archives. I extract the folders "_nds", "roms", and the files from "Autoboot" folder and "boot.nds" to the root of the SD card. Then from RGF's archive, I extract the folders "Games", "TTMenu", and the file "YSMenu.nds".

So on the root of my SD card, I have: _nds, Games (this is where I store my ROMs and saves), TTMenu, _BOOT_DS.NDS, BOOT.NDS, R4.DAT, TTMenu.dat, YSMenu.nds. I put the SD in my flashcart and it boots up fine. I launch into TWi perfectly, I'm able to boot into YSMenu and launch games and their saves from either YS or TWi. So I take the SD card back out, go to "_nds/nds-bootstrap.ini" and "TTMenu/YSMenu.ini" and delete the auto boot lines. I put the SD card back in, boot the flashcart in my DS Lite. All games boot fine with saves there as well. But when I put it back in my DSi, TWi on the flashcart will load, but no games will. DSi files freeze on the nds-bootstrap loading logo, DS files will freeze with a black screen on top and a white screen on the bottom.

So I tried it a few more times (formatting, transferring files, booting in console) with the same issue. Eventually, I narrowed it down to the first boot will work fine in any system (DS, DSi, 3DS). On second boot, if flashcart is in the DSi, only TWi will boot. Games won't (including TWi's boot.nds and YSMenu.nds), they only freeze. Strangely enough, games installed to SD on my DSi work fine, and no issues in my DS Lite or 3DS - TWi + games work perfectly there. Only games on my flashcart don't when plugged into the DSi. I suspect a TWiLight settings might be to blame for this, but I'm not sure. Any ideas what's going wrong here?

Also, YSMenu and TWi keep re-adding games to autorun without my input. No idea why it happens (TWi will only do it on first boot up, YS will constantly add a new "autorun" line in the config file). I had to make YS autoboot into itself so I had a fighting chance of booting into YSMenu normally lol. Any way to permanently disable auto run? I never want to boot directly into a game.

Edit: figured out if you launch Slot-1 and hold B, it'll boot into YSMenu instead of TWi. Games load fine if I boot them from YSMenu or if I boot into TWi first, albeit they run in DS mode.

Edit 2: I think I figured it out. TWi would boot into TWi on the flashcart a third of the time, but most of the time, it would freeze during loading or I'd get a black screen with four squares - red, yellow, yellow, green. So I folded up a piece of scotch tape hotdog-style, then taped it onto the flashcart label. Haven't had any problems booting into the flashcart since then,
 
Last edited by PinkCelebi,

Bean_BR

Well-Known Member
Member
Joined
Feb 2, 2011
Messages
288
Trophies
1
XP
1,221
Country
Brazil
I'm doing some glooging but can't seem to find a proper explanation so I'll ask here: what exactly does encrypted/decrypted mean for DS roms? It has nothing to do with AP measures, right?
 

Bean_BR

Well-Known Member
Member
Joined
Feb 2, 2011
Messages
288
Trophies
1
XP
1,221
Country
Brazil
All I know is that if the secure area isn't decrypted in the ROM, the game won't boot.
nds-bootstrap will automatically decrypt it though, if found encrypted.
I was curious because I don't remember seeing this encrypted/decrypted thing back in the DS flashcards days.
Also, I would like to ask you about that progress bar lockups that was fixed in TwilightMenu, can it also help with in-game freezes? I had two freezes on the previous version that resulted in the 3DS not booting up unless if I reinserted the SD card. I haven't used TwilightMenu since then because I was worried about SD card damage.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: Sorry for accidentally bending over