Release DraStic Nintendo DS emulator


Bit weird that they're switching off the servers now
History time!Years ago when Nintendo first released the DS and Wii they needed some experienced online services for their new hardware. The king of the online server was Gamespy, so the contracts fell to them. Note that Gamespy had already been hosting for Microsoft and Sony for years, so this wasn't without precident.

Between 2005 and 2012 everything was just Peachy.

In 2012 Gamespy was purchased by Glu Mobile. Glu had other ideas about how to run the online services and a lot of games without long term contracts were immediately shut down, older games that were costing too much in servers and not bringing in enough money. This happened without warning with no chance of renewal, not just to Nintendo but across the board, hitting games for PC, PSP, PS2, and XBox. 2 years later and a bunch more contracts are about to expire. Glu Mobile will not be renewing those contracts.

The PSP community has been noting games dropping off for the last 2 years as well, this isn't just affecting Nintendo. Nintendo probably just made the unilateral decision to warn people in advance that it was going to happen before people started questioning where their games went. I actually wouldn't be surprised if Nintendo did some fast negotiation when the purchase first happened to keep them going this long rather than watching games drop off one by one like flies.

I'm sure that if Nintendo had a fair chance they'd gladly keep the servers running for as long as possible but they don't: Glu Mobile sets the rules and the rules say the games are too old.

I really want to meet some big-wig game guy with a question about why people are against DRM to which I would say "remember that Gamespy/Glu Mobile fiasco where a huge part of your player base got pissed off when you couldn't keep the online servers running because it was completely beyond your control? That's why"
 
I really want to meet some big-wig game guy with a question about why people are against DRM to which I would say "remember that Gamespy/Glu Mobile fiasco where a huge part of your player base got pissed off when you couldn't keep the online servers running because it was completely beyond your control? That's why"
It's not about DRM - I think you are using the wrong term here. Even if the game was DRM-free you may not be able to change anything about where the game tries to connect from the binary.

What's lacking is:

- a lack of options in the games to use non-official servers -> but this is never going to change since big companies want you to use THEIR services.

- no option to run your own server to host your games -> all of these game servers are not publicly available and never released to the community of players.

Gee, that's why I don't buy ANY game on console that requires an internet connection, and that's why I play my online games on the PC. Steam lets you download servers to host for most of their games (Valve), too. 
 
CEO: "Why are you so against this online DRM? It's harmless, one connection and then it stays out of your way."

Me: "Remember that time Glu Mobile just shut down a bunch of online game servers and you were hit with waves of support problems and bad publicity? Did it make you angry that there was nothing you could do to prevent it? Did you wish that you had gone with a more dynamic solution instead of depending on someone else who ultimately let you down? That is what we fear from your authentication servers."
 
All the WFC servers are looked up via simple DNS, so simply setting your own custom DNS server will work around that. The issue is during the authentication part of connection, the DS connects to a server through SSL and verifies that the server's SSL cert is signed by Nintendo's CA. Unless their CA private key gets compromised (not happening) or some flaw is found in their WiFi library, ROMs will have to be edited to either force that step to happen in plaintext or through other methods.

We've actually made some breakthroughs on that front. We already have methods for patching DS games and a couple methods for patching Wii games to remove encryption, along with a couple people having some groundwork for custom servers already done. I would say that supporting games on the internet would still be viable for this reason, plus the fact that DS to DS communication is done over Wi-Fi as well in hardware AFAIK so once one is done I can't imagine the other being too difficult.
Thanks for this response.. sorry I missed it earlier. You're right, modified DNS should be enough. I didn't even remember you could specify it manually on a DS instead of having to use what's supplied over DHCP. I saw the notes about patching to remove SSL encryption on the project page, I didn't really know the implications at the time so I appreciate your explanation. I'm glad you guys are working on this, regardless of whether or not DraStic ever gets to emulate wifi right. It sounds like a lot of work but I'm sure a lot of people will appreciate it if you even get one popular game working with a custom server.

Sadly I think the alternative for DS, tunneling NiFi over the internet, is looking pretty unlikely. There's a lot of evidence that it's just too latency sensitive. I guess we'll still try to see, though. It's pretty disappointing considering how many games support it vs how many support WFC, but let's face it, if it could have been done it probably would have been by now, even if it required unusual wireless hardware.

