Pinocchio

Discussion in '3DS - Homebrew Development and Emulators' started by Audrus, Mar 13, 2018.

  1. Audrus
    OP

    Audrus Newbie

    Newcomer
    1
    Mar 12, 2018
    United States
    Hello, I'm extremely new to modding things and this is my first ever post to any kind of forum (no, never been to reddit (yes really)) so please forgive any customs I've overlooked.

    I am now going to try an relay a thought that has been buzzing in my head for about a year to the point of driving me mad.

    I've heard in passing about being able to putting software on the 3DS that allows for the 3DS to be controlled elsewhere (From PC). I've also heard that you can stream the video feed of the 3DS to a PC. The first thought that comes to mind is now playing a psuedo hd majora on my TV or laptop screen with a BT controller.

    But that /specific/ interest only drives me so far because x, y, and z, offer a, b, and c to play l, m, and n in their "best".

    Ante-PokemonVC on the 3DS the 'best' way to play pokemon RBYG or GSC was to just hop on your phone grab any of the free and working emulators and relive the youth that spills through my hands in these very seconds. Complete with turbo, gamestates, modding etc. Granted the gamestates and modding didn't interest me terribly.

    I, however, want the 'Best' for the 'Best' game in my eyes, Pokemon GSC. Since the introduction of RBYG to the eshop there is now value, aside nostalgia, in playing these games over their respective re-releases as those pokemon caught in VC, the virtual console, now offer different abilities and in practice let you choose the transferred Pokemon's nature.

    I think some of you might see where I'm going with this at this point..

    I would like to create an app on my phone which connects to the internet where it will then connect to my PC, which is receiving a feed of a 3DS, which itself is plugged in to prevent death. Once a connection has been established the PC then doubles the feed over to the phone. I was considering one of two ways of doing this, either the raw feed of the 3DS sent as is, or create a program which interprets the screen and resolves the pixels to a smaller format as GB GBC games are my focus here and use significantly lower resolutions than the 3DS native resolution.

    As for the audio i was almost thinking about having all the audio files for a specific game EG Crystal IE Battle Theme, PokePark Theme, Attack sounds stored into the app itself and then call for effects as it needs them. That would take a lot of syncing and checking and this and that so maybe not a feature in the first build aha. (BUT I am an audio snob so perfect music recreation is important to me)

    Either way, the feed is sent to the phone along with the audio where the phone then displays the screen and plays the audio. The UI for the Pinocchio app can be customized to be pixel perfect, fill, stretch, game boy border (working 'buttons') and will ideally work as smoothly as an emulator.

    The button overlay, or GB buttons will execute code which sends CONTROL to the PC sends CONTROL to 3DS sends DATA back to PC sends DATA back to phone to be displayed as the game.

    So listen this has already been a mammoth of a post but I'd like to explain why I even care a fraction of this much.

    Here is the crux of this entire idea. I don't want to just hack in pokemon to my game. I very much like the idea of having quote unquote real pokemon by quote unquote legitimate ways. That just there being said, I'd also like to implement an 'auto' feature as in auto hatch eggs, auto soft reset, auto grind E4, etc.

    Wait, but then what is the difference between using computers and codes to /inject/ pokemon into your games and using computers and codes to /farm/ pokemon in your games? The answer is not really a lot but it's my preference :) . Though the prospect of having a live feed of your own shiny lugia hunt in the background while you read a book or type an offensively long forum post is extremely appealing to me.

    Tldr i wanna do this
    3DS ->3DS stream ->PC->Phone-> User -> Phone Input -> PC -> 3DS

    PS Called Pinocchio because there's no real boy (gameboy) in sight but the end result ends with 'real' """authentic""" pokemon
     
  2. SuzieJoeBob

    SuzieJoeBob NOT a New Member

    Member
    5
    GBAtemp Patron
    SuzieJoeBob is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Dec 20, 2008
    United States
    I do not know of any tricks for the Gen 1 and Gen 2 games, but there are a few methods people developed for the actual 3DS games to do automatic shiny hunting and auto egg hatching

    Warning: Spoilers inside!


    Edit: for the video stream, how about a webcam connected to the computer and watching the screen? For shiny Pokemon in the first generation, I vaguely remember that the stats of the Pokemon determined if they became shiny in Generation 2 and onwards.
     
    Last edited by SuzieJoeBob, Mar 13, 2018
  3. Hallowing

    Hallowing Advanced Member

    Newcomer
    1
    Sep 2, 2017
    United States
    There is most certainly arbitrary code execution in gen 2 as I have exploited that myself, but as for breeding streams I am pretty sure if you have a shiny ditto your chance for shiny is 1/32. So an auto feature would be rewarding, but possibly not necessary.

    The problem with an auto soft reset would run some issues due to how ntr works.

    I am a bit confused about having your phone as a middle man though.
     
  4. Audrus
    OP

    Audrus Newbie

    Newcomer
    1
    Mar 12, 2018
    United States
    So there is not a real GOOD reason to have my phone as the middle man. The main reason I was thinking was so I wouldn't have to take my 3DS along with me as I'm starting to prefer my switch for mobile gaming and I don't really want to start carrying bags with me everywhere I go. Another reason I was thinking of was if I have my 3DS with me I can only run 'autos' while the 3DS is open and taking inputs where as if I were to leave it running at home with the computer it could potentially still be running the breeding, shiny hunting, grinding, etc. That's a shame, also, about the NTR and soft resetting that is the video streaming software I presume?

    EDIT: also this is way into the future beyond anything foreseeable in the moment but if I were to create the app for my phone it may be easy to then take that existing code/setup and port it over to a custom switch and play

    — Posts automatically merged - Please don't double post! —

    Those techniques seem very effective! Especially if I were to implement post 3DS video stream processing and have it put out a pixel perfect image to the Phone! I can already imagine a similar process for the VC, instead of a brightness sensor there could be a program which reads the frames it gets from the 3DS post processing and I could have it scan for text boxes have it consider the situation etc etc etc. In the case of hunting shinies I believe that only during shiny animations in the second generation does the screen go dark again AFTER the pokemon has fully revealed itself so it will go Dark->Light-> Darkflash(as a part of the shiny animation in gen2)->Light so it could really be done with a fully mechanical or physical system without a pc middle and phone middle middle man
     
    Last edited by Audrus, Mar 13, 2018
  5. SuzieJoeBob

    SuzieJoeBob NOT a New Member

    Member
    5
    GBAtemp Patron
    SuzieJoeBob is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Dec 20, 2008
    United States
    If you only plan on doing this for CFW users, you can contact Nanquitas to see if there is a method to do automation and input redirection via an NTR plugin, but the main problem with that method would be the NTR plugin file size limit. With how many features that you plan on doing, the code would be immense unless you do it via NTR, you can go into the RAM and check values mid-battle instead of having to rely on the webcam, making hunting/breeding much more accurate via RNG/DSum.

    Based on the method you suggested on using, you might want to look into the following link for generation 1: link here
     
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice