Will this way of reviving the Nintendo DS work?

Discussion in 'NDS - Console and Game Discussions' started by AssemblerX86, Feb 20, 2017.

  1. AssemblerX86
    OP

    AssemblerX86 Advanced Member

    Newcomer
    85
    51
    Jun 12, 2015
    United States
    I am a programmer, I can work with advanced things such as emulation and networking, but the problem is that I haven't followed the DS Scene (Hacking and stuff) since it has begun (In 2005?) neither within the period just before the 3DS was released (The DSi era).

    Since the DS has played an important role in our childhood, and it stayed active for a long time, also the fact that it is almost dead (Gaming servers and support are shut down), I thought of two different ideas to keep it alive by keeping online play possible:
    1. The first idea is if it is possible to connect the Nintendo DS to the network adapter of a computer, I read about a method called WiFiMe, where it was possible to connect the Nintendo DS to RT2500/RT2560 chipsets based adapters. Now after being able to connect the Nintendo DS wirelessly to the PC, we can make a network between players who want to play a game online by making them connect to a client on PC which is connected to a master server that joins them together, so the Nintendo DS thinks as if it is playing with other local players wirelessly, where they are actually connected remotely through a server. The problem with WiFiMe is that anyone who wants to play online would need to buy a RT2500/RT2560 based network adapter and install a specific driver to it, which is not what we want to keep the process easy so the DS would stay alive.
    2. Method 2 is almost impossible, but I was wondering whether gaming dedicated servers of games could be acquired or cloned (By packet sniffing). It would be easy after that to connect the Nintendo DS to a cloned private server rather than the official one.

    Just a note that in either ways, the packets are being transfered through our servers, so we can gather information regarding players and their scores and perhaps make a leaderboard for some games for example. So what do you guys think? Is any of those 2 methods possible? I have prepared myself that both methods are impossible :P
     
  2. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23,180
    8,922
    Nov 21, 2005
    2) was already done. http://gbatemp.net/threads/save-nin...e-online-servers-for-ds-and-wii-games.362717/ for the end result of the project that kicked off as the death clock for the DS wifi was started. There was an earlier thread on some of the tech side of things too if you want to go looking. Short version was there is an encrypted handshake but if you forced it to use HTTP (mainly by opening the ROM and changing instances of HTTPS to HTTP, though you will also need to make sure you don't shift everything following it back by one byte, so instead most shuffled the whole thing and put a blank at the end) it did it all in plain text. Said handshake and more was captured and analysed and ultimately enough of the server functionality for most games discovered that it could all be recreated -- for the most part it was a handshake and then continuous broadcast to all players affair, no server side DB, anti cheat.... The link above might not work if the main hacked/homebrew server is down but there should be enough there for you to run your own if you are so inclined. Requirements are mainly a flash cart to run the modded ROM on (the HTTPS -> HTTP stuff has to stay) but you could port some of it to cheats if you really wanted.
    Figuring all that out without the servers up, as is the case now, would be a nightmare but I reckon it could still be done if it had to be.

    1) Local play in commercial games, homebrew can use any method you care to cook up but was mostly local and dev provided server somewhere out there in the world, uses a custom(ish) protocol. It is best described as headerless wifi packets which makes it very tricky as most network hardware will disregard it, some dubbed it nifi. I don't know how deep some of the drivers go for some hardware but it is not going to be pretty for the end user. As an example of the world you would end up playing in a couple of years back with pokemon on the 3ds they broadcast good info in cleartext (see also pokemon battle analyser), around that time was also the desire for injection. Now outside windows server then raw sockets (needed for big boy injection) went around windows XP SP2 and you would not believe the aggravation in trying to get people to simply boot a linux liveCD to play with injection. It was marginally better when things were routed through PCs and android phones and what have you, however as consumer routers are crap someone decided ARP poisoning was the way forward... funny thread that was.
    Anyway you would have to have a device that captured the headerless protocol and sent it on, doable with some kind of silly spectrum analyser setup I imagine but something more realistic then again you are going to need something special on the network card side of things to do something here -- I would start by looking at the various things used in WEP injection cracking, those with linux drivers and so forth as I really do not see anything tickling NDIS, I assume that is still where those doing some of the more fun things with networks start at, or something cutting it here. Alternatively if there is a card out there that has some kind of software defined radio or is a FPGA, or equivalent, connected to an antenna rather than premade silicon that is vaguely aware of the media layers, which is what many wifi cards seem to be, then absolutely get some of those to start playing with. You mentioned yourself that specific cards would be far from ideal but there is enough out there that only had local play, and had some good play at that, that you would probably get enough people interested in this one if you did it.

    Beyond all that I imagine the protocols used for nifi are going to be pretty dropped packet and latency sensitive, not as much as cables but enough that it gives me pause.

    Wifime was a means to launch homebrew and use the download play functionality to do it. Similarly the DS firmware is a kind of chain loader/boot loader affair and is not in memory/as a separate process or anything. To that end you would be better off looking at the games themselves if you want to try sending things over (presumably local/VPN) wifi instead of nifi.
     
    AssemblerX86 likes this.
  3. AssemblerX86
    OP

    AssemblerX86 Advanced Member

    Newcomer
    85
    51
    Jun 12, 2015
    United States
    I actually didn't expect that some people would actually do that as it would require loads of work, it seems to be actually successful too! I guess I will contribute to that project then, its better than my 1st suggestion since it has already been made and people are working on it, also, 1st suggestion has problems in terms of portability and compatibility, also dealing with headerless packets is a pain in the butt. I still have suggestion 1 in my mind though.

    Thank you for the detailed explanation :teach::yaynds: