don't click here

Embedding / Launching Emulator Within Application

Discussion in 'Technical Discussion' started by Breadbin, Mar 5, 2017.

Thread Status:
Not open for further replies.
  1. Breadbin

    Breadbin

    Member
    23
    0
    0
    I am creating a small Python application to keep all my emulators in an easy to access location and am attempting to launch directly into the emulators from within Python itself - to some success.

    I have successfully been able to launch Kega fusion directly into a game using pure Python but have hit a couple of areas where I may require assistance from the fair community here:

    1.) I can launch Kega Fusion directly into full screen mode using the command line argument "-fullscreen". When doing so, the standard screen pops up for a moment before becoming full screen (presumably as it is going through it's standard application launch cycle, launching the game and then making the application full screen). Is there any way for me to stagger the launch of the application until it is fully loaded and then display the fullscreen window more seamlessly?

    2.) I have dabbled a little bit with the .INI file and was wondering if it is possible to pass a custom .INI file via command line. I may have a bank of about 3 or 4 different configurations which I want to choose from depending on the game selected. Alternatively, I was wondering if many of these settings could be passed in via command line args but have yet to find an exhaustive list / reference.

    More of an overall question; I have noticed that Kega Fusion has a plethora of features which I may never actually use within this context - is there a way to disable these features to make the overall application lighter? Alternatively, is there a Megadrive / Genesis emulator build for a lightweight deployment and speed of use?
     
  2. Billy

    Billy

    RIP Oderus Urungus Member
    2,118
    178
    43
    Colorado, USA
    Indie games
    It sounds to me that you're trying to replicate some functionality of RetroArch, so you may prefer to just use that, but I could be wrong.

    1) You may be able to hide the window or put it somewhere offscreen, and then show/move it after a time interval. I have no idea if this is possible in Python.

    2) Absolutely, .ini files are just text files, which can be easily written with something like Python.
     
  3. It is likely that Fusion was not built with this kind of extensibility in mind, so you're probably going to have to start hacking around things if you want to stick with your choice of emulator. Billy's suggestion for #1 sounds good, provided you can figure out how to hook into C-based Win32 APIs from Python. For #2, I can only recommend shuffling the INI files around on disk before and after every Fusion run.

    If that sounds like too much work, I've heard good things about the Genesis Plus GX core in RetroArch with regard to accuracy.
     
  4. Breadbin

    Breadbin

    Member
    23
    0
    0
    After much of a delay, I wanted to present my findings.

    RetroArch is amazing! I was originally attempting to achieve this using a different portable media player which could boot and play emulators but sadly hit a pitfall very much like my original post whereby it didn't feel like a smooth seamless transition and felt more like a tacky bootloader. RetroArch however seems to integrate emulators seamlessly into the interface and works smoother and quicker, which is a bonus.

    I guess it's mission accomplished so I'm happy for this thread to be locked or disposed of however the mods see fit :)
     
Thread Status:
Not open for further replies.