Jump to content

Nulldc+Rocektlauncher crash


demonseed

Recommended Posts

Posted

This used to work fine with hl.. now it does not. I have even tried fresh install/setup on rocketlaunch and null dc. I am suing the recommended version as well... any ideas?? It takes long time and boots to Nulldc screen but errors out. I try to run NULL DC Outside of the front end and it errors out.. says

 Verify Failed :Tacmd!=0 in TASPliiter::DMA ->src\tc.cpp :19 Want to reprot this error again? WTH??

21:41:49:038 | RL |     INFO  | +N/A   | Main - RocketLauncher v1.0.0.0 (www.rlauncher.com)
21:41:49:038 | RL |  WARNING  | +0     | Main - You have "Logging_Show_Command_Window" enabled. This is only for showing errors being dumped to the command window from an executable. This may cause issues with running some executables and needs to be turned off when you are done.
21:41:49:038 | RL |  WARNING  | +0     | Main - You have "Logging_Log_Command_Window" enabled. This is only for logging errors being dumped to the command window from an executable. This may cause issues with running some executables and needs to be turned off when you are done.
21:41:49:038 | RL |  WARNING  | +0     | Main - You cannot use debug console and show/log a console for an emulator simultaneously. Turning off debug console to avoid errors launching.
21:41:49:803 | RL |     INFO  | +764   | Main - System Specs:
					RocketLauncher Dir: E:\Rocketlauncher
					RocketLauncher is: 32-bit
					OS: Microsoft Windows 7 Professional 
					SKU: Professional
					Total Memory: 8016.31 MB
					Free Memory: 6466.68 MB
					Used Memory: 1549.633 MB
					SystemType: 64-bit
					Physical Processors: 1
					Logical Processors: 4
					GPU 1 Name: Intel(R) HD Graphics
					GPU 1 RAM: -1924.00 MB
					GPU 1 Driver Version: 9.17.10.3347
					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: Yes
					Monitor #1 (\\.\DISPLAY1): 1440x900 (1440x856 work)
					Monitor #1 Orientation: Landscape
					Current AHK Desktop Width: 1440
					Current AHK Desktop Height: 900
					AutoHotkey Path: 
					AHK Version: 1.1.09.04
					Unicode: No
21:41:49:803 | RL |     INFO  | +0     | CheckFile - Checking if E:\Rocketlauncher\RocketLauncher.exe exists
21:41:49:803 | RL |     INFO  | +0     | Main - AeroWings (USA) is being forced via CLI to use the emulator: NullDC
21:41:49:803 | RL |     INFO  | +0     | CheckFile - Checking if E:\Rocketlauncher\Plugins\HyperSpin.plugin exists
21:41:49:834 | RL |     INFO  | +31    | Main - Loading Front End Plugin: "HyperSpin"
21:41:49:834 | RL |     INFO  | +0     | Main - RocketLauncher received "Sega Dreamcast" and "AeroWings (USA)"
21:41:49:850 | RL |     INFO  | +16    | Main - Did not find a "E:\Rocketlauncher\Settings\Sega Dreamcast\Game Options.ini" file, skipping any game-specific options.
21:41:49:850 | RL |     INFO  | +0     | Main - Checking for a [NullDC] section in E:\Rocketlauncher\Settings\Sega Dreamcast\Emulators.ini
21:41:49:850 | RL |     INFO  | +0     | Main - Checking for a [NullDC] section in E:\Rocketlauncher\Settings\Global Emulators.ini
21:41:49:850 | RL |     INFO  | +0     | Main - Found [NullDC] in E:\Rocketlauncher\Settings\Global Emulators.ini
21:41:49:850 | RL |     INFO  | +0     | CheckFile - Checking if E:\Rocketlauncher\Modules\NullDC\NullDC.ahk exists
21:41:49:896 | RL |     INFO  | +47    | Main - CRC Check - CRC matches, this is an official unedited module.
21:41:49:896 | RL |     INFO  | +0     | Main - AeroWings (USA) will use module: E:\Rocketlauncher\Modules\NullDC\NullDC.ahk
21:41:49:928 | RL |     INFO  | +31    | Main - Using standard method with "Rom Extension" SkipChecks or without any SkipChecks.
21:41:49:928 | RL |     INFO  | +0     | CheckFile - Checking if E:\Nulldc\nullDC_Win32_Release-NoTrace.exe exists
21:41:49:928 | RL |     INFO  | +0     | Main - INI Keys read
21:41:49:928 | RL |     INFO  | +0     | CheckFile - Checking if E:\Rocketlauncher\Module Extensions\7z.exe exists
21:41:49:928 | RL |     INFO  | +0     | CheckFile - Checking if E:\Rocketlauncher\Module Extensions\7z.dll exists
21:41:49:943 | RL |     INFO  | +16    | CheckFile - Checking if E:\Rocketlauncher\Module Extensions\FontReg.exe exists
21:41:49:959 | RL |     INFO  | +15    | Main - "AeroWings (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
21:41:49:959 | RL |     INFO  | +0     | CheckPaths - Started
21:41:49:974 | RL |     INFO  | +16    | CheckPaths - Found rom: E:\Sega Dreamcast\AeroWings (USA).7z
21:41:49:974 | RL |     INFO  | +0     | CheckPaths - Ended
21:41:49:974 | RL |     INFO  | +0     | BuildScript - User Variables:
					;----------------------------------------------------------------------------
					; INJECTED VARIABLES
					;----------------------------------------------------------------------------
					
					#NoTrayIcon
					#InstallKeybdHook
					DetectHiddenWindows, ON
					SetTitleMatchMode, 2
					SendMode, Event
					0 = 12
					pluginPath = E:\Rocketlauncher\Plugins
					pluginName = HyperSpin
					pluginExt = .plugin
					contextOnExit = 1
					rlMode = 
					rlTitle = RocketLauncher
					rlVersion = 1.0.0.0
					rlAuthor = djvj
					rlURL = www.rlauncher.com
					langFile = E:\Rocketlauncher\Data\Language\Localization.ini
					frontendPID = 
					frontendPath = E:\Hyperspin
					frontendExe = HyperSpin.exe
					frontendExt = exe
					frontendName = HyperSpin
					frontendDrive = E:
					exitEmulatorKey = ~Esc
					exitEmulatorKeyWait = 0
					forceHoldKey = ~Esc
					restoreFE = false
					exitScriptKey = ~q & ~s
					toggleCursorKey = ~e & ~t
					emuFullPath = E:\Nulldc\nullDC_Win32_Release-NoTrace.exe
					emuPath = E:\Nulldc
					emuName = NullDC
					emuExt = exe
					romPath = E:\Sega Dreamcast
					romPathFromIni = E:\Sega Dreamcast
					romExtension = .7z
					romExtensionOrig = .7z
					romExtensions = 7z|zip|gdi|cue|cdi|chd
					executable = nullDC_Win32_Release-NoTrace.exe
					systemDbName = Sega Dreamcast
					systemName = Sega Dreamcast
					dbPath = 
					dbName = AeroWings (USA)
					dbExt = 
					romName = AeroWings (USA)
					romMapPath = 
					romMappingEnabled = false
					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 = E:\Rocketlauncher\Module Extensions\BlockInput.exe
					errorLevelReporting = false
					lockLaunch = false
					lockLaunchGame = 
					screenRotationAngle = 0
					screenRotationAngleGame = 
					logFile = E:\Rocketlauncher\RocketLauncher.log
					logLabel := ["    INFO"," WARNING","   ERROR","  DEBUG1","  DEBUG2"]
					logLevel = 3
					logShowDebugConsole = false
					logIncludeModule = true
					logIncludeFileProperties = true
					logShowCommandWindow = true
					logCommandWindow = true
					rlDebugConsoleStdout = 
					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 = 1440
					originalHeight = 900
					vdEnabled = false
					vdPath = 
					vdUseSCSI = true
					vdAddDrive = true
					servoStikEnabled = false
					ledblinkyEnabled = false
					ledblinkyFullPath = 
					ledblinkyProfilePath = E:\Rocketlauncher\Profiles\LEDBlinky
					ledblinkyRLProfile = E:\Rocketlauncher\Profiles\LEDBlinky\RocketLauncher
					emuIdleShutdown = 0
					launchPasswordHash = UpUpDownDownLeftRightLeftRight
					hideCursor = false
					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 = imageandbar
					fadeLyr3ImgFollow7zProgress = true
					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 = E:\Rocketlauncher\Media\Fade
					RLDataPath = E:\Rocketlauncher\Data
					RLMediaPath = E:\Rocketlauncher\Media
					RLErrSoundPath = E:\Rocketlauncher\Media\Sounds\Error
					modulesPath = E:\Rocketlauncher\Modules
					moduleFullName = E:\Rocketlauncher\Modules\NullDC\NullDC.ahk
					moduleName = NullDC
					modulePath = E:\Rocketlauncher\Modules\NullDC
					moduleExtension = ahk
					moduleExtensionsPath = E:\Rocketlauncher\Module Extensions
					libPath = E:\Rocketlauncher\Lib
					7zEnabled = true
					7zPath = E:\Rocketlauncher\Module Extensions\7z.exe
					7zDllPath = E:\Rocketlauncher\Module Extensions\7z.dll
					7zExtractPath = C:\Users\Lenovo\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
					pauseEnabled = false
					pauseKey = ~NumpadAdd
					pauseBackToMenuBarKey = X
					pauseZoomInKey = C
					pauseZoomOutKey = V
					pauseScreenshotKey = ~PrintScreen
					pauseHiToTextPath = E:\Rocketlauncher\Module Extensions\HiToText.exe
					pauseSaveStateKeyCodes = 
					pauseLoadStateKeyCodes = 
					keymapperEnabled = false
					keymapperAHKMethod = false
					keymapper = xpadder
					xpadderFullPath = E:\Utilities\Xpadder\xpadder.exe
					joyToKeyFullPath = E:\Utilities\JoyToKey\JoyToKey.exe
					keymapperProfilePath = E:\Rocketlauncher\Profiles\xpadder
					keymapperFrontEndProfileName = RocketLauncherUI
					keymapperFrontEndProfile = false
					keymapperRocketLauncherProfileEnabled = false
					JoyIDsEnabled = false
					JoyIDsPreferredControllersSystem = use_global
					JoyIDsPreferredControllersGlobal = 
					CustomJoyNamesEnabled = false
					CustomJoyNames = 
					rotateMethod = false
					FEProfile = E:\Rocketlauncher\Profiles\xpadder\RocketLauncherUI
					defaultProfile = E:\Rocketlauncher\Profiles\xpadder\_Default
					systemProfile = E:\Rocketlauncher\Profiles\xpadder\Sega Dreamcast
					xPadderSystemProfile = E:\Rocketlauncher\Profiles\xpadder\Sega Dreamcast\_Default
					emuProfile = E:\Rocketlauncher\Profiles\xpadder\Sega Dreamcast\NullDC
					romProfile = E:\Rocketlauncher\Profiles\xpadder\Sega Dreamcast\AeroWings (USA)
					RocketLauncherProfile = E:\Rocketlauncher\Profiles\xpadder\RocketLauncher
					blankProfile = E:\Rocketlauncher\Profiles\xpadder\_Default\blank
					ahkFEProfile = E:\Rocketlauncher\Profiles\AHK\RocketLauncherUI
					ahkDefaultProfile = E:\Rocketlauncher\Profiles\AHK\_Default
					ahkSystemProfile = E:\Rocketlauncher\Profiles\AHK\Sega Dreamcast
					ahkEmuProfile = E:\Rocketlauncher\Profiles\AHK\Sega Dreamcast\NullDC
					ahkRomProfile = E:\Rocketlauncher\Profiles\AHK\Sega Dreamcast\AeroWings (USA)
					ahkRocketLauncherProfile = E:\Rocketlauncher\Profiles\AHK\RocketLauncher
					bezelEnabled = false
					bezelICEnabled = false
					statisticsEnabled = true
					pressDuration = -1
					emuVolume = 1
					dxwndIni = E:\Rocketlauncher\Module Extensions\dxwnd\dxwnd.ini
					dxwndFullPath = E:\Rocketlauncher\Module Extensions\dxwnd\dxwnd.exe
					mon1O = 0
					pacDrivedllFile = E:\Rocketlauncher\Module Extensions\PacDrive32.dll
					userFadeAnimIniFile = E:\Rocketlauncher\Lib\User Fade Animations.ini

