Thread: RetroArch Module

Page 1 of 67 1234561151 ... LastLast
Results 1 to 20 of 1331
  1. Collapse Details
    RetroArch Module 
    #1
    Junior Member

    MainSecondary
    Join Date
    Oct 2014
    Posts
    22
    Contribute If you enjoy reading the
    content here, click the below
    image to support our site.
    Click Here To Contribute To Our Site
    figured it about time I registered here. thanks for all the great work guys!!

    Here is a copy of the latest version of my RA module. It seems to get updated almost every week with new systems and changes that seem to come out so thought it best to keep it here so others may use it as they wish. Hope you guys dont mind, just trying to help out.

    Code:
    MEmu = RetroArch
    MEmuV =  v1.0.0.3-Beta
    MURL = http://themaister.net/retroarch.html
    MAuthor = djvj/austin585
    MVersion = 2.1.9.1
    MCRC = 5CE663A8
    iCRC = 14E7C268
    MID = 635038268922229162
    MSystem = "Atari 2600","Atari 5200","Atari 7800","Atari Jaguar","Atari Lynx","Bandai Wonderswan","Bandai Wonderswan Color","Final Burn Alpha","MAME","NEC PC Engine","NEC PC Engine-CD","NEC TurboGrafx-16","NEC SuperGrafx","NEC TurboGrafx-CD","Nintendo 64","Nintendo Entertainment System","Nintendo Famicom","Nintendo Famicom Disk System","Nintendo Game Boy","Nintendo Game Boy Color","Nintendo Game Boy Advance","Nintendo Super Game Boy","Nintendo Virtual Boy","Nintendo Super Famicom","Panasonic 3DO","Sega 32X","Sega CD","Sega Game Gear","Sega Genesis","Sega Master System","Sega Mega Drive","Sega Pico","Sega Saturn","Sony PlayStation","Sega SG-1000","SNK Neo Geo","SNK Neo Geo Pocket","SNK Neo Geo Pocket Color","Super Nintendo Entertainment System","Sony PSP","Atari ST","Microsoft MSX","Commodore Amiga","Nintendo DS"
    ;----------------------------------------------------------------------------
    ; Notes:
    ; If the emu doesn't load and you get no error, usually this means the LibRetro DLL is not working!
    ; Devs stated they will never add support for mounted images (like via DT)
    ; Fullscreen is controlled via the module setting in HLHQ
    ; This module uses the CLI version of RetroArch (retroarch.exe), not the GUI (retroarch-phoenix.exe).
    ; The emu may make a mouse cursor appear momentarily during launch, MouseMove and hide_cursor seem to have no effect
    ; Enable 7z support for archived roms
    ; Available CLI options: https://github.com/PyroFilmsFX/iOS/blob/master/docs/retroarch.1
    ;
    ; LibRetro DLLs:
    ; LibRetro DLLs come with the emu, but here is another source for them: http://forum.themaister.net/
    ; Whatever cores you decide to use, make sure they are extracted anywhere in your Emu_Path folder (place them in a LibRetros subfolder if you like). The module will find and load the core you choose for each system.
    ; You can find supported cores that Retroarch supports simply by downloading them from the "retroarch-phoenix.exe" or by visiting here: https://github.com/libretro/libretro.github.com/wiki/Supported-cores
    ; Some good discussion on cores and filters: http://forum.themaister.net/viewtopic.php?id=270
    ; The module's LibRetro settings in HLHQ need to match the name of that core for each system you use this emu. Read the tooltips to see the default one used when they are not customized by you.
    ;
    ; SRM files:
    ; srm are stored in a "srm" dir in the emu folder. Each system ran through retroarch gets its own folder inside srm
    ;
    ; Save states:
    ; Save states are stored in a "save" dir in the emu folder. Each system ran through retroarch gets its own folder inside save
    ;
    ; Config files:
    ; RetroArch will use per-system cfg files named to match your System Name. The global one is "retroarch.cfg" but the module will search for cfg files in any of the emu's subfolders. If system ones exist, they take precedence over retroarch.cfg.
    ; This allows different settings for each system you use this emulator for. If you want all systems to use the same retroarch.cfg, do not have any system named cfg files, or just create ones for the systems you want custom settings.
    ;
    ; System Specific Notes:
    ; Nintendo Famicom Disk System - Requires disksys.rom be placed in the folder you define as system_directory in the RetroArch's cfg.
    ; Sega CD - Requires "bios_CD_E.bin", "bios_CD_J.bin", "bios_CD_U.bin" all be placed in the folder you define as system_directory in the RetroArch's cfg.
    ; Super Nintendo Entertainment System - requires split all 10 dsp# & st### roms all be placed in the folder you define as system_directory in the RetroArch's cfg. Many games, like Super Mario Kart require these.
    ; NEC TurboGrafx-CD - Requires "syscard3.pce" be placed in the folder you define as system_directory in the RetroArch's cfg.
    ; Nintendo Super Game Boy - Set the Module setting in HLHQ SuperGameBoy to true to enable a system or only a rom to use SGB mode. This is not needed if your systemName is set to the official name of "Nintendo Super Game Boy". Requires "sgb.boot.rom" and "Super Game Boy (World).sfc" to be placed in the folder you define as system_directory in the RetroArch's cfg. This is needed if you want to use Super game boy mode and color palettes. Also requires using the latest bsnes core. Not all games support SGB mode.
    ;----------------------------------------------------------------------------
    StartModule()
    BezelGUI()
    FadeInStart()
    
    ; This object controls how the module reacts to different systems. RetroArch can play a lot of systems, but needs to know what system you want to run, so this module has to adapt.
    mType := Object("Microsoft MSX","Libretro_BLUEMSX","Commodore Amiga","LibRetro_PUAE","Atari 2600","LibRetro_2600","Atari Jaguar","LibRetro_JAG","Atari 5200","LibRetro_5200","Atari 7800","LibRetro_7800","Atari Lynx","LibRetro_LYNX","Bandai Wonderswan","LibRetro_WSAN","Bandai Wonderswan Color","LibRetro_WSANC","Final Burn Alpha","LibRetro_FBA","MAME","LibRetro_MAME","NEC PC Engine","LibRetro_PCE","NEC PC Engine-CD","LibRetro_PCECD","NEC SuperGrafx","LibRetro_SGFX","NEC TurboGrafx-16","LibRetro_TG16","NEC TurboGrafx-CD","LibRetro_TGCD","Nintendo 64","LibRetro_N64","Nintendo Entertainment System","LibRetro_NES","Nintendo Famicom","LibRetro_NFAM","Nintendo Famicom Disk System","LibRetro_NFDS","Nintendo Game Boy","LibRetro_GB","Nintendo Game Boy Color","LibRetro_GBC","Nintendo Game Boy Advance","LibRetro_GBA","Nintendo Super Famicom","LibRetro_NSF","Nintendo Super Game Boy","LibRetro_SGB","Nintendo Virtual Boy","LibRetro_NVB","Panasonic 3DO","LibRetro_PAN","Sega 32X","LibRetro_32X","Sega CD","LibRetro_SCD","Sega Game Gear","LibRetro_GG","Sega Genesis","LibRetro_GEN","Sega Mega Drive","LibRetro_GEN","Sega Master System","LibRetro_SMS","Sega Pico","LibRetro_PICO","Sega Saturn","LibRetro_SS","Sony PlayStation","LibRetro_PSX","Sega SG-1000","LibRetro_SG1K","SNK Neo Geo","LibRetro_NEO","SNK Neo Geo Pocket","LibRetro_NGP","SNK Neo Geo Pocket Color","LibRetro_NGPC","Super Nintendo Entertainment System","LibRetro_SNES","Sony PSP","LibRetro_PPSSPP","Atari ST","LibRetro_HATARI","Nintendo DS","Libretro_DESMUME")
    ident := mType[systemName]	; search object for the systemName identifier Retroarch uses for its cores
    If !ident
    	ScriptError("Your systemName is: " . systemName . "`nIt is not one of the known supported systems for this " . MEmu . " module: " . moduleName)
    
    settingsFile := modulePath . "\" . moduleName . ".ini"
    Fullscreen := IniReadCheck(settingsFile, "Settings", "Fullscreen","true",,1)
    hideConsole := IniReadCheck(settingsFile, "Settings", "HideConsole","true",,1)
    ; SystemConfigs := IniReadCheck(settingsFile, "Settings", "SystemConfigs","true",,1)			; If true, 
    libRetroFolder := IniReadCheck(settingsFile, "Settings", "LibRetroFolder", emuPath,,1)
    LibRetro_2600 := IniReadCheck(settingsFile, "Settings", "LibRetro_2600","stella_libretro",,1)
    LibRetro_5200 := IniReadCheck(settingsFile, "Settings", "LibRetro_5200","mess_libretro",,1)
    LibRetro_7800 := IniReadCheck(settingsFile, "Settings", "LibRetro_7800","prosystem_libretro",,1)
    LibRetro_32X := IniReadCheck(settingsFile, "Settings","LibRetro_32X","genesis_plus_gx_libretro",,1)
    LibRetro_FBA := IniReadCheck(settingsFile, "Settings", "LibRetro_FBA","fb_alpha_libretro",,1)
    LibRetro_GB := IniReadCheck(settingsFile, "Settings", "LibRetro_GB","gambatte_libretro",,1)
    LibRetro_GBC := IniReadCheck(settingsFile, "Settings", "LibRetro_GBC","gambatte_libretro",,1)
    LibRetro_GBA := IniReadCheck(settingsFile, "Settings", "LibRetro_GBA","vba_next_libretro",,1)
    LibRetro_GEN := IniReadCheck(settingsFile, "Settings", "LibRetro_GEN","genesis_plus_gx_libretro",,1)
    LibRetro_GG := IniReadCheck(settingsFile, "Settings", "LibRetro_GG","genesis_plus_gx_libretro",,1)
    LibRetro_JAG := IniReadCheck(settingsFile, "Settings", "LibRetro_JAG","virtualjaguar_libretro",,1)
    LibRetro_LYNX := IniReadCheck(settingsFile, "Settings", "LibRetro_LYNX","handy_libretro",,1)
    LibRetro_MAME := IniReadCheck(settingsFile, "Settings", "LibRetro_MAME","mame_libretro",,1)
    LibRetro_N64 := IniReadCheck(settingsFile, "Settings", "LibRetro_N64","mupen64plus_libretro",,1)
    LibRetro_NEO := IniReadCheck(settingsFile, "Settings", "LibRetro_NEO","mame_libretro",,1)
    LibRetro_NES := IniReadCheck(settingsFile, "Settings", "LibRetro_NES","nestopia_libretro",,1)
    LibRetro_NFAM := IniReadCheck(settingsFile, "Settings", "LibRetro_NFAM","nestopia_libretro",,1)
    LibRetro_NFDS := IniReadCheck(settingsFile, "Settings", "LibRetro_NFDS","nestopia_libretro",,1)
    LibRetro_NSF := IniReadCheck(settingsFile, "Settings", "LibRetro_NSF","bsnes_balanced_libretro",,1)
    LibRetro_NVB := IniReadCheck(settingsFile, "Settings", "LibRetro_NVB","mednafen_vb_libretro",,1)
    LibRetro_NGP := IniReadCheck(settingsFile, "Settings", "LibRetro_NGP","mednafen_ngp_libretro",,1)
    LibRetro_NGPC := IniReadCheck(settingsFile, "Settings", "LibRetro_NGPC","mednafen_ngp_libretro",,1)
    LibRetro_PAN := IniReadCheck(settingsFile, "Settings", "LibRetro_PAN","4do_libretro",,1)
    LibRetro_PCE := IniReadCheck(settingsFile, "Settings", "LibRetro_PCE","mednafen_pce_fast_libretro",,1)
    LibRetro_PCECD := IniReadCheck(settingsFile, "Settings", "LibRetro_PCECD","mednafen_pce_fast_libretro",,1)
    LibRetro_PICO := IniReadCheck(settingsFile, "Settings", "LibRetro_PICO","picodrive_libretro",,1)
    LibRetro_PSX := IniReadCheck(settingsFile, "Settings", "LibRetro_PSX","mednafen_psx_libretro",,1)
    LibRetro_SCD := IniReadCheck(settingsFile, "Settings", "LibRetro_SCD","genesis_plus_gx_libretro",,1)
    LibRetro_SG1K := IniReadCheck(settingsFile, "Settings", "LibRetro_SG1K","genesis_plus_gx_libretro",,1)
    LibRetro_SGB := IniReadCheck(settingsFile, "Settings", "LibRetro_SGB","bsnes_balanced_libretro",,1)
    LibRetro_SMS := IniReadCheck(settingsFile, "Settings", "LibRetro_SMS","genesis_plus_gx_libretro",,1)
    LibRetro_SNES := IniReadCheck(settingsFile, "Settings", "LibRetro_SNES","bsnes_balanced_libretro",,1)
    LibRetro_SGFX := IniReadCheck(settingsFile, "Settings", "LibRetro_SGFX","mednafen_pce_fast_libretro",,1)
    LibRetro_SS := IniReadCheck(settingsFile, "Settings", "LibRetro_SS","yabause_libretro",,1)
    LibRetro_TG16 := IniReadCheck(settingsFile, "Settings", "LibRetro_TG16","mednafen_pce_fast_libretro",,1)
    LibRetro_TGCD := IniReadCheck(settingsFile, "Settings", "LibRetro_TGCD","mednafen_pce_fast_libretro",,1)
    LibRetro_WSAN := IniReadCheck(settingsFile, "Settings", "LibRetro_WSAN","mednafen_wswan_libretro",,1)
    LibRetro_WSANC := IniReadCheck(settingsFile, "Settings", "LibRetro_WSANC","mednafen_wswan_libretro",,1)
    LibRetro_PPSSPP := IniReadCheck(settingsFile, "Settings", "LibRetro_PPSSPP","ppsspp_libretro",,1)
    LibRetro_HATARI := IniReadCheck(settingsFile, "Settings", "LibRetro_HATARI","hatari_libretro",,1)
    LibRetro_PUAE := IniReadCheck(settingsFile, "Settings", "LibRetro_PUAE","puae_libretro",,1)
    LibRetro_BLUEMSX := IniReadCheck(settingsFile, "Settings", "LibRetro_BLUEMSX","bluemsx_libretro",,1)
    Libretro_DESMUME := IniReadCheck(settingsFile, "Settings", "LibRetro_DESMUME","desmume_libretro",,1)
    superGB := IniReadCheck(settingsFile, systemName . "|" . romName, "SuperGameBoy", "false",,1)
    libRetroFolder := GetFullName(libRetroFolder)
    
    retroArchSystem := systemName
    
    If (ident = "LibRetro_SGB" || If superGB = "true")	; if system or rom is set to use Super Game Boy
    {	superGB = true	; setting this just in case it's false and the system is Nintendo Super Game Boy
    	sgbRomPath := CheckFile(emuPath . "\system\Super Game Boy (World).sfc","Could not find the rom required for Super Game Boy support. Make sure the rom ""Super Game Boy (World).sfc"" is located in: " . emupath . "\system")
    	CheckFile(emuPath . "\system\sgb.boot.rom","Could not find the bios required for Super Game Boy support. Make sure the bios ""sgb.boot.rom"" is located in: " . emupath . "\system")
    	ident := "LibRetro_SGB"	; switching to Super Game Boy mode
    	retroArchSystem := "Nintendo Super Game Boy"
    }
    
    ; Find the cfg file to use
    Loop, %emuPath%\*.cfg,,1 ; loop through all folder in emuPath
    	If (A_LoopFileName = retroArchSystem . ".cfg") {
    		sysRetroCfg := A_LoopFileLongPath
    		Break	; retroArchSystem configs are preferred, so break after one is found
    	} Else If (A_LoopFileName = "retroarch.cfg")
    		globalRetroCfg := A_LoopFileLongPath
    retroCFGFile := If sysRetroCfg ? sysRetroCfg : globalRetroCfg
    Log(MEmu . " is using " . retroCFGFile . " as it's config file.")
    
    ; Find the dll for this system
    Loop, %libRetroFolder%\*.dll,,1 ; loop through all folder in emuPath looking for the ident dll
    	If (A_LoopFileName = %ident% . ".dll") {
    		libDll := A_LoopFileLongPath
    		Break
    	}
    If !libDll
    	ScriptError("Your " . ident . " dll is set to " . %ident% . " but could not locate this file in any folder inside:`n" . libRetroFolder)
    
    If ident In LibRetro_NFDS,LibRetro_SCD,LibRetro_TGCD,LibRetro_PCECD
    {	retroCFG := LoadProperties(retroCFGFile)	; load the config into memory
    	retroSysDir := ReadProperty(retroCFG,"system_directory")	; read value
    	retroSysDir := ConvertRetroCFGKey(retroSysDir)	; remove dbl quotes
    	StringLeft, retroSysDirLeft, retroSysDir, 2
    	If (retroSysDirLeft = ":\") {	; if retroarch is set to use a default folder
    		StringTrimLeft, retroSysDir, retroSysDir, 1
    		Log("Module - RetroArch is using a relative system path: """ . retroSysDir . """")
    		retroSysDir := emuPath . retroSysDir
    	}
    	If !retroSysDir
    		ScriptError("RetroArch requires you to set your system_directory and place bios rom(s) in there for """ . retroArchSystem . """ to function. Please do this first by running ""retroarch-phoenix.exe"" manually.")
    }
    
    7z(romPath, romName, romExtension, 7zExtractPath)
    
    If ident = LibRetro_NFDS	; Nintendo Famicom Disk System
    {	IfNotExist, %retroSysDir%disksys.rom
    		ScriptError("RetroArch requires ""disksys.rom"" for " . retroArchSystem . " but could not find it in your system_directory: """ . retroSysDir . """")
    } Else If ident = LibRetro_SCD	; Sega CD
    {	If romExtension Not In .bin,.cue,.iso
    		ScriptError("RetroArch only supports Sega CD games in bin|cue|iso format. It does not support:`n" . romExtension)
    	IfNotExist, %retroSysDir%bios_CD_E.bin
    		ScriptError("RetroArch requires ""bios_CD_E.bin"" for " . retroArchSystem . " but could not find it in your system_directory: """ . retroSysDir . """")
    	IfNotExist, %retroSysDir%bios_CD_U.bin
    		ScriptError("RetroArch requires ""bios_CD_U.bin"" for " . retroArchSystem . " but could not find it in your system_directory: """ . retroSysDir . """")
    	IfNotExist, %retroSysDir%bios_CD_J.bin
    		ScriptError("RetroArch requires ""bios_CD_J.bin"" for " . retroArchSystem . " but could not find it in your system_directory: """ . retroSysDir . """")
    } Else If ident in LibRetro_PCECD,LibRetro_TGCD	; NEC PC Engine-CD and NEC TurboGrafx-CD
    {	If romExtension Not In .cue,.ccd
    		ScriptError("RetroArch only supports " . retroArchSystem . " games in cue format. It does not support:`n" . romExtension)
    	IfNotExist, %retroSysDir%syscard3.pce
    		ScriptError("RetroArch requires ""syscard3.pce"" for " . retroArchSystem . " but could not find it in your system_directory: """ . retroSysDir . """")
    }
    
    ; WriteProperty(retroCFGFile,"system_directory","""D:\test""")	; write a new value to the RetroArch cfg file
    ; SaveProperty()	; save RetroArch cfg file to disk
    
    BezelStart()
    
    fullscreen := (If fullscreen = "true" ? ("-f") : (""))
    srmPath := emuPath . "\srm\" . retroArchSystem	; path for this system's srm files
    saveStatePath := emuPath . "\save\" . retroArchSystem	; path for this system's save state files
    
    IfNotExist, %srmPath%
    	FileCreateDir, %srmPath% ; creating srm dir if it doesn't exist
    IfNotExist, %saveStatePath%
    	FileCreateDir, %saveStatePath% ; creating save dir if it doesn't exist
    
    Run(executable . " """ . (If superGB = "true" ? sgbRomPath . """ -g """ : "") . romPath . "\" . romName . romExtension . """ " . fullscreen . " -c """ . retroCFGFile . """ -L """ . libDll . """ -s """ . srmPath . "\" . romName . ".srm"" -S """ . saveStatePath . "\" . romName . ".state""", emuPath, "Hide")
    
    WinWait("RetroArch ahk_class RetroArch")
    WinWaitActive("RetroArch ahk_class RetroArch")
    
    If hideConsole = true
    	WinSet, Transparent, On, ahk_class ConsoleWindowClass	; makes the console window transparent so you don't see it on exit
    
    BezelDraw()
    FadeInExit()
    Process("WaitClose", executable)
    7zCleanUp()
    BezelExit()
    FadeOutExit()
    ExitModule()
    
    
    ; Used to convert between RetroArch keys and usable data
    ConvertRetroCFGKey(txt,direction="read"){
    	If direction = read
    	{	StringTrimLeft,newtxt,txt,1	; removes the " from the left of the txt
    		StringTrimRight,newtxt,newtxt,1	; removes the " from the right of the txt
    		If InStr(newtxt,"/")
    			StringReplace,newtxt,newtxt,/,\,1	; replaces all forward slashes with backslashes
    	} Else If direction = write
    	{	newtxt = "%txt%"	; wraps the txt with ""
    		If InStr(newtxt,"\")
    			StringReplace,newtxt,newtxt,\,/,1	; replaces all backslashes with forward slashes
    	} Else
    		ScriptError("Not a valid use of ConvertRetroCFGKey. Only ""read"" or ""write"" are supported.")
    	Log("ConvertRetroCFGKey - Converted " . txt . " to " . newtxt,4)
    	Return newtxt
    }
    
    CloseProcess:
    	FadeOutStart()
    	; Send !{F4}
    	WinClose("RetroArch ahk_class RetroArch")
    Return
     

  2. Collapse Details
    Re: RetroArch Module 
    #2
    RocketLauncher Developer
    djvj's Avatar
    MainSecondary
    Join Date
    Apr 2014
    Location
    Long Island
    Posts
    6,176
    Thanks Austin and welcome!

    I have been keeping it updated on our beta too, so the changes will be official on the next update.
    "Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."

    If you appreciate our work, please support the site by clicking the Donate button at the top of the page.
     

  3. Collapse Details
    Re: RetroArch Module 
    #3
    Junior Member
    Boltzmann's Avatar
    MainSecondary
    Join Date
    May 2014
    Location
    Brasil
    Posts
    28
    Thanks for the module, man. I'm eager to try Retroarch with several systems; alas, real life has an annoying tendency to get in the way... But maybe this is the kind of news that'll give me the necessary impetus to try it out in the weekend. Or maybe I should wait until the Retroarch folks release the official version 1.1.
     

  4. Collapse Details
    Re: RetroArch Module 
    #4
    Senior Member


    MainSecondary
    Join Date
    Jul 2014
    Posts
    194
    Boltz, truth be told I've been trying the 1003 betas and they are pretty buggy and with the advent of multiple guis I'd suggest you get to know it on a somewhat older more stable version. The good news is you can still check out some of the new features, like psp support. I personally recommend getting the 9-18-2014 version as I've used it for a lot of systems with no problems. You can download these versions here: https://www.dropbox.com/sh/91sakv0qd...7YJFa/old?dl=0

    Also, here's a basic tutorial that should get you running pretty quick: http://www.hyperspin-fe.com/forum/sh...uide-For-Noobs

    And Austin, thanks for the module, and getting me hype about this program.
     

  5. Collapse Details
    Re: RetroArch Module 
    #5
    Senior Member cID67's Avatar
    MainSecondary
    Join Date
    Jun 2014
    Posts
    200
    Does the retroarch module support disc swap for the mednafen psx emulation?
     

  6. Collapse Details
    Re: RetroArch Module 
    #6
    RocketLauncher Developer
    djvj's Avatar
    MainSecondary
    Join Date
    Apr 2014
    Location
    Long Island
    Posts
    6,176
    Since daemon tools is not supported, it would be hard to disc swap unless the emu devs create a new method w/o resetting the machine.
    "Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."

    If you appreciate our work, please support the site by clicking the Donate button at the top of the page.
     

  7. Collapse Details
    Re: RetroArch Module 
    #7
    Senior Member

    rfancella's Avatar
    MainSecondary
    Join Date
    May 2014
    Location
    Kansas USA
    Posts
    649
    Quote Originally Posted by cID67 View Post
    Does the retroarch module support disc swap for the mednafen psx emulation?
    I may be speaking out of place here, I don't know much about the Sony consoles.
    I thought there really was no disc swap. Multi disc games wrote to the memory card and then you just booted the second disc?
    In HS setup, would you not just exit and launch the second disc??

    Thanks,
    Ron
     

  8. Collapse Details
    Re: RetroArch Module 
    #8
    RocketLauncher Developer
    MainSecondary
    Join Date
    Apr 2014
    Posts
    4,110
    PSX supports disc swapping, the console won't boot when you change discs.

    Regarding Mednafen (and I guess RetroArch) the current module requires Daemon Tools for disc swapping, but it's not really necessary. It's possible to use disc swap without DT, for this Mednafen must be fed with a .m3u file which consists of all the cue files listed in order and then there's a hotkey to swap disc. This would require a bit of coding particularly to generate the .m3u file on the file, but shouldn't be too hard:
    http://mednafen.sourceforge.net/docu..._multicd_games

    I'm guessing this could be used on RetroArch as well.
     

  9. Collapse Details
    Re: RetroArch Module 
    #9
    Senior Member cID67's Avatar
    MainSecondary
    Join Date
    Jun 2014
    Posts
    200
    Im going to look into the m3u method. i assume that is what these input options are for but haven't looked into them yet. btw, does anyone know of a game that is good for testing disk swap? maybe something that has a swap at the beginning of starting the game.

    Untitled.jpg
     

  10. Collapse Details
    Re: RetroArch Module 
    #10
    RocketLauncher Developer
    MainSecondary
    Join Date
    Apr 2014
    Posts
    4,110
    I think Disk Next is what you want, but not sure since I don't use RetroArch.

    You can test with Final Fantasy 7, start with disc 2 and you get asked for disc 1 once you try to start the game.
     

  11. Collapse Details
    Re: RetroArch Module 
    #11
    Senior Member cID67's Avatar
    MainSecondary
    Join Date
    Jun 2014
    Posts
    200
    so just to get this right. I need to add the .m3u as a rom extension before the cue extension in hyperlaunch. from that point, i create a text file with the cue files for all the disc for a particular game listed in order inside it. I then rename its extension to m3u. from there i put the newly created m3u file in the same place as the relevant cue files. if i run the m3u file instead of the cue files ( this should happen automatically if i set the m3u extension before the cue extension in the emulator extension box within hyperlaunch, right?) it should allow swapping from within the emulator using the assigned swap key . Is this close to correct and would it also work launching the m3u file from within a zip file as well.
     

  12. Collapse Details
    Re: RetroArch Module 
    #12
    RocketLauncher Developer
    MainSecondary
    Join Date
    Apr 2014
    Posts
    4,110
    That would work if you want to do everything manually, but all that should be done within the module automatically. .m3u shouldn't be added as extensions and then you simply create the .m3u file on the fly in the module and send it to mednafen through CLI instead. When exiting delete the .m3u file.
     

  13. Collapse Details
    Re: RetroArch Module 
    #13
    Member kmoney2315's Avatar
    MainSecondary
    Join Date
    Dec 2014
    Posts
    50
    I have been using the latest retroarch module pasted above in the first post and I have a few questions. In the recent nightly builds for retroarch, for a while now the srm files get saved into the "save" folder in standalone retroarch instead of a seperate "srm" folder.
    Also "Mame" core per game configs such as cfg.,nvram,diff and etc., get saved to the "save" folder also where as before, the mame per game cfg's, nvram and diff used to get stored in the system folder. I changed the line in the retroarch module which read as follows:

    (srmPath := emuPath . "\srm\" . retroArchSystem ; path for this system's srm files). I changed the path to "\save\" instead of srm which was easy enough. But my question is when retroarch is ran through hyperlaunch what could be added or changed in the module so that it reads and writes Mame per game cfg.,nvram, diff's and etc. like it does in the standalone retroarch? Also another question is when I setup retroarch outside of hyperlaunch and set my retroarch savestate path to "save" it saves it to my retroarch cfg. correctly, but when I run retroarch through hyperlaunch it changes my savestate path from "save" to "default" in the retroarch cfg. and I have to setup my "save" path again everytime I run retroarch outside of hyperlaunch? Thanks for any assistance.
    Last edited by kmoney2315 ; 12-07-2014 at 08:26 PM.
     

  14. Collapse Details
    Re: RetroArch Module 
    #14
    Senior Member


    MainSecondary
    Join Date
    Jul 2014
    Posts
    194
    I may be wrong but to address the last part of your problem, have you set up per core configs for use with Hyperlaunch? It could be that Hyperlaunch is simply loading a different config than when you start RA standalone.
     

  15. Collapse Details
    Re: RetroArch Module 
    #15
    Member kmoney2315's Avatar
    MainSecondary
    Join Date
    Dec 2014
    Posts
    50
    Quote Originally Posted by Fromlostdays View Post
    I may be wrong but to address the last part of your problem, have you set up per core configs for use with Hyperlaunch? It could be that Hyperlaunch is simply loading a different config than when you start RA standalone.
    Yes, I have per core configs set up in my Retroarch config folder. The strange thing is, when I save a game while playing Retroarch through hyperlaunch it still gets save to the correct save folder in Retroarch, it just changes the savestate and the save file path in my Retroarch main and per core config folder to "default" instead of "save". Even if I manually change the config folder with notepad to "save" it changes it right back to "default" when I launch a game through hyperlaunch.
    I'm hoping that someone could take a look at adding something to the module so it will read the save folder for nvram and per game configs for the mame core since they are in the save folder now. It would be very useful for games like Street Fighter: 3rd Strike which saves nvram to the folder so you don't have to sit through a 70 minute boot time every time you start the game.
     

  16. Collapse Details
    Re: RetroArch Module 
    #16
    Senior Member cID67's Avatar
    MainSecondary
    Join Date
    Jun 2014
    Posts
    200
    retroarch is indeed able to use m3u files to change discs. retroarch uses the eject disc option to open and close its virtual disc tray and the next key would be used to cycle between discs listed in the m3u file. I have not been able to confirm if the game actually continues after disc swapping yet do to the test disc images being corrupted when i attempted to convert there format. I hope that some day the module can be updated to make use of this somehow as I cant use mednafen to change discs on my computer because mednafen doesnt work with hyperpause on my system where as retroarch does. if you are curious as to why it doesnt work its because once hyperpause is exited mednafen doesnt return to full screen. instead its like it has become transparent. what is interesting is mednafen and hyperpause work correctly together if i have fraps running. strange.
     

  17. Collapse Details
    Re: RetroArch Module 
    #17
    Senior Member cID67's Avatar
    MainSecondary
    Join Date
    Jun 2014
    Posts
    200
    I need help here. retroarch module isnt detecting my bios file for turbographics cd even though its in the correct location. retroarch detects the presence of the bios but hyperlaunch doesnt. this bios works file with mednafen. what gives?

    Untitled.jpg
     

  18. Collapse Details
    Re: RetroArch Module 
    #18
    Senior Member cID67's Avatar
    MainSecondary
    Join Date
    Jun 2014
    Posts
    200
    I got retroarch to load by bypassing the bios check in the module. Untitled.jpg clearly something isnt working correctly here. also, there are many more systems that are emulated through retroarch that are not included in the module so perhaps someone who knows how to create this stuff will add the support. retroarch allows these systems to integrate with hyperlaunch and hyperpause so seamlessly that i literally dont want to use anything else. no flashing when hyperlaunch is launching the emulators or any other weird launch related anomalies. its awesome. the latest beta of retroarch has fixed a bunch of stuff and its worth checking out if you havent.
     

  19. Collapse Details
    Re: RetroArch Module 
    #19
    RocketLauncher Developer
    djvj's Avatar
    MainSecondary
    Join Date
    Apr 2014
    Location
    Long Island
    Posts
    6,176
    Known bug fixed in the beta module.

    In the module replace all
    %retroSysDir%
    with
    %retroSysDir%\
    "Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."

    If you appreciate our work, please support the site by clicking the Donate button at the top of the page.
     

  20. Collapse Details
    Re: RetroArch Module 
    #20
    Senior Member cID67's Avatar
    MainSecondary
    Join Date
    Jun 2014
    Posts
    200
    thanks
     

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •