Jump to content
(Open Beta) HyperSpin 2 is now available for everyone ×

Cart Address error When launching WinVICE (VIC-20) through RL


Recommended Posts

Posted

Hello,
Getting this error when launch WinVICE (VIC-20)exe through RL.
Launching games directly with Emu.exe is ok.

598b645963485_WINVICEvic20error.jpg.b6c7d7aa3ef317437612d0c1664e6545.jpg

 

btw, running WinVICE ver: WinVICE-3.1-x64

In Hyperspin\modules I'm missing the ahk file for Commodore VIC-20, anywhere I can get this file?

btw, here's the error log file:

00:34:48:932 | RL |      INFO  | +N/A   | Main - RocketLauncher v1.2.0.1 (www.rlauncher.com)
00:34:49:034 | RL |      INFO  | +94    | Main - System Specs:
                    RocketLauncher Dir: D:\RocketLauncher
                    RocketLauncher is: 32-bit
                    OS: Microsoft Windows 7 Ultimate
                    SKU: Ultimate
                    Total Memory: 16325.81 MB
                    Free Memory: 13239.61 MB
                    Used Memory: 3086.199 MB
                    SystemType: 64-bit
                    Physical Processors: 1
                    Logical Processors: 8
                    GPU 1 Name: NVIDIA GeForce GTX 1060 6GB
                    GPU 1 RAM: -1.00 MB
                    GPU 1 Driver Version: 22.21.13.8494
                    Sound 1 Device: NVIDIA Virtual Audio Device (Wave Extensible) (WDM)
                    Sound 1 Status: Enabled
                    Sound 2 Device: Sound Blaster Audigy Fx
                    Sound 2 Status: Enabled
                    Sound 3 Device: NVIDIA High Definition Audio
                    Sound 3 Status: Enabled
                    OS Language: English_United_States
                    System Locale: en-US
                    Formats Locale: en-US
                    Windows UI Language: en-US
                    Text Encoding: Windows-1252
                    OS Admin Status: Yes
                    RL Compatibility Flags:
                    Latest .Net Version: v4.0.30319
                    Monitor #1 (\\.\DISPLAY1): 1920x1080 (1920x1080 work) [32bit] [60hz] [Landscape]  (Primary)
                    Current AHK Desktop Width: 1920
                    Current AHK Desktop Height: 1080
                    Monitor #1 DPI: 100
                    ErrorMode: 0
                    AutoHotkey Path:
                    AHK Version: 1.1.13.00
                    Unicode: No
00:34:49:034 | RL |      INFO  | +0     | CheckFile - Checking if D:\RocketLauncher\RocketLauncher.exe exists
00:34:49:035 | RL |      INFO  | +0     | Main - Raw CLI received: "-s Commodore VIC-20 -r 3D Maze (VicSoft) (USA) -f D:\HyperSpin\HyperSpin.exe -p HyperSpin -c 1 -o 1"
00:34:49:035 | RL |      INFO  | +0     | Main - Loading Front End Plugin: "HyperSpin"
00:34:49:035 | RL |      INFO  | +0     | Main - RocketLauncher received "Commodore VIC-20" and "3D Maze (VicSoft) (USA)"
00:34:49:039 | RL |      INFO  | +0     | Main - Did not find a "D:\RocketLauncher\Settings\Commodore VIC-20\Game Options.ini" file, skipping any game-specific options.
00:34:49:039 | RL |      INFO  | +0     | Main - 3D Maze (VicSoft) (USA) is using the default emulator: WinVICE (Vic20)
00:34:49:039 | RL |      INFO  | +0     | Main - Checking for a [WinVICE (Vic20)] section in D:\RocketLauncher\Settings\Commodore VIC-20\Emulators.ini
00:34:49:039 | RL |      INFO  | +0     | Main - Checking for a [WinVICE (Vic20)] section in D:\RocketLauncher\Settings\Global Emulators.ini
00:34:49:040 | RL |      INFO  | +16    | Main - Found [WinVICE (Vic20)] in D:\RocketLauncher\Settings\Global Emulators.ini
00:34:49:040 | RL |      INFO  | +0     | CheckFile - Checking if D:\RocketLauncher\Modules\WinVICE\WinVICE.ahk exists
00:34:49:043 | RL |      INFO  | +0     | Main - CRC Check - CRC matches, this is an official unedited module.
00:34:49:043 | RL |      INFO  | +0     | Main - 3D Maze (VicSoft) (USA) will use module: D:\RocketLauncher\Modules\WinVICE\WinVICE.ahk
00:34:49:052 | RL |      INFO  | +0     | Main - Using standard method with "Rom Extension" SkipChecks or without any SkipChecks.
00:34:49:054 | RL |      INFO  | +0     | CheckFile - Checking if D:\HS EMU SYSTEMS\WinVICE-3.1-x64\xvic.exe exists
00:34:49:054 | RL |      INFO  | +0     | Main - INI Keys read
00:34:49:054 | RL |      INFO  | +0     | CheckFile - Checking if C:\Program Files\7-Zip\7zFM.exe exists
00:34:49:055 | RL |      INFO  | +0     | CheckFile - Checking if C:\Program Files\7-Zip\7z.dll exists
00:34:49:056 | RL |      INFO  | +15    | Main - "3D Maze (VicSoft) (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
00:34:49:056 | RL |      INFO  | +0     | CheckPaths - Started
00:34:49:056 | RL |      INFO  | +0     | CheckPaths - Looking for rom: D:\HS EMU ROMs\Commodore VIC-20\Cartridge\3D Maze (VicSoft) (USA).7z
00:34:49:056 | RL |      INFO  | +0     | CheckPaths - Looking for rom by name in subfolder: D:\HS EMU ROMs\Commodore VIC-20\Cartridge\3D Maze (VicSoft) (USA)\3D Maze (VicSoft) (USA).7z
00:34:49:056 | RL |      INFO  | +0     | CheckPaths - Rom not found
00:34:49:056 | RL |      INFO  | +0     | CheckPaths - Looking for rom: D:\HS EMU ROMs\Commodore VIC-20\Cartridge\3D Maze (VicSoft) (USA).zip
00:34:49:056 | RL |      INFO  | +0     | CheckPaths - Looking for rom by name in subfolder: D:\HS EMU ROMs\Commodore VIC-20\Cartridge\3D Maze (VicSoft) (USA)\3D Maze (VicSoft) (USA).zip
00:34:49:056 | RL |      INFO  | +0     | CheckPaths - Rom not found
00:34:49:056 | RL |      INFO  | +0     | CheckPaths - Looking for rom: D:\HS EMU ROMs\Commodore VIC-20\Cartridge\3D Maze (VicSoft) (USA).crt
00:34:49:056 | RL |      INFO  | +0     | CheckPaths - Found rom: D:\HS EMU ROMs\Commodore VIC-20\Cartridge\3D Maze (VicSoft) (USA).crt
00:34:49:056 | RL |      INFO  | +0     | CheckPaths - Ended
00:34:49:057 | RL |      INFO  | +0     | BuildScript - User Variables:
                    ;----------------------------------------------------------------------------
                    ; INJECTED VARIABLES
                    ;----------------------------------------------------------------------------

                    #NoTrayIcon
                    #InstallKeybdHook
                    MiscUtils.DetectHiddenWindows("On")
                    SetTitleMatchMode, 2
                    SendMode, Event
                    Global RLLog
                    Global RLObject
                    0 := "12"
                    rlPath := "D:\RocketLauncher"
                    pluginPath := "D:\RocketLauncher\Plugins"
                    pluginName := "HyperSpin"
                    pluginExt := ".plugin"
                    contextOnExit := "1"
                    rlMode := ""
                    rlTitle := "RocketLauncher"
                    rlVersion := "1.2.0.1"
                    rlAuthor := "djvj"
                    rlURL := "www.rlauncher.com"
                    langFile := "D:\RocketLauncher\Data\Language\Localization.ini"
                    primMonitor := "1"
                    frontendPID := ""
                    frontendPath := "D:\HyperSpin"
                    frontendExe := "HyperSpin.exe"
                    frontendExt := "exe"
                    frontendName := "HyperSpin"
                    frontendDrive := "D"
                    exitEmulatorKey := "~Esc"
                    restoreFE := "false"
                    exitScriptKey := "~q & ~s"
                    toggleCursorKey := "~e & ~t"
                    emuFullPath := "D:\HS EMU SYSTEMS\WinVICE-3.1-x64\xvic.exe"
                    emuPath := "D:\HS EMU SYSTEMS\WinVICE-3.1-x64"
                    emuName := "WinVICE (Vic20)"
                    emuExt := "exe"
                    baseRomPath := ""
                    romPath := "D:\HS EMU ROMs\Commodore VIC-20\Cartridge"
                    romPathFromIni := "D:\HS EMU ROMs\Commodore VIC-20\Cartridge|D:\HS EMU ROMs\Commodore VIC-20\Disk|D:\HS EMU ROMs\Commodore VIC-20\Tape"
                    romExtension := ".crt"
                    romExtensionOrig := ".crt"
                    romExtensions := "7z|zip|crt|a0|vsf|d64|g64|tap|prg|t64|nib|rom|80|70|60|50|40|30|20|"
                    executable := "xvic.exe"
                    systemDbName := "Commodore VIC-20"
                    systemName := "Commodore VIC-20"
                    dbPath := ""
                    dbName := "3D Maze (VicSoft) (USA)"
                    dbExt := ""
                    romFoundByExt := ""
                    romName := "3D Maze (VicSoft) (USA)"
                    romMapPath := ""
                    romMappingEnabled := "false"
                    romMappingLaunchMenuEnabled := "false"
                    romMappingFirstMatchingExt := "false"
                    romMappingShowAllRomsInArchive := "true"
                    romMappingNumberOfGamesByScreen := "7"
                    romMappingHideParent := "false"
                    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"
                    romMappingGameNameTextFont := "Bebas Neue"
                    romMappingGameNameTextOptions := "cFFFFFFFF r4 s40 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 := "D:\RocketLauncher\Module Extensions\BlockInput.exe"
                    errorLevelReporting := "false"
                    lockLaunch := "false"
                    lockLaunchGame := ""
                    screenRotationAngle := "0"
                    screenRotationAngleGame := ""
                    setResolution := ""
                    logFile := ""
                    logLabel := ["    INFO"," WARNING","   ERROR","   DEBUG","   TRACE"]
                    logLevel := "3"
                    logShowDebugConsole := "false"
                    logShowCommandWindow := "false"
                    logCommandWindow := "false"
                    logIncludeModule := "true"
                    logIncludeFileProperties := "true"
                    logIncludeDLLLogs := "false"
                    errorSounds := "true"
                    rlDebugConsoleStdout := ""
                    sysLang := "English_United_States"
                    sysType := "64-bit"
                    broadcastWindowTitle := ""
                    navUpKey := "Up"
                    navDownKey := "Down"
                    navLeftKey := "Left"
                    navRightKey := "Right"
                    navSelectKey := "1"
                    navP2UpKey := "R"
                    navP2DownKey := "F"
                    navP2LeftKey := "D"
                    navP2RightKey := "G"
                    navP2SelectKey := "2"
                    originalWidth := "1920"
                    originalHeight := "1080"
                    vdEnabled := "false"
                    vdFullPath := "D:\Daemon Tools Lite\DTLite.exe"
                    vdUseSCSI := "true"
                    vdDriveLetter := ""
                    vdDriveLetterScsi := "H"
                    vdAddDrive := "true"
                    demulShooterPath := ""
                    servoStikEnabled := "false"
                    servoStikExitMode := "false"
                    ledblinkyEnabled := "false"
                    ledblinkySystemName := ""
                    ledblinkyFullPath := ""
                    ledblinkyProfilePath := "D:\RocketLauncher\Profiles\LEDBlinky"
                    ledblinkyRLProfile := "D:\RocketLauncher\Profiles\LEDBlinky\RocketLauncher"
                    winIPACFullPath := "C:\WinIPAC V2\WinIPAC.exe"
                    ultraMapEnabled := "false"
                    ultraMapFullPath := "D:\UltraMap\UltraMap.exe"
                    emuIdleShutdown := "0"
                    launchPasswordHash := "zQJHGuIBD6bt2rEoPola0Rbrl81Ci3lgdm1mxbcm+QfXe+SDPHV0ig=="
                    cursorSize := ""
                    hideCursor := "false"
                    hideEmu := "false"
                    hideFE := "false"
                    suspendFE := "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"
                    fadeClickThrough := "false"
                    fadeSounds := "true"
                    fade7zProgressMode := "extraction"
                    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"
                    fadeProgressDuration := "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"
                    fadeRomInfoDeveloper := "disabled"
                    fadeRomInfoPublisher := "disabled"
                    fadeRomInfoGenre := "disabled"
                    fadeRomInfoRating := "image"
                    fadeRomInfoOrder := "Description|SystemName|Year|Developer|Genre|Rating|Publisher"
                    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"
                    fadeRomInfoText7Options := "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 := "D:\RocketLauncher\Media\Fade"
                    RLDataPath := "D:\RocketLauncher\Data"
                    RLMediaPath := "D:\RocketLauncher\Media"
                    RLErrSoundPath := "D:\RocketLauncher\Media\Sounds\Error"
                    modulesPath := "D:\RocketLauncher\Modules"
                    moduleFullName := "D:\RocketLauncher\Modules\WinVICE\WinVICE.ahk"
                    moduleName := "WinVICE"
                    modulePath := "D:\RocketLauncher\Modules\WinVICE"
                    moduleExtension := "ahk"
                    moduleExtensionsPath := "D:\RocketLauncher\Module Extensions"
                    libPath := "D:\RocketLauncher\Lib"
                    sevenZEnabled := "false"
                    sevenZPath := "C:\Program Files\7-Zip\7zFM.exe"
                    sevenZDllPath := "C:\Program Files\7-Zip\7z.dll"
                    sevenZExtractPath := "C:\7z Temporary Folder"
                    sevenZExtractPathOrig := ""
                    sevenZAttachSystemName := "false"
                    sevenZDelTemp := "true"
                    sevenZFormats := ".zip|.rar|.7z|.lha|.lzh|.gzip|.tar"
                    sevenZFormatsNoP := "zip|rar|7z|lha|lzh|gzip|tar"
                    sevenZFormatsRegEx := "\.zip|\.rar|\.7z|\.lha|\.lzh|\.gzip|\.tar"
                    sevenZGamesToKeep := ""
                    sevenZDeletePerSystem := "false"
                    sevenZExtensions := "zip|rar|7z|lha|lzh|gzip|tar"
                    7zExtractPath := "C:\7z Temporary Folder"
                    mgEnabled := "true"
                    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 := "D:\CPWizard\HiToText.xml"
                    pauseSaveStateKeyCodes := ""
                    pauseLoadStateKeyCodes := ""
                    keyboardEncoder := "WinIPAC"
                    keyboardEncoderEnabled := "true"
                    keymapperEnabled := "false"
                    keymapperAHKMethod := "false"
                    keymapper := ""
                    xpadderFullPath := "D:\XPadderControllerImages\Xpadder\Xpadder.exe"
                    joyToKeyFullPath := "D:\JoyToKey_en\JoyToKey.exe"
                    profilePath := "D:\RocketLauncher\Profiles"
                    keymapperProfilePath := "D:\RocketLauncher\Profiles\"
                    keymapperFrontEndProfileName := "HyperSpin"
                    keymapperFrontEndProfile := "false"
                    keymapperRocketLauncherProfileEnabled := "true"
                    joyIDsEnabled := "false"
                    joyIDsPreferredControllersGlobal := "I-PAC 4"
                    joyIDsPreferredControllersSystem := "use_global"
                    joyIDsPreferredControllersOnExit := "I-PAC 4"
                    CustomJoyNamesEnabled := "false"
                    CustomJoyNames := ""
                    rotateMethod := "false"
                    FEProfile := "D:\RocketLauncher\Profiles\\HyperSpin"
                    defaultProfile := "D:\RocketLauncher\Profiles\\_Default"
                    systemProfile := "D:\RocketLauncher\Profiles\\Commodore VIC-20"
                    xPadderSystemProfile := "D:\RocketLauncher\Profiles\\Commodore VIC-20\_Default"
                    emuProfile := "D:\RocketLauncher\Profiles\\Commodore VIC-20\WinVICE (Vic20)"
                    romProfile := "D:\RocketLauncher\Profiles\\Commodore VIC-20\3D Maze (VicSoft) (USA)"
                    RocketLauncherProfile := "D:\RocketLauncher\Profiles\\RocketLauncher"
                    blankProfile := "D:\RocketLauncher\Profiles\\blank"
                    ahkFEProfile := "D:\RocketLauncher\Profiles\AHK\HyperSpin"
                    ahkDefaultProfile := "D:\RocketLauncher\Profiles\AHK\_Default"
                    ahkSystemProfile := "D:\RocketLauncher\Profiles\AHK\Commodore VIC-20"
                    ahkEmuProfile := "D:\RocketLauncher\Profiles\AHK\Commodore VIC-20\WinVICE (Vic20)"
                    ahkRomProfile := "D:\RocketLauncher\Profiles\AHK\Commodore VIC-20\3D Maze (VicSoft) (USA)"
                    ahkRocketLauncherProfile := "D:\RocketLauncher\Profiles\AHK\RocketLauncher"
                    bezelEnabled := "false"
                    bezelICEnabled := "false"
                    shaderName := "false"
                    shaderColor := ""
                    shaderTransparency := ""
                    statisticsEnabled := "true"
                    pressDuration := "-1"
                    emuVolume := "1"
                    dxwndIni := "D:\DXWind\dxwnd.ini"
                    dxwndFullPath := "D:\DXWind\dxwnd.exe"
                    qResFullPath := "D:\RocketLauncher\Module Extensions\QRes.exe"
                    mon1O := ""
                    pacDrivedllFile := "D:\RocketLauncher\Module Extensions\PacDrive32.dll"
                    userFadeAnimIniFile := "D:\RocketLauncher\Lib\User Fade Animations.ini"
                    testFile := ""
                    testDuration := ""
                    initialErrorMode := "0"

