[Proof-Of-Concept] N3dES

Discussion in '3DS - Flashcards & Custom Firmwares' started by CollosalPokemon, Oct 28, 2011.

Oct 28, 2011

[Proof-Of-Concept] N3dES by CollosalPokemon at 8:48 AM (23,332 Views / 6 Likes) 85 replies

  1. CollosalPokemon
    OP

    Member CollosalPokemon ばん。。。かい

    Joined:
    Oct 18, 2009
    Messages:
    681
    Country:
    United States
    N3dES Emulator which plays NES games in the 3DS-mode browser

    For the past week I've been experimenting with the 3DS web browser and javascript. I found a neat emulator for the NES made in javascript by Ben Firshman (JSNES) so I decided to optimize it for 3DS use. Now I am happy to present the first 3DS-mode emulator which plays homebrew NES ROMs without a flashcart or an exploit, granted VERY slowly because of Nintendo put restrictions on processing power in the 3DS Web Browser's canvas/javascript abilities.
    However, since Nintendo made javascript and html5 severely weaker than it could have been this is a proof-of-concept emulator and it runs VERY slowly but it does run. I am trying to work on a workaround to make it run faster but the current canvas/html5 is limited by Nintendo. Even with its limitations though, it's 0.30-ish FPS better than I've seen here so don't complain about speed because of the browser's limits on canvas elements. A lot of buttons are experimental atm it works.
    Again, this is for now a proof-of-concept of running NES ROMs through the 3DS Web Browser. (I know I put a lot of emphasis on like everything in case your wondering)

    While the 3DS is not yet hacked that doesn't mean there can't be homebrew emulation running through the 3DS Browser, which runs in 3DS mode. Again, granted the emulation is VERY slow because of Nintendo putting limits on the processing of many elements but it is custom NES emulation running in 3DS mode 3DS Web Browser.

    N3dES = Smexy combination of 3DS and NES :P

    Release:

    Go to this page on your 3DS (Note: This is a 3DS-only page so you'll only be able to browse this on your 3DS) : n3des.byethost6.com

    New homebrew added! [10/31/2011]
    From NES World

    "Zombie Zap" (NES Zapper/lightgun example)
    "Stuck In Castle Nessenstein"


    Pros:

    * No flashcart needed
    * Region Free NES emulation
    * Virtually no graphic bugs
    * Runs NES homebrew ROMs
    * Runs in 3DS fullscreen as much as possible (there are still the 3DS web browser's 2 HUDs)
    * Uses touchable buttons not physical buttons (not all button codes for 3DS are known but as I've tested retrieving a physical button click on the 3DS is really slow so touch buttons are faster)
    * Can pause gameplay at any time anywhere in the game
    * Can reset/reload game
    * Can be used on a retail 3DS unit.
    * Can emulate NES Zapper through touch screen (note: input is slow due to javascript limitations)

    Cons:

    * Can not save to your SD (although not many nes games can/actually need to save)
    * VERY slow (< 1 FPS) (Again, this is a proof-of-concept release)
    * Can not use ROMs from SD
    * Requires an internet connection (not a big deal though, most of us have internet connections if we can view gbatemp lol)
    * No sound (currently not known how to play custom sounds on 3DS through javascript in the browser)
    * Restricted to 65KB ROM or less (working on support for bigger ROMs)

    Media:

    [​IMG]

    [​IMG]
     
    6 people like this.


  2. Critica1

    Member Critica1 GBAtemp Regular

    Joined:
    Oct 4, 2011
    Messages:
    185
    Location:
    CA
    Country:
    United States
    Great experiment, I look forward to more progress.

    A very plausible concept and a good observation. If eventually over time the system does get hacked completely, it could be possible to overclock to get the processing power needed to improve stability.
     
  3. kevan

    Member kevan Imagination rules the world

    Joined:
    Dec 4, 2009
    Messages:
    1,378
    Location:
    Place
    Country:
    Australia
    Truthfully this is sort of pointless (since you will never have the power to emulate until a hack, and when a hack comes we could just use a real emu...)
     
    1 person likes this.
  4. CollosalPokemon
    OP

    Member CollosalPokemon ばん。。。かい

    Joined:
    Oct 18, 2009
    Messages:
    681
    Country:
    United States
    Thank you Critica1. I am working on improving the frame rate, although it's difficult when the processing speed is as limited as Nintendo made it.

    Or rather it will be pointless when a hack comes out, since now there are no hacks the point is to demonstrate running ROMs without a flash cart. when a hack comes out it'll have more power and will run faster, but the proof is right there showing it's possible to emulate atm until a hack comes out.
     
  5. deathking

    Member deathking GBAtemp Advanced Fan

    Joined:
    Mar 15, 2009
    Messages:
    647
    Country:
    United States
    great idea this seems cool stop nintendos monoploy of 5 dollar nes games
    maybe it could run lower cpu requirement emus like atari on the web faster
     
  6. kevan

    Member kevan Imagination rules the world

    Joined:
    Dec 4, 2009
    Messages:
    1,378
    Location:
    Place
    Country:
    Australia
    Edit: Had some kind of weird epiphany... Good Job!
     
  7. alidsl

    Member alidsl I am now a lurker

    Joined:
    May 27, 2009
    Messages:
    2,823
    Location:
    Kanto - Pallet Town
    Country:
    United Kingdom
    *snip* Just to make Kevan look better
    this guy is currently the closest you can get to emulating with the 3DS. Plus if the 3DS does get hacked then the power of the browser can be increased and the games can be played perfectly
     
  8. CollosalPokemon
    OP

    Member CollosalPokemon ばん。。。かい

    Joined:
    Oct 18, 2009
    Messages:
    681
    Country:
    United States
    kevan isn't being a dick, he's just stating the obvious. It doesn't run fast yet, which is what I was expecting a lot of people to really nail me on, however I wanted to post this showing it's possible.
    But you're right, this is 0.20-0.30 FPS better than anyone has publically done on the 3DS without a flash card. Not great but it works.
     
    1 person likes this.
  9. kevan

    Member kevan Imagination rules the world

    Joined:
    Dec 4, 2009
    Messages:
    1,378
    Location:
    Place
    Country:
    Australia
    Edit: Forget it.
     
  10. alidsl

    Member alidsl I am now a lurker

    Joined:
    May 27, 2009
    Messages:
    2,823
    Location:
    Kanto - Pallet Town
    Country:
    United Kingdom
    He's saying this isn't a proof of concept because it's slow

    That kinda ruins the point of it being a proof of concept :unsure:
     
  11. kevan

    Member kevan Imagination rules the world

    Joined:
    Dec 4, 2009
    Messages:
    1,378
    Location:
    Place
    Country:
    Australia
    There happy I changed my mind :P
     
  12. damedus

    Member damedus GBAtemp Regular

    Joined:
    Jun 11, 2007
    Messages:
    219
    Location:
    Puerto Rico
    Country:
    United States
    just a small question would it be possible using this same method to lets say get a streaming app to stream movies from our pc to the app and then have the app be a local webpage we can access on the 3ds? or even to stream a emu running on our pc and we just get the end result streamed on the 3ds browser and the 3ds browser used to send the game pad commands? or even creating small community based home brew like a java based old school rpg that can be run on the browser?
     
  13. exangel

    Member exangel executioner angel

    Joined:
    Apr 20, 2010
    Messages:
    1,574
    Location:
    Tucson, AZ
    Country:
    United States
    A lot can be done if most of the computation is done remotely.. this is something that is possible in a number of ways, just not within my realm of expertise and there are limitations in the 3DS browser. But this requires something between running your own server and actually designing a cloud computing system on it, I'd think.

    edit: Basically, a service akin to onLive which only exists because it makes money and isn't completely free
     
  14. Frederica Bernkastel

    Member Frederica Bernkastel WebPerf and PWA advocate; @antoligy on Twitter

    Joined:
    Jan 31, 2008
    Messages:
    3,145
    Location:
    Hinamizawa
    Country:
    United Kingdom
    I'm terribly sorry, but you're hosting commercial ROMs on your site, and have broken the rules by linking this emulator here. The proof lies in the source code, which I'll admit you attempted to hide very well (javascript redirect from here, and a meta-refresh in noscript tags). However, this is more of an insult towards a user's intelligence than anything else. I've taken the liberty of pastebinning the source-code, which is here (with the offending links removed, of course). Also, it fails to pass both the XHTML 1.0 standard that it is declared as, and the HTML5 standard that you have claimed it complies to, something that you can fix pretty easily (seriously, some of the errors are just faulty placed comments).
     
  15. tajio

    Member tajio GBAtemp Fan

    Joined:
    Aug 31, 2007
    Messages:
    403
    Location:
    Northern Ireland, UK
    Country:
    United Kingdom
    Bravo man, bravo!

    :D
     
  16. DinohScene

    Member DinohScene The Gift of Dino

    Joined:
    Oct 11, 2011
    Messages:
    12,883
    Location:
    В небо
    Country:
    Antarctica
    Great work on the emulator.
    But like Antoligy said it does break the rules wich is a bit of a shame );
     
  17. CollosalPokemon
    OP

    Member CollosalPokemon ばん。。。かい

    Joined:
    Oct 18, 2009
    Messages:
    681
    Country:
    United States
    I'm not posting links to commercial ROMs. In fact with redirect was saying I had taken the liberty and time to hide the rom downloads from the general public. Most people would not go to the lengths of where you went. Technically it uses HTML5 canvas's although it might not be standardized.
     
  18. Frederica Bernkastel

    Member Frederica Bernkastel WebPerf and PWA advocate; @antoligy on Twitter

    Joined:
    Jan 31, 2008
    Messages:
    3,145
    Location:
    Hinamizawa
    Country:
    United Kingdom
    It's not that HTML5 isn't standardized, you're blatantly declaring the document as XHTML 1.0 Transitional.
    Code:
    
    
    Something that you would have picked up, if you did indeed write any of this. I'm basing this on the assumption that since none of the syntax is consistent ("you" switch between different types of indents, different types of capitalization, declare opposing standards etc...), it must have been written by different people (seemingly with very different purposes in mind), and as such I can conclude that you've plagiarized content from other sources. (I even linked 3dsbrew.org for the redirect, which is letter-for-letter the same (except with a different redirect link)).
    Furthermore, there are no canvas elements in this page whatsoever despite you saying otherwise, and frankly I'm surprised that you're even keeping up this farce.
    And actually, I didn't go to any lengths whatsoever, I simply have META Redirects disabled and have NoScript set to block untrusted sites by default. I got a very nice little popup telling me that your site tried to redirect me twice, and that's when I checked the page source. I know for a fact that there are many others who have a similar setup. If you would only remove those from your emulator, you wouldn't be breaking any rules.
    ...Oh, now that I've mentioned rules, let's take a look at your webhost:
    What a shame.

    EDIT: Ah, now you've removed the offending content, feel free to disregard this post.
     
  19. CollosalPokemon
    OP

    Member CollosalPokemon ばん。。。かい

    Joined:
    Oct 18, 2009
    Messages:
    681
    Country:
    United States
    Oh geez I knew I was forgetting to credit someone. I meant to credit 3DBrew and I did credit Ben Firshman for his JSNES clearly, who based it on a different guy's emulator. So there were multiple minds on this case. I mostly did small revisions to make it a little nicer on the 3DS, so a lot of the code I was planning to revise. I removed the offensive links.

    Oh? That's funny I'm at 0% CPU usage.
    Plus anyways I'm sure they were talking about games like WoW. I'm sure that uses significant CPU. If I added in WiFi multiplayer (perhaps by sending pushed=x signals) that would use much more CPU and technically become an online game.
     
  20. indask8

    Member indask8 New Member Forever

    Joined:
    Apr 19, 2007
    Messages:
    987
    Location:
    Look at the Flag...
    Country:
    France
    Nice proof of concept, reminds me of the good old time of the PSP flash portals.

    You should also release the source code/website folder, so people who have an http server running on their computer can put the games they want and run it locally.
     

Share This Page