For local networks it should still be feasible, I hope. Not sure about bluetooth - it could require BT4.0 to get latency down low enough. I don't think Pandora supports that, at least.
 
Last edited by a moderator:
Exophase, I don't know if you have seen my comment on the repo, but since the last version the rom selection screen has become very sluggish because of the icon display for each rom. I don't mind having this function but if this makes the usability of the rom selection that much worse I'd like to have at least a way to turn it off. I'm talking about the whole program being inactive for 30 seconds or more to jump from one run to another. It's unbearable :p

I'm assuming that's what happening:

- it unzips the rom first... 

- then decodes the icon data...

- then displays it... without caching it...

Unzipping the rom just for that purpose takes a long time, and to make things worse it does not cache the icon data, and RELOADS every single time the icon for each rom. 

If you want to keep that function as default, can you at least implement a caching function so that the icon data extraction actually only occurs once at most ? If not, a simple option in the menu to turn off this function would be welcome.

Thanks 
 
Last edited by a moderator:
^Hmm.. I have no such issue.

Edit:  Just checked,  all my roms are .nds so your problem still needs to be investigated by Exophase :)
 
Last edited by a moderator:
dit:  Just checked,  all my roms are .nds so your problem still need to be investigated by Exophase

that's why I mentioned zip :)

If icon support for zip files takes so much time then either zip support or icon data extraction on zip files does not make sense. And anyway that does not explain why icon data is not cached either.
 
Last edited by a moderator:
I did see your comment. I'll make it optional. The most likely issue here is your SD card sucks, it's not very slow at all on mine (can easily go through several files a second, 30 seconds per file is just obscene). It doesn't unzip the ROM, just the part where the icon is, but if your SD card has terrible seek speed...
 
Last edited by a moderator:
If I may add my thoughts on the icon topic: On my Android TV setup, I have my roms on my NAS and they are mounted on the SD card. I have also noticed a delay when accessing the rom folder. So there are completely sane reasons (apart from a crappy SD card) why it might be a good idea to cache the icons
 
If I may add my thoughts on the icon topic: On my Android TV setup, I have my roms on my NAS and they are mounted on the SD card. I have also noticed a delay when accessing the rom folder. So there are completely sane reasons (apart from a crappy SD card) why it might be a good idea to cache the icons
On Android, the icons have always been cached. If you have the ROMs on a NAS, then the delay is probably just from listing and checking them.
 
Sorry, it didn't even occur to me that this is probably not the right place to talk about the Android version. Thanks for your reply, you are probably right
 
I'll test my card to see if that's the case, while it's a class 10 type (and I'm aware they don't always perform in the same way).
Be sure to do latency tests. That'll be the critical parameter, not bandwidth.
 
I talked to Lordus some more about this, apparently some games store the icon far into the game data instead of near the header. So they'd take longer to extract the icon out of.

Bear in mind, the OS does actually perform disk caching. So if you go back and forth between two files it shouldn't have to touch the SD card again, unless the disk cache got flushed. But I added the icon cache file anyway.
 
Probably going forward with this change regarding RTC emulation:

http://www.drastic-ds.com/viewtopic.php?f=5&t=1513&sid=dc14417a2cc7eff73c4ca2c1001c5708

If anyone here is wildly opposed it'd be good to hear now.
I just noticed this, so you've likely already added it. However, I wanted to know... would it be possible to add an option that syncs up the emulated DS time with their system's real time whenever a sync button is pressed? This would allow those who want their system synced to still be able to do this, while allowing the benefits that your emulated DS time might bring.

-God Ginrai
 
I added back an option to use the system time always like it used to, but I don't recommend using it because it could cause problems. Not really interested in doing a button that mixes the two, sorry.
 
Bear in mind, the OS does actually perform disk caching. So if you go back and forth between two files it shouldn't have to touch the SD card again, unless the disk cache got flushed. But I added the icon cache file anyway.
I'm not sure what's happening then, since there is a clearly a large time lag even when I go back to files where the icon was previously extracted. Not as long as the first time, but still significant.

By the way, are you going to release a new version with the option to remove the icon data extraction as you mentioned ? 
 
Back
Top