00:34:49:061 | RL |      INFO  | +0     | BuildScript - Loaded XHotkey Init.ahk scripts
00:34:49:061 | RL |      INFO  | +0     | BuildScript - Loaded Statistics Init.ahk scripts
00:34:49:061 | RL |      INFO  | +0     | BuildScript - Loaded MultiGame Init.ahk scripts
00:34:49:061 | RL |      INFO  | +0     | BuildScript - Validating module
00:34:49:064 | RL |      INFO  | +0     | BuildScript - Validation complete
00:34:49:064 | RL |      INFO  | +0     | BuildScript - Module:
                    MEmu := "WinVICE"
                    MEmuV := "v2.4"
                    MURL := ["http://vice-emu.sourceforge.net/"]
                    MAuthor := ["djvj","wahoobrian","brolly"]
                    MVersion := "2.1.5"
                    MCRC := "9A8F13BF"
                    iCRC := "15E345B2"
                    MID := "635038268966170754"
                    MSystem := ["Commodore 64","Commodore 16 & Plus4","Commodore VIC-20","Commodore 128","Commodore MAX Machine","Commodore 64 Games System", "Commodore PET"]
                    ;----------------------------------------------------------------------------
                    ; Notes:
                    ; Roms must be unzipped.
                    ; You can turn off the exit confirmation box by unchecking Settings->Confirm on exit
                    ; Turn on saving settings by checking Settings->Save settings on exit, this will create the vice.ini file this module needs.
                    ;
                    ; Default Joyport setting for C64 requires that you configure "Keyset A" as the default for JoyPort 1 and "Keyset B" as the
                    ; default for JoyPort 2.  This allows the module to use the ini settings and set the default joystick to Player 1 at startup
                    ; This can be disabled by setting the disableAutoControllerSwapping to true.  That is helpful for users who do not wish to use
                    ; "KeySet A" and "KeySet B" as the controller configurations.
                    ;
                    ; If you want to use the StartTape and StopTape hotkeys make sure you edit the files C64\win_shortcuts.vsc or VIC20\win_shortcuts.vsc
                    ; (paths relative to the emulator install folder) and assign Alt+F7 as the StartTape shortcut and Alt+F8 as the StopTape shortcut, like this:
                    ; ALT                0x76        IDM_DATASETTE_CONTROL_START          F7
                    ; ALT                0x77        IDM_DATASETTE_CONTROL_STOP          F8
                    ;
                    ; WinVICE SDL:
                    ; This module will also work with the SDL version of WinVICE even though it's not recommended to use it with it. If you do bare in mind that
                    ; some of the features might not work. For hotkeys to work you need to manually set them all in SDL VICE and make sure you save the settings.
                    ; To map the hotkeys navigate to any menu item (F12 shows the menu) press 'm' and then the key or key combo you want to use for the hotkey for that item.
                    ; Don't forget to save your hotkeys before exiting the emulator before you exi or they will be lost. This is done in Settings management->Save hotkeys.
                    ; You can find more info on the Readme-SDL.txt file that comes with this version of the emulator.
                    ; The module will detect that you are using the SDL version by checking if the sdl-vice.ini file exists in your emulator folder, so make sure you
                    ; run the emulator once in order to create this file.
                    ;
                    ; WinVICE uses different executables for each machine so make sure you setup your emulators properly:
                    ; x64.exe - Commodore 64
                    ; xplus4.exe - Commodore 16 & Plus/4
                    ; xvic.exe - Commodore VIC-20
                    ; x128.exe - Commodore 128
                    ; xpet.exe - Commodore PET
                    ;----------------------------------------------------------------------------
                    StartModule()
                    BezelGUI()
                    FadeInStart()

                    primaryExe := new Emulator(emuPath . "\" . executable)                    ; instantiate emulator executable object

                    mType := Object("Commodore 64","C64","Commodore 16 & Plus4","PLUS4","Commodore VIC-20","VIC20","Commodore 128","C128","Commodore MAX Machine","C64","Commodore 64 Games System","C64", "Commodore PET", "PET") ;ident should be the section names used in VICE.ini
                    ident := mType[systemName]    ; search object for the systemName identifier

                    Fullscreen := moduleIni.Read("Settings", "Fullscreen","true",,1)                ; If true, the module governs If the emulator launches fullscreen or not. Set to false when troubleshooting a module for launching problems.
                    WarpKey := moduleIni.Read("Settings", "WarpKey","F9",,1)                        ; toggle warp speed
                    JoySwapKey := moduleIni.Read("Settings", "JoySwapKey","F10",,1)                    ; swap joystick port
                    StartTapeKey := moduleIni.Read("Settings", "StartTapeKey","F7",,1)                    ; starts tape
                    StopTapeKey := moduleIni.Read("Settings", "StopTapeKey","F8",,1)                    ; stops tape

                    bezelTopOffset := moduleIni.Read("Settings", "bezelTopOffset",16,,1)
                    bezelBottomOffset := moduleIni.Read("Settings", "bezelBottomOffset",46,,1)
                    bezelLeftOffset := moduleIni.Read("Settings", "bezelLeftOffset",7,,1)
                    bezelRightOffset := moduleIni.Read("Settings", "bezelRightOffset",7,,1)
                    disableAutoControllerSwapping := moduleIni.Read("Settings", "DisableAutoControllerSwapping","false",,1)

                    UsePaddles := moduleIni.Read(romName, "UsePaddles", "false",,1)
                    AutostartPrgMode := moduleIni.Read(romName, "AutostartPrgMode", "2",,1)
                    RequiresReset := moduleIni.Read(romName, "RequiresReset", "false",,1)
                    RequiresHardReset := moduleIni.Read(romName, "RequiresHardReset", "false",,1)
                    TrueDriveEmulation := moduleIni.Read(romName . "|Settings", "TrueDriveEmulation", "false",,1)
                    LoadFile := moduleIni.Read(romName, "LoadFile",,,1)
                    DefaultJoyPort := moduleIni.Read(romName, "DefaultJoyPort", "1",,1)
                    ColumnMode := moduleIni.Read(romName, "ColumnMode", "80",,1)

                    ; DiskSwapKey := "F11"        ; swaps disk or tape - Do not need this key anymore with multigame support

                    7z(romPath, romName, romExtension, SevenZExtractPath)

                    ;Detect if SDL VICE is being used
                    SdlViceINI := new IniFile(emuPath . "\sdl-vice.ini")
                    If SdlViceINI.Exist()
                        SdlVice := "true"
                    Else
                        SdlVice := "false"

                    RLLog.Info("Module - SDL mode is set to " . SdlVice)

                    If (SdlVice = "true") {
                        emuPrimaryWindow := new Window(new WindowTitle("VICE","SDL_app"))    ; instantiate primary emulator window object
                        viceINI := SdlViceINI
                    } Else {
                        emuPrimaryWindow := new Window(new WindowTitle(,"VICE"))    ; instantiate primary emulator window object
                        viceINI := new IniFile(emuPath . "\vice.ini")
                    }
                    viceINI.CheckFile()

                    emuOpenROMWindow := new Window(new WindowTitle("Select cartridge file","#32770"))
                    hideEmuObj := Object(emuOpenROMWindow,0,emuPrimaryWindow,1)

                    viceINIFullscreenKey := "FullscreenEnabled"
                    If (SdlVice = "true")
                    {
                        If (ident = "C64")
                            viceINIFullscreenKey := "VICIIFullscreen"
                        If (ident = "PLUS4")
                            viceINIFullscreenKey := "TEDFullscreen"
                        If (ident = "VIC20")
                            viceINIFullscreenKey := "VICFullscreen"
                        If (ident = "C128")
                            viceINIFullscreenKey := "VICIIFullscreen"
                    }

                    currentFullScreen := viceINI.Read(ident, viceINIFullscreenKey)
                    currentAutostartPrgMode := viceINI.Read(ident, AutostartPrgMode)
                    currentDriveTrueEmulation := viceINI.Read(ident, DriveTrueEmulation)
                    currentJoyDevice1 := viceINI.Read(ident, JoyDevice1)
                    currentJoyDevice2 := viceINI.Read(ident, JoyDevice2)

                    BezelStart()

                    ; Setting Fullscreen setting in ini If it doesn't match what user wants above
                    If (ident = "C128") ;Always start in windowed mode otherwise we won't be able to set the proper window
                        viceINI.Write(0, ident, viceINIFullscreenKey)
                    Else {
                        If (Fullscreen != "true" And currentFullScreen != 0)
                            viceINI.Write(0, ident, viceINIFullscreenKey)
                        Else If (Fullscreen = "true" And currentFullScreen != 1)
                            viceINI.Write(1, ident, viceINIFullscreenKey)
                    }

                    If (currentAutostartPrgMode != AutostartPrgMode)
                        viceINI.Write(AutostartPrgMode, ident, "AutostartPrgMode")

                    WarpKey := xHotKeyVarEdit(WarpKey,"WarpKey","~","Add")
                    JoySwapKey := xHotKeyVarEdit(JoySwapKey,"JoySwapKey","~","Add")
                    StartTapeKey := xHotKeyVarEdit(StartTapeKey,"StartTapeKey","~","Add")
                    StopTapeKey := xHotKeyVarEdit(StopTapeKey,"StopTapeKey","~","Add")
                    xHotKeywrapper(WarpKey,"Warp")
                    xHotKeywrapper(JoySwapKey,"JoySwap")
                    xHotKeywrapper(StartTapeKey,"StartTape")
                    xHotKeywrapper(StopTapeKey,"StopTape")

                    If StringUtils.Contains(romName,"\(USA\)|\(Canada\)")
                        DefaultVideoMode := "NTSC"
                    Else
                        DefaultVideoMode := "PAL"

                    VideoMode := moduleIni.Read(romName, "VideoMode", DefaultVideoMode,,1)

                    params := (If SdlVice = "true" ? " " : " +confirmexit")

                    ; Setting video mode depending on rom, default NTSC
                    If (VideoMode = "NTSC") {
                        params .= " -ntsc"
                        ;viceINI.Write(-2, ident, "MachineVideoStandard")  ;NTSC
                    } Else {
                        params .= " -pal"
                        ;viceINI.Write(-1, ident, "MachineVideoStandard")  ;PAL
                    }

                    ;Enable/Disable paddles as needed, leave these checks in-place because mouse CLI and Ini options aren't supported in VICE 1.22 and this way it will also work with it.
                    currentUsePaddles := viceINI.Read(ident, "Mouse")
                    If (UsePaddles = "true" And currentUsePaddles != 1)
                        params .= " -mouse -mousetype 3"
                    If (UsePaddles = "false" And currentUsePaddles = 1)
                        params .= " +mouse"

                    If (ident = "C64") {
                        If !StringUtils.Contains(romExtension,"\.d64|\.d71|\.d80|\.d81|\.d82|\.g64|\.g41|\.x64|\.t64|\.tap|\.crt|\.prg|\.vsf")
                            ScriptError("Your rom has an extension of " . romExtension . ", only these extensions are supported:`nd64,d71,d80,d81,d82,g64,g41,x64,t64,tap,crt")

                        If (romExtension = ".crt") {
                            viceINI.Write(romPath . "\" . romName . romExtension, "C64", "CartridgeFile")
                            viceINI.Write(0, "C64", "CartridgeType")
                        } Else {
                            viceINI.Write("", "C64", "CartridgeFile")
                            viceINI.Write(-1, "C64", "CartridgeType")
                        }
                        ; Setting TrueDriveEmulation setting in ini If it doesn't match what user wants above
                        If (TrueDriveEmulation != "true" And currentDriveTrueEmulation != 0) {
                            viceINI.Write(0, ident, "DriveTrueEmulation")
                            viceINI.Write(0, ident, "Drive8Type")
                        }
                        Else If (TrueDriveEmulation = "true" And currentDriveTrueEmulation != 1) {
                            viceINI.Write(1, ident, "DriveTrueEmulation")
                            viceINI.Write(1541, ident, "Drive8Type")
                        }

                        If (disableAutoControllerSwapping = "false") {
                            ; Setting Default JoyPort to Player 1 If needed
                            If (DefaultJoyPort = "1" And currentJoyDevice1 != 2) {
                                viceINI.Write(2, ident, "JoyDevice1")
                                viceINI.Write(3, ident, "JoyDevice2")
                            }
                            Else If (DefaultJoyPort = "2" And currentJoyDevice1 != 3) {
                                viceINI.Write(3, ident, "JoyDevice1")
                                viceINI.Write(2, ident, "JoyDevice2")
                            }
                        }

                        SendCommandDelay := moduleIni.Read("Settings", "SendCommandDelay", "1500",,1)
                        Command := moduleIni.Read(romName, "Command",,,1)
                        Command := StringUtils.Lower(Command)    ; Command MUST be in lower case so let's force it

                        HideAppStart(hideEmuObj,hideEmu)

                        If StringUtils.Contains(romExtension,"\.d64|\.d71|\.d80|\.d81|\.d82|\.g64|\.g41|\.x64|\.prg|\.vsf")
                            primaryExe.Run(params . " -autostart """ . romPath . "\" . romName . romExtension . ":" . LoadFile . """")
                        Else If StringUtils.Contains(romExtension,"\.t64|\.tap")
                            primaryExe.Run(params . " """ . romPath . "\" . romName . romExtension . """")
                        Else If (romExtension = ".crt")
                            primaryExe.Run(params . " -cartcrt """ . romPath . "\" . romName . romExtension . """")

                        If (RequiresReset = "true")
                        {
                            emuPrimaryWindow.WaitActive()
                            TimerUtils.Sleep(1000) ; increase if command is not appearing in the emu window or some just some letters
                            KeyUtils.Send("!r")
                        }

                        If Command {
                            TimerUtils.Sleep(1000)
                            emuPrimaryWindow.WaitActive()
                            KeyUtils.SetKeyDelay(50)
                            SendCommand(Command . "{Enter}", SendCommandDelay)
                        }
                    }
                    Else If (ident = "PLUS4") {
                        If !StringUtils.Contains(romExtension,"\.prg|\.d64|\.t64|\.tap|\.crt|\.g64")
                            ScriptError("Your rom has an extension of " . romExtension . ", only these extensions are supported:`nprg,d64,t64,tap,crt,g64")

                        SendCommandDelay := moduleIni.Read("Settings", "SendCommandDelay", "1500",,1)
                        Model := moduleIni.Read(romName, "Model", "Commodore Plus/4",,1)

                        ; Setting model
                        If (Model = "Commodore Plus/4") { ;Commodore Plus/4
                            viceINI.Write("3plus1lo", ident, "FunctionLowName")
                            viceINI.Write("3plus1hi", ident, "FunctionHighName")
                            viceINI.Write(64, ident, "RamSize")
                            viceINI.Write(1, ident, "Acia1Enable")
                        } Else {    ; Commodore 16
                            viceINI.Write("", ident, "FunctionLowName")
                            viceINI.Write("", ident, "FunctionHighName")
                            viceINI.Write(16, ident, "RamSize")
                            viceINI.Write(0, ident, "Acia1Enable")
                        }

                        ; TrueDriveEmulation must be set to false
                        If (currentDriveTrueEmulation != 0) {
                            viceINI.Write(0, ident, "DriveTrueEmulation")
                        }

                        Command := moduleIni.Read(romName, "Command",,,1)
                        Command := StringUtils.Lower(Command)    ; Command MUST be in lower case so let's force it

                        HideAppStart(hideEmuObj,hideEmu)

                        If StringUtils.Contains(romExtension,"\.d64|\.g64|\.prg")
                            primaryExe.Run(params . " """ . romPath . "\" . romName . romExtension . """")
                        Else If romExtension in .t64,.tap
                            primaryExe.Run(params . " """ . romPath . "\" . romName . romExtension . """")
                        Else If (romExtension = .crt)
                        {
                            If (SdlVice = "true")
                            {
                                primaryExe.Run(params . " """ . romPath . "\" . romName . romExtension . """")
                            }
                            Else
                            {
                                ;CLI does not seem to work for carts for Plus4, use GUI instead
                                ; primaryExe.Run(params . " -cartcrt """ . romPath . "\" . romName . romExtension . """")
                                primaryExe.Run()
                                emuPrimaryWindow.Wait()
                                emuPrimaryWindow.WaitActive()

                                ;Following keystrokes open up dialog for smart-attach cartridge image
                                TimerUtils.Sleep(500)
                                emuPrimaryWindow.MenuSelectItem("File", "Attach cartridge image", "1&")

                                OpenROM(emuOpenROMWindow.WinTitle.GetWindowTitle(),romPath . "\" . romName . romExtension)
                            }
                        }

                        If (RequiresReset = "true")
                        {
                            emuPrimaryWindow.Wait()
                            emuPrimaryWindow.WaitActive()
                            TimerUtils.Sleep(1000) ; increase If command is not appearing in the emu window or some just some letters
                            KeyUtils.Send("!r")
                        }

                        If (RequiresHardReset = "true")
                        {
                            emuPrimaryWindow.Wait()
                            emuPrimaryWindow.WaitActive()
                            TimerUtils.Sleep(1000) ; increase If command is not appearing in the emu window or some just some letters
                            KeyUtils.Send("^!r")
                        }

                        If Command
                        {
                            emuPrimaryWindow.Wait()
                            emuPrimaryWindow.WaitActive()
                            ;TimerUtils.Sleep(SendCommandDelay) ; increase If command is not appearing in the emu window or some just some letters

                            If StringUtils.Contains(romExtension,"\.t64|\.tap")
                            {
                                ;Tape loading time will vary greatly so we can't type this automatically, user must do it using a hotkey
                                RunTapeKey := moduleIni.Read(romname, "RunTapeKey","Ctrl&F12",,1)                        ; run tape key
                                RunTapeKey := xHotKeyVarEdit(RunTapeKey,"RunTapeKey","~","Add")
                                xHotKeywrapper(RunTapeKey,"RunTape")
                            } Else
                                SendCommand(Command . "{Enter}", SendCommandDelay)
                        }
                    }
                    Else If (ident = "VIC20") {
                        If !StringUtils.Contains(romExtension, "\.prg|\.d64|\.t64|\.tap|\.crt|\.vsf")
                            ScriptError("Your rom has an extension of " . romExtension . ", only these extensions are supported: prg,d64,t64,tap,crt")

                        SendCommandDelay := moduleIni.Read("Settings", "SendCommandDelay", "1500",,1)

                        CartAddress := moduleIni.Read(romName, "CartLoadingAddress", "X000",,1)
                        MemoryExpansion := moduleIni.Read(romName, "MemoryExpansion", "none",,1)
                        Command := moduleIni.Read(romName, "Command",,,1)
                        RequiresReset := moduleIni.Read(romName, "RequiresReset", "false",,1)

                        Command := StringUtils.Lower(Command)    ; Command MUST be in lower case so let's force it

                        If (romExtension = ".crt") {
                            ;TimerUtils.Sleep(100) ;Without this romtable comes empty (thread related?)
                            RomTableCheck()    ; make sure romTable is created already so the next line can calculate correctly

                            ;MultiPart carts can only be run If the MultiGame feature is enabled
                            If StringUtils.Contains(romName, "\(Part ")
                            {
                                If (mgEnabled = "false")
                                    ScriptError("You cannot run multipart games with MultiGame disabled")
                            }

                            romCount := romtable.MaxIndex()

                            If (romCount > 1) {
                                ;multipart carts - need to build custom CLI parameters to invoke multipart cartridges.  Multipart cartridges are loaded in more than one
                                ;                  memory address, so we interrogate each part, and determine its loading address, and build the CLI parameters.
                                ;                   Once all the cartridge parts have been processed, the emulator with the custom CLI parameters are invoked.
                                ;
                                ;                  Using Lunaar Leeper as an example, it has two parts, one loaded in $2000, and one in $A000
                                ;                   "xvic.exe -cart2 "D:\Games\Commodore VIC-20\Lunar Leeper (USA) (Part 1).crt" -cartA "D:\Games\Commodore VIC-20\Lunar Leeper (USA) (Part 2).crt"

                                multipartCLI := params

                                for index, element in romtable {
                                    currentCart := romtable[A_Index,1]
                                    StringUtils.SplitPath(currentCart,,,,OutFileName)
                                    currentCartAddress := moduleIni.Read(OutFileName, "CartLoadingAddress", "X000",,1)

                                    If (currentCartAddress = "A000")
                                        cartSlot := " -cartA"
                                    Else If (currentCartAddress = "B000")
                                        cartSlot := " -cartB"
                                    Else If (currentCartAddress = "2000")
                                        cartSlot := " -cart2"
                                    Else If (currentCartAddress = "4000")
                                        cartSlot := " -cart4"
                                    Else If (currentCartAddress = "6000")
                                        cartSlot := " -cart6"
                                    Else
                                        ScriptError("Invalid Cart Address Specified: " . CartAddress)

                                    multipartCLI := multipartCLI . " " . cartSlot . " """ . currentCart . """"
                                }
                                primaryExe.Run(multipartCLI)
                            }
                            Else {
                                ;singlepart carts - unlike multipart carts, we can directly run the emulator with a single CLI parameter

                                If (CartAddress = "A000")
                                    cartSlot := " -cartA"
                                Else If (CartAddress = "B000")
                                    cartSlot := " -cartB"
                                Else If (CartAddress = "2000")
                                    cartSlot := " -cart2"
                                Else If (CartAddress = "4000")
                                    cartSlot := " -cart4"
                                Else If (CartAddress = "6000")
                                    cartSlot := " -cart6"
                                Else
                                    ScriptError("Invalid Cart Address Specified: " . CartAddress)

                                HideAppStart(hideEmuObj,hideEmu)
                                primaryExe.Run(params . cartSlot . " """ . romPath . "\" . romName . romExtension . """")
                            }
                        } Else {
                            ;for non cartridges, update the vice.ini with the proper memory expansion values (If needed) prior to calling the emulator.
                            varBlock0 := 0
                            varBlock1 := 0
                            varBlock2 := 0
                            varBlock3 := 0
                            varBlock5 := 0

                            If (MemoryExpansion = "3k") {
                                varBlock0 := 1
                            } Else If (MemoryExpansion = "8k") {
                                varBlock1 := 1
                            } Else If (MemoryExpansion = "16k") {
                                varBlock1 := 1
                                varBlock2 := 1
                            } Else If (MemoryExpansion = "24k") {
                                varBlock1 := 1
                                varBlock2 := 1
                                varBlock3 := 1
                            } Else If (MemoryExpansion = "all") {
                                varBlock0 := 1
                                varBlock1 := 1
                                varBlock2 := 1
                                varBlock3 := 1
                                varBlock5 := 1
                            } Else If (MemoryExpansion = "3,5") {
                                varBlock3 := 1
                                varBlock5 := 1
                            } Else If (MemoryExpansion = "5") {
                                varBlock5 := 1
                            } Else If (MemoryExpansion = "1,5") {
                                varBlock1 := 1
                                varBlock5 := 1
                            } Else If (MemoryExpansion = "1,2,5") {
                                varBlock1 := 1
                                varBlock2 := 1
                                varBlock5 := 1
                            }
                            viceINI.Write(varBlock0, "VIC20", "RAMBlock0")
                            viceINI.Write(varBlock1, "VIC20", "RAMBlock1")
                            viceINI.Write(varBlock2, "VIC20", "RAMBlock2")
                            viceINI.Write(varBlock3, "VIC20", "RAMBlock3")
                            viceINI.Write(varBlock5, "VIC20", "RAMBlock5")

                            HideAppStart(hideEmuObj,hideEmu)
                            primaryExe.Run(params . " """ . romPath . "\" . romName . romExtension . """")
                        }

                        If (RequiresReset = "true")
                        {
                            emuPrimaryWindow.Wait()
                            emuPrimaryWindow.WaitActive()
                            TimerUtils.Sleep(1000) ; increase If command is not appearing in the emu window or some just some letters
                            KeyUtils.Send("!r")
                        }

                        If Command
                        {
                            emuPrimaryWindow.Wait()
                            emuPrimaryWindow.WaitActive()
                            KeyUtils.SetKeyDelay(50)
                            SendCommand(Command . "{Enter}", SendCommandDelay)
                        }
                    }
                    Else If (ident = "C128") {
                        If !StringUtils.Contains(romExtension,"\.prg|\.d64|\.d81")
                            ScriptError("Your rom has an extension of " . romExtension . ", only these extensions are supported:`nprg,d64,d81")

                        SendCommandDelay := moduleIni.Read("Settings", "SendCommandDelay", "1500",,1)

                        ; Setting TrueDriveEmulation setting in ini If it doesn't match what user wants above
                        If (TrueDriveEmulation != "true" And currentDriveTrueEmulation != 0) {
                            viceINI.Write(0, ident, "DriveTrueEmulation")
                            viceINI.Write(0, ident, "Drive8Type")
                        }
                        Else If (TrueDriveEmulation = "true" And currentDriveTrueEmulation != 1) {
                            viceINI.Write(1, ident, "DriveTrueEmulation")
                            viceINI.Write(1570, ident, "Drive8Type")
                        }

                        Command := moduleIni.Read(romName, "Command",,,1)
                        Commodore64Mode := moduleIni.Read(romName, "Commodore64Mode", "false",,1)
                        Command := StringUtils.Lower(Command)    ; Command MUST be in lower case so let's force it

                        ;set 80/40 col param
                        If (ColumnMode = 40) {
                            params .= " -40col"
                        }
                        Else {
                            params .= " -80col"
                        }

                        ; Force either C64 mode (-go64) or C128 mode (+go64)
                        If (Commodore64Mode = "true") {
                            params .= " -go64"
                        }
                        Else {
                            params .= " +go64"
                        }

                        params .= " +reu +autostart-warp"

                        HideAppStart(hideEmuObj,hideEmu)
                        primaryExe.Run(params . " """ . romPath . "\" . romName . romExtension . """")
                        emuPrimaryWindow.Wait()
                        TimerUtils.Sleep(1000)    ; wait just a little more for 2 instances of the emu to open

                        emuPrimaryWindow.Get("List")    ; Retrieves the unique ID numbers of all existing windows
                        MaxWidth := 0
                        MinWidth := 10000
                        Loop % emuPrimaryWindow.List[0] {
                            emuWindow%A_Index% := new Window(new WindowTitle(,,,emuPrimaryWindow.List[A_Index]))    ; instantiate each emulator window object with the ahk_id
                            emuWindow%A_Index%.Activate()
                            emuWindow%A_Index%.GetClass()    ; store the class of this window in the object
                            emuWindow%A_Index%.GetTitle()    ; store the title of this window in the object
                            emuWindow%A_Index%.GetPos(emuX, emuY, emuWidth, emuHeight)
                            If (emuWidth > MaxWidth) {
                                emu80ColWindow := emuWindow%A_Index%
                                MaxWidth := emuWidth
                            }
                            If (emuWidth < MinWidth) {
                                emu40ColWindow := emuWindow%A_Index%
                                MinWidth := emuWidth
                            }
                        }

                        If (ColumnMode = 40) {
                            emu80ColWindow.Hide()
                            visibleWindow := emu40ColWindow
                        } Else {
                            emu40ColWindow.Hide()
                            visibleWindow := emu80ColWindow
                        }

                        ;Activate the desired window since you might have hidden the active one above
                        visibleWindow.Activate()
                        visibleWindow.WaitActive()
                        WinSet, Redraw, , A ;Without this line bezel will always draw below the emulator window!

                        If (Fullscreen = "true") ;We always force windowed mode on the ini for the 40/80col mode detection to work
                            KeyUtils.Send("!{Enter}")

                        If Command {
                            visibleWindow.Wait()
                            visibleWindow.WaitActive()
                            KeyUtils.SetKeyDelay(50)
                            SendCommand(Command . "{Enter}", SendCommandDelay)
                        }
                    }
                    Else If (ident = "PET") {
                        If !StringUtils.Contains(romExtension,"\.prg|\.d64|\.d81|\.tap")
                            ScriptError("Your rom has an extension of " . romExtension . ", only these extensions are supported:`nprg,d64,d81,tap")

                        SendCommandDelay := moduleIni.Read("Settings", "SendCommandDelay", "1500",,1)

                        Command := moduleIni.Read(romName, "Command",,,1)
                        PETModel := moduleIni.Read(romName, "PETModel", "PET4032",,1)
                        Command := StringUtils.Lower(Command)    ; Command MUST be in lower case so let's force it

                        If (PETModel = "PET3032")
                        {
                            viceINI.Write("kernal2", ident, "KernalName")
                            viceINI.Write("edit2g", ident, "EditorName")
                            viceINI.Write("basic2", ident, "BasicName")
                            viceINI.Write(0, ident, "Crtc")
                            viceINI.Write(40, ident, "VideoSize")
                            viceINI.Write(2, ident, "KeymapIndex")
                        }
                        Else If (PETModel = "PET8032")
                        {
                            viceINI.Write("kernal4", ident, "KernalName")
                            viceINI.Write("edit4b80", ident, "EditorName")
                            viceINI.Write("basic4", ident, "BasicName")
                            viceINI.Write(1, ident, "Crtc")
                            viceINI.Write(80, ident, "VideoSize")
                            viceINI.Write(0, ident, "KeymapIndex")
                        }
                        Else
                        {
                            ;Assume Model 4032
                            viceINI.Write("kernal4", ident, "KernalName")
                            viceINI.Write("edit4g40", ident, "EditorName")
                            viceINI.Write("basic4", ident, "BasicName")
                            viceINI.Write(1, ident, "Crtc")
                            viceINI.Write(40, ident, "VideoSize")
                            viceINI.Write(2, ident, "KeymapIndex")
                        }

                        HideAppStart(hideEmuObj,hideEmu)
                        primaryExe.Run(params . " """ . romPath . "\" . romName . romExtension . """")

                        If Command {
                            emuPrimaryWindow.Wait()
                            emuPrimaryWindow.WaitActive()
                            KeyUtils.SetKeyDelay(50)
                            SendCommand(Command, SendCommandDelay)
                        }
                    }

                    emuPrimaryWindow.Wait()
                    emuPrimaryWindow.WaitActive()

                    BezelDraw()
                    HideAppEnd(hideEmuObj,hideEmu)
                    FadeInExit()
                    primaryExe.Process("WaitClose")
                    7zCleanUp()
                    FadeOutExit()
                    ExitModule()


                    JoySwap:
                        KeyUtils.Send("!j")
                    Return

                    Warp:
                        KeyUtils.Send("!w")
                    Return

                    StartTape:
                        KeyUtils.Send("!{F7}")
                    Return

                    StopTape:
                        KeyUtils.Send("!{F8}")
                    Return

                    RunTape:
                        KeyUtils.SetKeyDelay(50)
                        Loop, parse, Command
                            KeyUtils.Send("{" . A_LoopField . " down}{" . A_LoopField . " up}")
                        KeyUtils.Send("{Enter down}{Enter up}")
                    Return

                    HaltEmu:
                        If WarpKey
                            XHotKeywrapper(WarpKey,"Warp","OFF")
                        If JoySwapKey
                            XHotKeywrapper(JoySwapKey,"JoySwap","OFF")
                        If StartTapeKey
                            XHotKeywrapper(StartTapeKey,"StartTape","OFF")
                        If StopTapeKey
                            XHotKeywrapper(StopTapeKey,"StopTape","OFF")
                        If (Fullscreen = "true")
                            KeyUtils.Send("!{Enter}")
                    Return

                    MultiGame:
                        RLLog.Info("MultiGame label triggered")
                        If romExtension in .d64,.d71,.d80,.d81,.d82,.g64,.g41,.x64,.prg
                        {    KeyUtils.Send("!8") ; swaps a Disk
                            wvTitle := "Attach disk image ahk_class #32770"
                        } Else If romExtension in .t64,.tap
                        {    KeyUtils.Send("!t") ; swaps a Tape
                            wvTitle := "Attach tape image ahk_class #32770"
                        } Else
                            ScriptError(romExtension . " is an invalid multi-game extension")
                        OpenROM(wvTitle, selectedRom)
                        emuPrimaryWindow.WaitActive(5)
                        emuPrimaryWindow.Activate()
                    Return

                    RestoreEmu:
                        If (Fullscreen = "true")
                            KeyUtils.Send("!{Enter}")
                        If WarpKey
                            XHotKeywrapper(WarpKey,"Warp","ON")
                        If JoySwapKey
                            XHotKeywrapper(JoySwapKey,"JoySwap","ON")
                        If StartTapeKey
                            XHotKeywrapper(StartTapeKey,"StartTape","ON")
                        If StopTapeKey
                            XHotKeywrapper(StopTapeKey,"StopTape","ON")
                    Return

                    CloseProcess:
                        FadeOutStart()
                        BezelExit()
                        emuPrimaryWindow.Close()
                    Return

00:34:49:076 | RL |      INFO  | +16    | BuildScript - Loaded MultiGame scripts
00:34:49:076 | RL |      INFO  | +0     | BuildScript - Loaded Multi-Player scripts
00:34:49:076 | RL |      INFO  | +0     | BuildScript - Loaded Statistics.ahk script
00:34:49:076 | RL |      INFO  | +0     | BuildScript - "D:\RocketLauncher\Lib\User Functions\Global.ahk" not found
00:34:49:076 | RL |      INFO  | +0     | BuildScript - "D:\RocketLauncher\Lib\User Functions\Commodore VIC-20.ahk" not found
00:34:49:076 | RL |      INFO  | +0     | BuildScript - "D:\RocketLauncher\Lib\User Functions\Emulators\WinVICE (Vic20).ahk" not found
00:34:49:077 | RL |      INFO  | +0     | BuildScript - "D:\RocketLauncher\Lib\User Functions\Commodore VIC-20\Emulators\WinVICE (Vic20).ahk" not found
00:34:49:077 | RL |      INFO  | +0     | BuildScript - "D:\RocketLauncher\Lib\User Functions\Commodore VIC-20\3D Maze (VicSoft) (USA).ahk" not found
00:34:49:077 | RL |      INFO  | +0     | BuildScript - Finished injecting functions into module
00:34:49:077 | RL |      INFO  | +0     | Main - Module is built
00:34:49:077 | RL |      INFO  | +0     | CheckFile - Checking if D:\RocketLauncher\AutoHotkey.dll exists
00:34:49:077 | RL |      INFO  | +0     | Main - Running module
00:34:49:216 | MD |      INFO  | +N/A   | Module initialized
00:34:49:216 | MD |      INFO  | +0     | StartModule - Started
00:34:49:216 | MD |      INFO  | +0     | StartModule - MEmu: WinVICE
                    MEmuV: v2.4
                    MURL: http://vice-emu.sourceforge.net/
                    MAuthor: djvj|wahoobrian|brolly
                    MVersion: 2.1.5
                    MCRC: 9A8F13BF
                    iCRC: 15E345B2
                    MID: 635038268966170754
                    MSystem: Commodore 64|Commodore 16 & Plus4|Commodore VIC-20|Commodore 128|Commodore MAX Machine|Commodore 64 Games System|Commodore PET
00:34:49:217 | MD |      INFO  | +0     | StartModule - You have a supported System Name for this module: "Commodore VIC-20"
00:34:49:217 | MD |      INFO  | +0     | LocaleUtils.i18n - Started
00:34:49:217 | MD |      INFO  | +0     | LocaleUtils.i18n - Ended, using "Open" for "dialog.open"
00:34:49:217 | MD |      INFO  | +0     | LocaleUtils.i18n - Started
00:34:49:217 | MD |      INFO  | +0     | LocaleUtils.i18n - Ended, using "Start" for "dialog.start"
00:34:49:217 | MD |      INFO  | +0     | PluginInit - Started
00:34:49:217 | MD |      INFO  | +0     | CheckFile - Checking if D:\HyperSpin\Databases\Commodore VIC-20\Commodore VIC-20.xml exists
00:34:49:219 | MD |      INFO  | +0     | BuildAssetsTable - Started - Building Table for: Game Logo|System Logo
00:34:49:219 | MD |      INFO  | +0     | BuildAssetsTable - Ended
00:34:49:219 | MD |      INFO  | +0     | BuildAssetsTable - Started - Building Table for: Artwork1|Box Art|Cartridge|Flyers|Letters|Other
00:34:49:225 | MD |      INFO  | +0     | BuildAssetsTable - Ended
00:34:49:225 | MD |      INFO  | +0     | BuildAssetsTable - Started - Building Table for: Game Video|System Video
00:34:49:226 | MD |      INFO  | +0     | BuildAssetsTable - Ended
00:34:49:226 | MD |      INFO  | +0     | PluginInit - Ended
00:34:49:226 | MD |      INFO  | +0     | WinIPAC - Started with mode: START
00:34:49:241 | MD |      INFO  | +16    | StartModule - Ended
00:34:49:241 | MD |      INFO  | +0     | RIniFile.Read - Module - Fullscreen: true (DEFAULT)
00:34:49:241 | MD |      INFO  | +0     | RIniFile.Read - Module {SystemModuleIni} - [Settings] - WarpKey: h
00:34:49:241 | MD |      INFO  | +0     | RIniFile.Read - Module {SystemModuleIni} - [Settings] - JoySwapKey: a|'
00:34:49:241 | MD |      INFO  | +0     | RIniFile.Read - Module - StartTapeKey: F7 (DEFAULT)
00:34:49:242 | MD |      INFO  | +0     | RIniFile.Read - Module - StopTapeKey: F8 (DEFAULT)
00:34:49:242 | MD |      INFO  | +0     | RIniFile.Read - Module - bezelTopOffset: 16 (DEFAULT)
00:34:49:242 | MD |      INFO  | +0     | RIniFile.Read - Module - bezelBottomOffset: 46 (DEFAULT)
00:34:49:242 | MD |      INFO  | +0     | RIniFile.Read - Module - bezelLeftOffset: 7 (DEFAULT)
00:34:49:242 | MD |      INFO  | +0     | RIniFile.Read - Module - bezelRightOffset: 7 (DEFAULT)
00:34:49:242 | MD |      INFO  | +0     | RIniFile.Read - Module - DisableAutoControllerSwapping: false (DEFAULT)
00:34:49:242 | MD |      INFO  | +0     | RIniFile.Read - Module - UsePaddles: false (DEFAULT)
00:34:49:242 | MD |      INFO  | +0     | RIniFile.Read - Module - AutostartPrgMode: 2 (DEFAULT)
00:34:49:242 | MD |      INFO  | +0     | RIniFile.Read - Module - RequiresReset: false (DEFAULT)
00:34:49:242 | MD |      INFO  | +0     | RIniFile.Read - Module - RequiresHardReset: false (DEFAULT)
00:34:49:242 | MD |      INFO  | +0     | RIniFile.Read - Module - TrueDriveEmulation: false (DEFAULT)
00:34:49:242 | MD |      INFO  | +0     | RIniFile.Read - Module - LoadFile: (NO VALUE)
00:34:49:242 | MD |      INFO  | +0     | RIniFile.Read - Module - DefaultJoyPort: 1 (DEFAULT)
00:34:49:242 | MD |      INFO  | +0     | RIniFile.Read - Module - ColumnMode: 80 (DEFAULT)
00:34:49:242 | MD |      INFO  | +0     | Module - SDL mode is set to false
00:34:49:242 | MD |      INFO  | +0     | File.CheckFile - Checking if "D:\HS EMU SYSTEMS\WinVICE-3.1-x64\vice.ini" exists
00:34:49:244 | MD |      INFO  | +15    | IniFile.Write - SECTION: [VIC20] - KEY: AutostartPrgMode - VALUE: 2 - FILE: D:\HS EMU SYSTEMS\WinVICE-3.1-x64\vice.ini
00:34:49:244 | MD |      INFO  | +0     | RIniFile.Read - Module - VideoMode: NTSC (DEFAULT)
00:34:49:245 | MD |      INFO  | +0     | RIniFile.Read - Module - SendCommandDelay: 1500 (DEFAULT)
00:34:49:245 | MD |      INFO  | +0     | RIniFile.Read - Module - CartLoadingAddress: X000 (DEFAULT)
00:34:49:245 | MD |      INFO  | +0     | RIniFile.Read - Module - MemoryExpansion: none (DEFAULT)
00:34:49:245 | MD |      INFO  | +0     | RIniFile.Read - Module - Command: (NO VALUE)
00:34:49:245 | MD |      INFO  | +0     | RIniFile.Read - Module - RequiresReset: false (DEFAULT)
00:34:49:245 | MD |      INFO  | +0     | RomTableCheck - This game is not a candidate for MG or Change DIsc menu.
00:34:52:769 | MD |     ERROR  | +3526  | ScriptError - Invalid Cart Address Specified: X000
00:34:52:769 | MD |      INFO  | +0     | ExitModule - Started
00:34:52:769 | MD |      INFO  | +0     | UpdateStatistics - Starting Updating Statistics
00:34:52:806 | MD |      INFO  | +31    | UpdateStatistics - Game section statistics updated.
00:34:52:806 | MD |      INFO  | +0     | WinIPAC - Started with mode: END
00:34:52:806 | MD |      INFO  | +0     | ExitModule - Ended
End of Module Logs
00:34:52:868 | RL |      INFO  | +3791  | Main - Module ended, exiting RocketLauncher normally
00:34:52:868 | RL |      INFO  | +0     | ExitScript - Started
00:34:52:873 | RL |      INFO  | +0     | ExitScript - Restoring taskbar
00:34:53:089 | RL |      INFO  | +218   | SystemCursor - Restoring mouse cursor
00:34:53:089 | RL |      INFO  | +0     | ExitScript - Restored cursor
00:34:53:089 | RL |      INFO  | +0     | ExitScript - Ended

Any help or suggestions appreciated.

 

thomas

image.jpeg.ae38a31c33ac03663ccbdb8139b46532.jpeg

Posted

Have you tried running the game in vice usingthe correct exe? Looking at the log it seems there is some problem with the vice.ini. 

Have you read the module notes for Winvice?

56uIzxg.png

Archived

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

×
×
  • Create New...