Homebrew DS(i) NOOB PARADISE - Ask questions here

Pk11

A catgirl with a DSi
Member
Joined
Jun 26, 2019
Messages
346
Trophies
0
Age
20
Location
米国
Website
pk11.us
XP
1,704
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
23
XP
5
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
346
Trophies
0
Age
20
Location
米国
Website
pk11.us
XP
1,704
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
23
XP
5
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
346
Trophies
0
Age
20
Location
米国
Website
pk11.us
XP
1,704
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
437
Trophies
1
XP
2,958
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 :)
 
General chit-chat
Help Users
    TheLiamChannel @ TheLiamChannel: hi