Hi,
I decided to try out the latest version of VICE (3.6.1 as of writing this) and when trying to launch a game from the GBC v17, the emulator doesn't start at all. Only exceptions are cartridges and tapes (.tap) from Extras, which load just fine. I'm using the GEMUS script made for GTK3 VICE 3.5, so I'm assuming that script is the problem since every game loads just fine with VICE 3.5.
So my question is, does anyone have an idea what needs to be changed in GEMUS script or anywhere else to make everything work?
Any help is much appreciated!
Welcome to the Gamebase 64 forums. An attempt to document ALL Commodore 64 gameware before it's too late!
VICE 3.6.x only loading cartridges and tapes
Moderator: Jimbo
- .mad.
- Honoured Member
- Location: Lancashire
Post
Re: VICE 3.6.x only loading cartridges and tapes
The problem is changed command-line for autostart and virtual devices.
-autostartprgmode 1
-truedrive = -drive8truedrive
-virtualdev = -virtualdev8
this hasn't been heavily tested for all advanced script options.
* The emulator won't run if the command-line has an error.
Just tested a few game files... D64, TAP, CRT, P00.
please report any problems you find, i use WinVICE with my setup.
-autostartprgmode 1
-truedrive = -drive8truedrive
-virtualdev = -virtualdev8
this hasn't been heavily tested for all advanced script options.
* The emulator won't run if the command-line has an error.
Just tested a few game files... D64, TAP, CRT, P00.
please report any problems you find, i use WinVICE with my setup.
![Wink :wink:](./images/smilies/icon_wink.gif)
Code: Select all
;*********************************
;* GTK3VICE-3.6.0 *
;* *
;* GEMUS Script *
;* (c) The GB64 Team *
;* 2nd February 2022 *
;*********************************
; Default M/C LOAD from TAPE or DISK is now Absolute.
; TAPE file = LOAD"",1,1
; DISK file = LOAD"*",8,1
; [-basicload] switch is required for any games that require BASIC loading...
; TAPE file = LOAD"",1
; DISK file = LOAD"*",8
; This script uses commandline functions, which are available in THIS GTK3 version of VICE.
; All other options will be the internal GTK3VICE defaults.
; Optional files (1): JiffyDOS_1581.bin - speed up loading in MetalDust.
; To use any foreign character ROM sets in VICE.
; Just place them in the .\GBC_v16\ROMs\ folder and set the GEMUS.
;--------------------------------------------------------
Clear_CLP()
;--------------------------------------------------------
; These are the only known C64 roms with custom characters i could find.
; SWE - Swedish, TUR - Turkish, DAN - Danish, SPA - Spanish, GER - German, JAP - Japanese.
If key_rom CONTAINS(SWE||DAN||TUR||SPA||GER||JAP||*)
If QUESTION(Do you have the %rom_value% KERNAL and CHAR ROMs in the%crlf% %dbpath%\ROMs\%rom_value%\ folder?%crlfx2%The emulator will not work if you lie.) = YES
Add_CLP( -kernal "%dbpath%\ROMs\%rom_value%\KERNAL.ROM")
Add_CLP( -chargen "%dbpath%\ROMs\%rom_value%\CHAR.ROM")
Else
End If
End If
;-------------------------------------------------------
; the emulator will not run on "shoddy" OpenGL Windows PC's without [-gtkbackend 0].
;---------------------------------------------------
if key_gtk CONTAINS (cairo)
; old PC without OpenGL 3.2+ drivers.
Add_CLP( -gtkbackend 0)
; OpenGL 3.2 Graphic card drivers only (GTX1080).
Else If key_gtk CONTAINS (opengl)
Add_CLP( -gtkbackend 1)
Else
; Cairo - default for OLD PC with old Graphic card drivers.
Add_CLP( -gtkbackend 0)
end if
;--------------------------------------------------
; stop sound buffer overflow crash (default value 100 is to low)
Add_CLP( -soundbufsize 350)
;Disable save resources on EXIT
Add_CLP( +saveres)
;disable nag screen
Add_CLP( +confirmonexit)
; Virtual Disks will not load without a Virtual Device (Disk Drive).
;Add_CLP( -virtualdev1)
; No crappy CRT graphic filter.
Add_CLP( -VICIIfilter 0)
If key_aspect CONTAINS(real)
;slightly squashed screen for a realistic C64 screen size.
Add_CLP( -trueaspect)
;character set looks really bad without the filter.
;Set filtering mode (1 = bilinear)
Add_CLP( -gtkfilter 1)
Else
;slightly wider screen for a true square pixel image.
Add_CLP( +trueaspect)
;Set filtering mode (0 = nearest)
;no filter for a clean sharp looking character set.
Add_CLP( -gtkfilter 0)
End if
; No British Keyboard?- User Positional & Dutch is best alternative.
; keyboard [positional]
Add_CLP( -keymap 1)
Add_CLP( -keyboardmapping 3)
;Start at normal 100% speed
Add_CLP( +warp)
;Specify SID engine and model (0: FastSID 6581, 1: FastSID 8580, 256: ReSID 6581, 257: ReSID 8580, 258: ReSID 8580 + digiboost, 512: Catweasel, 768: HardSID, 1024: ParSID in par port 1, 1280: ParSID in par port 2, 1536: ParSID in par port 3, 1792: SSI2001)
;related command line parameter seems to have changed therefore this section is disabled
;If Key_SID CONTAINS(0||1||256||257||258||512||768||1024||1280||1536||1792)
;Add_CLP( -sidenginemodel %sid_value%)
;Else
;SID 6581 (default)
;Add_CLP( -sidenginemodel 0)
;End If
If Key_fullscreen CONTAINS(yes||1||on||true)
Add_CLP( -fullscreen)
End If
;do we want a PAL or NTSC setup?
If PalNTSC = NTSC
Add_CLP( -ntsc)
Else
Add_CLP( -pal)
End If
; --\/-- start of cut --\/--
; -Joydev is back in the command-line for GTK3 starting with this version (r36821)
; modify or delete this section if you want your own Joypad settings.
; *GTK3 VICE less than r36821 does not support -joydev# and will crash at this point.
; Enable Joystick controller to PORT#, for what is set in the GameBase tab.
; This may not always be set correctly in GameBase.
;0=None, 1=Numpad + RCtrl, 2=Keset A, 3=Keyset B, 4+ are for real joysticks/pads
; NumLock [light] must be ON for NumPAD joykeymap to work.
; Selecting "4" or "5" will crash the emulator if you haven't got a USB Joystick attached in your PC.
; so we must check for user input in global kv-keyset in RIGHT GEMUS window (F2):.
; REALJOYSTICK1=YES
; REALJOYSTICK2=YES
If Control = JoyPort2
;------------------------------------
If Key_realjoystick1 CONTAINS(yes||1||on||true)
Add_CLP( -joydev2 4)
;------------------------------------
Else
Add_CLP( -joydev2 1)
End If
If NumPlayers > 1
;------------------------------------
If Key_realjoystick2 CONTAINS(yes||1||on||true)
Add_CLP( -joydev1 5)
;------------------------------------
Else
Add_CLP( -joydev1 2)
End If
Else
Add_CLP( -joydev1 0)
End If
ElseIf Control = JoyPort1
;------------------------------------
If Key_realjoystick1 CONTAINS(yes||1||on||true)
Add_CLP( -joydev1 4)
;------------------------------------
Else
Add_CLP( -joydev1 1)
End If
If NumPlayers > 1
;------------------------------------
If Key_realjoystick2 CONTAINS(yes||1||on||true)
Add_CLP( -joydev2 5)
;------------------------------------
Else
Add_CLP( -joydev2 2)
End If
Else
Add_CLP( -joydev2 0)
End If
ElseIf Control = Keyboard
; you might still want a real joystick mapped?
; But not in port #1 for the obvious reason.
; and definitely no conflicting joykeymaps.
If Key_realjoystick1 CONTAINS(yes||1||on||true)
Add_CLP( -joydev2 4)
else
Add_CLP( -joydev1 0)
Add_CLP( -joydev2 0)
End If
Else
; The setting used for every other controller option.
; Paddle, Mouse, KoalaPad, LightPen.
; Joystick in Port#2 - Nothing in port 2
Add_CLP( -joydev2 4)
Add_CLP( -joydev1 0)
End If
;--/\--- end of cut --/\--
If GameType CONTAINS(d81)
If QUESTION(Do you have "JiffyDOS_1581.bin"%crlf% in the %dbpath%\ROMs\ folder?)%crlfx2%Disk will not load if you lie.) = YES
Add_CLP( -dos1581 "%dbpath%\ROMs\JiffyDOS_1581.bin")
Add_CLP( -jiffyswitch)
Show_Message(Using JiffyDOS 1581 to speed up the loading.%crlf%Press "8", "J" and ENTER at the menu to load.)
Else
Show_Message(No JiffyDOS = SLOW loading.%crlf%Press "C" and ENTER at the menu to load.)
End If
;******************************************************
; Metal Dust is the only SuperCPU Game in GameBase.
; SuperCPU ROM v0.05 or higher is required to boot the disk.
; SuperCPU ROM v0.07 is included in GTK3VICE v3.33.
; With "JiffyDOS_1581.bin" you can speed up the loading.
; Place the "JiffyDOS_1581.bin" in the scripts folder.
;******************************************************
Add_CLP( -drive8type 1581)
Add_CLP( -drive8extend 2)
Add_CLP( -drive9type 1581)
Add_CLP( -drive9extend 2)
Add_CLP( -drive8truedrive)
Add_CLP( -simmsize 16)
Add_CLP( -speedswitch)
Add_CLP( -fs8 "%gamepath%" -8 "%gamepathfile%")
Add_CLP( -fs9 "%gamepath%" -9 "%gamepathfile%(1)")
Add_CLP( -autostart "%gamepathfile%")
;********************************************************
Else If GameType CONTAINS(REU)
; RAM Expansion Unit files
; EXPERIMENTAL for DOOM.
; Super CPU 16MB and REU 16MB (still only 4 FPS)
if key_scpureu CONTAINS (yes)
; RAM Expansion Unit files + SPCPU (DOOM)
Add_CLP( -simmsize 16)
ADD_CLP( -reu -reusize 16384 +reuimagerw -reuimage "%gamepathfile%" -autostartprgmode 1 -autostart "%gamepath%\loader.prg")
End If
if key_reu CONTAINS(128||256||512||1024||2048||4096||8192||16384)
ADD_CLP( -reu -reusize %reu_value%)
else
ADD_CLP( -reu -reusize 512)
End If
;link the REU file as the gamefile from GameBase.
ADD_CLP( -reuimage "%gamepathfile%")
if key_reuboot CONTAINS(*.prg)
;prg bootfile for REU image (max 8 chars).
ADD_CLP( -autostartprgmode 1 -autostart "%gamepath%\%reuboot_value%")
elseif key_reuboot CONTAINS(*.t64||*.d64||*.p00)
ADD_CLP( -autostart "%gamepath%\%reuboot_value%")
End If
Else If GameType CONTAINS(crt)
;autostart the cart image
Add_CLP( -cartcrt "%gamepathfile%")
Else If GameType CONTAINS(tap)
ADD_CLP( -drive8type 0)
ADD_CLP( -tapeport1device 1)
;Reset (Auto-rewind) needs to be OFF for compilation tapes.
ADD_CLP( +dsresetwithcpu)
; VICE is fixed to TAP LOAD"",1,1 as default in this version.
; so we reverse the command.
; and add [-basicload] to the deafult setting.
If key_load11 CONTAINS(yes)
if key_sys CONTAINS(*)
Add_CLP( -autoload "%gamepathfile%")
Add_CLP( -keybuf "sys%sys_value%\x0d")
else
ADD_CLP ( -autostart "%gamepathfile%")
End if
Else
ADD_CLP ( -basicload "%gamepathfile%")
End If
Else If GameType CONTAINS(g64)
If Key_drive8type CONTAINS (1542)
Add_CLP( -drive8type 1542)
else
Add_CLP( -drive8type 1541)
End If
Add_CLP( -drive8extend 2)
; Set TrueDrive Emulation option ON for ALL G64 disks.
; overrule with vtde=no stored in gemus.
if key_vtde CONTAINS(no)
Add_CLP( +drive8truedrive)
Add_CLP( -virtualdev8)
else
Add_CLP( -drive8truedrive)
End If
;----------------------------------
; It's now possible to load a specific game file from a G64 using the VICE key buffer.
; for wildcard use "*" as the filename.
; GEMUS: load8name=*
; sys=16384
If key_load8name CONTAINS(*)
;Insert Disk for manual loading
Add_CLP( -8 "%gamepathfile%")
If key_sys CONTAINS(*)
ADD_CLP( -keybuf-delay 1 -keybuf "load"""%load8name_value%""",8\nsys%sys_value%\n")
Else
ADD_CLP( -keybuf-delay 1 -keybuf "load"""%load8name_value%""",8\nrun\n")
End If
ElseIf key_load81name CONTAINS(*)
;Insert Disk for manual loading
Add_CLP( -8 "%gamepathfile%")
If key_sys CONTAINS(*)
ADD_CLP( -keybuf-delay 1 -keybuf "load"""%load81name_value%""",8,1\nsys%sys_value%\n")
Else
ADD_CLP( -keybuf-delay 1 -keybuf "load"""%load81name_value%""",8,1\nrun\n")
End If
ElseIf key_load8 CONTAINS(wildcard)
;only possible way to load some protected disks. LOAD"*",8:RUN
Add_CLP( -basicload "%gamepathfile%")
Else
;no internal image file to select so it's autoboot or nothing.
Add_CLP( -autostart "%gamepathfile%")
End If
ElseIf GameType CONTAINS(t64||p00||prg)
ADD_CLP( -drive8type 0)
;inject into RAM
Add_CLP( -autostartprgmode 1)
If Key_load CONTAINS(wildcard)
; Load the first file on the tape image "load:".
Add_CLP( -autostart "%gamepathfile%")
;only for corrupt T64
ElseIf key_load1name CONTAINS(*)
Add_CLP( -autostart "%gamepathfile%:%load1name_value%")
ElseIf ImageIndex > 0
; Boot tape with internal ImageName stored in GameBase "runnable file". Requires to press play on tape
Add_CLP( -autostart "%gamepathfile%:%c64imagename%")
Else
; Default setting. ; Load the first file
Add_CLP( -autostart "%gamepathfile%")
End If
ElseIf GameType CONTAINS(d64)
If Key_drive8type CONTAINS (1542)
Add_CLP( -drive8type 1542)
else
Add_CLP( -drive8type 1541)
End If
Add_CLP( -drive8extend 2)
; Check if TrueDrive Emulation option is enabled in GameBase Tab.
; overrule with vtde=yes/no stored in global gemus.
If TrueDriveEmu = YES
if key_vtde CONTAINS(no)
Add_CLP( +drive8truedrive)
Add_CLP( -virtualdev8)
else
Add_CLP( -drive8truedrive)
End If
ElseIf TrueDriveEmu = NO
if key_vtde CONTAINS(yes)
Add_CLP( -drive8truedrive)
else
Add_CLP( +drive8truedrive)
Add_CLP( -virtualdev8)
End If
End If
;----------------------------------
; It's now possible to load a specific game file with a system call using the VICE key buffer.
; works well on protected D64 disks that can not be read from the GameBase file selector.
; to load "*" as the filename. use load8=wildcard or load=wildcard.
; GEMUS: load81name=menu
; sys=64738
If key_load8name CONTAINS(*)
Add_CLP( -8 "%gamepathfile%")
If key_sys CONTAINS(*)
ADD_CLP( -keybuf-delay 1 -keybuf "load"""%load8name_value%""",8\nsys%sys_value%\n")
else if key_doublerun CONTAINS(yes)
ADD_CLP( -keybuf-delay 1 -keybuf "load"""%load8name_value%""",8\nrun\nrun\n")
Else
ADD_CLP( -keybuf-delay 1 -keybuf "load"""%load8name_value%""",8\nrun\n")
End If
ElseIf key_load81name CONTAINS(*)
Add_CLP( -8 "%gamepathfile%")
If key_sys CONTAINS(*)
ADD_CLP( -keybuf-delay 1 -keybuf "load"""%load81name_value%""",8,1\nsys%sys_value%\n")
Else
ADD_CLP( -keybuf-delay 1 -keybuf "load"""%load81name_value%""",8,1\nrun\n")
End If
ElseIf key_vicename CONTAINS(*)
; only possible way to load some DIR edited disks in VICE (without a fileindex load).
Add_CLP( -8 "%gamepathfile%")
ADD_CLP( -keybuf-delay 1 -keybuf "load"""%vicename_value%""",8,1\nrun\n")
Else if key_sbname CONTAINS(*)
Add_CLP( -8 "%gamepathfile%")
ADD_CLP( -keybuf-delay 1 -keybuf "load"""simon's basic""",8,1\nrun\nload"""%sbname_value%""",8\nrun\n")
Else if key_ssb3name CONTAINS(*)
Add_CLP( -8 "%gamepathfile%")
ADD_CLP( -keybuf-delay 1 -keybuf "load"""ssbasic3""",8,1\nrun\nload"""%ssb3name_value%""",8\nrun\n")
;--------------------------
; Load and RUN ANY 2 files (for some magazine BASIC listings).
; multifile1=rabbyte loader
; multifile2=rabbyte game
;--------------------------
Else If key_multifile1 CONTAINS(*)
Add_CLP( -8 "%gamepathfile%")
ADD_CLP( -keybuf-delay 1 -keybuf "load"""%multifile1_value%""",8,1\nrun\nload"""%multifile2_value%""",8\nrun\n")
;--------------------------
ElseIf key_load CONTAINS(wildcard)
;only possible way to load some protected disks. LOAD"*",8,1
ADD_CLP( -autostart "%gamepathfile%")
ElseIf key_load8 CONTAINS(wildcard)
;only possible way to load some protected disks. LOAD"*",8:RUN
Add_CLP( -basicload "%gamepathfile%")
Else
; Default setting. Boot disk with internal ImageName stored in GameBase "runnable file".
Add_CLP( -fs8 "%gamepath%" -8 "%gamepathfile%")
Add_CLP( -autostart "%gamepathfile%:%c64imagename%")
;================================
; SYS can be used without LOAD81NAME when only 1 file is on the disk.
If key_sys CONTAINS(*)
ADD_CLP( -keybuf-delay 1 -keybuf "sys%sys_value%\n")
End If
;================================
End If
End If
If VersionComment CONTAINS(*not 100%*||*not working*||*doesn't work*)
Show_Message(This game may not work properly.)
End If
;show message for the user
If Key_msg CONTAINS(*)
Show_Message(%msg_value%)
End If
; keybuf should be used for all load commands in VICE.
; sendkeys are only required to start the Myth original cartridge.
; typing "SYS 3 MYTH" on the black screen.
If key_sendkeys CONTAINS(sys 3 myth)
Run_Emulator_Send_Keys([2]%sendkeys_value%||50)
Else If key_load CONTAINS(gamma)
Run_Emulator_Send_Keys([2]lstart{enter}[1]r||50)
Else
;run the emulator
Run_Emulator()
End If
- Attachments
-
- 360 Scripts.zip
- (9.39 KiB) Downloaded 1002 times
- Jakuchu
- New Member
- Location: Finland
Post
Re: VICE 3.6.x only loading cartridges and tapes
That did the trick, everything seems to be working now. Thank you very much for the help!
Who is online
Users browsing this forum: No registered users and 43 guests