1. Asdolo

    OP Asdolo the Hedgehog
    Member

    Joined:
    Apr 29, 2016
    Messages:
    577
    Country:
    Argentina
    Current version: 1.3 (02-28-2017)

    [​IMG]

    Before starting:
    Expect more releases like this one! I'll make one injector per emulable console.

    What's this?

    A Windows tool for creating Sega Genesis/Mega Drive forwarders to the Home Menu.

    What does it do?:
    It takes a Sega Genesis/Mega Drive backup file and it converts it to an installable CIA for your 3DS with CFW. It does all in a one single program.

    How this even work?
    I made a RetroArch fork, in which I changed the code to make it, for example, read the rom from RomFS instead of MicroSD. There are many modifications to original RetroArch. The whole changelog is under the Features list.
    Then, I provide an injector program (this thread) in which you can create a CIA based on my fork, injecting into it the rom that you want.
    The amazing 3D banner was made by @FONZD. Thank you!!

    Features:
    • Sega Genesis/Mega Drive injection into a CIA
    • Internal database, so the program can auto-fill some fields for you.
    • Configurable RetroArch options per game. See the tutorial for screenshots.
    • Easy made custom 3D banner
    • Easy made custom text/footer banner
    • Easy made whole process!

    Based on RetroArch 1.3.3 and the last version of picodrive and Genesis Plus GX cores.

    Modifications to original RetroArch:
    * Make a RomFS.
    * Hard-code RetroArch to load Content from romfs:/rom.bin hard-coding that directory in the RetroArch launch parameters. This means the rom is injected in the CIA. It won't be in the SD.
    * Set RetroArch language based on system language.
    * Change savefile directory to sdmc:/retroarch/forwarders/<CIA Title ID>/savefiles.
    * Change savestate directory to sdmc:/retroarch/forwarders/<CIA Title ID>/savestates.
    * Now the retroarch.cfg will be loaded from RomFS. This means custom configuration per game.
    * Removed "Press Start" message when exiting RetroArch (now it just exit).
    * Removed debug console.
    * Set bottom screen to an image in romfs:/bottom.bin if there is any. Otherwise, the bottom screen will shut down.
    * Removed the debug console toggle. Now touching everywhere on the screen toggles the Menu.
    * Removed green menu border.
    * Removed RetroArch and core version from menu.
    * Removed timestamp from menu.
    * English: changed 'Quick Menu' to 'Game Menu'.
    * English: changed 'Core Cheat Options' to 'Cheat'.
    * English: changed 'Quit Retroarch' to 'Quit Game'.
    * English: changed 'Close Content' to 'Reset Game'.
    * English: changed 'Resume Content' to 'Continue Game'.
    * Removed 'Restart Content' menu option from Quick Menu.
    * Removed 'Take Screenshot' menu option from Quick Menu.
    * Removed 'Core Options' menu option from Quick Menu.
    * Removed 'Core Input Options' menu option from Quick Menu.
    * Removed 'Core Disk Options' menu option from Quick Menu.
    * Removed 'Cheat File Save As' menu option from Core Cheat Options.
    * Removed 'Start Core' menu option.
    * Removed 'Load Content' menu option.
    * Removed 'Load Recent' menu option.
    * Removed 'Settings' menu option.
    * Removed 'Information' menu option.
    * Removed 'Restart Retroarch' menu option.
    * Removed 'Load Configuration' menu option.
    * Removed 'Save Current Config' menu option.
    * Removed 'Save New Config' menu option.
    * Removed 'Help' menu option.

    * Mute audio when suspending the app and un-mute when restoring.
    * Removed 'Cheats' menu option from Quick Menu.
    * Removed 'Save slot' menu option from Quick Menu.
    * Core options load from RomFS.

    Requeriments: Microsoft .NET framework 4.0

    Tutorial:
    You'll just follow the steps in program. But just in case:

    Step 1:

    Open the program. You'll see this screen:

    [​IMG]

    Press Open GEN-SMD File button. It'll prompt you to pick a .bin, .smd or .md file.

    [​IMG]

    For this tutorial I'll pick the game Pac-Man 2: The New Adventures.


    The program will search in an internal database which contains the game name and publisher. That database has USA rom priority.

    [​IMG]

    When you pick a rom you'll be able to go to Step 2 (icon and name).

    Step 2:
    This is the Step 2 main screen:

    [​IMG]

    All the fields are explained in the info boxes, but let me know if something doesn't understand.

    Complete the fields making the most legit as possible (if you want to). For example:

    [​IMG]

    I used a title screen screenshot in it's original size as icon (the program will automatically stretch it).

    When you complete all the fields you'll able to go to Step 3 (3d banner).

    Step 3:
    This is the Step 3 main screen:

    [​IMG]

    Note: The program will load some default values (based on those in Step 2), but you can anyway replace these default values with ohter ones.
    Example: if you want the icon and 3D banner to have different images, then first complete Step 2 with the icon image that you want and then complete Step 3 with the banner image that you want. Otherwise if you are too lazy or you want the same standard as legit VC CIA, leave it as is.

    For this example, I'll let the same image as the icon, but I'll edit the bottom banner, importing a custom one I made with GIMP (using the import and use custom footer image option):

    [​IMG]

    You can also make your own text banner without leaving the application, as a quick and easy solution. You can change the font type, size, and brightness. Also there's a preview of that text banner (ignore the red borders, they won't be there in the console).

    Doing my changes for this example:

    [​IMG]

    When you complete or modify all the fields you'll able to go to Step 4 (RetroArch parameters).

    Step 4:
    This is the Step 4 main screen:

    [​IMG]
    Yaaay! A lot of options!

    Screen size:

    You can set the game screen size to match pixel perfect resolution, full screen resolution, or a custom one if you want. You have a preview of how the game screen will be compared to the 3DS screen.

    Bottom screen:
    Here you can customize what do you want on the bottom screen. You can select to have a black screen with no even light, or a background image. I provide some pre-made bottom screen images, which "emulates" the VC bottom screen message. Also, you can import your custom bottom screen background image (it has to be 320x240).

    Features:
    Here you can customize some RetroArch options, such as button layout.

    For this tutorial, I want:
    Product code GEN-P-PAC2, a random Title ID (the program picks it randomly and automatically, checking if it doesn't match with an eShop Title ID), stretched fullscreen (400x240), Spanish VC message on the bottom screen, enable rewind feature and I'll map the Y 3DS button to makes the RetroArch menu toggle, ZR to Fast forward toggle and ZL to rewind.

    [​IMG]

    Once we have everything ready, press Finish button.

    That's it! The application will ask you where do you want to save the CIA file and It took some seconds to create it.
    When the CIA is ready, the application will let you know it.

    [​IMG]

    Then you can install the CIA in your 3DS using any CIA manager (actually I use the new FBI).
    (The tutorial's screenshot are from v1.0)

    Console screenshots:
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]


    You can go to Home Menu and the game sound won't be corrupted.

    You can also close the 3DS lid (go to sleep mode) when playing the game.

    And now, starting with v1.2, you can also close the 3DS lid (go to sleep mode) when staying on the Home Menu!

    To do:
    * Genesis model changing (USA, EUR, JAP, Genesis 2, etc).

    Petitions: For now I'll just read this thread and make changes acording to the best for all. The code will be released much later; If a new version comes, I'll post here and I'll edit the OP.

    Download links:
    v1.3: MEGA
    v1.2: MEGA
    v1.1: MEGA
    v1.0b: MEGA
    v1.0: MEGA

    Changelog:
    v1.3:
    + Added: Now you can choose Genesis Plus GX emulator in addition to Picodrive.
    * A better icon resizing for 256x224 title screen images.

    v1.2:
    * Fixed the 3DS crash when going into sleep mode when the game is suspended.
    * Fixed sound issue when returning to the game after going into Home Menu or sleep mode if the Game Menu was open (reported by @angelhp).

    v1.1:
    * A whole new full 3D model (by @FONZD. Thank you VERY much!).

    + Added: 6 button genesis/megadrive controller compatibility.
    + Added: button layout scheme save and load (export your current button layout scheme to a file and load it when you like to).
    * Fixed game not resetting when using automatic save and load feature (reported by @angelhp and @bunny365).
    * Fixed sound issue when suspending the game (reported by @bunny365).
    * Fixed the black screen on the top and bottom screen when returning the game after suspending it
    * Fixed the ampersands missing on the game name (reported by @bunny365).
    + Added option to disable bilinear filter (asked by @plainstone).
    + Added emulator region selection (asked by @alucard73).
    + Added: Automatic title screen and/or box cover download!
    + Added: Now you can write two separate lines in the banner text with custom font and size for each one.
    + Added: Native IPS patching. Now you can apply an IPS patch directly before making the CIA.
    * Replaced english message for the bottom screen to "Tap the Touch Screen to toggle the RetroArch menu" (asked by @bunny365).
    * Removed 'Cheats' menu option from Menu.
    * Removed 'Save slot' menu option from Menu.
    * Now showing all the 3DS buttons (even ZL, ZR and C-Stick) on the buttons mapping window (asked by @bunny365).

    * Removed "Enabled Circle Pad = D-pad mapping" option and replaced the function by setting the Circle Pad to Genesis D-Pad as default (asked by @bunny365).


    * Got rid of the interpolation mode selection.
    * Better quality icon and banner resizing.
    * Fixed the bug that causes line breaks on the Title name and publisher to become question marks.

    v1.0b:
    * Fixed the bottom screen image creation bug.
    * 32 bits compatibility.

    v1.0:
    Initial release

    RetroArch fork repository: https://github.com/Asdolo/RetroArch-3DS-Forwarders

    Enjoy!
     
    Last edited by Asdolo, Feb 28, 2017
  2. x65943

    x65943 Dr. Rabbi Prince X, Sr., Ed. D.
    Global Moderator

    Joined:
    Jun 23, 2014
    Messages:
    4,438
    Country:
    United States
    Impressive. So it forces widescreen by default?

    Edit: nvm read more thoroughly. I see that there are many customization options. Awesome!
     
    Last edited by x65943, Dec 29, 2016
    Asdolo likes this.
  3. sheela

    sheela Newbie
    Newcomer

    Joined:
    Sep 14, 2016
    Messages:
    1
    Country:
    Canada
    Awesome!

    I however ran into an error, saying that the program couldn't find the bottom.rgb file after creating the .cia file.
     
  4. LinkBlaBla

    LinkBlaBla This is Perfect!
    Member

    Joined:
    Jun 7, 2013
    Messages:
    445
    Country:
    Canada
    same as you sadly :(
     
  5. Asdolo

    OP Asdolo the Hedgehog
    Member

    Joined:
    Apr 29, 2016
    Messages:
    577
    Country:
    Argentina
    Sorry, I'll look into this issue.

    For now try disabling antivirus, and install ImageMagick and see if that solves it.
     
  6. LinkBlaBla

    LinkBlaBla This is Perfect!
    Member

    Joined:
    Jun 7, 2013
    Messages:
    445
    Country:
    Canada
    here the full jit
    ************** Exception Text **************
    System.IO.FileNotFoundException: Could not find file 'C:\Users\Manu te botte le cul\AppData\Local\Temp\201612292039032511\bottom.rgb'.
    File name: 'C:\Users\Manu te botte le cul\AppData\Local\Temp\201612292039032511\bottom.rgb'
    at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
    at System.IO.File.InternalMove(String sourceFileName, String destFileName, Boolean checkHost)
    at System.IO.File.Move(String sourceFileName, String destFileName)
    at Ultimate_GEN_MD_Forwarder_Maker_for_3DS.frmMain.btnNextStep_Click(Object sender, EventArgs e)
    at System.Windows.Forms.Control.OnClick(EventArgs e)
    at System.Windows.Forms.Button.OnClick(EventArgs e)
    at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
    at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    at System.Windows.Forms.Control.WndProc(Message& m)
    at System.Windows.Forms.ButtonBase.WndProc(Message& m)
    at System.Windows.Forms.Button.WndProc(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


    ************** Loaded Assemblies **************
    mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
    ----------------------------------------
    Ultimate GEN-MD Forwarder Maker for 3DS
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Users/Manu%20te%20botte%20le%20cul/Desktop/Ultimate%20GEN-MD%20Forwarder%20Maker%20for%203DS.exe
    ----------------------------------------
    System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
    ----------------------------------------
    System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
    ----------------------------------------
    System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    ----------------------------------------
    System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    ----------------------------------------
    System.Xml.Linq
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml.Linq/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.Linq.dll
    ----------------------------------------
    System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
    ----------------------------------------
    System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
    ----------------------------------------

    ************** JIT Debugging **************
    To enable just-in-time (JIT) debugging, the .config file for this
    application or computer (machine.config) must have the
    jitDebugging value set in the system.windows.forms section.
    The application must also be compiled with debugging
    enabled.

    For example:

    <configuration>
    <system.windows.forms jitDebugging="true" />
    </configuration>

    When JIT debugging is enabled, any unhandled exception
    will be sent to the JIT debugger registered on the computer
    rather than be handled by this dialog box.
     
  7. xtheman

    xtheman GBAtemp Guru
    Member

    Joined:
    Jan 28, 2016
    Messages:
    5,837
    Country:
    United States
    Good job! Got a reason to install some new .cias


    Any chance of psx and other consoles?
     
    CatmanFan, zeldaism and Asia81 like this.
  8. Asia81

    Asia81 GBAtemp Guru
    Member

    Joined:
    Nov 15, 2014
    Messages:
    5,953
    Country:
    France
    +1 for psx retroarch
     
  9. Asdolo

    OP Asdolo the Hedgehog
    Member

    Joined:
    Apr 29, 2016
    Messages:
    577
    Country:
    Argentina
    Yes, I will make the other consoles the next year.
     
  10. zeldaism

    zeldaism GBAtemp Advanced Fan
    Member

    Joined:
    Apr 19, 2016
    Messages:
    841
    Country:
    United States
    Thank you so much for this. <3
     
  11. Onoitsu2

    Onoitsu2 Member
    Newcomer

    Joined:
    Dec 2, 2016
    Messages:
    10
    Country:
    United States
  12. Asdolo

    OP Asdolo the Hedgehog
    Member

    Joined:
    Apr 29, 2016
    Messages:
    577
    Country:
    Argentina
    New version 1.0b!

    What's new:
    * Fixed the bottom screen image creation bug.
    * 32 bits compatibility.

    Links in the OP!
     
    Last edited by Asdolo, Dec 30, 2016
    CatmanFan, CeeDee and zeldaism like this.
  13. WarioTails358

    WarioTails358 GBAtemp Fan
    Member

    Joined:
    Oct 2, 2015
    Messages:
    345
    Country:
    United States
    Will there be support for sega cd/32x games that use a .bin and .cue file to read data from since picodrive supports sega cd/32x?
     
  14. Asdolo

    OP Asdolo the Hedgehog
    Member

    Joined:
    Apr 29, 2016
    Messages:
    577
    Country:
    Argentina
    Yes, but one release per console. This just will be for Sega Genesis/Mega Drive. Even if Sega 32X uses PicoDrive too.
     
    zeldaism likes this.
  15. Onoitsu2

    Onoitsu2 Member
    Newcomer

    Joined:
    Dec 2, 2016
    Messages:
    10
    Country:
    United States
    TYVM, it still must be ran as administrator, because of where and what kinds of files are being utilized to format the images, but it now works properly :) Even is able to be read for thumbnails from the Windows cia and .3ds thumbnail reader extension, so that is kind of cool too.
     
  16. angelhp

    angelhp GBAtemp Fan
    Member

    Joined:
    Nov 30, 2014
    Messages:
    476
    Country:
    United States
    Thanks for this @Asdolo
    I cant restart game when save state&load when exit is activated.
     
  17. CatmanFan

    CatmanFan Anxious and regretful
    Member

    Joined:
    Aug 14, 2016
    Messages:
    1,951
    Country:
    Morocco
    CAN'T BELIEVE THIS HAPPENED

    I CAN'T WAIT FOR MORE FORWARDER MAKERS

    :yay3ds:
     
  18. Asdolo

    OP Asdolo the Hedgehog
    Member

    Joined:
    Apr 29, 2016
    Messages:
    577
    Country:
    Argentina
    Sorry for that, I figured out the issue yesterday, but the next update will come in late january due to I'm getting holidays.
     
    AikoT_T, zeldaism and angelhp like this.
  19. owek1

    owek1 Master Sword Wielder
    Member

    Joined:
    Aug 16, 2016
    Messages:
    786
    Country:
    Australia
    many many many thanks!!!! so so happy for this release!!!you are the best when it comes to retro gaming!! happy new year to you!! :yay3ds::grog:
     
  20. BADDINOROX99

    BADDINOROX99 GBAtemp Advanced Fan
    Member

    Joined:
    Sep 9, 2015
    Messages:
    769
    Country:
    United States
    man thank you so much for all your hard work I now have an official looking gennises forwarder for one of my favorite games[​IMG]
     
Loading...

Hide similar threads Similar threads with keywords - [Release], Forwarder, Ultimate