The State of DS Homebrew (it rocks!)
Justin writes "PSP homebrew always seems to get all the attention, but the DS homebrew scene is surprisingly active and robust as well. Modojo has an in-depth feature examining DS homebrew, including such things as PDA applications, indie games, and ScummVM DS (for oldschool LucasArts adventure games). From the article: 'My initial reaction to homebrew was little more than a shrug. I summed up the entire idea very simply with: Why? Why waste time on exploring less than impressive independent titles and old emulators when there is already so much new and interesting content for the DS? Luckily, at that time I couldn't have imagined the amazing world of homebrew I was denying myself.'"
I reflashed my DS Phat a long time ago and have great fun with it. I'm going out tonight to get a Max Media Dock for my DS Lite for homebrew and video (using homebrew players)
I did some investigation into DS homebrew and took some notes on the information I could find. Could anyone with DS homebrew experience verify that I am on the right track and/or suggest better ways to go?
Notes:
"Basically, the way home homebrew and ROMS work is that you have to put something in the DS game slot at top to redirect execution to the CF or SD card adapter that carries the SD or CF memory card and various software in the GBA slot at bottom. Max Media Launcher, which goes in the DS game slot, seems to have a very good success rate at booting ROMs and homebrew when combined with the M3 SD X (what about the M3 CF X?).
Other products exist to redirect execution that fit in the DS game slot at the top, although ones like PassKey require that you fit a game into the device and then the conjoined entity into the DS game slot. You can also use wifi to do this (or potentially serve up applications), but you need a wireless access point with a certain chipset to do this (does the USB Wifi Max router enable this?). You can also flash the firmware on the DS, but this option seems complex for little gain when you can just put in the Max Media Launcher, plus I believe it voids the warranty."
Sources:
http://www.iso420.com/nds/dmax/
http://www.iso420.com/nds/m3sdx/
Slashdot Burying Stories About Slashdot Media Owned
I think homebrew stuff is kewl. I love it. However, I don't like how you have 10 things hanging off a DS for it to work :)
:) I could use it like a regulary old DS cartridge and not have weird things dangle off my DS for homebrew fun.
With that said, I saw this on engadget last week. It looks promising for a simple *UNOBTRUSIVE* homebrew experience. Which is what I want
AirSpeak - http://itunes.com/apps/AirSpeak
Because people aren't aware of this or don't want to jump through the hoops, whereas they already have a DS. Don't trivialize the importance of marketing, i.e., letting people know your product actually exists. How many consumers have a DS? How many have a GP2X? How many have heard of the DS? The GP2X?
When the open source community understands the importance of actually *reaching* people, and bringing the products *to* them, they will have a better understanding of why so few home users use Linux-based OS's or FireFox, or OpenOffice.
Apology to Ubuntu forum.
I plan to purchase a DS, just so that I can play Nethack on it. O_O
http://xs205.xs.to/xs205/06333/NethackDS1.JPG
Registered Linux user #421033
What PDA has a decent gamepad for programs that use traditional gaming controls? Or do you claim that hobbyists and shareware companies should make games similar to Kirby: Canvas Curse and Meteos instead of traditional platformers and puzzles?
And test them how? The latest version of Windows Mobile allows the seller of a device to lock it down such that only Mobile2Market-signed apps will run. And no, "any idiot" can't necessarily afford the annual fees and per-application fees of Mobile2Market.
When looking at running homebrew, you need to stick with adapters like the M3 or the GBAMP that use CF cards for storage. Right now many homebrew apps are unable to save or load files from SD or Mini-SD based adapters. I'm sure this will change in the future, but it leaves me unable to play Sam & Max on ScummVM DS as its can't read my M3 MiniSD. I can still play games, but I have to combine them via a .zip file with the emulator which limits the file size to 32 megs total, and you need more than that for the games with talking. If I had a CF I wouldn't have this problem. And this affects almost all homebrew, not just ScummVM.
Sony has shown itself to be much more active than Nintendo at locking out homebrew. GBA homebrew from 2001 on a flash card from 2001 still works on the DS Lite. Nintendo has had about six releases of the DS firmware, numbered v1 through v6 by the homebrew scene, and only v4 (released nearly a year ago) tightened the screws on DS homebrew. Sony, on the other hand, has had PSP firmware 1.0, 1.5, 1.51, 1.52, 2.0, 2.01, 2.5, 2.6, 2.7, and 2.8, each update timed to fix holes in the previous version.
Given that you quoted a price in US currency, I'll assume that you're eligible for GameFly DS. Or for games published by Nintendo, you might want to go to a DS Download Station at your local Best Buy store.
From TFA:
DS Linux is a port of the Linux operating system to the Nintendo DS. The project hopes to bring the full capability of Linux to the DS, but is still in the developmental stages. The project supports a full keyboard on the touchscreen, and will allow users to send and read email, chat online, and play text-based games. (emphasis mine)
We are actually a bit further than that. Two IRC clients are available (tinyirc and bitchX). BSDgames and other text games are mostly working. The article forgot to mention highlights such as working wifi support, ssh/scp, an algebra system (mathomatic), and text-based web browsing. (To be fair, they contacted us for an interview before writing the article but it seems we were to busy to respond :P)
The biggest limitation is the lack of an MMU, which means neither paging nor swapping is possible. Hence DSLinux is a port of uClinux to the DS, not of the vanilla kernel. Our current kernel version is 2.4.16-hsc0 with an awful lot of patches and lots of new drivers to support the hardware of the Nintendo DS itself and various add-on devices (mostly storage devices using CF or SD cards).
At the moment we are stuck with 4MB RAM, which makes things a bit tricky. There is work going on to expand the available RAM from 4MB to up to 32MB for storage devices that sport on-board RAM, for example the Supercard. We also have someone on the team capable of building custom RAM expansion carts for the DS's GBA slot. Once we have more memory we'll have much more possibilities (there's talk about a GUI, for example, but that is still far off). Accessing RAM through the GBA slot involves gcc modifications, which have already been made. We still have to rewrite some of the assembly code in the kernel and the C library (uClibc). You can read more about this here if you are interested.
As you can see, this project is quite fun and challenging. Tasks on the TODO list range from shell scripting and cross-compiling applications to hacking ARM assembly in the Linux kernel. Progress is slow because we only have 3 very active developers at the moment (myself included), and some people who occasionally send patches. There is a lot of work to do. Get in touch if you are interested in helping out.
The Nintendo DS has less than 5 MB of RAM, including VRAM and various caches. Even Opera needs a 10 MB Expansion Pak in the GBA slot to work. How the h*ck will you fit the larger footprint of Firefox into a DS?
No, it wouldn't. The problem with touchscreen is that it only can do left-clicks, no right clicks. While right-click isn't needed to master any of the LucasArts games, I find it quite important for fluid gameplay, since it removes a lot of unneeded clicking. And another very fundamental problem is that a touchscreen can't do "hover", either you click somewhere or the device has no idea where your pointer is, which means you can't hover and move around like with your mouse to find out which objects you could interact with. ScummVM solves this by letting you toggle via Dpad between over, left and right click, but it really doesn't feel all that good. Last not least there is of course also a resolution problem, LucasArts games are VGA 320x200, DS only has 256x192, not that critical, but yet another annoyancy to add to the list.
ScummVMDS is still a great little tool, but the NintendoDS is really not a very good device for LucasArts games.
I bought a used Nintendo DS about 6 months ago, because I liked Nintendogs and I wanted to be able to play my old LucasArts games on it. Here's what I did to get things working:
.txt, play .mp3 and .ogg, watch videos, view images) and PocketNES (NES emulator).
Step 1. Ordered a SuperPassKey and SuperCard SD off the web. The SuperPassKey goes in the DS card slot at the top between the DS and a game. The SuperCard goes in the GBA slot in the bottom and holds an SD card up to 1 GB in size. The SD card must be FAT16, I think. You can also get an adapter for a CF card.
Step 2. Went to the SuperCard SD home page (eng.supercard.cn) and downloaded a firmware update and a program called SC that patches ROMs and other homebrew to work with the SuperCard. (Unfortunately, this step isn't mentioned in the packaging.)
Step 3. Got some homebrew working. My favorites are MoonShell (read
Step 4. I got tired of the SuperPassKey sticking out of the top, so I downloaded FlashMe and flashed the DS. Not only do I not have to use SuperPassKey anymore, but FlashMe also gets rid of that warning screen when you boot up. This program has gotten hard to find on the net, though.
I haven't tried ScummVM DS yet, since it the current version can have some problems with SD cards. Also, I was hoping to get to play some Genesis and SNES games, but those emulators are still works-in-progress.
On the whole, the state of DS Homebrew is great from the standpoint of a user -- the hardware is easy to use, and there's a lot of useful and fun software. The online documentation for various things can be confusing, though, so beware. It helps that the DS can run programs designed for the Game Boy Advance, too. My only disappointment so far has been the Genesis and SNES emulators, but I'm sure they'll eventually work around their challenges.
Those of you interested in Nintendo DS Homebrew and Emulation should check out Nintendo DS Emulation, which has to be the most updated site for DS Related News, also Drunkencoders is another great site for Homebrew news. Those 2 sites are all you need to keep fully up to date with all the latest homebrew releases and news.
I pray you never have to interface with an English department.