#110879 - vbsoccerdude94 - Sat Dec 02, 2006 3:54 pm
I found out I can use my AR DS as a nopass...but I
m wondering what no Pass is. Do you put a flash cart in your GBA slot to make it work? Because I don't have a flash cart and I triyed putting in normal GBA games and the screen was just white.
#110884 - Mighty Max - Sat Dec 02, 2006 4:50 pm
A Nopass starts DS binaries in DS mode from the GBA slot. GBA binaries will fail execution because they expect the DS to be in GBA compatibility mode.
_________________
GBAMP Multiboot
#110886 - vbsoccerdude94 - Sat Dec 02, 2006 4:52 pm
So would the flash cart work? Also, could I use WMB or Wifime? I have both downloaded just in case, but I have everything besides a flash cart and the RT2650 driver, all I have is the Nintendo Wifi Connector
#110905 - dantheman - Sat Dec 02, 2006 7:27 pm
In general, to get homebrew working, you need 2 things:
1. A passthrough device - PassMe, PassMe2, WifiMe, NoPass
2. A method of storing the homebrew - GBA flash cart, Supercard, M3, slot-1 devices
- Alternatively, you can use WMB if your wireless card is compatible.
You have the NoPass already, but you need some sort of homebrew storage device in order to get DS homebrew to work. Since you can use your AR as a NoPass, you do not need WifiMe. WifiMe is basically a limited "type" or "version" of a NoPass that you can't use on your DS, since you have version 4.
Once you have a method of getting homebrew working, you can optionally install a replacement firmware for your DS called FlashMe. This does a few things:
1. It makes the NoPass unnecessary, as you can now hold a button combination down in order to boot from the GBA slot while in DS mode.
2. It removes the RSA signature check from WMB downloads. That means that once you've installed FlashMe, you can use WMB to wirelessly download homebrew to your DS.
WMB however is limiting. You have to be near your computer to load any homebrew, and the only way for you to get your Nintendo Wifi connector to work with WMB would be to use Linux. In addition, you STILL need to have a fully working method of using homebrew before you can install FlashMe, so I would not suggest this path.
For DS homebrew, a GBA flash cart isn't recommended due to several reasons:
1. They are very expensive for the amount of space available
2. They do not have FAT filesystem support, which many homebrew programs now use
3. Unless your flash cart manufacturer has made an effort to make your cart more compatible with the DS, you can use only one rom at a time, and you have to rewrite the whole cart to add a new one.
Instead of using WMB or a flash cart, I would suggest getting a Supercard or M3 or GBA Movie Player v2 CF (do NOT get the SD version of the GBA MP). These can be found online for various prices. They will take either Compact Flash cards or SD cards. You can also buy MiniSD versions that will fit flush against the GBA slot of a DS Phat and MicroSD versions that will fit flush against the GBA slot of a DS Lite.
Note that the GBA Movie Player v2 does not have any internal RAM, so you cannot use GBA binaries on them. There is also some homebrew that does not work on the GBAMP because they use GBA-like filesystems and require that RAM to be present (like SnezziDS for example). Also note that anything over 4 MB cannot run, as the GBAMP has to load everything into the DS's RAM, which is only 4 MB in size.
The Supercard has slower RAM than is required for GBA binaries, so you must patch games and homebrew so that the GBA doesn't freeze when information isn't supplied fast enough. The M3 has faster RAM and does not have this issue, but it is the most expensive of the aforementioned devices.
You can also get a slot-1 device that sits in your DS slot. These however are expensive and for the most part, incompatible with lots of DS homebrew. They are not recommended either.
The whole world of DS homebrew is confusing. I suggest you sit down and do some more research before buying anything, as you don't want to end up buying a device that won't suit your needs. For instance, the Supercard "Rumble" series and the M3 "Pro" series are cheaper because they do not have the RAM needed for GBA compatibility. Since homebrew is just now starting to use that extra RAM for expanded functionality (DSLinux being the prime example of this), it is not recommended.
#110978 - Lynx - Sun Dec 03, 2006 11:01 am
Quote: |
Also note that anything over 4 MB cannot run, as the GBAMP has to load everything into the DS's RAM, which is only 4 MB in size. |
Hmm.. Should I just correct this statement by saying there is not such limit, or should I play dumb and ask how I can play 8MB MP3s on my GBA MP if there is a 4MB limit?
I'll be nice.. and again.. correct that there is NO SUCH LIMIT on the GBA MP!! And, if you did want to pretend there was a 4MB limit, it would be on your code. AKA, not graphix, not sound effects, not music, etc.. just your main.c and supporting files.
Would it be correct to say it would be comparable to a commercial DS game? I mean, they are not directly addressable and have to swap the game data in and out of RAM as well.. But, commercial DS games don't have a 4MB limit. I wish someone with some real skills would take some time and "toss" a quick demo or lib together to prove there is no 4MB limit once and for all.. Of course, that's not me, cause I suck a programming. But, I will finally have something released by the end of the year.. Either for Drunkencoders.com or PAlib (or both?) compos.
_________________
NDS Homebrew Roms & Reviews
#111034 - dantheman - Sun Dec 03, 2006 7:53 pm
Yeesh, sorry about that. I was not aware there was no limit. My apologies for spreading incorrect info.
So then the GBAMP still has some limitations, but it's not as big of a deal as I thought it was. It is still probably the cheapest homebrew device you can use that still has good functionality.
#111095 - vbsoccerdude94 - Mon Dec 04, 2006 2:29 am
Ok thanks, but.. I don't think it's worth buying anything. BUT...can anyone give me a list of compatible wireless routers? Cuz my mom wants to get one because she just started to fire up her Mac OS 9(yes...9) and she wants internet. Cuz this computer is mine, and I use a cable modem.
So if I was 2 buy a Super Card or M3, would I have to use SD or CF? Or either? Cuz you said that about GBA MP. I hope SD.
#111105 - dantheman - Mon Dec 04, 2006 3:28 am
As far as I know, routers will not work for WifiMe or WMB. It has to be a wireless card for your computer, which would generally plug into an empty PCI slot on your motherboard. If you're talking about games like Mario Kart DS, which have built-in wireless multiplayer, then most routers should be compatible. I don't have a specific list handy though, sorry. I believe that the official Nintendo site used to have one up at one point, so perhaps you could search there.
The CF vs SD thing really only applies to the GBAMP, where it's imperative that you get a CF version. The only thing I've heard about M3s and Supercards is that the microSD versions (the Lite versions) sometimes have issues with certain homebrew, as they're not fully supported by the FATlib. Someone please correct me if I'm wrong, as I'm not entirely familiar with the specifics here.
#111120 - tepples - Mon Dec 04, 2006 6:42 am
Lynx wrote: |
I'll be nice.. and again.. correct that there is NO SUCH LIMIT on the GBA MP!! And, if you did want to pretend there was a 4MB limit, it would be on your code. AKA, not graphix, not sound effects, not music, etc.. just your main.c and supporting files.
Would it be correct to say it would be comparable to a commercial DS game? |
Almost. Dual-use homebrew/piracy hardware knows how to patch commercial DS roms. It often does not know how to patch homebrew written for gba_nds_fat.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#111204 - Lynx - Mon Dec 04, 2006 9:20 pm
Sorry.. I should have written it better.. Pirating or 3rd party hardware asside, a standard commercial DS game is in slot 1 and slot 1 is not directly addressable, right? So, the commercial game must swap data in and out of the 4MB RAM in the DS to allow a 32MB game to be played. As this "library" must be part of the official development kit, I can't imagine software companies being required to hardcode addresses into their games, so I would assume it is dynamic. But, I would expect that to be a lot of hard work for a homebrew dever to create, so even a statically addressed version would be enough for a proof of concept as well as for a WW style game where each indvidual game is modulized and loaded above the core menu system that launches each module.
But, now that you mention it.. Chishm did create a proof of concept that did allow >4MB .nds files to be played and I remember seeing a video of Asphalt Urban GT running, and when the GBA MP was pulled out, it paused the game, and when it was reinserted, it continued.. so I guess the >4MB .nds has already been shown..
_________________
NDS Homebrew Roms & Reviews
#111239 - chishm - Tue Dec 05, 2006 3:47 am
Lynx wrote: |
But, now that you mention it.. Chishm did create a proof of concept that did allow >4MB .nds files to be played and I remember seeing a video of Asphalt Urban GT running, and when the GBA MP was pulled out, it paused the game, and when it was reinserted, it continued.. so I guess the >4MB .nds has already been shown.. |
This is a bit against the board's policy to discuss, so I won't go into details. That was basically proving that (some) commercial ROMs could run (badly) from GBAMP. Many people said it wasn't possible to do, and this was half a year before the Datel tool was hacked to run on GBAMP. I guess I don't like being told I can't do something.
However, you would still need to write something from scratch to get > 4MB homebrew NDS files to run.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com
#111323 - Lynx - Tue Dec 05, 2006 6:14 pm
Doesn't matter.. either way, you proved that there was no 4MB limit on the GBA MP. I know that wasn't what you were trying to prove at the time, but in this case, it proved there was no 4MB limit as well.
Q: Did the GBA MP play a .nds file larger than 4MB?
A: YES.
Point, set, match.. Facts are facts. There is no reason someone couldn't write a homebrew to swap data in and out.. So, the first person that does, will be the second person to prove that >4MB .nds files can be run on the GBA MP. Chock another 1st on Chishm's list! :)
But, to get off topic even more.. 4MB for homebrew is HUGE!
_________________
NDS Homebrew Roms & Reviews
#111324 - Sausage Boy - Tue Dec 05, 2006 6:17 pm
Not really. Say you want to have a nice little non tracked tune playing in the background, that's almost 4MB right there.
_________________
"no offense, but this is the gayest game ever"
#111329 - Mighty Max - Tue Dec 05, 2006 6:26 pm
Sausage Boy wrote: |
Not really. Say you want to have a nice little non tracked tune playing in the background, that's almost 4MB right there. |
In Ustrat im playing wave files of length up to 2GB. There is no problem. Even for the "expect to be at GBA address space" problems there is a proven solution via MPU.
Actually, the wav files im using in the dev version are 3.84MB ("Ich Hatte einen Kameraden" ger for "I had a comrade"), 4.64MB ("Brittania - Dharmasound") and 3.01MB ("Adagio for strings - Dharmasound") and the 1.96MB Theme from Neocron (by Max Corbacho), and yes they are playing fine in the background while the game cares only about itself.
PS: If someone happens to have a better version of a men chorus singing "Ich hatte einen Kameraden, please leave me a PM.
_________________
GBAMP Multiboot
#111349 - Lynx - Tue Dec 05, 2006 7:39 pm
Sausage Boy wrote: |
Not really. Say you want to have a nice little non tracked tune playing in the background, that's almost 4MB right there. |
Anyone can poorly write homebrew and make it huge.. but if you consider the hundreds of homebrew out there, how many are over 4MB and how many really need to be?
_________________
NDS Homebrew Roms & Reviews
#111390 - tepples - Wed Dec 06, 2006 4:32 am
Sausage Boy wrote: |
Not really. Say you want to have a nice little non tracked tune playing in the background, that's almost 4MB right there. |
There are six non-tracked tunes in the demo distribution of Luminesweeper, plus background and tile images, and the whole thing is under 3 MB. It all depends on what kind of compression you use.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#111400 - Lynx - Wed Dec 06, 2006 7:23 am
That's why I said poorly written.. As the game/app I'm working on was getting huge fast because I was doing the audio wrong.. Once I figured out what I was doing wrong, 260k files became 6k files.. But, if I would have just left it the way it was it would work, and be way over 4MB when I finished.. Right now I have twice as much audio as I started, and about four times as many backgrounds and I'm still only at 1.4MB and I haven't optimized any of the gfx yet.
Back to my question.. How many homebrew games/apps currently available are over 4MB? I can only think of one.
_________________
NDS Homebrew Roms & Reviews
#111413 - HyperHacker - Wed Dec 06, 2006 9:31 am
The important point is surprisingly simple to explain:
The maximum size of a .nds file you can load is 4MB, or possibly 32MB on flash carts and those with RAM. You can have several gigabytes of resources in additional files on your memory card if you want, or even one file as big as the card can hold, but the .nds itself is limited to 4MB.
Case in point: Moonshell can easily play a 6.5MB MP3 I quite enjoy. But try to embed that MP3 into the .nds itself (this was possible with older versions, I think the feature may have been dropped) and see if you can load the 7MB .nds file on your GBAMP. I can't.
Commercial games work exactly the same way: They have the basic program that the firmware loads into RAM, which has to be under 4MB. This program then loads other things from the card. The only real difference is that commercial games often swap code in and out of RAM as well, the first program tending to just be a stub (title screen and main menu routines) that loads other programs from the card, while homebrew doesn't often do this because it's a pain. Even WMB programs do this, which is why you often get a long loading screen from the program itself after downloading it.
_________________
I'm a PSP hacker now, but I still <3 DS.
#111452 - Sausage Boy - Wed Dec 06, 2006 6:45 pm
I won't even try to argue with tepples about music on the ds/gba, as I'm not nearly as knowledgeable as him about the different audio limitations on these platforms.
4MB is way more than most little homebrew games would ever dream of filling, I agree with that. But it's not very far away, if you got a team together to create a larger project, filling 4MB won't take too long. Then again, doing that for the DS is difficult, not everyone can run homebrew on their DS's (and, if a non-coder can, they're most likely pirates). If I was an artist, I'd surely want to see my creations in action.
_________________
"no offense, but this is the gayest game ever"
#111476 - Mighty Max - Wed Dec 06, 2006 10:03 pm
The 4MB limitation of the pure .NDS files is also set on flashcards. It is not possible to have a single .NDS with bin9+bin7 > 4MB.
If you append a FS after the .NDS ended, there is no difference if that filesystem is stored on the cf/sd or in gba slot address range. Actually the gba slot addressrange limits the attached FS more: 32MB and cut.
_________________
GBAMP Multiboot
#111490 - Lynx - Thu Dec 07, 2006 1:36 am
Hold on.. Saying the maximum size of a .nds file is 4MB is rediculous. I can give a dozen examples of how this is untrue just based off that "general" statement. So, when you say ".nds file" what exactly are you refering to? The ARM7+ARM9 data only? As a .nds file can have a file system within the .nds file. Does that not count as part of the .nds file? Ticklegirl.nds, is that not a >4MB .nds file? Because M$ windows tells me it is. So, if you want to say the ARM7+ARM9 can't be > 4MB, that is fine, but don't say a .nds file can't be greater than 4MB because it is wrong.
_________________
NDS Homebrew Roms & Reviews
#111498 - Firon - Thu Dec 07, 2006 2:38 am
4MB is just the amount of RAM you have. The .NDS can technically be up to 128MB (32MB if you want it to be stored in a flashcart's PSRAM/NOR), and if you load files from an SD/CF, you can do even more.
#111514 - tepples - Thu Dec 07, 2006 5:05 am
OK, so I append an archive to the .nds file. Now how do I find the path of the running .nds file (which on a PC is in argv[0]) so that I can fopen() the .nds, load the archive's directory, and then load files from it?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#111523 - Mighty Max - Thu Dec 07, 2006 7:45 am
Lynx wrote: |
Hold on.. Saying the maximum size of a .nds file is 4MB is rediculous. I can give a dozen examples of how this is untrue just based off that "general" statement. So, when you say ".nds file" what exactly are you refering to? The ARM7+ARM9 data only? As a .nds file can have a file system within the .nds file. Does that not count as part of the .nds file? Ticklegirl.nds, is that not a >4MB .nds file? Because M$ windows tells me it is. So, if you want to say the ARM7+ARM9 can't be > 4MB, that is fine, but don't say a .nds file can't be greater than 4MB because it is wrong. |
The appended filesystem is appended, there is no link between the file to the appendix other then the windows file managing system. On the flashcard itself, both parts are seperated. The .nds file (=container) is independend from the appendix.
Therefor everything refered as .nds in my previous post, is everything that gets linked (is contained) to by the headers of the nds file.
Tepples, you got to search for it, or hardcode its pos (hence i have been asking for argc/argv for some time now) but that does not differ from attached filesystems, they got to search too, and some of them fail to find the appended fs if it appends the ram image instead of the rom image ...
_________________
GBAMP Multiboot
#111533 - chishm - Thu Dec 07, 2006 10:11 am
On GBAMP CF the firmware places the loaded NDS file's cluster number as the last word in EXWRAM. Although you can't directly open the file from this using either FAT library, it can be used through a bit of hackery to read data from the file.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com
#111552 - tepples - Thu Dec 07, 2006 5:13 pm
chishm wrote: |
On GBAMP CF the firmware places the loaded NDS file's cluster number as the last word in EXWRAM. Although you can't directly open the file from this using either FAT library, it can be used through a bit of hackery to read data from the file. |
Will this hackery be standardized in the mythical r20 like everything else?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#111581 - chishm - Thu Dec 07, 2006 11:42 pm
tepples wrote: |
chishm wrote: | On GBAMP CF the firmware places the loaded NDS file's cluster number as the last word in EXWRAM. Although you can't directly open the file from this using either FAT library, it can be used through a bit of hackery to read data from the file. |
Will this hackery be standardized in the mythical r20 like everything else? |
Nope. It's a non-standard feature that is useful only with one device. It's more of a "this might be useful someday" feature that I put into NDSMP, but haven't found a use for.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com
#111609 - HyperHacker - Fri Dec 08, 2006 9:17 am
Lynx wrote: |
Hold on.. Saying the maximum size of a .nds file is 4MB is rediculous. I can give a dozen examples of how this is untrue just based off that "general" statement. So, when you say ".nds file" what exactly are you refering to? The ARM7+ARM9 data only? As a .nds file can have a file system within the .nds file. Does that not count as part of the .nds file? Ticklegirl.nds, is that not a >4MB .nds file? Because M$ windows tells me it is. So, if you want to say the ARM7+ARM9 can't be > 4MB, that is fine, but don't say a .nds file can't be greater than 4MB because it is wrong. |
OK, technically you can use the NitroFS to have more than 4MB, but I've yet to see any homebrew apps support that option.
_________________
I'm a PSP hacker now, but I still <3 DS.
#111625 - tepples - Fri Dec 08, 2006 2:32 pm
I can imagine that more homebrew will use that option (NitroFS/KOSFS/GBFS) as soon as some standard method of reading from the file that argv[0] is supposed to point to gets implemented.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#111679 - vbsoccerdude94 - Fri Dec 08, 2006 11:22 pm
Wow...I have no clue what any of u r talking about......
#111713 - tepples - Sat Dec 09, 2006 9:56 am
vbsoccerdude94 wrote: |
Wow...I have no clue what any of u r talking about...... |
Let me summarize this topic so far in more standard language:
A .nds file can consist of a program and appended data such as models, textures, maps, sounds, scripts, etc. The program itself can't be bigger than 4 MB, but while it is running, it should be able to load the appended data into RAM and use it. DS Game Cards work exactly this way. However, most homebrew .nds files (except sc.nds) contain only a program and put other data in a separate file because a program running in the current homebrew environment does not have a standard way to find the .nds file in order to access its appended data.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#111729 - vbsoccerdude94 - Sat Dec 09, 2006 3:37 pm
OK thanks, much better.....but I never got my question answered...
Can I run WMB without a FlashMe DS? I know I can, but can I do it with a nintendo Wifi connector? I got windows XP...do I need DSLinux or do I need to have a Linux Computer?
#111732 - Mighty Max - Sat Dec 09, 2006 4:36 pm
vbsoccerdude94 wrote: |
Can I run WMB without a FlashMe DS?
|
You can, but only signed official demos.
Quote: |
I know I can, but can I do it with a nintendo Wifi connector? I got windows XP...do I need DSLinux or do I need to have a Linux Computer? |
Not in windows (which only supports some ralink pci/pcmcia cards). But that doesnt need you need to install a complete linux distribution to your harddrive. LiveCDs (i.e. Knoppix) lets you boot linux from cd and allows you to wmb demos to unflashed DSes, or wififme (= Wireless PassMe) your DS with a flashcard. There should be a howto floating around somewhere here in the forums.
_________________
GBAMP Multiboot
#111940 - vbsoccerdude94 - Mon Dec 11, 2006 11:15 pm
I have no clue what Linux really is...I only put it on my iPod. Would I have to totally change from Windows to Linux? Could I change back? and is it dangerous?