21:41:49:990 | RL |     INFO  | +15    | BuildScript - Loaded XHotkey Init.ahk scripts
21:41:49:990 | RL |     INFO  | +0     | BuildScript - Loaded Statistics Init.ahk scripts
21:41:49:990 | RL |  WARNING  | +0     | BuildScript - "E:\Rocketlauncher\Lib\User Functions Init.ahk" not found
21:41:49:990 | RL |     INFO  | +0     | BuildScript - Validating module
21:41:49:990 | RL |     INFO  | +0     | BuildScript - Validation complete
21:41:49:990 | RL |     INFO  | +0     | BuildScript - Module:
					MEmu = NullDC
					MEmuV =  r141
					MURL = https://code.google.com/p/nulldc/
					MAuthor = djvj & bleasby
					MVersion = 2.0.6
					MCRC = 4767FDDC
					iCRC = D1BEBB86
					MID = 635038268910409317
					MSystem = "Sega Dreamcast"
					;----------------------------------------------------------------------------
					; NullDC works with these disc images:
					; - CDI: Padus DiscJuggler image
					; - MDS: Alcohol 120% Media Descriptor image (must be accompanied by a MDF file)
					; - NRG: Nero Burning ROM image
					; - GDI: Raw GDI dump
					; - CHD: MAME's Compressed Hunk of Data
					;
					; Helpful guide for getting the basics setup for NullDC: http://www.dgemu.com/forums/index.php/topic/474318-guide-configuring-nulldc-104-r136/
					; If you want to use specific configs per game, create a folder called Cfg inside nullDC folder and copy your nullDC.cfg 
					; config files into it naming them to match the database names. Make sure you keep a copy of nullDC.cfg on the Cfg folder as well.
					;
					; If you want to convert your roms from gdi to chd, see here: http://www.emutalk.net/showthread.php?t=51502
					; FileDelete(s) are in the script because sometimes demul will corrupt the ini and make it crash. The script recreates a clean ini for you.
					;
					; Setup the user settings in the moduleName ini to your liking
					; Games can have a custom Cable Type (per game). Not all games work on VGA, so use the below option in the ini
					; Cable can be 0 (VGA(0)(RGB)), 1 (VGA(1)(RGB)), 2 (TV(RGB)) or 3 (TV(VBS/Y+S/C)), default is 0.
					;
					; For additional setup steps prior to running, see this link: http://www.hyperspin-fe.com/forum/showpost.php?p=99852&postcount=138
					; Not all builds work with swapping discs, it's mostly broken and is a nulldc problem, not RocketLauncher's. See here: http://code.google.com/p/nulldc/issues/detail?id=264
					;----------------------------------------------------------------------------
					StartModule()
					BezelGUI()
					ExtraFixedResBezelGUI()
					
					If systemName not contains dreamcast,dc
						ScriptError(systemName . " is not a supported system for this module. Only " . MSystem . " is supported.")
					
					FadeInStart()
					
					settingsFile := modulePath . "\" . moduleName . ".ini"
					nullDCcfg := checkFile(emuPath . "\nullDC.cfg")
					
					fullscreen := IniReadCheck(settingsFile, "Settings", "Fullscreen","true",,1)
					dualMonitors := IniReadCheck(settingsFile, "NullDC", "DualMonitors","false",,1)
					autoStart := IniReadCheck(settingsFile, "NullDC", "autoStart","1",,1)
					noConsole := IniReadCheck(settingsFile, "NullDC", "noConsole","1",,1)
					autoHideMenu := IniReadCheck(settingsFile, "NullDC", "autoHideMenu","0",,1)
					alwaysOnTop := IniReadCheck(settingsFile, "NullDC", "alwaysOnTop","1",,1)
					showVMU := IniReadCheck(settingsFile, "NullDC", "showVMU","0",,1)
					VMU1Pos := IniReadCheck(settingsFile, "NullDC", "VMU1Pos","topLeft",,1) ; topRight, topCenter, topLeft, leftCenter, bottomLeft, bottomCenter, bottomRight, rightCenter 
					VMU2Pos := IniReadCheck(settingsFile, "NullDC", "VMU2Pos","topRight",,1) ; topRight, topCenter, topLeft, leftCenter, bottomLeft, bottomCenter, bottomRight, rightCenter 
					VMU3Pos := IniReadCheck(settingsFile, "NullDC", "VMU3Pos","bottomLeft",,1) ; topRight, topCenter, topLeft, leftCenter, bottomLeft, bottomCenter, bottomRight, rightCenter 
					VMU4Pos := IniReadCheck(settingsFile, "NullDC", "VMU4Pos","bottomRight",,1) ; topRight, topCenter, topLeft, leftCenter, bottomLeft, bottomCenter, bottomRight, rightCenter 
					VMUHideKey := IniReadCheck(settingsFile, "Settings", "VMUHideKey","F10",,1)
					loadDefaultImage := IniReadCheck(settingsFile, "NullDC", "loadDefaultImage","1",,1)
					patchRegion := IniReadCheck(settingsFile, "NullDC", "patchRegion","1",,1)
					cable := IniReadCheck(settingsFile, romName, "Cable","0",,1)
					PerGameMemoryCards := IniReadCheck(settingsFile, "NullDC", "PerGameMemoryCards","true",,1)
					memCardPath := IniReadCheck(settingsFile, "Settings", "MemCardPath", emuPath . "\Game VMU",,1)
					memCardPath := AbsoluteFromRelative(emuPath, memCardPath)
					
					hideEmuObj := Object("ahk_class ConsoleWindowClass",0,"nullDC ahk_class ndc_main_window",1)	; Hide_Emu will hide these windows. 0 = will never unhide, 1 = will unhide later
					7z(romPath, romName, romExtension, 7zExtractPath)
					
					specialCfg = %emuPath%\cfg\%romName%.cfg
					defaultCfg = %emuPath%\cfg\nullDC.cfg
					If (FileExist(specialCfg) && FileExist(defaultCfg))
						FileCopy, %specialCfg%, %emuPath%\nullDC.cfg, 1
					Else If FileExist(defaultCfg)
						FileCopy, %defaultCfg%, %emuPath%\nullDC.cfg, 1
					
					;Detect game region based on rom name
					IfInString, romName, (Europe)
						region = 2
					Else IfInString, romName, (Japan)
						region = 0
					Else IfInString, romName, (World)
						region = 2
					Else
						region = 1
					
					If romExtension In %7zformats%
						ScriptError(MEmu . " does not support compressed formats. Please extract your images first or enable 7z.")
					
					BezelStart()
					
					;Write Settings
					IniWrite, % (If (Fullscreen = "true" )?("1"):("0")), %nullDCcfg%, nullDC_GUI, Fullscreen
					IniWrite, %autoStart%, %nullDCcfg%, nullDC, Emulator.AutoStart
					IniWrite, %noConsole%, %nullDCcfg%, nullDC, Emulator.NoConsole
					IniWrite, %autoHideMenu%, %nullDCcfg%, nullDC_GUI, AutoHideMenu
					IniWrite, %alwaysOnTop%, %nullDCcfg%, nullDC_GUI, AlwaysOnTop
					IniWrite, %showVMU%, %nullDCcfg%, drkMaple, VMU.Show
					IniWrite, %loadDefaultImage%, %nullDCcfg%, ImageReader, LoadDefaultImage
					IniWrite, %patchRegion%, %nullDCcfg%, ImageReader, PatchRegion
					IniWrite, %region%, %nullDCcfg%, nullDC, Dreamcast.Region
					IniWrite, %cable%, %nullDCcfg%, nullDC, Dreamcast.Cable
					Log("Module - Telling ImageReader plugin to load this game: """ . romPath . "\" . romname . RomExtension)
					IniWrite, %romPath%\%romname%%RomExtension%, %nullDCcfg%, ImageReader, DefaultImage
					
					;Fixes hanging previous nullDC on bad exits or loads
					Process("Exist", executable)
					If !ErrorLevel = 0
						Process("Close", executable)
					
					; This hides nullDC's menu when running dual screens
					If dualMonitors = true
					{	MouseGetPos X, Y 
						SetDefaultMouseSpeed, 0
						MouseMove %A_ScreenWidth%,%A_ScreenHeight%
					}
					
					If PerGameMemoryCards = true
					{
						defaultMemCard := emuPath . "\Data\vmu_default.bin"	; defining default blank VMU file
						If FileExist(defaultMemCard)
						{
							Log("VMU - Default VMU file location - " . defaultMemCard,4)
							Log("VMU - Per game memory card path - " . memCardPath,4)
							IfNotExist, %memCardPath%
								FileCreateDir, %memCardPath%
							Loop, 4
							{
								VMUCount := A_Index - 1
								controllerVMU%VMUCount% := IniReadCheck(nullDCcfg, "nullDC_plugins", "Current_maple" . VMUCount . "_" . "5",,,1)
								Log("VMU - Config Plugin controllerVMU" . VMUCount . " - " . controllerVMU%VMUCount%,4)
								If controllerVMU%VMUCount% = NULL
									Continue
								Loop, 2
								{
									SubCount := A_Index - 1
									controllerVMU%VMUCount%SubDev%SubCount% := IniReadCheck(nullDCcfg, "nullDC_plugins", "Current_maple" . VMUCount . "_" . SubCount,,,1)
									Log("VMU - Config Plugin controllerVMU" . VMUCount . " Sub " . SubCount . " - " . controllerVMU%VMUCount%SubDev%SubCount%,4)
									If (controllerVMU%VMUCount%SubDev%SubCount% = "drkMapleDevices_Win32.dll:2") or (controllerVMU%VMUCount%SubDev%SubCount% = "G15_drkMapleDevices_Win32.dll:2")
									{
										If VMUCount = 0
											VMUPort := "0"
										Else If VMUCount = 1
											VMUPort := "4"
										Else If VMUCount = 2
											VMUPort := "8"
										Else If VMUCount = 3
											VMUPort := "C"
										VMUGameName := If romTable[1,5] ? romTable[1,4] : romName	; defining rom name for multi disc rom
										PerGameVMUIn := memCardPath . "\" . VMUGameName . "_port" . VMUPort . A_Index . ".bin"
										PerGameVMUOut := emuPath . "\vmu_data_port" . VMUPort . A_Index . ".bin"
										If (FileExist(PerGameVMUIn))
										{
											Log("VMU - Per game VMU in file """ . PerGameVMUIn . """ exists. Copying to emu folder as """ . PerGameVMUOut . """")
											FileCopy, %PerGameVMUIn%, %PerGameVMUOut%, 1
										} Else {
											FileCopy, %defaultMemCard%, %PerGameVMUOut%, 1
											Log("VMU - Per game VMU out file """ . PerGameVMUIn . """ does not exist, so """ . PerGameVMUOut . """ is created.")
										}
									}
								}
							}
						} Else
							Log("VMU - No default VMU file at " . defaultMemCard,4)
					}
					
					HideEmuStart()	; This fully ensures windows are completely hidden even faster than winwait
					
					Run(executable, emuPath)
					
					; TESTING TO HIDE THE CONSOLE WINDOW POPUP, NOTHING WORKS
					; WinWait("nullDC ahk_class ndc_main_window")
					; WinSet, Transparent, On, nullDC ahk_class ndc_main_window
					; WinSet, Transparent, On, ahk_class ConsoleWindowClass	; makes the console window transparent so you don't see it on exit
					; Sleep, 2000 ; Enough to hide the startup logo
					; WinHide, ahk_class ConsoleWindowClass
					
					WinWait("nullDC ahk_class ndc_main_window")
					WinWaitActive("nullDC ahk_class ndc_main_window")
					
					ndcID:=WinExist("A")	; storing the window's PID so we can toggle it later
					ToggleMenu(ndcID) ; Removes the MenuBar
					; DllCall("SetMenu", uint, WinActive( "A" ), uint, 0) ; Removes the MenuBar
					
					;Let's completely hide the menu by slighly moving the window off screen
					;nullDC will self adjust once the menu autohides
					If fullScreen = true
					{	yOffset = -20
						winHeight := A_ScreenHeight - yOffset
						WinMove, nullDC,, 0, %yOffset%, %A_ScreenWidth%, %winHeight%
					}
					
					; WinShow, nullDC ahk_class ndc_main_window ; without these, nullDC may stay hidden behind HS
					; WinActivate, nullDC ahk_class ndc_main_window
					HideEmuEnd()
					BezelDraw()
					
					If !(showVMU="0")
						SetTimer, CheckforVMU, 10000
					
					FadeInExit()
					WinSet, Transparent, Off, nullDC ahk_class ndc_main_window
					Process("WaitClose", executable)
					7zCleanUp()
					BezelExit()
					ExtraFixedResBezelExit()
					
					If PerGameMemoryCards = true
					{
						Loop, 4
						{
							VMUCount := A_Index - 1
							Log("VMU - Config Plugin controllerVMU" . VMUCount . " - " . controllerVMU%VMUCount%,4)
							If controllerVMU%VMUCount% = NULL
								Continue
							Loop, 2
							{
								SubCount := A_Index - 1
								If (controllerVMU%VMUCount%SubDev%SubCount% = "drkMapleDevices_Win32.dll:2") or (controllerVMU%VMUCount%SubDev%SubCount% = "G15_drkMapleDevices_Win32.dll:2")
								{
									If VMUCount = 0
										VMUPort := "0"
									Else If VMUCount = 1
										VMUPort := "4"
									Else If VMUCount = 2
										VMUPort := "8"
									Else If VMUCount = 3
										VMUPort := "C"
									PerGameVMUIn := memCardPath . "\" . VMUGameName . "_port" . VMUPort . A_Index . ".bin"
									PerGameVMUOut := emuPath . "\vmu_data_port" . VMUPort . A_Index . ".bin"
									If FileExist(PerGameVMUOut)
									{
										FileCopy, %PerGameVMUOut%, %PerGameVMUIn%, 1
										Log("VMU - VMUFile " . PerGameVMUOut . " exists. Backing up to " . PerGameVMUIn)
									}
								}
							}
						}
					}
					
					FadeOutExit()
					ExitModule()
					
					
					 ; Toggle the MenuBar
					!a::
						ToggleMenu(ndcID)
					Return
					
					MultiGame:
						; msgbox % "selectedRom = " . selectedRom . "`nselected game = " . currentButton . "`nmgRomPath = " . mgRomPath . "`nmgRomExt = " . mgRomExt . "`nmgRomName = "  . mgRomName
						ToggleMenu(ndcID) ; Restore the MenuBar
						Loop {
							WinMenuSelectItem,nullDC ahk_class ndc_main_window,,Options,GDRom,Select Default Image
							WinWait("Select Image File ahk_class #32770")
							WinWaitActive("Select Image File ahk_class #32770")
							If WinActive("Select Image File ahk_class #32770")
								Break
						}
						OpenROM("Select Image File ahk_class #32770", mgRomPath . "\" . mgRomName . "." . mgRomExt)	; unsure if Select Image File needs to be translated via i18n
						WinWaitActive("nullDC ahk_class ndc_main_window")
						Sleep, 300 ; giving time for emu to mount the new image
						WinMenuSelectItem,nullDC ahk_class ndc_main_window,,Options,GDRom,Swap Disc	; DC does not support swapping discs on-the-fly like psx because the console reset when the drive was opened. This basically tells the emu to reset.
						ToggleMenu(ndcID) ; Removes the MenuBar
					Return
					
					BezelLabel:
						disableHideToggleMenu := true
					Return
					
					HaltEmu:
						If VMUHideKey
							XHotKeywrapper(VMUHideKey,"VMUHide","OFF")
					Return
					
					RestoreEmu:
						If VMULoaded
						{	Loop, 4
							{	WinSet, Transparent, 0, % "ahk_ID " . VMUScreenID%A_Index%
								WinSet, AlwaysOnTop, On, % "ahk_ID " . VMUScreenID%A_Index%
								WinShow, % "ahk_ID " . VMUScreenID%A_Index%
							}
							WinSet, AlwaysOnTop, On, ahk_ID %extraFixedRes_Bezel_hwnd%
							WinShow, ahk_ID %extraFixedRes_Bezel_hwnd%
							If !(VMUHidden)
								Loop, 4
									WinSet, Transparent, off, % "ahk_ID " . VMUScreenID%A_Index%
						}
						If VMUHideKey
							XHotKeywrapper(VMUHideKey,"VMUHide","ON")
					Return
					
					CheckforVMU:
						Loop, 4
						{ 	Transform, letter, Chr, % A_Index + asc("A") - 1  ; transform number to letter
							If ((!(VMU%A_Index%Draw)) and (VMUScreenID%A_Index%:=WinExist("nullDC VMU " . letter . "0 ahk_class #32770")))
							{	WinSet, Transparent, 0, % "ahk_ID " . VMUScreenID%A_Index%
								WinSet, AlwaysOnTop, On, % "ahk_ID " . VMUScreenID%A_Index%
								ExtraFixedResBezelDraw(VMUScreenID%A_Index%, "VMU",VMU%A_Index%Pos, 144, 96, 8, 8, 28, 8)
								WinShow, % "ahk_ID " . VMUScreenID%A_Index%
								WinSet, AlwaysOnTop, On, ahk_ID %extraFixedRes_Bezel_hwnd%
								WinShow, ahk_ID %extraFixedRes_Bezel_hwnd%
								WinSet, Transparent, off, % "ahk_ID " . VMUScreenID%A_Index%
								VMU%A_Index%Draw := true
								If !(VMULoaded){
									VMUHideKey := xHotKeyVarEdit(VMUHideKey,"VMUHideKey","~","Add")
									xHotKeywrapper(VMUHideKey,"VMUHide")
									VMULoaded := true
								}
							}
						}
						If ((VMU1Draw) and (VMU2Draw) and (VMU3Draw) and (VMU4Draw))
							SetTimer, CheckforVMU, off
					Return	
					
					VMUHide:
						If (VMUHidden)
						{	Loop, 4
								WinSet, Transparent, off, % "ahk_ID " . VMUScreenID%A_Index%
							UpdateLayeredWindow(extraFixedRes_Bezel_hwnd, extraFixedRes_Bezel_hdc,0,0, A_ScreenWidth, A_ScreenHeight,255)
							VMUHidden := false
						} Else {
							Loop, 4
								WinSet, Transparent, 0, % "ahk_ID " . VMUScreenID%A_Index%
							UpdateLayeredWindow(extraFixedRes_Bezel_hwnd, extraFixedRes_Bezel_hdc,0,0, A_ScreenWidth, A_ScreenHeight,0)
							VMUHidden := true           
						}
					Return
					
					CloseProcess:
						If VMULoaded
							SetTimer, checkforVMU, off
						FadeOutStart()
						; WinClose("ahk_class ConsoleWindowClass")
						WinClose("nullDC ahk_class ndc_main_window")
					Return

21:41:50:240 | RL |     INFO  | +250   | BuildScript - Loaded Multi-Player scripts
21:41:50:255 | RL |     INFO  | +16    | BuildScript - Loaded Statistics.ahk script
21:41:50:255 | RL |  WARNING  | +0     | BuildScript - "E:\Rocketlauncher\Lib\User Functions.ahk" not found
21:41:50:255 | RL |     INFO  | +0     | BuildScript - Finished injecting functions into module
21:41:50:255 | RL |     INFO  | +0     | Main - Module is built
21:41:50:255 | RL |     INFO  | +0     | CheckFile - Checking if E:\Rocketlauncher\AutoHotkey.dll exists
21:41:50:271 | RL |     INFO  | +15    | Main - Running module
21:41:50:411 | MD |     INFO  | +N/A   | Module initialized
21:41:50:411 | MD |     INFO  | +0     | StartModule - Started
21:41:50:411 | MD |     INFO  | +0     | StartModule - MEmu: NullDC
					MEmuV: r141
					MURL: https://code.google.com/p/nulldc/
					MAuthor: djvj & bleasby
					MVersion: 2.0.6
					MCRC: 4767FDDC
					iCRC: D1BEBB86
					MID: 
					MSystem: "Sega Dreamcast"
21:41:50:411 | MD |     INFO  | +0     | StartModule - You have a supported System Name for this module: "Sega Dreamcast"
21:41:50:411 | MD |     INFO  | +0     | PluginInit - Started
21:41:50:411 | MD |     INFO  | +0     | CheckFile - Checking if E:\Hyperspin\Databases\Sega Dreamcast\Sega Dreamcast.xml exists
21:41:50:536 | MD |     INFO  | +124   | PluginInit - Ended
21:41:50:536 | MD |     INFO  | +0     | StartModule - Ended
21:41:50:536 | MD |     INFO  | +0     | CheckFile - Checking if E:\Nulldc\nullDC.cfg exists
21:41:50:536 | MD |     INFO  | +0     | Module Setting - [Settings] - Fullscreen: true
21:41:50:536 | MD |     INFO  | +0     | Module Setting - [NullDC] - DualMonitors: false
21:41:50:536 | MD |     INFO  | +0     | Module Setting - [NullDC] - autoStart: 1
21:41:50:536 | MD |     INFO  | +0     | Module Setting - [NullDC] - noConsole: 1
21:41:50:536 | MD |     INFO  | +0     | Module Setting - [NullDC] - autoHideMenu: 0
21:41:50:536 | MD |     INFO  | +0     | Module Setting - [NullDC] - alwaysOnTop: 1
21:41:50:536 | MD |     INFO  | +0     | Module Setting - [NullDC] - showVMU: 0
21:41:50:536 | MD |     INFO  | +0     | Module Setting - [NullDC] - VMU1Pos: topLeft
21:41:50:536 | MD |     INFO  | +0     | Module Setting - [NullDC] - VMU2Pos: topRight
21:41:50:536 | MD |     INFO  | +0     | Module Setting - [NullDC] - VMU3Pos: bottomLeft
21:41:50:536 | MD |     INFO  | +0     | Module Setting - [NullDC] - VMU4Pos: bottomRight
21:41:50:536 | MD |     INFO  | +0     | Module Setting - [Settings] - VMUHideKey: F10
21:41:50:536 | MD |     INFO  | +0     | Module Setting - [NullDC] - loadDefaultImage: 1
21:41:50:536 | MD |     INFO  | +0     | Module Setting - [NullDC] - patchRegion: 1
21:41:50:536 | MD |     INFO  | +0     | Module Setting - [AeroWings (USA)] - Cable: 0
21:41:50:536 | MD |     INFO  | +0     | Module Setting - [NullDC] - PerGameMemoryCards: true
21:41:50:536 | MD |     INFO  | +0     | Module Setting - [Settings] - MemCardPath: E:\Nulldc\Game VMU
21:41:50:536 | MD |     INFO  | +0     | 7z - Started, received E:\Sega Dreamcast\AeroWings (USA).7z. If rom is an archive, it will extract to C:\Users\Lenovo\AppData\Local\Temp\HS
21:41:50:536 | MD |     INFO  | +0     | CheckFile - Checking if E:\Sega Dreamcast\AeroWings (USA).7z exists
21:41:51:207 | MD |     INFO  | +671   | 7z - Archive name matches rom name; DLL found rom inside archive using "findFileInZip": "AeroWings (USA).gdi"
21:41:51:207 | MD |     INFO  | +0     | 7z - Extracted path of rom will be 73 in length and within the 255 character limit.
21:41:51:207 | MD |     INFO  | +0     | 7z - The 7zExtractPath has 142618 MB of free space which is enough to extract this game: 1194 MB
21:42:34:388 | MD |     INFO  | +43181 | 7z - Ended
21:42:34:497 | MD |     INFO  | +109   | Module - Telling ImageReader plugin to load this game: "C:\Users\Lenovo\AppData\Local\Temp\HS\AeroWings (USA)\AeroWings (USA).gdi
21:42:34:528 | MD |     INFO  | +32    | Process - Exist nullDC_Win32_Release-NoTrace.exe 
21:42:34:528 | MD |     INFO  | +0     | Module Setting - [nullDC_plugins] - Current_maple0_5: drkMapleDevices_Win32.dll:0
21:42:34:528 | MD |     INFO  | +0     | Module Setting - [nullDC_plugins] - Current_maple0_0: drkMapleDevices_Win32.dll:2
21:42:34:528 | MD |     INFO  | +0     | VMU - Per game VMU in file "E:\Nulldc\Game VMU\AeroWings (USA)_port01.bin" exists. Copying to emu folder as "E:\Nulldc\vmu_data_port01.bin"
21:42:34:575 | MD |     INFO  | +46    | Module Setting - [nullDC_plugins] - Current_maple0_1: NULL
21:42:34:575 | MD |     INFO  | +0     | Module Setting - [nullDC_plugins] - Current_maple1_5: NULL
21:42:34:575 | MD |     INFO  | +0     | Module Setting - [nullDC_plugins] - Current_maple2_5: NULL
21:42:34:575 | MD |     INFO  | +0     | Module Setting - [nullDC_plugins] - Current_maple3_5: NULL
21:42:34:575 | MD |     INFO  | +0     | Run - Running: E:\Nulldc\nullDC_Win32_Release-NoTrace.exe
21:42:36:509 | MD |     INFO  | +1935  | Run - Showing Command Window to troubleshoot launching. ProcessID: 3964
21:42:39:380 | MD |     INFO  | +2870  | WinWait - Waiting for "nullDC ahk_class ndc_main_window"
21:42:40:238 | MD |     INFO  | +858   | WinWaitActive - Waiting for "nullDC ahk_class ndc_main_window"
21:42:40:588 | MD |     INFO  | +359   | Process - WaitClose nullDC_Win32_Release-NoTrace.exe 
21:43:44:149 | MD |     INFO  | +63555 | 7zCleanUp - Started
21:43:44:427 | MD |     INFO  | +281   | 7zCleanUp - Ended
21:43:44:457 | MD |     INFO  | +31    | VMU - VMUFile E:\Nulldc\vmu_data_port01.bin exists. Backing up to E:\Nulldc\Game VMU\AeroWings (USA)_port01.bin
21:43:44:457 | MD |     INFO  | +0     | ExitModule - Started
21:43:44:457 | MD |     INFO  | +0     | Starting Updating Statistics:
21:43:44:560 | MD |     INFO  | +94    | Game section statistics updated.
21:43:44:560 | MD |     INFO  | +0     | Process - Close cmd.exe 
21:43:44:560 | MD |     INFO  | +0     | ExitModule - Ended
21:43:44:560 | MD |     INFO  | +0     | End of Module Logs
21:43:44:638 | RL |     INFO  | +114365 | Main - Module ended, exiting RocketLauncher normally
21:43:44:638 | RL |     INFO  | +0     | ExitScript - Started
21:43:44:638 | RL |     INFO  | +0     | SystemCursor - Restoring mouse cursor
21:43:44:638 | RL |     INFO  | +0     | ExitScript - Ended
Posted

I also tried DEMUL and it goes to black screen..

21:47:12:985 | RL | INFO | +N/A | Main - RocketLauncher v1.0.0.0 (www.rlauncher.com)

21:47:12:985 | RL | WARNING | +0 | Main - You have "Logging_Show_Command_Window" enabled. This is only for showing errors being dumped to the command window from an executable. This may cause issues with running some executables and needs to be turned off when you are done.

21:47:12:985 | RL | WARNING | +0 | Main - You have "Logging_Log_Command_Window" enabled. This is only for logging errors being dumped to the command window from an executable. This may cause issues with running some executables and needs to be turned off when you are done.

21:47:12:985 | RL | WARNING | +0 | Main - You cannot use debug console and show/log a console for an emulator simultaneously. Turning off debug console to avoid errors launching.

21:47:14:725 | RL | INFO | +1748 | Main - System Specs:

RocketLauncher Dir: E:\Rocketlauncher

RocketLauncher is: 32-bit

OS: Microsoft Windows 7 Professional

SKU: Professional

Total Memory: 8016.31 MB

Free Memory: 6220.60 MB

Used Memory: 1795.715 MB

SystemType: 64-bit

Physical Processors: 1

Logical Processors: 4

GPU 1 Name: Intel® HD Graphics

GPU 1 RAM: -1924.00 MB

GPU 1 Driver Version: 9.17.10.3347

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: Yes

Monitor #1 (\\.\DISPLAY1): 1440x900 (1440x856 work)

Monitor #1 Orientation: Landscape

Current AHK Desktop Width: 1440

Current AHK Desktop Height: 900

AutoHotkey Path:

AHK Version: 1.1.09.04

Unicode: No

21:47:14:725 | RL | INFO | +0 | CheckFile - Checking if E:\Rocketlauncher\RocketLauncher.exe exists

21:47:14:735 | RL | INFO | +0 | Main - AeroWings (USA) is being forced via CLI to use the emulator: Demul58

21:47:14:735 | RL | INFO | +0 | CheckFile - Checking if E:\Rocketlauncher\Plugins\HyperSpin.plugin exists

21:47:14:735 | RL | INFO | +0 | Main - Loading Front End Plugin: "HyperSpin"

21:47:14:735 | RL | INFO | +0 | Main - RocketLauncher received "Sega Dreamcast" and "AeroWings (USA)"

21:47:14:735 | RL | INFO | +0 | Main - Did not find a "E:\Rocketlauncher\Settings\Sega Dreamcast\Game Options.ini" file, skipping any game-specific options.

21:47:14:735 | RL | INFO | +0 | Main - Checking for a [Demul58] section in E:\Rocketlauncher\Settings\Sega Dreamcast\Emulators.ini

21:47:14:735 | RL | INFO | +0 | Main - Checking for a [Demul58] section in E:\Rocketlauncher\Settings\Global Emulators.ini

21:47:14:735 | RL | INFO | +0 | Main - Found [Demul58] in E:\Rocketlauncher\Settings\Global Emulators.ini

21:47:14:735 | RL | INFO | +0 | CheckFile - Checking if E:\Rocketlauncher\Modules\Demul\Demul (v0.5.8).ahk exists

21:47:14:825 | RL | INFO | +93 | Main - CRC Check - CRC matches, this is an official unedited module.

21:47:14:825 | RL | INFO | +0 | Main - AeroWings (USA) will use module: E:\Rocketlauncher\Modules\Demul\Demul (v0.5.8).ahk

21:47:14:845 | RL | INFO | +16 | Main - Using standard method with "Rom Extension" SkipChecks or without any SkipChecks.

21:47:14:845 | RL | INFO | +0 | CheckFile - Checking if E:\Hyperspin\Emulators\Demul\demul.exe exists

21:47:14:875 | RL | INFO | +31 | Main - INI Keys read

21:47:14:875 | RL | INFO | +0 | CheckFile - Checking if E:\Rocketlauncher\Module Extensions\7z.exe exists

21:47:14:875 | RL | INFO | +0 | CheckFile - Checking if E:\Rocketlauncher\Module Extensions\7z.dll exists

21:47:14:875 | RL | INFO | +0 | CheckFile - Checking if E:\Rocketlauncher\Module Extensions\FontReg.exe exists

21:47:14:875 | RL | INFO | +0 | Main - "AeroWings (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

21:47:14:875 | RL | INFO | +0 | CheckPaths - Started

21:47:14:895 | RL | INFO | +16 | CheckPaths - Found rom: E:\Sega Dreamcast\AeroWings (USA).7z

21:47:14:895 | RL | INFO | +0 | CheckPaths - Ended

21:47:14:895 | RL | INFO | +0 | BuildScript - User Variables:

;----------------------------------------------------------------------------

; INJECTED VARIABLES

;----------------------------------------------------------------------------

#NoTrayIcon

#InstallKeybdHook

DetectHiddenWindows, ON

SetTitleMatchMode, 2

SendMode, Event

0 = 12

pluginPath = E:\Rocketlauncher\Plugins

pluginName = HyperSpin

pluginExt = .plugin

contextOnExit = 1

rlMode =

rlTitle = RocketLauncher

rlVersion = 1.0.0.0

rlAuthor = djvj

rlURL = www.rlauncher.com

langFile = E:\Rocketlauncher\Data\Language\Localization.ini

frontendPID =

frontendPath = E:\Hyperspin

frontendExe = HyperSpin.exe

frontendExt = exe

frontendName = HyperSpin

frontendDrive = E:

exitEmulatorKey = ~Esc

exitEmulatorKeyWait = 0

forceHoldKey = ~Esc

restoreFE = false

exitScriptKey = ~q & ~s

toggleCursorKey = ~e & ~t

emuFullPath = E:\Hyperspin\Emulators\Demul\demul.exe

emuPath = E:\Hyperspin\Emulators\Demul

emuName = Demul58

emuExt = exe

romPath = E:\Sega Dreamcast

romPathFromIni = E:\Sega Dreamcast

romExtension = .7z

romExtensionOrig = .7z

romExtensions = 7z|zip|gdi|cue|cdi|chd|mds|ccd|nrg

executable = demul.exe

systemDbName = Sega Dreamcast

systemName = Sega Dreamcast

dbPath =

dbName = AeroWings (USA)

dbExt =

romName = AeroWings (USA)

romMapPath =

romMappingEnabled = false

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 = E:\Rocketlauncher\Module Extensions\BlockInput.exe

errorLevelReporting = false

lockLaunch = false

lockLaunchGame =

screenRotationAngle = 0

screenRotationAngleGame =

logFile = E:\Rocketlauncher\RocketLauncher.log

logLabel := [" INFO"," WARNING"," ERROR"," DEBUG1"," DEBUG2"]

logLevel = 3

logShowDebugConsole = false

logIncludeModule = true

logIncludeFileProperties = true

logShowCommandWindow = true

logCommandWindow = true

rlDebugConsoleStdout =

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 = 1440

originalHeight = 900

vdEnabled = false

vdPath =

vdUseSCSI = true

vdAddDrive = true

servoStikEnabled = false

ledblinkyEnabled = false

ledblinkyFullPath =

ledblinkyProfilePath = E:\Rocketlauncher\Profiles\LEDBlinky

ledblinkyRLProfile = E:\Rocketlauncher\Profiles\LEDBlinky\RocketLauncher

emuIdleShutdown = 0

launchPasswordHash = UpUpDownDownLeftRightLeftRight

hideCursor = false

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 = imageandbar

fadeLyr3ImgFollow7zProgress = true

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 = E:\Rocketlauncher\Media\Fade

RLDataPath = E:\Rocketlauncher\Data

RLMediaPath = E:\Rocketlauncher\Media

RLErrSoundPath = E:\Rocketlauncher\Media\Sounds\Error

modulesPath = E:\Rocketlauncher\Modules

moduleFullName = E:\Rocketlauncher\Modules\Demul\Demul (v0.5.8).ahk

moduleName = Demul (v0.5.8)

modulePath = E:\Rocketlauncher\Modules\Demul

moduleExtension = ahk

moduleExtensionsPath = E:\Rocketlauncher\Module Extensions

libPath = E:\Rocketlauncher\Lib

7zEnabled = true

7zPath = E:\Rocketlauncher\Module Extensions\7z.exe

7zDllPath = E:\Rocketlauncher\Module Extensions\7z.dll

7zExtractPath = C:\Users\Lenovo\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

pauseEnabled = false

pauseKey = ~NumpadAdd

pauseBackToMenuBarKey = X

pauseZoomInKey = C

pauseZoomOutKey = V

pauseScreenshotKey = ~PrintScreen

pauseHiToTextPath = E:\Rocketlauncher\Module Extensions\HiToText.exe

pauseSaveStateKeyCodes =

pauseLoadStateKeyCodes =

keymapperEnabled = false

keymapperAHKMethod = false

keymapper = xpadder

xpadderFullPath = E:\Utilities\Xpadder\xpadder.exe

joyToKeyFullPath = E:\Utilities\JoyToKey\JoyToKey.exe

keymapperProfilePath = E:\Rocketlauncher\Profiles\xpadder

keymapperFrontEndProfileName = RocketLauncherUI

keymapperFrontEndProfile = false

keymapperRocketLauncherProfileEnabled = false

JoyIDsEnabled = false

JoyIDsPreferredControllersSystem = use_global

JoyIDsPreferredControllersGlobal =

CustomJoyNamesEnabled = false

CustomJoyNames =

rotateMethod = false

FEProfile = E:\Rocketlauncher\Profiles\xpadder\RocketLauncherUI

defaultProfile = E:\Rocketlauncher\Profiles\xpadder\_Default

systemProfile = E:\Rocketlauncher\Profiles\xpadder\Sega Dreamcast

xPadderSystemProfile = E:\Rocketlauncher\Profiles\xpadder\Sega Dreamcast\_Default

emuProfile = E:\Rocketlauncher\Profiles\xpadder\Sega Dreamcast\Demul58

romProfile = E:\Rocketlauncher\Profiles\xpadder\Sega Dreamcast\AeroWings (USA)

RocketLauncherProfile = E:\Rocketlauncher\Profiles\xpadder\RocketLauncher

blankProfile = E:\Rocketlauncher\Profiles\xpadder\_Default\blank

ahkFEProfile = E:\Rocketlauncher\Profiles\AHK\RocketLauncherUI

ahkDefaultProfile = E:\Rocketlauncher\Profiles\AHK\_Default

ahkSystemProfile = E:\Rocketlauncher\Profiles\AHK\Sega Dreamcast

ahkEmuProfile = E:\Rocketlauncher\Profiles\AHK\Sega Dreamcast\Demul58

ahkRomProfile = E:\Rocketlauncher\Profiles\AHK\Sega Dreamcast\AeroWings (USA)

ahkRocketLauncherProfile = E:\Rocketlauncher\Profiles\AHK\RocketLauncher

bezelEnabled = false

bezelICEnabled = false

statisticsEnabled = true

pressDuration = -1

emuVolume = 1

dxwndIni = E:\Rocketlauncher\Module Extensions\dxwnd\dxwnd.ini

dxwndFullPath = E:\Rocketlauncher\Module Extensions\dxwnd\dxwnd.exe

mon1O = 0

pacDrivedllFile = E:\Rocketlauncher\Module Extensions\PacDrive32.dll

userFadeAnimIniFile = E:\Rocketlauncher\Lib\User Fade Animations.ini

21:47:14:905 | RL | INFO | +15 | BuildScript - Loaded XHotkey Init.ahk scripts

21:47:14:905 | RL | INFO | +0 | BuildScript - Loaded Statistics Init.ahk scripts

21:47:14:905 | RL | WARNING | +0 | BuildScript - "E:\Rocketlauncher\Lib\User Functions Init.ahk" not found

21:47:14:905 | RL | INFO | +0 | BuildScript - Validating module

21:47:14:905 | RL | INFO | +0 | BuildScript - Validation complete

21:47:14:905 | RL | INFO | +0 | BuildScript - Module:

MEmu = Demul

MEmuV = v0.5.8.2

MURL = http://demul.emulation64.com/

MAuthor = djvj

MVersion = 2.0.5

MCRC = F2417FC2

iCRC = 6192134B

mId = 635211874656892855

MSystem = "Gaelco","Sammy Atomiswave","Sega Dreamcast","Sega Hikaru","Sega Naomi","Sega Naomi 2"

;----------------------------------------------------------------------------

; Notes:

; Required - control and nvram files can be found in my user dir on the FTP at /Upload Here/djvj/Sega Naomi\Emulators. Additonal instructions from my orignal HL1.0 script at http://www.hyperspin-fe.com/forum/showpost.php?p=86093&postcount=104

; Required - moduleName ini example can be found on GIT in the Demul module folder

; moduleName ini must be placed in same folder as this module if you use the provided example, just be sure to rename it to just Demul.ini first so it matches the module's name

; GDI images must match mame zip names and be extracted and have a .dat extension

; Rom_Extension should include 7z|zip|gdi|cue|cdi|chd|mds|ccd|nrg

; Module will automatically set your rom path for you on first launch

;

; Make sure the awbios, dc, hikaru, naomi, naomi2, saturn.zip bios archives are in any of your rom paths as they are needed to play all the games.

; Set your Video Plugin to gpuDX11 and set your desired resolution there

; In case your control codes do not match mine, set your desired control type in demul, then open the demul.ini and find section PORTB and look for the device key. Use this number instead of the one I provided

; gpuDX10 and gpuDX11 are the only supported plugins. You can define what plugin you want to use for each game in the module settings in RocketLauncherUI

; Read the tooltip for the Fullscreen module setting in RocketLauncherUI on how to control windowed fullscreen, true fullscreen, or windowed mode

; Windowed fullscreen will take effect the 2nd time you run the emu. It has to calculate your resolution on first run.

;

; Controls:

; Start a game of each control type (look in the RocketLauncherUI's module settings for these types, they all have their own tabs) and configure your controls to play the game. After configuring your controls manually in Demul, open padDemul.ini and Copy/paste the JAMMA0_0 and JAMMA0_1 (for naomi) or the ATOMISWAVE0_0 and ATOMISWAVE0_1 (for atomiswave) into RocketLauncherUI's module settings for each controls tab (standard, sfstyle, etc).

; Each pair of control tabs designates another real arcade control schema for a grouping of games. Demul does not handle this like MAME, so the module does instead.

;

; Gaelco:

; There is no known way to launch the desired Gaelco rom from CLI. You will always be presented with the rom selection window on launch.

;

; Sega Hikaru:

; Windowed Fullscreen doesn't seem to work as demul does not allow stretching of its window

;

; Troubleshooting:

; For some reason demul's ini files can get corrupted and ahk can't read/write to them correctly.

; If your ini keys are not being read or not writing to their existing keys in the demul inis, create a new file and copy/paste everything from the old ini into the new one and save.

; If you use Fade_Out, the module will disable it. Demul crashes when Fade tries to draw on top of it in windowed and fullscreen modes.

;----------------------------------------------------------------------------

StartModule()

BezelGUI()

ExtraFixedResBezelGUI()

FadeInStart()

; This object controls how the module reacts to different systems. Demul can play a few systems, but needs to know what system you want to run, so this module has to adapt.

mType := Object("Gaelco","gaelco","Sammy Atomiswave","atomiswave","Sega Dreamcast","dc","Sega Hikaru","hikaru","Sega Naomi","naomi","Sega Naomi 2","naomi2")

ident := mType[systemName] ; search object for the systemName identifier Demul uses

If !ident

ScriptError("Your systemName is: " . systemName . "`nIt is not one of the known supported systems for this Demul module: " . moduleName)

settingsFile := modulePath . "\" . moduleName . ".ini"

demulFile := CheckFile(emuPath . "\Demul.ini", "Could not find Demul's ini. Please run Demul manually first and each of it's settings sections so the appropriate inis are created for you: " . emuPath . "\Demul.ini")

padFile := CheckFile(emuPath . "\padDemul.ini", "Could not find Demul's control ini. Please run Demul manually first and set up your controls so this file is created for you: " . emuPath . "\padDemul.ini")

demulFileEncoding := COM_Invoke(RLObject, "getFileEncoding", demulFile)

If demulFileEncoding {

Log("Module - Recreating " . demulFile . " as ANSI because UTF-8 format cannot be read")

If COM_Invoke(RLObject, "removeBOM", demulFile)

Log("Module - Successfully converted " . demulFile . " to ANSI")

Else

Log("Module - Failed to convert " . demulFile . " to ANSI",3)

}

maxHideTaskbar := IniReadCheck(settingsFile, "Settings", "MaxHideTaskbar", "true",,1)

controllerCode := IniReadCheck(settingsFile, "Settings", "ControllerCode", "16777216",,1)

mouseCode := IniReadCheck(settingsFile, "Settings", "MouseCode", "131072",,1)

keyboardCode := IniReadCheck(settingsFile, "Settings", "KeyboardCode", "1073741824",,1)

lightgunCode := IniReadCheck(settingsFile, "Settings", "LightgunCode", "-2147483648",,1)

lastControlUsed := IniReadCheck(settingsFile, "Settings", "LastControlUsed",,,1)

hideDemulGUI := IniReadCheck(settingsFile, "Settings", "HideDemulGUI", "true",,1)

PerGameMemoryCards := IniReadCheck(settingsFile, "Settings", "PerGameMemoryCards", "true",,1)

memCardPath := IniReadCheck(settingsFile, "Settings", "MemCardPath", emuPath . "\memsaves",,1)

memCardPath := AbsoluteFromRelative(emuPath, memCardPath)

fullscreen := IniReadCheck(settingsFile, "Settings|" . romName, "Fullscreen", "windowedfullscreen",,1)

plugin := IniReadCheck(settingsFile, "Settings|" . romName, "Plugin", "gpuDX11",,1)

shaderUsePass1 := IniReadCheck(settingsFile, "Settings|" . romName, "ShaderUsePass1", "false",,1)

shaderUsePass2 := IniReadCheck(settingsFile, "Settings|" . romName, "ShaderUsePass2", "false",,1)

shaderNamePass1 := IniReadCheck(settingsFile, "Settings|" . romName, "ShaderNamePass1",,,1)

shaderNamePass2 := IniReadCheck(settingsFile, "Settings|" . romName, "ShaderNamePass2",,,1)

listSorting := IniReadCheck(settingsFile, "Settings|" . romName, "ListSorting", "true",,1)

OpaqueMod := IniReadCheck(settingsFile, "Settings|" . romName, "OModifier", "true",,1)

TransMod := IniReadCheck(settingsFile, "Settings|" . romName, "TModifier", "true",,1)

internalResolutionScale := IniReadCheck(settingsFile, "Settings|" . romName, "InternalResolutionScale", "1",,1)

videomode := IniReadCheck(settingsFile, "Settings|" . romName, "VideoMode", "0",,1)

displayVMU := IniReadCheck(settingsFile, "Settings", "DisplayVMU", "true",,1)

VMUPos := IniReadCheck(settingsFile, "Settings", "VMUPos", "topRight",,1) ; topRight, topCenter, topLeft, leftCenter, bottomLeft, bottomCenter, bottomRight, rightCenter

VMUHideKey := IniReadCheck(settingsFile, "Settings", "VMUHideKey","F10",,1)

Bios := IniReadCheck(settingsFile, romName, "Bios",,,1)

LoadDecrypted := IniReadCheck(settingsFile, romName, "LoadDecrypted",,,1) ; not currently supported

; Read all the control values

controls := IniReadCheck(settingsFile, romname, "Controls", "standard",,1) ; have to read this first so the below ini reads work

push1_0 := IniReadCheck(settingsFile, controls . "_JAMMA0_0", "push1",,,1)

push2_0 := IniReadCheck(settingsFile, controls . "_JAMMA0_0", "push2",,,1)

push3_0 := IniReadCheck(settingsFile, controls . "_JAMMA0_0", "push3",,,1)

push4_0 := IniReadCheck(settingsFile, controls . "_JAMMA0_0", "push4",,,1)

push5_0 := IniReadCheck(settingsFile, controls . "_JAMMA0_0", "push5",,,1)

push6_0 := IniReadCheck(settingsFile, controls . "_JAMMA0_0", "push6",,,1)

push7_0 := IniReadCheck(settingsFile, controls . "_JAMMA0_0", "push7",,,1)

push8_0 := IniReadCheck(settingsFile, controls . "_JAMMA0_0", "push8",,,1)

service_0 := IniReadCheck(settingsFile, controls . "_JAMMA0_0", "SERVICE",,,1)

start_0 := IniReadCheck(settingsFile, controls . "_JAMMA0_0", "START",,,1)

coin_0 := IniReadCheck(settingsFile, controls . "_JAMMA0_0", "COIN",,,1)

digitalup_0 := IniReadCheck(settingsFile, controls . "_JAMMA0_0", "DIGITALUP",,,1)

digitaldown_0 := IniReadCheck(settingsFile, controls . "_JAMMA0_0", "DIGITALDOWN",,,1)

digitalleft_0 := IniReadCheck(settingsFile, controls . "_JAMMA0_0", "DIGITALLEFT",,,1)

digitalright_0 := IniReadCheck(settingsFile, controls . "_JAMMA0_0", "DIGITALRIGHT",,,1)

analogup_0 := IniReadCheck(settingsFile, controls . "_JAMMA0_0", "ANALOGUP",,,1)

analogdown_0 := IniReadCheck(settingsFile, controls . "_JAMMA0_0", "ANALOGDOWN",,,1)

analogleft_0 := IniReadCheck(settingsFile, controls . "_JAMMA0_0", "ANALOGLEFT",,,1)

analogright_0 := IniReadCheck(settingsFile, controls . "_JAMMA0_0", "ANALOGRIGHT",,,1)

analogup2_0 := IniReadCheck(settingsFile, controls . "_JAMMA0_0", "ANALOGUP2",,,1)

analogdown2_0 := IniReadCheck(settingsFile, controls . "_JAMMA0_0", "ANALOGDOWN2",,,1)

analogleft2_0 := IniReadCheck(settingsFile, controls . "_JAMMA0_0", "ANALOGLEFT2",,,1)

analogright2_0 := IniReadCheck(settingsFile, controls . "_JAMMA0_0", "ANALOGRIGHT2",,,1)

push1_1 := IniReadCheck(settingsFile, controls . "_JAMMA0_1", "push1",,,1)

push2_1 := IniReadCheck(settingsFile, controls . "_JAMMA0_1", "push2",,,1)

push3_1 := IniReadCheck(settingsFile, controls . "_JAMMA0_1", "push3",,,1)

push4_1 := IniReadCheck(settingsFile, controls . "_JAMMA0_1", "push4",,,1)

push5_1 := IniReadCheck(settingsFile, controls . "_JAMMA0_1", "push5",,,1)

push6_1 := IniReadCheck(settingsFile, controls . "_JAMMA0_1", "push6",,,1)

push7_1 := IniReadCheck(settingsFile, controls . "_JAMMA0_1", "push7",,,1)

push8_1 := IniReadCheck(settingsFile, controls . "_JAMMA0_1", "push8",,,1)

service_1 := IniReadCheck(settingsFile, controls . "_JAMMA0_1", "SERVICE",,,1)

start_1 := IniReadCheck(settingsFile, controls . "_JAMMA0_1", "START",,,1)

coin_1 := IniReadCheck(settingsFile, controls . "_JAMMA0_1", "COIN",,,1)

digitalup_1 := IniReadCheck(settingsFile, controls . "_JAMMA0_1", "DIGITALUP",,,1)

digitaldown_1 := IniReadCheck(settingsFile, controls . "_JAMMA0_1", "DIGITALDOWN",,,1)

digitalleft_1 := IniReadCheck(settingsFile, controls . "_JAMMA0_1", "DIGITALLEFT",,,1)

digitalright_1 := IniReadCheck(settingsFile, controls . "_JAMMA0_1", "DIGITALRIGHT",,,1)

analogup_1 := IniReadCheck(settingsFile, controls . "_JAMMA0_1", "ANALOGUP",,,1)

analogdown_1 := IniReadCheck(settingsFile, controls . "_JAMMA0_1", "ANALOGDOWN",,,1)

analogleft_1 := IniReadCheck(settingsFile, controls . "_JAMMA0_1", "ANALOGLEFT",,,1)

analogright_1 := IniReadCheck(settingsFile, controls . "_JAMMA0_1", "ANALOGRIGHT",,,1)

analogup2_1 := IniReadCheck(settingsFile, controls . "_JAMMA0_1", "ANALOGUP2",,,1)

analogdown2_1 := IniReadCheck(settingsFile, controls . "_JAMMA0_1", "ANALOGDOWN2",,,1)

analogleft2_1 := IniReadCheck(settingsFile, controls . "_JAMMA0_1", "ANALOGLEFT2",,,1)

analogright2_1 := IniReadCheck(settingsFile, controls . "_JAMMA0_1", "ANALOGRIGHT2",,,1)

If (InStr(systemName, "Hikaru") && plugin != "gpuDX11")

plugin := "gpuDX11" ; Hikaru does not work with gpuDX10 gpu plugin, setting it dumps an error

; Verify user set desired gpu plugin name correctly

If (plugin != "gpuDX11" && plugin != "gpuDX10" && plugin != "")

ScriptError(plugin . " is not a supported gpu plugin.`nLeave the plugin blank to use the default ""gpuDX11"".`nValid options are gpuDX11 or gpuDX10.")

; Read and write videomode value for cable type

IniRead, rvideomode, %demulFile%, main, videomode

Log("Module - Demul is reading the config with videomode = " . rvideomode)

IniWrite, %videomode%, %demulFile%, main, videomode

Log("Module - Demul is updating the config with videomode = " . videomode)

;ExitApp

; Handle Demul's rom paths so the user doesn't have to

IniRead, romPathCount, %demulFile%, files, romsPathsCount

Log("Module - Demul is configured with " . romPathCount . " rom path(s). Scanning these for a romPath to this rom.")

Loop, %romPathCount%

{ demulRomPath := A_Index - 1 ; rompaths in demul start with 0

IniRead, path%A_Index%, %demulFile%, files, roms%demulRomPath%

Log("Module - Path" . demulRomPath . ": " . path%A_Index%)

; msgbox % path%A_Index%

If (path%A_Index% = romPath . "\") ; demul tacks on the backslash at the end

{ romPathFound := 1 ; flag that demul has this romPath in its config and no need to add it

Log("Module - Stopping search because Demul is already configured with the correct romPath to this rom: " . path%A_Index%)

Break ; stop looking for a correct romPath

}

}

If !romPathFound ; if demul doesn't have the romPath in its ini, add it

{ Log("Module - Demul does not have this romPath in Demul.ini, adding it for you.",2)

nextPath := romPathCount + 1 ; add 1 to the romPathCount and write that to the ini

IniWrite, %nextPath%, %demulFile%, files, romsPathsCount

IniWrite, %romPath%\, %demulFile%, files, % "roms" . romPathCount ; write the rompath to the ini

}

BezelStart("FixResMode")

; Force Fade_Out to disabled as it causes demul to not close properly

fadeOut = false

Log("Module - Turning off Fade_Out because it doesn't let Demul exit properly.",2)

; check for the specified gpu plugin

gpuFile := CheckFile(emuPath . "\" . plugin . ".ini", "Please run Demul manually first and select the " . plugin . " gpu plugin so it creates this file for you: " . emuPath . "\" . plugin . ".ini")

demulFileEncoding := COM_Invoke(RLObject, "getFileEncoding", gpuFile)

If demulFileEncoding {

Log("Module - Recreating " . gpuFile . " as ANSI because UTF-8 format cannot be read")

If COM_Invoke(RLObject, "removeBOM", gpuFile)

Log("Module - Successfully converted " . gpuFile . " to ANSI")

Else

Log("Module - Failed to convert " . gpuFile . " to ANSI",3)

}

; This updates the DX11gpu ini file to turn List Sorting on or off. Depending on the games, turning this on for some games may remedy missing graphics, having it off on other games may fix corrupted graphics. Untill they improve the DX11gpu, this is the best it's gonna get.

If ListSorting = true

IniWrite, 0, %gpuFile%, main, AutoSort

Else

IniWrite, 1, %gpuFile%, main, AutoSort

; This will set the Opaque or Trans modifier for each game

If OpaqueMod = true

IniWrite, 0, %gpuFile%, main, OModifier

Else

IniWrite, 1, %gpuFile%, main, OModifier

If TransMod = true

IniWrite, 0, %gpuFile%, main, TModifier

Else

IniWrite, 1, %gpuFile%, main, TModifier

; This updates the DX10gpu or DX11gpu ini file to the scale you want to use for this game

IniWrite, %InternalResolutionScale%, %gpuFile%, main, scaling

; This updates the demul.ini with your gpu plugin choice for the selected rom

IniWrite, %plugin%.dll, %demulFile%, plugins, gpu

; This updates the demul.ini with your VMU display choice

VMUscreendisable := If (displayVMU="true") ? "false" : "true"

IniWrite, %VMUscreendisable% , %demulFile%, main, VMUscreendisable

; Shader Effects

Loop, 2 {

shaderUsePass%A_Index% := If (ShaderUsePass%A_Index% != "" and ShaderUsePass%A_Index% != "ERROR" ? (ShaderUsePass%A_Index%) : (GlobalShaderUsePass%A_Index%)) ; determine what shaderUsePass to use

IniRead, currentusePass%A_Index%, %gpuFile%, shaders, usePass%A_Index%

If (shaderUsePass%A_Index% = "true")

{

shaderNamePass%A_Index% := If (ShaderNamePass%A_Index% != "" and ShaderNamePass%A_Index% != "ERROR" ? (ShaderNamePass%A_Index%) : (GlobalShaderNamePass%A_Index%)) ; determine what shaderNamePass to use

If shaderNamePass%A_Index% not in FXAA,HDR-TV,SCANLINES,CARTOON,RGB DOT(MICRO),RGB DOT(TINY),BLUR

ScriptError(shaderNamePass%A_Index% . " is not a valid choice for a shader. Your options are FXAA, HDR-TV, SCANLINES, CARTOON, RGB DOT(MICRO), RGB DOT(TINY), or BLUR.")

If (currentusePass%A_Index% = 0)

IniWrite, 1, %gpuFile%, shaders, usePass%A_Index% ; turn shader on in gpuDX11 ini

IniWrite, % shaderNamePass%A_Index%, %gpuFile%, shaders, shaderPass%A_Index% ; update gpuDX11 ini with the shader name to use

}Else If (shaderUsePass%A_Index% != "true" and currentusePass%A_Index% = 1)

IniWrite, 0, %gpuFile%, shaders, usePass%A_Index% ; turn shader off in gpuDX11 ini

}

If ident = dc

{

7z(romPath, romName, romExtension, 7zExtractPath)

If ( romExtension = ".cdi" || romExtension = ".mds" || romExtension = ".ccd" || romExtension = ".nrg" || romExtension = ".gdi" || romExtension = ".cue" ) {

gdrImageFile := CreateDefaultGDROMIni("image")

FileDelete, %gdrImageFile%

Sleep, 500

IniWrite, gdrImage.dll, %demulFile%, plugins, gdr

IniWrite, false, %gdrImageFile%, Main, openDialog

IniWrite, %romPath%\%romName%%romExtension%, %gdrImageFile%, Main, imagefilename

} Else If romExtension = .chd

{

gdrCHDFile := CreateDefaultGDROMIni("chd")

FileDelete, %gdrCHDFile%

Sleep, 500

IniWrite, false, %gdrCHDFile%, Main, openDialog

IniWrite, gdrCHD.dll, %demulFile%, plugins, gdr

IniWrite, %romPath%\%romName%%romExtension%, %gdrCHDFile%, Main, imagefilename

} Else

ScriptError(romExtension . " is not a supported file type for this " . moduleName . " module.")

IniWrite, 1, %demulFile%, main, region ; Set BIOS to Auto Region

} Else { ; all other systems, Naomi and Atomiswave

; This updates the demul.ini with your Bios choice for the selected rom

If ( Bios != "" && Bios != "ERROR" ) {

Bios := RegExReplace(Bios,"\s.*") ; Cleans off the added text from the key's value so only the number is left

IniWrite, false, %demulFile%, main, naomiBiosAuto ; turning auto bios off so we can use a specific one instead

IniWrite, %Bios%, %demulFile%, main, naomiBios ; setting specific bios user has set from the moduleName ini

} Else

IniWrite, true, %demulFile%, main, naomiBiosAuto ; turning auto bios on if user did not specify a specific one

}

; This section writes your custom keys to the padDemul.ini. Naomi games had many control panel layouts. The only way we can accomodate these differing controls, is to keep track of them all and write them to the ini at the launch of each game.

; First we check if the last controls used are the same as the game we want to play, so we don't waste time updating the ini if it is not necessary. For example playing 2 sfstyle type games in a row, we wouldn't need to write to the ini.

; This section tells demul what arcade control type should be connected to the game. Options are standard (aka controller), mouse, lightgun, or keyboard

If (controls = "lightgun" || controls = "mouse") {

Log("Module - This game uses a Mouse or Lightgun control type.")

IniWrite, %MouseCode%, %demulFile%, PORTB, device

} Else If (controls = "keyboard") {

Log("Module - This game uses a Keyboard control type.")

IniWrite, %KeyboardCode%, %demulFile%, PORTB, device

} Else { ; accounts for all other control types

Log("Module - This game uses a standard (controller) control type.")

IniWrite, %ControllerCode%, %demulFile%, PORTB, device

}

Log("Module - Last control scheme used was """ . lastControlUsed . """ and this game requires """ . controls . """")

If (LastControlUsed != controls) { ; find out last controls used for the system we are launching

WriteControls(padFile, 0,push1_0,push2_0,push3_0,push4_0,push5_0,push6_0,push7_0,push8_0,SERVICE_0,START_0,COIN_0,DIGITALUP_0,DIGITALDOWN_0,DIGITALLEFT_0,DIGITALRIGHT_0,ANALOGUP_0,ANALOGDOWN_0,ANALOGLEFT_0,ANALOGRIGHT_0,ANALOGUP2_0,ANALOGDOWN2_0,ANALOGLEFT2_0,ANALOGRIGHT2_0)

WriteControls(padFile, 1,push1_1,push2_1,push3_1,push4_1,push5_1,push6_1,push7_1,push8_1,SERVICE_1,START_1,COIN_1,DIGITALUP_1,DIGITALDOWN_1,DIGITALLEFT_1,DIGITALRIGHT_1,ANALOGUP_1,ANALOGDOWN_1,ANALOGLEFT_1,ANALOGRIGHT_1,ANALOGUP2_1,ANALOGDOWN2_1,ANALOGLEFT2_1,ANALOGRIGHT2_1)

IniWrite, %controls%, %settingsFile%, Settings, LastControlUsed

Log("Module - Wrote " . controls . " controls to padDemul.ini.")

} Else

Log("Module - Not changing controls because the currently configured controls are the same for this game.")

; This will check the save game files and create per game ones if enabled.

If PerGameMemoryCards = true

{

IfNotExist, %memCardPath%

FileCreateDir, %memCardPath% ; create memcard folder if it doesn't exist

defaultMemCard := memCardPath . "\default_vms.bin" ; defining default blank VMU file

If (FileExist(defaultMemCard))

{

Log("VMU - Default VMU file location - " . defaultMemCard,4)

Loop, 4

{

outerLoop := A_Index

If A_Index = 1

{

contrPort := "A"

}

Else If A_Index = 2

{

contrPort := "B"

}

Else If A_Index = 3

{

contrPort := "C"

}

Else If A_Index = 4

{

contrPort := "D"

}

IniRead, controllerPort%contrPort%, %demulFile%, PORT%contrPort%, device

Log("VMU - Config for controller PORT" . contrPort . " = " . controllerPort%contrPort%,4)

If controllerPort%contrPort% = -1

continue

Loop, 2

{

SubCount := % A_Index - 1

IniRead, VMUPort%SubCount%, %demulFile%, PORT%contrPort%, port%SubCount%

Log("VMU - Config Plugin VMUPort" . contrPort . SubCount . " for controller PORT" . contrPort . " = " . VMUPort%SubCount%,4)

If (VMUPort%SubCount% <> -1)

{

IniRead, VMUPortFile%SubCount%, %demulFile%, VMS, VMS%contrPort%%SubCount%

Log("VMU - VMUPortFile" . contrPort . SubCount . " controllerVMU" . contrPort . SubCount . " " . "VMS" . contrPort . SubCount . " = " . VMUPortFile%SubCount%,4)

memCardName := If romTable[1,5] ? romTable[1,4] : romName ; defining rom name for multi disc rom

PerGameVMUIn := memCardPath . "\" . memCardName . "_vms_" . contrPort . SubCount . ".bin"

Log("VMU - PerGameVMUIn = " . PerGameVMUIn,4)

If (FileExist(PerGameVMUIn))

{

Log("VMU - PerGameVMU file exists at " . PerGameVMUIn,4)

IniWrite, %PerGameVMUIn%, %demulFile%, VMS, VMS%contrPort%%SubCount%

Log("VMU - PerGameVMU file written to " . demulFile . " at section VMS to variable VMS" . contrPort . SubCount . " as " . PerGameVMUIn,4)

} ELSE {

Log("VMU - PerGameVMU file does not exist. So we will create one at " . PerGameVMUIn)

FileCopy, %defaultMemCard%, %PerGameVMUIn%

Log("VMU - PerGameVMU file written to " . demulFile . " at section VMS to variable VMS" . contrPort . SubCount . " as " . PerGameVMUIn)

IniWrite, %PerGameVMUIn%, %demulFile%, VMS, VMS%contrPort%%SubCount%

}

} ELSE {

Log("VMU - No VMU Plugged In.",4)

}

}

}

} Else {

Log("VMU - No default VMU file at " . defaultMemCard,4)

}

}

; Setting demul to use true fullscreen if defined in settings.ini, otherwise sets demul to run windowed. This is for gpuDX11 plugin only

If plugin = gpuDX11

If fullscreen = truefullscreen

IniWrite, 1, %gpuFile%, main, UseFullscreen

Else

IniWrite, 0, %gpuFile%, main, UseFullscreen

If fullscreen = windowedfullscreen

{

If maxHideTaskbar = true

{

Log("Module - Hiding Taskbar and Start Button.")

WinHide, ahk_class Shell_TrayWnd

WinHide, Start ahk_class Button

}

; Create black background to give the emu the fullscreen look

Log("Module - Creating black background to simulate a fullscreen look.")

Gui demulGUI: -Caption +ToolWindow

Gui demulGUI: Color, Black

Gui demulGUI: Show, x0 y0 h%A_ScreenHeight% w%A_ScreenWidth%

}

Sleep, 250

; Construct the CLI for demul and send romName if naomi or atomiswave. Dreamcast needs a full path and romName.

If LoadDecrypted = true ; decrypted naomi rom

romCLI := "-customrom=" . """" . romPath . "\" . romName . ".bin"""

Else If ident = dc ; dreamcast game

romCLI := " -image=" . """" . romPath . "\" . romName . romExtension . """"

Else ; standard naomi rom

romCLI := "-rom=" . romName

hideEmuObj := Object("LCD 0 ahk_class LCD 0",1,"ahk_class window",1) ; Hide_Emu will hide these windows. 0 = will never unhide, 1 = will unhide later

HideEmuStart()

; Run(executable . " -run=" . ident . " " . romCLI, emuPath,, emuPID)

Run(executable . " -run=" . ident . " " . romCLI, emuPath, (If hideDemulGUI = "true" ? "min" : ""), emuPID) ; launching minimized, then restoring later hides the launch completely

Sleep, 1000 ; Need a second for demul to launch, increase if yours takes longer and the emu is NOT appearing and staying minimized. This is required otherwise bezel backgrounds do not appear

DetectHiddenWindows, On

If (hideDemulGUI = "true")

{ WinRestore, ahk_class window

WinActivate, ahk_class window

}

Log("Module - Waiting for Demul to finish loading game.")

Loop { ; looping until demul is done loading rom and gpu starts showing frames

Sleep, 200

WinGetTitle, winTitle, ahk_class window

StringSplit, winTextSplit, winTitle, %A_Space%

If (winTextSplit5 = "gpu:" And winTextSplit6 != "0" And winTextSplit6 != "1")

Break

}

Log("Module - Demul finished loading game.")

If (InStr(systemName, "Gaelco") && fullscreen = "truefullscreen")

Send !{Enter} ; Automatic fullscreen seems to be broken in the Gaelco driver, must alt+Enter to get fullscreen

; This is where we calculate and maximize demul's window using our pseudo fullscreen code

If fullscreen = windowedfullscreen

{

WinSet, Style, -0x40000, ahk_class window ; Removes the border of the game window

WinSet, Style, -0xC00000, ahk_class window ; Removes the TitleBar

Send, {F3} ; Removes the MenuBar

MaximizeWindow("ahk_class window") ; this will take effect after you run demul once because we cannot stretch demul's screen while it is running.

}

BezelDraw()

If (displayVMU="true"){

WinGet VMUWindowID, ID, LCD 0 ahk_class LCD 0

ExtraFixedResBezelDraw(VMUWindowID, "VMU", VMUPos, 144, 96, 8, 8, 28, 8)

VMUHideKey := xHotKeyVarEdit(VMUHideKey,"VMUHideKey","~","Add")

xHotKeywrapper(VMUHideKey,"VMUHide")

}

HideEmuEnd()

FadeInExit()

Process("WaitClose", executable)

If fullscreen = windowedfullscreen

{ Gui demulGUI: Destroy

Log("Module - Destroyed black gui background.")

}

BezelExit()

ExtraFixedResBezelExit()

FadeOutExit()

If (fullscreen = "windowedfullscreen" && maxHideTaskbar = "true") {

Log("Module - Showing Taskbar and Start Button.")

WinShow,ahk_class Shell_TrayWnd

WinShow,Start ahk_class Button

}

ExitModule()

; Write new controls to padDemul.ini

WriteControls(file, player,push1,push2,push3,push4,push5,push6,push7,push8,service,start,coin,digitalup,digitaldown,digitalleft,digitalright,analogup,analogdown,analogleft,analogright,analogup2,analogdown2,analogleft2,analogright2) {

IniWrite, %push1%, %file%, JAMMA0_%player%, PUSH1

IniWrite, %push2%, %file%, JAMMA0_%player%, PUSH2

IniWrite, %push3%, %file%, JAMMA0_%player%, PUSH3

IniWrite, %push4%, %file%, JAMMA0_%player%, PUSH4

IniWrite, %push5%, %file%, JAMMA0_%player%, PUSH5

IniWrite, %push6%, %file%, JAMMA0_%player%, PUSH6

IniWrite, %push7%, %file%, JAMMA0_%player%, PUSH7

IniWrite, %push8%, %file%, JAMMA0_%player%, PUSH8

IniWrite, %service%, %file%, JAMMA0_%player%, SERVICE

IniWrite, %start%, %file%, JAMMA0_%player%, START

IniWrite, %coin%, %file%, JAMMA0_%player%, COIN

IniWrite, %digitalup%, %file%, JAMMA0_%player%, DIGITALUP

IniWrite, %digitaldown%, %file%, JAMMA0_%player%, DIGITALDOWN

IniWrite, %digitalleft%, %file%, JAMMA0_%player%, DIGITALLEFT

IniWrite, %digitalright%, %file%, JAMMA0_%player%, DIGITALRIGHT

IniWrite, %analogup%, %file%, JAMMA0_%player%, ANALOGUP

IniWrite, %analogdown%, %file%, JAMMA0_%player%, ANALOGDOWN

IniWrite, %analogleft%, %file%, JAMMA0_%player%, ANALOGLEFT

IniWrite, %analogright%, %file%, JAMMA0_%player%, ANALOGRIGHT

IniWrite, %analogup2%, %file%, JAMMA0_%player%, ANALOGUP2

IniWrite, %analogdown2%, %file%, JAMMA0_%player%, ANALOGDOWN2

IniWrite, %analogleft2%, %file%, JAMMA0_%player%, ANALOGLEFT2

IniWrite, %analogright2%, %file%, JAMMA0_%player%, ANALOGRIGHT2

}

MaximizeWindow(class) {

Global MEmu,plugin,gpuFile

Log("MaximizeWindow - Started")

WinGetPos, appX, appY, appWidth, appHeight, %class%

Log("MaximizeWindow - " . MEmu . " is currently x: " . appX . " y: " . appY . " w: " . appWidth . " h: " . appHeight,4)

widthMaxPercenty := ( A_ScreenWidth / appWidth )

heightMaxPercenty := ( A_ScreenHeight / appHeight )

If ( widthMaxPercenty < heightMaxPercenty )

percentToEnlarge := widthMaxPercenty

Else

percentToEnlarge := heightMaxPercenty

appWidthNew := appWidth * percentToEnlarge

appHeightNew := appHeight * percentToEnlarge

Transform, appX, Round, %appX%

Transform, appY, Round, %appY%

Transform, appWidthNew, Round, %appWidthNew%

Transform, appHeightNew, Round, %appHeightNew%

appXPos := ( A_ScreenWidth / 2 ) - ( appWidthNew / 2 )

appYPos := ( A_ScreenHeight / 2 ) - ( appHeightNew / 2 )

If ( plugin = "gpuDX11" ) {

IniWrite, %appWidthNew%, %gpuFile%, resolution, Width

IniWrite, %appHeightNew%, %gpuFile%, resolution, Height

} Else {

IniWrite, %appWidthNew%, %gpuFile%, resolution, wWidth

IniWrite, %appHeightNew%, %gpuFile%, resolution, wHeight

}

WinMove, %class%,, appXPos, appYPos

Log("MaximizeWindow - " . MEmu . " resized to x: " . appX . " y: " . appY . " w: " . appWidthNew . " h: " . appHeightNew,4)

Log("MaximizeWindow - Ended")

}

; Creates a default gdrCHD.ini or gdrImage.ini in your emu folder if one does not exist already.

CreateDefaultGDROMIni(type) {

Global emuPath

defaultIni := "[main]`r`nimageFileName = `r`nopenDialog = false"

IniType := If type = "chd" ? "gdrCHD.ini" : "gdrImage.ini"

FileAppend, %defaultIni%, % emuPath . "\" . IniType

Return emuPath . "\" . IniType

}

HaltEmu:

If fullscreen = truefullscreen

Send !{Enter}

If VMUHideKey

XHotKeywrapper(VMUHideKey,"VMUHide","OFF")

Return

RestoreEmu:

If fullscreen = truefullscreen

Send !{Enter}

If (displayVMU="true")

{ WinSet, Transparent, 0, ahk_ID %VMUWindowID%

WinSet, AlwaysOnTop, On, ahk_ID %VMUWindowID%

WinShow, ahk_ID %VMUWindowID%

WinSet, AlwaysOnTop, On, ahk_ID %VMUWindowID%

WinSet, AlwaysOnTop, On, ahk_ID %extraFixedRes_Bezel_hwnd%

WinShow, ahk_ID %extraFixedRes_Bezel_hwnd%

If !(VMUHidden)

WinSet, Transparent, off, ahk_ID %VMUWindowID%

}

If VMUHideKey

XHotKeywrapper(VMUHideKey,"VMUHide","ON")

Return

HideGUIWindow:

WinSet, Transparent, On, ahk_class window

WinActivate ahk_class window ; once activated, demul starts loading the rom

Return

VMUHide:

If (VMUHidden) {

Loop, 4

WinSet, Transparent, off, ahk_ID %VMUWindowID%

UpdateLayeredWindow(extraFixedRes_Bezel_hwnd, extraFixedRes_Bezel_hdc,0,0, A_ScreenWidth, A_ScreenHeight,255)

VMUHidden := false

} Else {

Loop, 4

WinSet, Transparent, 0, ahk_ID %VMUWindowID%

UpdateLayeredWindow(extraFixedRes_Bezel_hwnd, extraFixedRes_Bezel_hdc,0,0, A_ScreenWidth, A_ScreenHeight,0)

VMUHidden := true

}

Return

CloseProcess:

FadeOutStart()

PostMessage, 0x111, 40085,,,ahk_class window ; Stop emulation first for a clean exit

Sleep, 5 ; just like to give a little time before closing

PostMessage, 0x111, 40080,,,ahk_class window ; Exit

Return

21:47:14:925 | RL | INFO | +16 | BuildScript - Loaded Multi-Player scripts

21:47:14:925 | RL | INFO | +0 | BuildScript - Loaded Statistics.ahk script

21:47:14:925 | RL | WARNING | +0 | BuildScript - "E:\Rocketlauncher\Lib\User Functions.ahk" not found

21:47:14:925 | RL | INFO | +0 | BuildScript - Finished injecting functions into module

21:47:14:925 | RL | INFO | +0 | Main - Module is built

21:47:14:925 | RL | INFO | +0 | CheckFile - Checking if E:\Rocketlauncher\AutoHotkey.dll exists

21:47:15:000 | RL | INFO | +78 | Main - Running module

Posted

Well I located a different version and got it working temporarily.. no I run it and it hangs again. When I try it in hyperspin, when I click to enter the dreamcast section it closes out of hyperspin completely.. weird.

Archived

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

×
×
  • Create New...