thomas3120 Posted August 9, 2017 Posted August 9, 2017 Hello,Getting this error when launch WinVICE (VIC-20)exe through RL.Launching games directly with Emu.exe is ok. btw, running WinVICE ver: WinVICE-3.1-x64In 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
gigapig Posted August 10, 2017 Posted August 10, 2017 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?
Recommended Posts
Archived
This topic is now archived and is closed to further replies.