Jump to content
  • Announcement

    The HyperSpin 2 early access beta is here!

    We’re starting the first public testing phase with Platinum Members to keep the scope manageable while we test the current feature set and begin to add more. In the future, we’ll provide a version for basic members as well.  On behalf of the entire HyperSpin team, we look forward to another exciting adventure with our community.

Problem with User Functions Init.ahk file


upod21

Recommended Posts

Posted

Has anyone ever had a problem with Hyperspin not finding User functions  Init. ahk file? I went into the lib folder and that folder was there, but the file had additional number on it. So, I renamed it to what Hyperspin is looking for, but it still doesn't work.

[code]
22:43:03:111 | HL |     INFO  | +N/A   | Main - HyperLaunch v3.1.0.5b BETA (www.hyperlaunch.net)
22:43:03:221 | HL |     INFO  | +109   | Main - System Specs:
					HyperLaunch Dir: C:\Hyperspin
					HyperLaunch is: 32-bit
					OS: Microsoft Windows 7 Home Premium
					SKU: Home Premium
					Total Memory: 8082.21 MB
					Free Memory: 7202.19 MB
					Used Memory: 880.027 MB
					SystemType: 64-bit
					Physical Processors: 1
					Logical Processors: 4
					GPU 1 Name: Intel(R) HD Graphics
					GPU 1 RAM: -1984.00 MB
					GPU 1 Driver Version: 10.18.10.3958
					Sound 1 Device: High Definition Audio Device
					Sound 1 Status: Enabled
					Sound 2 Device: High Definition Audio Device
					Sound 2 Status: Enabled
					OS Language: English_United_States
					OS Admin Status: No
					Monitor #1 (\\.\DISPLAY1): 1920x1080 (1920x1040 work)
					Monitor #1 Orientation: Landscape
					Current AHK Desktop Width: 1920
					Current AHK Desktop Height: 1080
					AutoHotkey Path:
					AHK Version: 1.1.09.04
					Unicode: No
22:43:03:221 | HL |     INFO  | +0     | CheckFile - Checking if C:\Hyperspin\HyperLaunch.exe exists
22:43:03:221 | HL |     INFO  | +0     | CheckFile - Checking if C:\Hyperspin\Module Extensions\dxwnd\dxwnd.ini exists
22:43:03:221 | HL |     INFO  | +0     | CheckFile - Checking if C:\Hyperspin\Module Extensions\dxwnd\dxwnd.exe exists
22:43:03:221 | HL |     INFO  | +0     | CheckFile - Checking if C:\Hyperspin\Plugins\HyperSpin.plugin exists
22:43:03:221 | HL |     INFO  | +0     | Main - Loading Front End Plugin: "HyperSpin"
22:43:03:221 | HL |     INFO  | +0     | Main - HyperLaunch received "Nintendo Entertainment System" and "1942 (Japan, USA)"
22:43:03:236 | HL |     INFO  | +16    | Main - 1942 (Japan, USA) is using the default emulator: RetroArch
22:43:03:236 | HL |     INFO  | +0     | Main - Checking for a [RetroArch] section in C:\Hyperspin\Settings\Nintendo Entertainment System\Emulators.ini
22:43:03:236 | HL |     INFO  | +0     | Main - Checking for a [RetroArch] section in C:\Hyperspin\Settings\Global Emulators.ini
22:43:03:236 | HL |     INFO  | +0     | Main - Found [RetroArch] in C:\Hyperspin\Settings\Global Emulators.ini
22:43:03:236 | HL |     INFO  | +0     | CheckFile - Checking if C:\Hyperspin\Modules\RetroArch\RetroArch.ahk exists
22:43:03:236 | HL |     INFO  | +0     | Main - CRC Check - CRC matches, this is an official unedited module.
22:43:03:236 | HL |     INFO  | +0     | Main - 1942 (Japan, USA) will use module: C:\Hyperspin\Modules\RetroArch\RetroArch.ahk
22:43:03:252 | HL |     INFO  | +16    | Main - Did not find a "C:\Hyperspin\Settings\Nintendo Entertainment System\Game Options.ini" file, skipping any game-specific options.
22:43:03:252 | HL |     INFO  | +0     | Main - Using standard method with "Rom Extension" SkipChecks or without any SkipChecks.
22:43:03:252 | HL |     INFO  | +0     | CheckFile - Checking if C:\Hyperspin\Emulators\RetroArch\retroarch.exe exists
22:43:03:252 | HL |     INFO  | +0     | Main - INI Keys read
22:43:03:252 | HL |     INFO  | +0     | CheckFile - Checking if C:\Hyperspin\Module Extensions\7z.exe exists
22:43:03:252 | HL |     INFO  | +0     | CheckFile - Checking if C:\Hyperspin\Module Extensions\7z.dll exists
22:43:03:252 | HL |     INFO  | +0     | CreateRomMapTable - Started
22:43:03:252 | HL |     INFO  | +0     | AltNameExistCheck - Found rom: C:\Hyperspin\ROMs\Nintendo - Nintendo Entertainment System\1942 (Japan, USA).zip
22:43:03:252 | HL |     INFO  | +0     | CreateRomMapTable - Ended, No mapping inis found.
22:43:03:252 | HL |     INFO  | +0     | CheckFile - Checking if C:\Hyperspin\Module Extensions\FontReg.exe exists
22:43:03:267 | HL |     INFO  | +15    | Main - "1942 (Japan, USA)" does not qualify for MultiGame. Only roms with any of these strings in their name are acceptable: (Disc,(Disk,(Cart,(Tape,(Cassette,(Part,(Side
22:43:03:267 | HL |     INFO  | +0     | CheckPaths - Started
22:43:03:267 | HL |     INFO  | +0     | CheckPaths - Found rom: C:\Hyperspin\ROMs\Nintendo - Nintendo Entertainment System\1942 (Japan, USA).zip
22:43:03:267 | HL |     INFO  | +0     | CheckPaths - Ended
22:43:03:267 | HL |     INFO  | +0     | BuildScript - User Variables:
					;----------------------------------------------------------------------------
					; INJECTED VARIABLES
					;----------------------------------------------------------------------------

					#NoTrayIcon
					#InstallKeybdHook
					DetectHiddenWindows, ON
					SetTitleMatchMode, 2
					SendMode, Event
					0 = 10
					pluginPath = C:\Hyperspin\Plugins
					pluginName = HyperSpin
					pluginExt = .plugin
					contextOnExit = 1
					hlMode =
					hlTitle = HyperLaunch
					hlVersion = 3.1.0.5b BETA
					hlAuthor = djvj
					hlURL = www.hyperlaunch.net
					langFile = C:\Hyperspin\Data\Language\Localization.ini
					frontendPID =
					frontendPath = C:\Hyperspin
					frontendExe = HyperSpin.exe
					frontendExt = exe
					frontendName = HyperSpin
					frontendDrive = C:
					exitEmulatorKey = ~Esc
					exitEmulatorKeyWait = 0
					forceHoldKey = Return,Esc
					restoreFE = Restore
					exitScriptKey = ~q & ~s
					toggleCursorKey = ~e & ~t
					emuFullPath = C:\Hyperspin\Emulators\RetroArch\retroarch.exe
					emuPath = C:\Hyperspin\Emulators\RetroArch
					emuName = RetroArch
					emuExt = exe
					romPath = C:\Hyperspin\ROMs\Nintendo - Nintendo Entertainment System
					romPathFromIni = C:\Hyperspin\ROMs\Nintendo - Nintendo Entertainment System
					romExtension = .zip
					romExtensionOrig = .zip
					romExtensions = 7z|zip|rar|cue|bin|sfc|fds|gba|gb|gbc|nes|ngc|ngp|gg|sms|md|a26|32x|pce|ccd|sg|sc|n64|v64|z64
					executable = retroarch.exe
					systemName = Nintendo Entertainment System
					dbPath =
					dbName = 1942 (Japan, USA)
					dbExt =
					romName = 1942 (Japan, USA)
					romMapPath = C:\Hyperspin\Settings\Nintendo Entertainment System\Rom Mapping
					romMappingEnabled = true
					romMappingLaunchMenuEnabled = false
					romMappingFirstMatchingExt = false
					romMappingShowAllRomsInArchive = true
					romMappingNumberOfGamesByScreen = 7
					romMappingMenuWidth = 400
					romMappingMenuMargin = 65
					romMappingTextFont = Bebas Neue
					romMappingTextOptions = cFFFFFFFF r4 s60 Bold
					romMappingDisabledTextColor = ff888888
					romMappingTextSizeDifference = 7
					romMappingTextMargin = 15
					romMappingTitleTextFont = Bebas Neue
					romMappingTitleTextOptions = cFFFFFFFF r4 s90 Bold
					romMappingTitle2TextFont = Bebas Neue
					romMappingTitle2TextOptions = cFFFFFFFF r4 s22 Bold
					romMappingGameInfoTextFont = Bebas Neue
					romMappingGameInfoTextOptions = cFFFFFFFF r4 s22 Regular
					romMappingBackgroundBrush = aa000000
					romMappingColumnBrush = 33000000
					romMappingButtonBrush1 = 6f000000
					romMappingButtonBrush2 = 33000000
					romMappingBackgroundAlign = Stretch and Lose Aspect
					romMappingMenuFlagWidth = 55
					romMappingMenuFlagSeparation = 7
					romMappingDefaultMenuList = FullList
					romMappingSingleFilteredRomAutomaticLaunch = false
					altArchiveNameOnly =
					altRomNameOnly =
					altArchiveAndRomName =
					altArchiveAndManyRomNames =
					altRomNamesOnly =
					romMapScenario =
					skipchecks = false
					romMatchExt = false
					blockInputTime = 0
					blockInputFile = C:\Hyperspin\Module Extensions\BlockInput.exe
					errorLevelReporting = false
					lockLaunch = false
					lockLaunchGame =
					screenRotationAngle = 0
					screenRotationAngleGame =
					logFile = C:\Hyperspin\HyperLaunch.log
					logLabel := ["    INFO"," WARNING","   ERROR","  DEBUG1","  DEBUG2"]
					logLevel = 3
					logShowDebugConsole = false
					logIncludeModule = true
					logIncludeFileProperties = true
					logShowCommandWindow = false
					logCommandWindow = false
					hlDebugConsoleStdout =
					sysLang = English_United_States
					sysType = 64-bit
					navUpKey = Up
					navDownKey = Down
					navLeftKey = Left
					navRightKey = Right
					navSelectKey = Enter
					navP2UpKey = Numpad8
					navP2DownKey = Numpad2
					navP2LeftKey = Numpad4
					navP2RightKey = Numpad6
					navP2SelectKey = NumpadEnter
					originalWidth = 1920
					originalHeight = 1080
					dtEnabled = false
					dtPath =
					dtUseSCSI = true
					dtAddDrive = true
					servoStikEnabled = false
					ledblinkyEnabled = false
					ledblinkyFullPath =
					ledblinkyProfilePath = C:\Hyperspin\Profiles\LEDBlinky
					ledblinkyHLProfile = C:\Hyperspin\Profiles\LEDBlinky\HyperLaunch
					emuIdleShutdown = 0
					launchPasswordHash = UpUpDownDownLeftRightLeftRight
					hideCursor = true
					hideEmu = false
					hideFE = false
					fadeIn = false
					fadeInDuration = 500
					fadeInTransitionAnimation = DefaultAnimateFadeIn
					fadeInDelay = 0
					fadeInExitDelay = 0
					fadeOutExitDelay = 0
					fadeOut = false
					fadeOutExtraScreen = false
					fadeOutDuration = 500
					fadeOutTransitionAnimation = DefaultAnimateFadeOut
					fadeOutDelay = 0
					fadeLyrInterpolation = 7
					fadeMuteEmulator = false
					fadeUseBackgrounds = false
					fadeWidthBaseRes = 1920
					fadeHeightBaseRes = 1080
					fadeLyr1Color = FF000000
					fadeLyr1AlignImage = Stretch and Lose Aspect
					fadeLyr2Pos = Stretch and Lose Aspect
					fadeLyr2X = 0
					fadeLyr2Y = 0
					fadeLyr2W =
					fadeLyr2H =
					fadeLyr2Adjust = 1
					fadeLyr2PicPad = 0
					fadeLyr2Prefix = Extra Layer 1 - Console
					fadeLyr3Pos = Center
					fadeLyr3X = 450
					fadeLyr3Y = 450
					fadeLyr3W =
					fadeLyr3H =
					fadeLyr3Adjust = 1
					fadeLyr3PicPad = 0
					fadeLyr3Speed = 750
					fadeLyr3Animation = DefaultFadeAnimation
					fadeLyr37zAnimation = DefaultFadeAnimation
					fadeLyr3Type = image
					fadeLyr3ImgFollow7zProgress = false
					fadeLyr3Repeat = 1
					fadeLyr3BackImageTransparency = 30
					fadeLyr3StaticPos = No Alignment
					fadeLyr3StaticX = 0
					fadeLyr3StaticY = 870|1575
					fadeLyr3StaticW =
					fadeLyr3StaticH =
					fadeLyr3StaticAdjust = 1
					fadeLyr3StaticPicPad = 0
					fadeLyr3StaticPrefix = Info Bar
					fadeLyr4Adjust = 1
					fadeLyr4X = 1792|952
					fadeLyr4Y = 891|1596
					fadeLyr4W = 128
					fadeLyr4H =
					fadeLyr4Pos = No Alignment
					fadeLyr4FPS = 50
					fadeLyr4PicPad = 0
					fadeTranspGifColor = FFFFFF
					fadeBarWindow = Image
					fadeBarWindowX =
					fadeBarWindowY =
					fadeBarWindowW = 900
					fadeBarWindowH =
					fadeBarWindowR = 30
					fadeBarWindowM = 30
					fadeBarWindowHatchStyle = 8
					fadeBar = 7zOnly
					fadeBarNon7zProgressTime = 0
					fadeBarBack = true
					fadeBarBackColor = FF555555
					fadeBarH = 30
					fadeBarR = 10
					fadeBarColor = DD00BFFF
					fadeBarHatchStyle = 8
					fadeBarPercentageText = true
					fadeBarInfoText = true
					fadeBarXOffset = 0
					fadeBarYOffset = 150
					fadeRomInfoDescription = filtered text
					fadeRomInfoSystemName = image
					fadeRomInfoYear = text with label
					fadeRomInfoManufacturer = text with label
					fadeRomInfoGenre = disabled
					fadeRomInfoRating = image
					fadeRomInfoOrder = Description|SystemName|Year|Manufacturer|Genre|Rating
					fadeRomInfoTextPlacement = User Defined
					fadeRomInfoTextMargin = 7
					fadeRomInfoText1Options = w1600|787 h90 x165 y870|1575 cFFE1E1E1 r4 s90 Left Regular
					fadeRomInfoText2Options = w400 x8 y15 cFF555555 r4 s60 Bold
					fadeRomInfoText3Options = w310 x165 y960|1665 cFFE1E1E1 r4 s66 Left Regular
					fadeRomInfoText4Options = w1305|492 h66 x460 y960|1665 cFFE1E1E1 r4 s66 Left Regular
					fadeRomInfoText5Options = cFF555555 r4 s42 Bold
					fadeRomInfoText6Options = h135 x15 y885|1590 cFFCFCFCA r4 s120 Regular
					fadeStats_Number_of_Times_Played = text with label
					fadeStats_Last_Time_Played = text with label
					fadeStats_Average_Time_Played = text with label
					fadeStats_Total_Time_Played = text with label
					fadeStats_System_Total_Played_Time = text with label
					fadeStats_Total_Global_Played_Time = text with label
					fadeStatsInfoOrder = Number_of_Times_Played|Last_Time_Played|Average_Time_Played|Total_Time_Played|System_Total_Played_Time|Total_Global_Played_Time
					fadeStatsInfoTextPlacement = topRight
					fadeStatsInfoTextMargin = 7
					fadeStatsInfoText1Options = cFFB4B4B4 r4 s22 Bold
					fadeStatsInfoText2Options = cFFB4B4B4 r4 s22 Bold
					fadeStatsInfoText3Options = cFFB4B4B4 r4 s22 Bold
					fadeStatsInfoText4Options = cFFB4B4B4 r4 s22 Bold
					fadeStatsInfoText5Options = cFFB4B4B4 r4 s22 Bold
					fadeStatsInfoText6Options = cFFB4B4B4 r4 s22 Bold
					fadeText1X = 0
					fadeText1Y = 0
					fadeText1Options = cFFB4B4B4 r4 s30 Right Bold
					fadeText1 = Loading Game
					fadeText2X = 0
					fadeText2Y = 0
					fadeText2Options = cFFB4B4B4 r4 s30 Right Bold
					fadeText2 = Extraction Complete, Ready
					fadeText3 = Loading Game
					fadeText4 = Loading Complete
					fadeFont = Bebas Neue
					fadeSystemAndRomLayersOnly = false
					fadeExtractionTime = disabled
					fadeExtractionTimeTextX = 0
					fadeExtractionTimeTextY = 0
					fadeExtractionTimeTextOptions = cFF555555 r4 s20 Bold
					fadeInterruptKey =
					detectFadeErrorEnabled = true
					fadeImgPath = C:\Hyperspin\Media\Fade
					HLDataPath = C:\Hyperspin\Data
					HLMediaPath = C:\Hyperspin\Media
					HLErrSoundPath = C:\Hyperspin\Media\Sounds\Error
					modulesPath = C:\Hyperspin\Modules
					moduleFullName = C:\Hyperspin\Modules\RetroArch\RetroArch.ahk
					moduleName = RetroArch
					modulePath = C:\Hyperspin\Modules\RetroArch
					moduleExtension = ahk
					moduleExtensionsPath = C:\Hyperspin\Module Extensions
					libPath = C:\Hyperspin\Lib
					7zEnabled = true
					7zPath = C:\Hyperspin\Module Extensions\7z.exe
					7zDllPath = C:\Hyperspin\Module Extensions\7z.dll
					7zExtractPath = C:\Users\NES-PC\AppData\Local\Temp\HS
					7zExtractPathOrig =
					7zAttachSystemName = false
					7zDelTemp = true
					7zSounds = true
					7zFormats = .zip,.rar,.7z,.lzh,.gzip,.tar
					7zFormatsNoP = zip,rar,7z,lzh,gzip,tar
					mgEnabled = false
					mgKey = ~NumpadSub
					mgBackgroundColor = FF000000
					mgSidePadding = 0.2
					mgWidthBaseRes = 1920
					mgHeightBaseRes = 1080
					mgYOffset = 500|800
					mgFont = Arial
					mgText1Options = x10p y250|500 w80p Center cBBFFFFFF r4 s100 BoldItalic
					mgText1Text = Please select a game
					mgText2Options = w96p cFFFFFFFF r4 s50 Center BoldItalic
					mgText2Offset = 100
					mgUseSound = true
					mgSoundfreq = 300
					mgExitEffect = none
					mgSelectedEffect = rotate
					mgUseGameArt = false
					mgCandidate =
					mgValidTypes = (Disc,(Disk,(Cart,(Tape,(Cassette,(Part,(Side
					mgOnLaunch = false
					hpEnabled = false
					hpKey = ~NumpadAdd
					hpBackToMenuBarKey = X
					hpZoomInKey = C
					hpZoomOutKey = V
					hpScreenshotKey = ~PrintScreen
					hpHiToTextPath = C:\Hyperspin\Module Extensions\HiToText.exe
					hpSaveStateKeyCodes =
					hpLoadStateKeyCodes =
					keymapperEnabled = true
					keymapperAHKMethod = false
					keymapper = xpadder
					xpadderFullPath = C:\Hyperspin\Utilities\Xpadder.exe
					joyToKeyFullPath = C:\Utilities\JoyToKey\JoyToKey.exe
					keymapperProfilePath = C:\Hyperspin\Profiles\xpadder
					keymapperFrontEndProfileName = HyperLaunchHQ
					keymapperFrontEndProfile = xpadder
					keymapperHyperLaunchProfileEnabled = xpadder
					JoyIDsEnabled = false
					JoyIDsPreferredControllersSystem = Retr
					JoyIDsPreferredControllersGlobal =
					CustomJoyNamesEnabled = false
					CustomJoyNames =
					rotateMethod = false
					FEProfile = C:\Hyperspin\Profiles\xpadder\HyperLaunchHQ
					defaultProfile = C:\Hyperspin\Profiles\xpadder\_Default
					systemProfile = C:\Hyperspin\Profiles\xpadder\Nintendo Entertainment System
					xPadderSystemProfile = C:\Hyperspin\Profiles\xpadder\Nintendo Entertainment System\_Default
					emuProfile = C:\Hyperspin\Profiles\xpadder\Nintendo Entertainment System\RetroArch
					romProfile = C:\Hyperspin\Profiles\xpadder\Nintendo Entertainment System\1942 (Japan, USA)
					HyperLaunchProfile = C:\Hyperspin\Profiles\xpadder\HyperLaunch
					blankProfile = C:\Hyperspin\Profiles\xpadder\_Default\blank
					ahkFEProfile = C:\Hyperspin\Profiles\AHK\HyperLaunchHQ
					ahkDefaultProfile = C:\Hyperspin\Profiles\AHK\_Default
					ahkSystemProfile = C:\Hyperspin\Profiles\AHK\Nintendo Entertainment System
					ahkEmuProfile = C:\Hyperspin\Profiles\AHK\Nintendo Entertainment System\RetroArch
					ahkRomProfile = C:\Hyperspin\Profiles\AHK\Nintendo Entertainment System\1942 (Japan, USA)
					ahkHyperLaunchProfile = C:\Hyperspin\Profiles\AHK\HyperLaunch
					bezelEnabled = false
					bezelICEnabled = false
					statisticsEnabled = true
					pressDuration = -1
					emuVolume = 1
					dxwndIni = C:\Hyperspin\Module Extensions\dxwnd\dxwnd.ini
					dxwndFullPath = C:\Hyperspin\Module Extensions\dxwnd\dxwnd.exe
					mon1O = 0
					pacDrivedllFile = C:\Hyperspin\Module Extensions\PacDrive32.dll
					userFadeAnimIniFile = C:\Hyperspin\Lib\User Fade Animations.ini

22:43:03:267 | HL |     INFO  | +0     | BuildScript - Loaded XHotkey Init.ahk scripts
22:43:03:267 | HL |     INFO  | +0     | BuildScript - Loaded Keymapper Init.ahk scripts
22:43:03:267 | HL |     INFO  | +0     | BuildScript - Loaded Statistics Init.ahk scripts
22:43:03:267 | HL |  WARNING  | +0     | BuildScript - "C:\Hyperspin\Lib\User Functions Init.ahk" not found
22:43:03:267 | HL |     INFO  | +0     | BuildScript - Validating module
22:43:03:267 | HL |     INFO  | +0     | BuildScript - Validation complete
22:43:03:267 | HL |     INFO  | +0     | BuildScript - Module:
					MEmu = RetroArch
					MEmuV =  v12-25-2014 Nightly
					MURL = http://themaister.net/retroarch.html
					MAuthor = djvj,zerojay
					MVersion = 2.2.5
					MCRC = BE6269FB
					iCRC = A130BB6E
					MID = 635038268922229162
					MSystem = "Acorn BBC Micro","AAE","Amstrad CPC","Amstrad GX4000","APF Imagination Machine","Apple IIGS","Atari 2600","Atari 5200","Atari 7800","Atari Jaguar","Atari Lynx","Atari ST","Atari XEGS","Bally Astrocade","Bandai Gundam RX-78","Bandai Super Vision 8000","Bandai Wonderswan","Bandai Wonderswan Color","Canon X07","Casio PV-1000","Casio PV-2000","Coleco ADAM","ColecoVision","Commodore Max Machine","Commodore Amiga","Creatronic Mega Duck","Dragon 64","Emerson Arcadia 2001","Entex Adventure Vision","Elektronika BK","Epoch Game Pocket Computer","Epoch Super Cassette Vision","Exidy Sorcerer","Fairchild Channel F","Final Burn Alpha","Funtech Super Acan","GamePark 32","GCE Vectrex","Hartung Game Master","JungleTac Sport Vii","MAME","Magnavox Odyssey 2","Microsoft MSX","Microsoft MSX2","Matra & Hachette Alice","Mattel Aquarius","Mattel Intellivision","NEC PC Engine","NEC PC Engine-CD","NEC PC-FX","NEC TurboGrafx-16","NEC SuperGrafx","NEC TurboGrafx-CD","Nintendo 64","Nintendo Arcade Systems","Nintendo DS","Nintendo Entertainment System","Nintendo Famicom","Nintendo Famicom Disk System","Nintendo Game Boy","Nintendo Game Boy Color","Nintendo Game Boy Japan","Nintendo Game Boy Advance","Nintendo Super Game Boy","Nintendo Pokemon Mini","Nintendo Virtual Boy","Nintendo Super Famicom","Nintendo Super Famicom Satellaview","Panasonic 3DO","Elektronska Industrija Pecom 64","Philips CD-i","Philips Videopac","RCA Studio II","Sega 32X","Sega SC-3000","Sega SG-1000","Sega CD","Sega Game Gear","Sega Genesis","Sega Master System","Sega Mega Drive","Sega Pico","Sega Saturn","Sega Saturn Japan","Sega VMU","Sega ST-V","Sharp X1","Sinclair ZX Spectrum","Sony PlayStation","Sony PocketStation","Sony PSP","Sord M5","SNK Neo Geo","SNK Neo Geo MVS","SNK Neo Geo AES","SNK Neo Geo Pocket","SNK Neo Geo CD","SNK Neo Geo Pocket Color","Spectravideo","Super Nintendo Entertainment System","Tandy TRS-80 Color Computer","Texas Instruments TI 99-4A","Thomson MO5","Thomson TO7","Tiki-100","Tomy Tutor","VTech CreatiVision","Watara Supervision"
					;----------------------------------------------------------------------------
					; 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\cores folder. The module will find and load the default core unless you choose a custom one 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
					;
					; 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.
					;
					; MESS:
					; MESS BIOS roms should be placed in the system\mess folder
					;
					; System Specific Notes:
					; Microsoft MSX/MSX2: Launch an MSX game and in the core options, set the console to be an MSX2 and it will play both just fine.
					; 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.
					; MAME: Turn off the nag screen by running a game, then press F1 and go to core options and switch off the nag screen there.
					;----------------------------------------------------------------------------
					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("Acorn BBC Micro","LibRetro_BBCB","AAE","LibRetro_AAE","Amstrad CPC","LibRetro_CPC","Amstrad GX4000","LibRetro_GX4K","APF Imagination Machine","LibRetro_APF","Apple IIGS","LibRetro_AIIGS"
									,"Atari 2600","LibRetro_2600","Atari 5200","LibRetro_5200","Atari 7800","LibRetro_7800","Atari Jaguar","LibRetro_JAG","Atari Lynx","LibRetro_LYNX","Atari ST","LibRetro_ST","Atari XEGS","LibRetro_XEGS"
									,"Bally Astrocade","LibRetro_BAST","Bandai Gundam RX-78","LibRetro_BGRX","Bandai Super Vision 8000","LibRetro_SV8K","Bandai Wonderswan","LibRetro_WSAN","Bandai Wonderswan Color","LibRetro_WSANC"
									,"Canon X07","LibRetro_CX07","Casio PV-1000","LibRetro_CAS1K","Casio PV-2000","LibRetro_CAS2K","Coleco ADAM","LibRetro_ADAM","ColecoVision","LibRetro_COLEC","Commodore Amiga","LibRetro_PUAE"
									,"Commodore Max Machine","LibRetro_CMAX","Creatronic Mega Duck","LibRetro_DUCK","Dragon 64","LibRetro_DRAG64","Elektronika BK","LibRetro_EBK","Emerson Arcadia 2001","LibRetro_A2001"
									,"Entex Adventure Vision","LibRetro_AVISION","Epoch Game Pocket Computer","LibRetro_GPCKET","Epoch Super Cassette Vision","LibRetro_SCV","Exidy Sorcerer","LibRetro_SORCR"
									,"Fairchild Channel F","LibRetro_CHANF","Final Burn Alpha","LibRetro_FBA","Funtech Super Acan","LibRetro_SACAN","GamePark 32","LibRetro_GP32","GCE Vectrex","LibRetro_VECTX"
									,"Hartung Game Master","LibRetro_GMASTR","JungleTac Sport Vii","LibRddetro_SPORTV","MAME","LibRetro_MAME","Magnavox Odyssey 2","LibRetro_ODYS2","Mattel Aquarius","LibRetro_AQUA"
									,"Mattel Intellivision","LibRetro_INTV","MGT Sam Coupe","LibRetro_SAMCP","Microsoft MS-DOS","LibRetro_MSDOS","Microsoft MSX","LibRetro_MSX","Microsoft MSX2","LibRetro_MSX2"
									,"Microsoft Windows 3.x","LibRetro_WIN3X","Matra & Hachette Alice","LibRetro_ALICE","NEC PC Engine","LibRetro_PCE","NEC PC Engine-CD","LibRetro_PCECD","NEC PC-FX","LibRetro_PCFX"
									,"NEC SuperGrafx","LibRetro_SGFX","NEC TurboGrafx-16","LibRetro_TG16","NEC TurboGrafx-CD","LibRetro_TGCD","Nintendo 64","LibRetro_N64","Nintendo Arcade Systems","LibRetro_NINARC"
									,"Nintendo DS","LibRetro_DS","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 Japan","LibRetro_GBJ","Nintendo Game Boy Advance","LibRetro_GBA","Nintendo Pokemon Mini","LibRetro_POKE"
									,"Nintendo Super Famicom","LibRetro_NSF","Nintendo Super Famicom Satellaview","LibRetro_NSFS","Nintendo Super Game Boy","LibRetro_SGB","Nintendo Virtual Boy","LibRetro_NVB"
									,"Panasonic 3DO","LibRetro_3DO","Elektronska Industrija Pecom 64","LibRetro_P64","Philips CD-i","LibRetro_CDI","Philips Videopac","LibRetro_PVID","RCA Studio II","LibRetro_STUD2"
									,"SCUMMVM","LibRetro_SCUMM","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 VMU","LibRetro_SVMU","Sony PlayStation","LibRetro_PSX","Sony PocketStation","LibRetro_POCKS","Sony PSP","LibRetro_PSP"
									,"Sega Saturn","LibRetro_SAT","Sega Saturn Japan","LibRetro_SAT","Sega SG-1000","LibRetro_SG1K","Sega SC-3000","LibRetro_SC3K","Sega ST-V","LibRetro_STV","Sharp X1","LibRetro_SX1"
									,"SNK Neo Geo","LibRetro_NEO","SNK Neo Geo AES","LibRetro_NEOAES","SNK Neo Geo MVS","LibRetro_NEOMVS","SNK Neo Geo Pocket","LibRetro_NGP","SNK Neo Geo Pocket Color","LibRetro_NGPC"
									,"SNK Neo Geo CD","LibRetro_NEOCD","Sord M5","LibRetro_SORD","Spectravideo","LibRetro_SV328","Super Nintendo Entertainment System","LibRetro_SNES","Sinclair ZX Spectrum","LibRetro_SPECZX"
									,"Tandy TRS-80 Color Computer","LibRetro_TRS80","Texas Instruments TI 99-4A","LibRetro_TI99","Thomson MO5","LibRetro_MO5","Thomson TO7","LibRetro_TO7","Tiki-100","LibRetro_TIKI"
									,"Tomy Tutor","LibRetro_TOMY","VTech CreatiVision","LibRetro_VTECH","Watara Supervision","LibRetro_SUPRV")
					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)
					coreTypes := Object("LibRetro_2600","stella_libretro","LibRetro_5200","mess_libretro","LibRetro_7800","prosystem_libretro","LibRetro_32X","picodrive_libretro","LibRetro_3DO","4do_libretro"
										,"LibRetro_A2001","mess_libretro","LibRetro_AAE","mame_libretro","LibRetro_ADAM","mess_libretro","LibRetro_AIIGS","mess_libretro","LibRetro_ALICE","mess_libretro","LibRetro_APF","mess_libretro"
										,"LibRetro_AQUA","mess_libretro","LibRetro_AVISION","mess_libretro","LibRetro_BAST","mess_libretro","LibRetro_BBCB","mess_libretro","LibRetro_BGRX","mess_libretro","LibRetro_CX07","mess_libretro"
										,"LibRetro_CAS1K","mess_libretro","LibRetro_CAS2K","mess_libretro","LibRetro_CDI","mess_libretro","LibRetro_CHANF","mess_libretro","LibRetro_CMAX","mess_libretro","LibRetro_COLEC","mess_libretro"
										,"LibRetro_CPC","mess_libretro","LibRetro_DRAG64","mess_libretro","LibRetro_DS","desmume_libretro","LibRetro_DUCK","LibRetro_EBK","mess_libretro","mess_libretro","LibRetro_FBA","fb_alpha_libretro"
										,"LibRetro_GB","gambatte_libretro","LibRetro_GBC","gambatte_libretro","LibRetro_GBA","vba_next_libretro","LibRetro_GBJ","gambatte_libretro","LibRetro_GEN","genesis_plus_gx_libretro"
										,"LibRetro_GG","genesis_plus_gx_libretro","LibRetro_GMASTR","mess_libretro","LibRetro_GP32","mess_libretro","LibRetro_GPCKET","mess_libretro","LibRetro_GX4K","mess_libretro"
										,"LibRetro_INTV","mess_libretro","LibRetro_JAG","virtualjaguar_libretro","LibRetro_LYNX","handy_libretro","LibRetro_MAME","mame_libretro","LibRetro_MO5","mess_libretro"
										,"LibRetro_MSDOS","dosbox_libretro","LibRetro_MSX","bluemsx_libretro","LibRetro_MSX2","bluemsx_libretro","LibRetro_N64","mupen64plus_libretro","LibRetro_NEO","fb_alpha_libretro"
										,"LibRetro_NEOCD","mess_libretro","LibRetro_NEOAES","mess_libretro","LibRetro_NEOMVS","mame_libretro","LibRetro_NES","nestopia_libretro","LibRetro_NFAM","nestopia_libretro"
										,"LibRetro_NFDS","nestopia_libretro","LibRetro_NSF","bsnes_balanced_libretro","LibRetro_NSFS","snes9x_libretro","LibRetro_NVB","mednafen_vb_libretro","LibRetro_NGP","mednafen_ngp_libretro"
										,"LibRetro_NGPC","mednafen_ngp_libretro","LibRetro_NINARC","mame_libretro","LibRetro_ODYS2","mess_libretro","LibRetro_P64","mess_libretro","LibRetro_PCE","mednafen_pce_fast_libretro"
										,"LibRetro_PCECD","mednafen_pce_fast_libretro","LibRetro_PCFX","mednafen_pcfx_libretro","LibRetro_PICO","picodrive_libretro","LibRetro_POCKS","mess_libretro","LibRetro_POKE","mess_libretro"
										,"LibRetro_PSP","ppsspp_libretro","LibRetro_PSX","mednafen_psx_libretro","LibRetro_PUAE","puae_libretro","LibRetro_PVID","mess_libretro","LibRetro_SACAN","mess_libretro"
										,"LibRetro_SAMCP","mess_libretro","LibRetro_SAT","yabause_libretro","LibRetro_SC3K","mess_libretro","LibRetro_SCD","genesis_plus_gx_libretro","LibRetro_SCV","mess_libretro"
										,"LibRetro_SCUMM","scummvm_libretro","LibRetro_SG1K","genesis_plus_gx_libretro","LibRetro_SGB","bsnes_balanced_libretro","LibRetro_SGFX","mednafen_supergrafx_libretro"
										,"LibRetro_SMS","genesis_plus_gx_libretro","LibRetro_SNES","bsnes_balanced_libretro","LibRetro_SORCR","mess_libretro","LibRetro_SORD","mess_libretro","LibRetro_SPECZX","mess_libretro"
										,"LibRetro_SPORTV","mess_libretro","LibRetro_ST","hatari_libretro","LibRetro_STUD2","mess_libretro","LibRetro_STV","mame_libretro","LibRetro_SV328","mess_libretro","LibRetro_SV8K","mess_libretro"
										,"LibRetro_SVMU","mess_libretro","LibRetro_SUPRV","mess_libretro","LibRetro_TG16","mednafen_pce_fast_libretro","LibRetro_SX1","mess_libretro","LibRetro_TGCD","mednafen_pce_fast_libretro"
										,"LibRetro_TI99","mess_libretro","LibRetro_TIKI","mess_libretro","LibRetro_TO7","mess_libretro","LibRetro_TOMY","mess_libretro","LibRetro_TRS80","mess_libretro","LibRetro_VECTX","mess_libretro"
										,"LibRetro_VTECH","mess_libretro","LibRetro_WIN3X","dosbox_libretro","LibRetro_WSAN","mednafen_wswan_libretro","LibRetro_WSANC","mednafen_wswan_libretro","LibRetro_XEGS","mess_libretro")
					libRetroCore := coreTypes[ident]	; search object for the default core for this ident
					If !libRetroCore
						ScriptError("Your Core ID is: " . ident . "`nCould not find a default core to use. Please update the module with a default core.")

					settingsFile := modulePath . "\" . moduleName . ".ini"
					core := IniReadCheck(settingsFile, systemName, "LibRetro_Core",libRetroCore,,1)
					Fullscreen := IniReadCheck(settingsFile, "Settings", "Fullscreen","true",,1)
					configFolder := IniReadCheck(settingsFile, "Settings", "ConfigFolder",emuPath . "\config",,1)
					messRomPath := IniReadCheck(settingsFile, "Settings", "MESS_BIOS_Roms_Folder",,,1)
					hideConsole := IniReadCheck(settingsFile, "Settings", "HideConsole","true",,1)
					superGB := IniReadCheck(settingsFile, systemName . "|" . romName, "SuperGameBoy","false",,1)
					enableNetworkPlay := IniReadCheck(settingsFile, "Network|" . romName, "Enable_Network_Play","false",,1)
					overlay := IniReadCheck(settingsFile, systemName . "|" . romName, "Overlay",,,1)
					videoShader := IniReadCheck(settingsFile, systemName . "|" . romName, "VideoShader",,,1)
					aspectRatioIndex := IniReadCheck(settingsFile, systemName . "|" . romName, "AspectRatioIndex",,,1)
					customViewportWidth := IniReadCheck(settingsFile, systemName . "|" . romName, "CustomViewportWidth",,,1)
					customViewportHeight := IniReadCheck(settingsFile, systemName . "|" . romName, "CustomViewportHeight",,,1)
					customViewportX := IniReadCheck(settingsFile, systemName . "|" . romName, "CustomViewportX",,,1)
					customViewportY := IniReadCheck(settingsFile, systemName . "|" . romName, "CustomViewportY",,,1)
					rotateScreen := IniReadCheck(settingsFile, systemName . "|" . romName, "Rotation",0,,1)
					cropOverscan := IniReadCheck(settingsFile, systemName . "|" . romName, "CropOverscan",,,1)
					threadedVideo := IniReadCheck(settingsFile, systemName . "|" . romName, "ThreadedVideo",,,1)
					vSync := IniReadCheck(settingsFile, systemName . "|" . romName, "VSync",,,1)
					integerScale := IniReadCheck(settingsFile, systemName . "|" . romName, "IntegerScale",,,1)
					configFolder := GetFullName(configFolder)
					messRomPath := GetFullName(messRomPath)
					overlay := GetFullName(overlay)
					videoShader := GetFullName(videoShader)

					retroArchSystem := systemName

					If (ident = "LibRetro_SGB" || 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 dll for this system
					libDll := CheckFile(emuPath . "\cores\" . core . ".dll", "Your " . ident . " dll is set to " . core . " but could not locate this file:`n" . emuPath . "\cores\" . core . ".dll")

					; Find the cfg file to use
					If !FileExist(configFolder)
						ScriptError("You need to make sure ""ConfigFolder"" is pointing to your RetroArch config folder. By default it is looking here: """ . configFolder . """")
					globalRetroCfg := emuPath . "\retroarch.cfg"
					systemRetroCfg := configFolder . "\" . retroArchSystem . ".cfg"
					coreRetroCfg := configFolder . "\" . core . ".dll.cfg"
					Log("Module - Global cfg should be: " . globalRetroCfg,4)
					Log("Module - System cfg should be: " . systemRetroCfg,4)
					Log("Module - Core cfg should be: " . coreRetroCfg,4)
					foundCfg :=
					If FileExist(systemRetroCfg) {	; check for system cfg first
						retroCFGFile := systemRetroCfg
						foundCfg := 1
						Log("Module - Found a System cfg!",4)
					} Else If FileExist(coreRetroCfg) {	; 2nd option is a core config
						retroCFGFile := coreRetroCfg
						foundCfg := 1
						Log("Module - Found a Core cfg!",4)
					} Else If FileExist(globalRetroCfg) {	; 3rd is global cfg
						retroCFGFile := globalRetroCfg
						foundCfg := 1
						Log("Module - Found a Global cfg!",4)
					}
					If !foundCfg
						Log("Module - Could not find a cfg file to update settings. RetroArch will make one for you.",2)
					Else
						Log("Module - " . MEmu . " is using " . retroCFGFile . " as its config file.")

					If foundCfg {
						retroCFG := LoadProperties(retroCFGFile)	; load the config into memory
						raCfgHasChanges :=
						WriteRetroProperty("input_overlay", overlay)
						WriteRetroProperty("video_shader", videoShader)
						WriteRetroProperty("aspect_ratio_index", aspectRatioIndex)
						WriteRetroProperty("custom_viewport_width", customViewportWidth)
						WriteRetroProperty("custom_viewport_height", customViewportHeight)
						WriteRetroProperty("custom_viewport_x", customViewportX)
						WriteRetroProperty("custom_viewport_y", customViewportY)
						WriteRetroProperty("video_rotation", rotateScreen)
						WriteRetroProperty("video_crop_overscan", cropOverscan)
						WriteRetroProperty("video_threaded", threadedVideo)
						WriteRetroProperty("video_vsync", vSync)
						WriteRetroProperty("video_scale_integer", integerScale)

						If InStr(ident, "LibRetro_PSX") {
							Loop, 8	; loop 8 times for 8 controllers
							{	p%A_Index%ControllerType := IniReadCheck(sysSettingsFile, systemName . "|" . romName, "P" . A_Index . "_Controller_Type", 517,,1)
								WriteRetroProperty("input_libretro_device_p" . A_Index, p%A_Index%ControllerType)
							}
						}

						If raCfgHasChanges {
							Log("Module - Saving changed settings to: """ . retroCFGFile . """")
							SaveProperties(retroCFGFile, retroCFG)
						}
					}

					If RegExMatch(ident, "LibRetro_NFDS|LibRetro_SCD|LibRetro_TGCD|LibRetro_PCECD|LibRetro_PCFX") {		; these systems require the retroarch settings to be read
						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.")
						StringRight, checkForSlash, retroSysDir, 1
						If (checkForSlash = "\")	; check if a backslash is the last character. If it is, remove it, as this is non-standard method to define folders
							StringTrimRight, retroSysDir, retroSysDir, 1
					}

					If (RegExMatch(ident, "LibRetro_N64|LibRetro_NES|LibRetro_LYNX|LibRetro_PSX") || RegExMatch(ident, "LibRetro_NES") && (InStr(core, "nestopia_libretro"))) {	; these systems will use an ini to store game specific settings
						sysSettingsFile := CheckSysFile(modulePath . "\" . systemName . ".ini")	; create the ini if it does not exist
						coreOptionsCFGFile := CheckFile(emuPath . "\retroarch-core-options.cfg", "Could not find retroarch-core-options.cfg in retroarch directory: """ . emuPath . """")
						coreOptionsCFG := LoadProperties(coreOptionsCFGFile)
						If InStr(ident, "LibRetro_N64") {	; Nintendo 64
							mupenGfx := IniReadCheck(sysSettingsFile, systemName . "|" . romName, "Mupen_Gfx_Plugin", "auto",,1)
							mupenRsp := IniReadCheck(sysSettingsFile, systemName . "|" . romName, "Mupen_RSP_Plugin", "auto",,1)
							mupenCpu := IniReadCheck(sysSettingsFile, systemName . "|" . romName, "Mupen_CPU_Core", "dynamic_recompiler",,1)
							mupenPak1 := IniReadCheck(sysSettingsFile, systemName . "|" . romName, "Mupen_Pak_1", "memory",,1)
							mupenPak2 := IniReadCheck(sysSettingsFile, systemName . "|" . romName, "Mupen_Pak_2", "memory",,1)
							mupenPak3 := IniReadCheck(sysSettingsFile, systemName . "|" . romName, "Mupen_Pak_3", "memory",,1)
							mupenPak4 := IniReadCheck(sysSettingsFile, systemName . "|" . romName, "Mupen_Pak_4", "memory",,1)
							mupenGfxAccur := IniReadCheck(sysSettingsFile, systemName . "|" . romName, "Mupen_Gfx_Accuracy", "high",,1)
							mupenExpMem := IniReadCheck(sysSettingsFile, systemName . "|" . romName, "Mupen_Disable_Exp_Memory", "no",,1)
							mupenTexturFilt := IniReadCheck(sysSettingsFile, systemName . "|" . romName, "Mupen_Texture_Filtering", "nearest",,1)
							mupenViRefresh := IniReadCheck(sysSettingsFile, systemName . "|" . romName, "Mupen_VI_Refresh", "2200",,1)
							mupenFramerate := IniReadCheck(sysSettingsFile, systemName . "|" . romName, "Mupen_Framerate", "fullspeed",,1)
							mupenResolution := IniReadCheck(sysSettingsFile, systemName . "|" . romName, "Mupen_Resolution", "640x480",,1)
							mupenPolyOffstFctr := IniReadCheck(sysSettingsFile, systemName . "|" . romName, "Mupen_Polygon_Offset_Factor", "-3.0",,1)
							mupenPolyOffstUnts := IniReadCheck(sysSettingsFile, systemName . "|" . romName, "Mupen_Polygon_Offset_Units", "-3.0",,1)
							mupenViOverlay := IniReadCheck(sysSettingsFile, systemName . "|" . romName, "Mupen_VI_Overlay", "disabled",,1)
							mupenAnalogDzone := IniReadCheck(sysSettingsFile, systemName . "|" . romName, "Mupen_Analog_Deadzone", "15",,1)

							WriteProperty(coreOptionsCFG, "mupen64-gfxplugin", mupenGfx, 1)
							WriteProperty(coreOptionsCFG, "mupen64-rspplugin", mupenRsp, 1)
							WriteProperty(coreOptionsCFG, "mupen64-cpucore", mupenCpu, 1)
							WriteProperty(coreOptionsCFG, "mupen64-pak1", mupenPak1, 1)
							WriteProperty(coreOptionsCFG, "mupen64-pak2", mupenPak2, 1)
							WriteProperty(coreOptionsCFG, "mupen64-pak3", mupenPak3, 1)
							WriteProperty(coreOptionsCFG, "mupen64-pak4", mupenPak4, 1)
							WriteProperty(coreOptionsCFG, "mupen64-gfxplugin-accuracy", mupenGfxAccur, 1)
							WriteProperty(coreOptionsCFG, "mupen64-disableexpmem", mupenExpMem, 1)
							WriteProperty(coreOptionsCFG, "mupen64-filtering", mupenTexturFilt, 1)
							WriteProperty(coreOptionsCFG, "mupen64-virefresh", mupenViRefresh, 1)
							WriteProperty(coreOptionsCFG, "mupen64-framerate", mupenFramerate, 1)
							WriteProperty(coreOptionsCFG, "mupen64-screensize", mupenResolution, 1)
							WriteProperty(coreOptionsCFG, "mupen64-polyoffset-factor", mupenPolyOffstFctr, 1)
							WriteProperty(coreOptionsCFG, "mupen64-polyoffset-units", mupenPolyOffstUnts, 1)
							WriteProperty(coreOptionsCFG, "mupen64-angrylion-vioverlay", mupenViOverlay, 1)
							WriteProperty(coreOptionsCFG, "mupen64-astick-deadzone", mupenAnalogDzone, 1)
						} Else If InStr(ident, "LibRetro_NES") {		; these systems will use an ini to store game specific settings
							If InStr(core, "nestopia_libretro") {	; Nestopia
								nestopiaBlargg := IniReadCheck(sysSettingsFile, "Nestopia" . "|" . romName, "Nestopia_Blargg_NTSC_Filter", "disabled",,1)
								nestopiaPalette := IniReadCheck(sysSettingsFile, "Nestopia" . "|" . romName, "Nestopia_Palette", "canonical",,1)
								nestopiaNoSprteLimit := IniReadCheck(sysSettingsFile, "Nestopia" . "|" . romName, "Nestopia_Remove_Sprites_Limit", "disabled",,1)

								WriteProperty(coreOptionsCFG, "nestopia_blargg_ntsc_filter", nestopiaBlargg, 1)
								WriteProperty(coreOptionsCFG, "nestopia_palette", nestopiaPalette, 1)
								WriteProperty(coreOptionsCFG, "nestopia_nospritelimit", nestopiaNoSprteLimit, 1)
							}
						} Else If InStr(ident, "LibRetro_LYNX") {	; Atari Lynx
							If InStr(core, "handy_libretro") {   ; Handy
								handyRotate := IniReadCheck(sysSettingsFile, systemName . "|" . romName, "Handy_Rotation", "None",,1)
								WriteProperty(coreOptionsCFG, "handy_rot", handyRotate, 1)
							}
						} Else If InStr(ident, "LibRetro_PSX") {	; Sony PlayStation
							psxCdImageCache := IniReadCheck(sysSettingsFile, systemName . "|" . romName, "PSX_CD_Image_Cache", """enabled""",,1)
							psxMemcardHandling := IniReadCheck(sysSettingsFile, systemName . "|" . romName, "PSX_Memcard_Handling", """libretro""",,1)
							psxDualshockAnalogToggle := IniReadCheck(sysSettingsFile, systemName . "|" . romName, "PSX_Dualshock_Analog_Toggle", """enabled""",,1)

							WriteProperty(coreOptionsCFG, "beetle_psx_cdimagecache", psxCdImageCache, 1)
							WriteProperty(coreOptionsCFG, "beetle_psx_use_mednafen_memcard0_method", psxMemcardHandling, 1)
							WriteProperty(coreOptionsCFG, "beetle_psx_analog_toggle", psxDualshockAnalogToggle, 1)
						}
						SaveProperties(coreOptionsCFGFile, coreOptionsCFG)
					}

					hideEmuObj := Object("ahk_class ConsoleWindowClass",0,"RetroArch ahk_class RetroArch",1)	; Hide_Emu will hide these windows. 0 = will never unhide, 1 = will unhide later
					7z(romPath, romName, romExtension, 7zExtractPath)

					; MESS core options
					messIdent :=
					messParam1 :=
					messParam2 :=
					messParam3 :=
					If InStr(core, "mess") {	; if a mess core is used
						Log("Module - Retroarch MESS mode enabled")
						; the messType object links the system name to the name mess recognizes
						messType := Object("Acorn BBC Micro", "bbcb","Amstrad CPC","cpc464","Amstrad GX4000","gx4000","APF Imagination Machine","apfimag","Apple IIGS","apple2gs","Atari 8-bit","a800","Atari 2600","a2600","Atari 5200","a5200"
											,"Atari 7800","a7800","Atari Jaguar","jaguar","Atari Lynx","lynx","Atari XEGS","xegs","Bally Astrocade","astrocde","Bandai Gundam RX-78","rx78","Bandai Super Vision 8000","sv8000"
											,"Bandai WonderSwan","wswan","Bandai WonderSwan Color","wscolor","Canon X07","x07","Casio PV-1000","pv1000","Casio PV-2000","pv2000","Coleco ADAM","adam","ColecoVision"
											,"coleco","Commodore Max Machine","vic10","Creatronic Mega Duck","megaduck","Dragon 64","dragon64","Elektronika BK","bk0010","Emerson Arcadia 2001","arcadia","Entex Adventure Vision","advision"
											,"Epoch Game Pocket Computer","gamepock","Epoch Super Cassette Vision","scv","Exidy Sorcerer","sorcerer","Fairchild Channel F","channelf"
											,"Funtech Super Acan","supracan","GCE Vectrex","vectrex","Hartung Game Master","gmaster","GamePark 32","gp32","Interton VC 4000","vc4000"
											,"JungleTac Sport Vii","vii","Magnavox Odyssey 2","odyssey2","Matra & Hachette Alice","alice32","Mattel Aquarius","aquarius","Mattel Intellivision"
											,"intv","NEC PC Engine","pce","NEC PC Engine-CD","pce","NEC SuperGrafx","sgx","NEC TurboGrafx-16","tg16","NEC TurboGrafx-CD","tg16","Nintendo 64"
											,"n64","Nintendo Entertainment System","nes","Nintendo Famicom Disk System","famicom","Nintendo Game Boy","gameboy","Nintendo Game Boy Advance","gba"
											,"Nintendo Game Boy Color","gbcolor","Nintendo Game Boy Japan","gameboy","Nintendo Pokemon Mini","pokemini","Nintendo Virtual Boy","vboy"
											,"Elektronska Industrija Pecom 64","pecom64","Philips CD-i","cdimono1","Philips Videopac","videopac","RCA Studio II","studio2","Sega 32X","32x"
											,"Sega SC-3000","sc3000","Sega CD","segacd","Sega Game Gear","gamegear","Sega Genesis","genesis","Sega Master System","sms","Sega Mega Drive"
											,"megadriv","Sega VMU","svmu","Sharp X1","x1","Sinclair ZX Spectrum","spectrum","SNK Neo Geo AES","aes","SNK Neo Geo CD","neocdz","SNK Neo Geo Pocket","ngp"
											,"SNK Neo Geo Pocket Color","ngpc","Sony PlayStation","psx","Sony PocketStation","pockstat","Sord M5","m5","Spectravideo","svi328n"
											,"Super Nintendo Entertainment System","snes","Tandy TRS-80 Color Computer","coco3","Texas Instruments TI 99-4A","ti99_4a","Tiger Game.com","gamecom"
											,"Thomson MO5","mo5","Thomson TO7","to7","Tiki-100","kontiki","Tomy Tutor","tutor","VTech CreatiVision","crvision","Watara Supervision","svision")
						messIdent := messType[systemName]	; search object for the systemName identifier Retroarch uses for its cores
						If !messIdent
							ScriptError("Your systemName is: " . systemName . "`nIt is not one of the known supported systems for the MESS LibRetro core")
						Else
							Log("Module - MESS mode using a known ident: " . messIdent)

						If !messRomPath
							ScriptError("Please set the RetroArch module setting ""MESS_BIOS_Roms_Folder"" to the folder that contains your MESS BIOS roms to use MESS with RetroArch.")

						messParam1 :=
						messParam2 := " -rompath \" . """" . messRomPath . "\" . """"

						; Build a key/value object containing the different messParam3 choices
						messP3 := Object("alice32","cass1","gp32","memc","cpc464","cass","spectrum","cass","dragon64","cass","cdimono1","cdrom","neocd","cdrom","neocdz","cdrom","svi328n","cass","pecom64","cass","svmu","quik")
						messParam3 := messP3[messIdent]	; search object for the messIdent pair
						messParam3 := " -" . (If messParam3 ? messParam3 : "cart") . " \" . """" . romPath . "\" . romName . romExtension . "\" . """"

						fullRomPath := messParam1 . messParam2 . messParam3
					} Else If (superGB = "true") {
						Log("Module - Retroarch Super Game Boy mode enabled")
						fullRomPath := " """ . sgbRomPath . """ --subsystem sgb """ . romPath . "\" . romName . romExtension . """"
					} Else {
						Log("Module - Retroarch standard mode enabled")
						fullRomPath := " """ . romPath . "\" . romName . romExtension . """"
					}

					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 .ccd,.cue
							ScriptError("RetroArch only supports " . retroArchSystem . " games in ccd or 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 . """")
					} Else If ident = LibRetro_PCFX
					{	If romExtension Not In .ccd,.cue
							ScriptError("RetroArch only supports " . retroArchSystem . " games in ccd or cue format. It does not support:`n" . romExtension)
						IfNotExist, %retroSysDir%\pcfxbios.bin
							ScriptError("RetroArch requires ""pcfxbios.bin"" for " . retroArchSystem . " but could not find it in your system_directory: """ . retroSysDir . """")
					}


					networkSession :=
					If (enableNetworkPlay = "true") {
						Log("Module - Network Multi-Player is an available option for " . dbName,4)

						netplayNickname := IniReadCheck(settingsFile, "Network", "NetPlay_Nickname","Player",,1)
						getWANIP := IniReadCheck(settingsFile, "Network", "Get_WAN_IP","false",,1)

						If (getWANIP = "true")
							myPublicIP := GetPublicIP()

						Log("Module - CAREFUL WHEN POSTING THIS LOG PUBLICLY AS IT CONTAINS YOUR IP ON THE NEXT LINE",2)
						defaultServerIP := IniReadCheck(settingsFile, "Network", "Default_Server_IP", myPublicIP,,1)
						defaultServerPort := IniReadCheck(settingsFile, "Network", "Default_Server_Port",,,1)
						lastIP := IniReadCheck(settingsFile, "Network", "Last_IP", defaultServerIP,,1)	; does not need to be on the ISD
						lastPort := IniReadCheck(settingsFile, "Network", "Last_Port", defaultServerPort,,1)	; does not need to be on the ISD

						mpMenuStatus := MultiPlayerMenu(lastIP,lastPort,networkType,,0)
						If (mpMenuStatus = -1) {	; if user exited menu early
							Log("Module - Cancelled MultiPlayer Menu. Exiting module.",2)
							ExitModule()
						}
						If networkSession {
							Log("Module - Using a Network for " . dbName,4)
							IniWrite, %networkPort%, %settingsFile%, Network, Last_Port
							; msgbox lastIP: %lastIP%`nlastPort: %lastPort%`nnetworkIP: %networkIP%`nnetworkPort: %networkPort%
							If (networkType = "client") {
								IniWrite, %networkIP%, %settingsFile%, Network, Last_IP	; Save last used IP and Port for quicker launching next time
								netCommand := " -C " . networkIP . " --port " . networkPort . " --nick """ . netplayNickname . """"	; -C = connect as client
							} Else {	; server
								netCommand := " -H --port " . networkPort . " --nick """ . netplayNickname . """"	; -H = host as server
							}
							Log("Module - CAREFUL WHEN POSTING THIS LOG PUBLICLY AS IT CONTAINS YOUR IP ON THE NEXT LINE",2)
							Log("Module - Starting a network session using the IP """ . networkIP . """ and PORT """ . networkPort . """",4)
						} Else
							Log("Module - User chose Single Player mode for this session",4)
					}

					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
					retroCFGFile := If foundCfg ? " -c """ . retroCFGFile . """" : ""

					IfNotExist, %srmPath%
						FileCreateDir, %srmPath% ; creating srm dir if it doesn't exist
					IfNotExist, %saveStatePath%
						FileCreateDir, %saveStatePath% ; creating save dir if it doesn't exist

					HideEmuStart()	; This fully ensures windows are completely hidden even faster than winwait

					If InStr(core, "mess") {	; if a mess core is used
						Run(executable . " """ . (messIdent ? messIdent : "") . fullRomPath . """ " . fullscreen . retroCFGFile . " -L """ . libDll . """ -s """ . srmPath . "\" . romName . ".srm"" -S """ . saveStatePath . "\" . romName . ".state""" . netCommand, emuPath, "Hide")
					} Else If (ident = "LibRetro_SGB" || If superGB = "true") { ; For some reason, the order of our command line matters in this particular case.
						Run(executable . " " . fullscreen . retroCFGFile . " -L """ . libDll . """ -s """ . srmPath . "\" . romName . ".srm"" -S """ . saveStatePath . "\" . romName . ".state""" . fullRomPath . netCommand, emuPath, "Hide")
					} Else {
						Run(executable . " " . fullRomPath . fullscreen . retroCFGFile . " -L """ . libDll . """ -s """ . srmPath . "\" . romName . ".srm"" -S """ . saveStatePath . "\" . romName . ".state""" . netCommand, emuPath, "Hide")
					}

					mpMenuStatus :=
					If networkSession {
						canceledServerWait := false
						multiplayerMenuExit := false
						SetTimer, NetworkConnectedCheck, 500

						If (networkType = "server") {
							Log("Module - Waiting for a client to connect to your server")
							mpMenuStatus := MultiPlayerMenu(,,,,,,,,"You are the server. Please wait for your client to connect.")
						} Else {	; client
							Log("Module - Trying to contact the server to establish a connection.")
							mpMenuStatus := MultiPlayerMenu(,,,,,,,,"Attempting to connect to the server...")
						}

						If (mpMenuStatus = -1) {	; if user exited menu early before a client connected
							Log("Module - Cancelled waiting for the " . If (networkType = "server") ? "client to connect" : "server to respond" . ". Exiting module.",2)
							If Process("Exist", executable)
								Process("Close", executable)	; must close process as the exe is waiting for a client to connect and no window was drawn yet
							ExitModule()
						} Else {	; blank response from MultiPlayerMenu, exited properly
							Log("Module - " . If (networkType = "server") ? "Client has connected" : "Connected to the server")
							WinWait("RetroArch ahk_class RetroArch")
							WinWaitActive("RetroArch ahk_class RetroArch")
						}
						SetTimer, NetworkConnectedCheck, Off
					} Else {	; single player
						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()
					HideEmuEnd()
					FadeInExit()
					Process("WaitClose", executable)
					7zCleanUp()
					BezelExit()
					FadeOutExit()
					ExitModule()


					; Writes new properties into the retroCFG if defined by user
					WriteRetroProperty(key,value="") {
						If (value != "") {
							Global retroCFG,raCfgHasChanges
							WriteProperty(retroCFG, key, value,1,1)
							raCfgHasChanges := 1
						}
					}

					; Used to convert between RetroArch keys and usable data
					ConvertRetroCFGKey(txt,direction="read"){
						Global emuPath
						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,":") {	; if the path contains a ":" then it is a relative path
								Log("ConvertRetroCFGKey - " . newtxt . " is a relative path",4)
								StringTrimLeft,newtxt,newtxt,1	; removes the : from the left of the txt
								newtxt := AbsoluteFromRelative(emuPath, "." . newtxt)	; convert relative to absolute
							}
							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
					}

					; This will simply create a new blank ini if one does not exist
					CheckSysFile(file){
						IfNotExist, %file%
							FileAppend,, %file%
						Return file
					}

					NetworkConnectedCheck:
						If clientConnected
							multiplayerMenuExit := true
						Else If WinExist("RetroArch ahk_class RetroArch") {
							Log("Module - RetroArch session started, closing the MultiPlayer menu",4)
							multiplayerMenuExit := true
						}
					Return

					CloseProcess:
						FadeOutStart()
						WinClose("RetroArch ahk_class RetroArch")
					Return

22:43:03:283 | HL |     INFO  | +16    | BuildScript - Loaded Multi-Player scripts
22:43:03:283 | HL |     INFO  | +0     | BuildScript - Loaded Statistics.ahk script
22:43:03:283 | HL |     INFO  | +0     | BuildScript - Loaded User Functions.ahk script
22:43:03:283 | HL |     INFO  | +0     | BuildScript - Finished injecting functions into module
22:43:03:283 | HL |     INFO  | +0     | Main - Module is built
22:43:03:283 | HL |     INFO  | +0     | CheckFile - Checking if C:\Hyperspin\AutoHotkey.dll exists
22:43:03:283 | HL |     INFO  | +0     | Main - Hiding taskbar
22:43:03:517 | HL |     INFO  | +234   | Main - Hiding desktop
22:43:03:517 | HL |     INFO  | +0     | Main - Running module
22:43:03:642 | MD |     INFO  | +N/A   | Module initialized
22:43:03:642 | MD |     INFO  | +0     | CheckFile - Checking if C:\Hyperspin\Utilities\Xpadder.exe exists
22:43:03:642 | MD |     INFO  | +0     | Keymapper - Loading xpadder
22:43:03:642 | MD |     INFO  | +0     | RunKeymapper - Started, using method "load"
22:43:03:642 | MD |     INFO  | +0     | GetJoystickArray - Started
22:43:03:673 | MD |     INFO  | +31    | GetJoystickGUID - Started
22:43:03:673 | MD |     INFO  | +0     | GetJoystickGUID - Ended and found GUID: B0AB620FBADCE4118001444553540000
22:43:03:673 | MD |     INFO  | +0     | GetJoystickArray - Ended
22:43:03:673 | MD |     INFO  | +0     | GetProfile - Loading Player 1 Profile -> C:\Hyperspin\Profiles\xpadder\Nintendo Entertainment System\_Default\p1.xpadderprofile
22:43:03:673 | MD |     INFO  | +0     | RunXpadder - Started
22:43:03:673 | MD |     INFO  | +0     | Process - Exist JoyToKey.exe
22:43:03:673 | MD |     INFO  | +0     | Run - Running: C:\Hyperspin\Utilities\Xpadder.exe /C
22:43:03:751 | MD |     INFO  | +78    | Process - WaitClose Xpadder.exe 2
22:43:03:860 | MD |     INFO  | +109   | Run - Running: C:\Hyperspin\Utilities\Xpadder.exe "C:\Hyperspin\Profiles\xpadder\Nintendo Entertainment System\_Default\p1.xpadderprofile" /M
22:43:03:891 | MD |     INFO  | +31    | RunXpadder - Ended
22:43:03:891 | MD |     INFO  | +0     | RunKeymapper - Ended
22:43:03:891 | MD |     INFO  | +0     | StartModule - Started
22:43:03:891 | MD |     INFO  | +0     | StartModule - MEmu: RetroArch
					MEmuV: v12-25-2014 Nightly
					MURL: http://themaister.net/retroarch.html
					MAuthor: djvj,zerojay
					MVersion: 2.2.5
					MCRC: BE6269FB
					iCRC: A130BB6E
					MID:
					MSystem: "Acorn BBC Micro","AAE","Amstrad CPC","Amstrad GX4000","APF Imagination Machine","Apple IIGS","Atari 2600","Atari 5200","Atari 7800","Atari Jaguar","Atari Lynx","Atari ST","Atari XEGS","Bally Astrocade","Bandai Gundam RX-78","Bandai Super Vision 8000","Bandai Wonderswan","Bandai Wonderswan Color","Canon X07","Casio PV-1000","Casio PV-2000","Coleco ADAM","ColecoVision","Commodore Max Machine","Commodore Amiga","Creatronic Mega Duck","Dragon 64","Emerson Arcadia 2001","Entex Adventure Vision","Elektronika BK","Epoch Game Pocket Computer","Epoch Super Cassette Vision","Exidy Sorcerer","Fairchild Channel F","Final Burn Alpha","Funtech Super Acan","GamePark 32","GCE Vectrex","Hartung Game Master","JungleTac Sport Vii","MAME","Magnavox Odyssey 2","Microsoft MSX","Microsoft MSX2","Matra & Hachette Alice","Mattel Aquarius","Mattel Intellivision","NEC PC Engine","NEC PC Engine-CD","NEC PC-FX","NEC TurboGrafx-16","NEC SuperGrafx","NEC TurboGrafx-CD","Nintendo 64","Nintendo Arcade Systems","Nintendo DS","Nintendo Entertainment System","Nintendo Famicom","Nintendo Famicom Disk System","Nintendo Game Boy","Nintendo Game Boy Color","Nintendo Game Boy Japan","Nintendo Game Boy Advance","Nintendo Super Game Boy","Nintendo Pokemon Mini","Nintendo Virtual Boy","Nintendo Super Famicom","Nintendo Super Famicom Satellaview","Panasonic 3DO","Elektronska Industrija Pecom 64","Philips CD-i","Philips Videopac","RCA Studio II","Sega 32X","Sega SC-3000","Sega SG-1000","Sega CD","Sega Game Gear","Sega Genesis","Sega Master System","Sega Mega Drive","Sega Pico","Sega Saturn","Sega Saturn Japan","Sega VMU","Sega ST-V","Sharp X1","Sinclair ZX Spectrum","Sony PlayStation","Sony PocketStation","Sony PSP","Sord M5","SNK Neo Geo","SNK Neo Geo MVS","SNK Neo Geo AES","SNK Neo Geo Pocket","SNK Neo Geo CD","SNK Neo Geo Pocket Color","Spectravideo","Super Nintendo Entertainment System","Tandy TRS-80 Color Computer","Texas Instruments TI 99-4A","Thomson MO5","Thomson TO7","Tiki-100","Tomy Tutor","VTech CreatiVision","Watara Supervision"
22:43:03:891 | MD |     INFO  | +0     | StartModule - You have a supported System Name for this module: "Nintendo Entertainment System"
22:43:03:891 | MD |     INFO  | +0     | PluginInit - Started
22:43:03:891 | MD |     INFO  | +0     | CheckFile - Checking if C:\Hyperspin\Databases\Nintendo Entertainment System\Nintendo Entertainment System.xml exists
22:43:03:923 | MD |     INFO  | +31    | PluginInit - Ended
22:43:03:923 | MD |     INFO  | +0     | Hiding mouse cursor
22:43:03:954 | MD |     INFO  | +32    | StartModule - Ended
22:43:03:954 | MD |     INFO  | +0     | StartGlobalUserFeatures - Starting
22:43:03:954 | MD |     INFO  | +0     | StartGlobalUserFeatures - Ending
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [Nintendo Entertainment System] - LibRetro_Core: nestopia_libretro
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [Settings] - Fullscreen: true
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [Settings] - ConfigFolder: C:\Hyperspin\Emulators\RetroArch\config
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [Settings] - MESS_BIOS_Roms_Folder:
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [Settings] - HideConsole: true
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [Nintendo Entertainment System] - SuperGameBoy: false
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [1942 (Japan, USA)] - SuperGameBoy: false
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [Network] - Enable_Network_Play: false
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [1942 (Japan, USA)] - Enable_Network_Play: false
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [Nintendo Entertainment System] - Overlay:
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [1942 (Japan, USA)] - Overlay:
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [Nintendo Entertainment System] - VideoShader:
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [1942 (Japan, USA)] - VideoShader:
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [Nintendo Entertainment System] - AspectRatioIndex: 20
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [1942 (Japan, USA)] - AspectRatioIndex: 20
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [Nintendo Entertainment System] - CustomViewportWidth:
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [1942 (Japan, USA)] - CustomViewportWidth:
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [Nintendo Entertainment System] - CustomViewportHeight:
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [1942 (Japan, USA)] - CustomViewportHeight:
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [Nintendo Entertainment System] - CustomViewportX:
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [1942 (Japan, USA)] - CustomViewportX:
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [Nintendo Entertainment System] - CustomViewportY:
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [1942 (Japan, USA)] - CustomViewportY:
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [Nintendo Entertainment System] - Rotation: 0
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [1942 (Japan, USA)] - Rotation: 0
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [Nintendo Entertainment System] - CropOverscan:
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [1942 (Japan, USA)] - CropOverscan:
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [Nintendo Entertainment System] - ThreadedVideo:
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [1942 (Japan, USA)] - ThreadedVideo:
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [Nintendo Entertainment System] - VSync:
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [1942 (Japan, USA)] - VSync:
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [Nintendo Entertainment System] - IntegerScale:
22:43:03:954 | MD |     INFO  | +0     | Module Setting - [1942 (Japan, USA)] - IntegerScale:
22:43:03:954 | MD |     INFO  | +0     | CheckFile - Checking if C:\Hyperspin\Emulators\RetroArch\cores\nestopia_libretro.dll exists
22:43:03:954 | MD |     INFO  | +0     | Module - RetroArch is using C:\Hyperspin\Emulators\RetroArch\config\Nintendo Entertainment System.cfg as its config file.
22:43:03:954 | MD |     INFO  | +0     | Module - Saving changed settings to: "C:\Hyperspin\Emulators\RetroArch\config\Nintendo Entertainment System.cfg"
22:43:04:110 | MD |     INFO  | +156   | CheckFile - Checking if C:\Hyperspin\Emulators\RetroArch\retroarch-core-options.cfg exists
22:43:04:110 | MD |     INFO  | +0     | Module Setting - [Nestopia] - Nestopia_Blargg_NTSC_Filter: disabled
22:43:04:110 | MD |     INFO  | +0     | Module Setting - [1942 (Japan, USA)] - Nestopia_Blargg_NTSC_Filter: disabled
22:43:04:110 | MD |     INFO  | +0     | Module Setting - [Nestopia] - Nestopia_Palette: canonical
22:43:04:110 | MD |     INFO  | +0     | Module Setting - [1942 (Japan, USA)] - Nestopia_Palette: canonical
22:43:04:110 | MD |     INFO  | +0     | Module Setting - [Nestopia] - Nestopia_Remove_Sprites_Limit: disabled
22:43:04:110 | MD |     INFO  | +0     | Module Setting - [1942 (Japan, USA)] - Nestopia_Remove_Sprites_Limit: disabled
22:43:04:141 | MD |     INFO  | +31    | 7z - Started, received C:\Hyperspin\ROMs\Nintendo - Nintendo Entertainment System\1942 (Japan, USA).zip. If rom is an archive, it will extract to C:\Users\NES-PC\AppData\Local\Temp\HS
22:43:04:141 | MD |     INFO  | +0     | CheckFile - Checking if C:\Hyperspin\ROMs\Nintendo - Nintendo Entertainment System\1942 (Japan, USA).zip exists
22:43:04:235 | MD |     INFO  | +93    | 7z - Archive name matches rom name; DLL found rom inside archive using "findFileInZip": "1942 (Japan, USA).nes"
22:43:04:235 | MD |     INFO  | +0     | 7z - Extracted path of rom will be 77 in length and within the 255 character limit.
22:43:04:235 | MD |     INFO  | +0     | 7z - The 7zExtractPath has 67729 MB of free space which is enough to extract this game: 0 MB
22:43:04:266 | MD |     INFO  | +32    | 7z - Ended
22:43:04:266 | MD |     INFO  | +0     | Module - Retroarch standard mode enabled
22:43:04:266 | MD |     INFO  | +0     | Run - Running: C:\Hyperspin\Emulators\RetroArch\retroarch.exe  "C:\Users\NES-PC\AppData\Local\Temp\HS\1942 (Japan, USA)\1942 (Japan, USA).nes" -f -c "C:\Hyperspin\Emulators\RetroArch\config\Nintendo Entertainment System.cfg" -L "C:\Hyperspin\Emulators\RetroArch\cores\nestopia_libretro.dll" -s "C:\Hyperspin\Emulators\RetroArch\srm\Nintendo Entertainment System\1942 (Japan, USA).srm" -S "C:\Hyperspin\Emulators\RetroArch\save\Nintendo Entertainment System\1942 (Japan, USA).state"
22:43:04:266 | MD |     INFO  | +0     | WinWait - Waiting for "RetroArch ahk_class RetroArch"
22:43:04:697 | MD |     INFO  | +436   | WinWaitActive - Waiting for "RetroArch ahk_class RetroArch"
22:43:04:807 | MD |     INFO  | +110   | Process - WaitClose retroarch.exe
22:43:09:737 | MD |     INFO  | +4929  | WinClose - Closing: RetroArch ahk_class RetroArch
22:43:09:975 | MD |     INFO  | +234   | 7zCleanUp - Started
22:43:10:053 | MD |     INFO  | +78    | 7zCleanUp - Ended
22:43:10:053 | MD |     INFO  | +0     | StopGlobalUserFeatures - Starting
22:43:10:053 | MD |     INFO  | +0     | StopGlobalUserFeatures - Ending
22:43:10:053 | MD |     INFO  | +0     | ExitModule - Started
22:43:10:053 | MD |     INFO  | +0     | Starting Updating Statistics:
22:43:10:116 | MD |     INFO  | +63    | Game section statistics updated.
22:43:10:116 | MD |     INFO  | +0     | RunKeymapper - Started, using method "unload"
22:43:10:116 | MD |     INFO  | +0     | GetJoystickArray - Started
22:43:10:116 | MD |     INFO  | +0     | GetJoystickGUID - Started
22:43:10:116 | MD |     INFO  | +0     | GetJoystickGUID - Ended and found GUID: B0AB620FBADCE4118001444553540000
22:43:10:116 | MD |     INFO  | +0     | GetJoystickArray - Ended
22:43:10:116 | MD |     INFO  | +0     | GetProfile - Loading Player 1 Profile -> C:\Hyperspin\Profiles\xpadder\HyperLaunchHQ\p1.xpadderprofile
22:43:10:116 | MD |     INFO  | +0     | RunXpadder - Started
22:43:10:116 | MD |     INFO  | +0     | Process - Exist JoyToKey.exe
22:43:10:116 | MD |     INFO  | +0     | Run - Running: C:\Hyperspin\Utilities\Xpadder.exe /C
22:43:10:147 | MD |     INFO  | +31    | Process - WaitClose Xpadder.exe 2
22:43:10:256 | MD |     INFO  | +109   | Run - Running: C:\Hyperspin\Utilities\Xpadder.exe "C:\Hyperspin\Profiles\xpadder\HyperLaunchHQ\p1.xpadderprofile" /M
22:43:10:256 | MD |     INFO  | +0     | RunXpadder - Ended
22:43:10:256 | MD |     INFO  | +0     | RunKeymapper - Ended
22:43:10:287 | MD |     INFO  | +31    | Restoring mouse cursor
22:43:10:287 | MD |     INFO  | +0     | ExitModule - Ended
22:43:10:287 | MD |     INFO  | +0     | End of Module Logs
22:43:03:517 | HL |     INFO  | +0     | Main - Starting timer to watch if Front End gets displaced and restore it if it does.
22:43:10:397 | HL |     INFO  | +6880  | Main - Module ended, exiting HyperLaunch normally
22:43:10:397 | HL |     INFO  | +0     | ExitScript - Started
22:43:10:615 | HL |     INFO  | +218   | SystemCursor - Restoring mouse cursor
22:43:10:631 | HL |     INFO  | +16    | ExitScript - Ended
[/code]

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...