Hey thanks for the detailed reply, but I spy something odd right away - my VICE3.txt looks nothing like that:
Code: Select all
;********************************
;* VICE v3+ series *
;* *
;* WinVICE v3.0 x86 *
;* WinVICE v3.1 x86 *
;* WinVICE v3.2 x86 r34842 *
;* WinVICE v3.2 SCPU-x86 r34842 *
;* *
;* GEMUS Script *
;* (c) The GB64 Team *
;* 25th August 2019 *
;********************************
; This script uses commandline functions, which are available in the v3.0+ versions of VICE.
; All other options will be the internal VICE defaults.
;
; Optional files (1): .\ROMs\JiffyDOS_1581.bin - speed up loading in MetalDust SCPU.
; 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 GameBase game path will be the first folder openend when looking for side 'B'.
; TAPE DIR not compatible with SDL2VICE, GTK3VICE, SCPU.
Add_CLP( -initialdiskdir "%gamepath%")
;old v2.4 commandline works!
ADD_CLP( +confirmexit)
ADD_CLP( +saveres)
; stop sound buffer overflow crash (default value 100 is to low)
Add_CLP( -soundbufsize 350)
; keyboard [positional]
Add_CLP( -keymap 1)
; Virtual Disks will not load without a Virtual Device (Disk Drive).
Add_CLP( -virtualdev)
; No crappy CRT graphic filter.
Add_CLP( -VICIIfilter 0)
If key_aspect CONTAINS(real)
; 2 = true aspect (slighlty squashed screen).
Add_CLP( -trueaspect)
Else
; 0 = screen aspect (wider screen for pixel sharp image).
Add_CLP( +trueaspect)
End if
; 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)
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 --\/--
; modify or delete this section if you want your own Joypad settings.
; 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
; 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 #1
Add_CLP( -joydev2 4)
Add_CLP( -joydev1 0)
End If
;--/\--- end of cut --/\--
If GameType CONTAINS(d81)
;******************************************************
; 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 every VICE from v3.0+
; With "JiffyDOS_1581.bin" you can speed up the loading.
; Place the "JiffyDOS_1581.bin" in the scripts folder.
;******************************************************
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
; change SCPU version "05" or greater if needed.
if key_SCPU CONTAINS(05||06||07||*)
Add_CLP( -scpu64 "%dbpath%\ROMs\SCPU64_v%scpu_value%.bin")
End If
Add_CLP( -drive8type 1581)
Add_CLP( -drive8extend 2)
Add_CLP( -drive9type 1581)
Add_CLP( -drive9extend 2)
Add_CLP( -truedrive)
Add_CLP( -simmsize 16)
Add_CLP( -speedswitch)
Add_CLP( -fs8 "%gamepath%" -8 "%gamepathfile%")
Add_CLP( -fs9 "%gamepath%" -9 "%gamepathfile%(1)")
Add_CLP( -autostart "%gamepathfile%")
;********************************************************
; EXPERIMENTAL for DOOM.
; Super CPU 16MB and REU 16MB (still only 4 FPS)
Else If GameType CONTAINS(REU)
; RAM Expansion Unit files + SPCPU (DOOM)
Add_CLP( -simmsize 16)
ADD_CLP( -reu -reusize 16384 +reuimagerw -reuimage "%gamepathfile%" -autostartprgmode 1 -autostart "%gamepath%\loader.prg")
ElseIf GameType CONTAINS(crt)
Add_CLP( -drive8type 0)
;autostart the cart image
Add_CLP( -cartcrt "%gamepathfile%")
Else If GameType CONTAINS(tap)
;remove disk drive for some tape loader protections.
ADD_CLP( -drive8type 0)
ADD_CLP( -datasette)
;Reset (Auto-rewind) needs to be OFF for compilation tapes.
ADD_CLP( +dsresetwithcpu)
;----------------------------------
; It's now possible to load a TAPE ,1,1 using RUN or SYS from the VICE key buffer.
; the datasette player motor doesn't start without an image name.
; so using keybuf requires you to set the tape deck playing manually.
; this 'hackish' way autoloads the TAP with 1,1.
If key_load11 CONTAINS(yes)
; LOAD"",1,1:RUN
If key_sys CONTAINS(*)
ADD_CLP( -autoload "%gamepathfile%:"",1,1)
ADD_CLP( -keybuf sys%sys_value%\n)
Else
ADD_CLP( -autostart "%gamepathfile%:"",1,1)
End If
ElseIf key_load CONTAINS(manual)
Add_CLP( -1 "%gamepathfile%")
Else
; wildcard - LOAD: RUN
ADD_CLP( -autostart "%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( +truedrive)
else
Add_CLP( -truedrive)
End If
;----------------------------------
; It's now possible to load a specific game file from a G64 using the VICE key buffer.
; for "*" as the filename use load8=wildcard.
; GEMUS: load8name=filename
; sys=16384
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
ADD_CLP( -keybuf-delay 1 -keybuf "load"""%load8name_value%""",8\nrun\n")
End If
ElseIf key_load8 CONTAINS(wildcard)
;only possible way to load some protected disks. LOAD"*",8:RUN
Add_CLP( -8 "%gamepathfile%")
ADD_CLP( -keybuf-delay 1 -keybuf "load"""*""",8\nrun\n")
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_load CONTAINS(manual)
Add_CLP( -8 "%gamepathfile%")
Else
;no internal image file to select so it's autoboot or nothing.
Add_CLP( -autostart "%gamepathfile%")
End If
Else If GameType CONTAINS(t64)
Add_CLP( -initialtapedir "%gamepath%")
Add_CLP( -drive8type 0)
If Key_run CONTAINS(manual)
; Load but do not run game. This enables adding pokes or listing basic.
Add_CLP( -autoload "%gamepathfile%")
Else if key_load CONTAINS(wildcard)
Add_CLP( -autostart "%gamepathfile%")
ElseIf key_load CONTAINS(manual)
Add_CLP( -1 "%gamepathfile%")
;only for corrupt T64
ElseIf key_load1name CONTAINS(*)
Add_CLP( -autostart "%gamepathfile%:%load1name_value%")
Else
; Default setting. Boot tape with internal ImageName stored in GameBase "runnable file".
Add_CLP( -autostart "%gamepathfile%:%c64imagename%")
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( +truedrive)
else
Add_CLP( -truedrive)
End If
ElseIf TrueDriveEmu = NO
if key_vtde CONTAINS(yes)
Add_CLP( -truedrive)
else
Add_CLP( +truedrive)
End If
End If
;----------------------------------
; It's now possible to load a specific game file with a system call using the VICE key buffer.
; For protected G64 disks that can not be read from the GameBase file selector.
; To load "*" as the load8name or load81name use load8=wildcard or load=wildcard.
; GEMUS: load8name=name1 - LOAD"name1",8
; load81name=name2 - LOAD"name2",8,1
; sys=16384
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_load8 CONTAINS(wildcard)
;only possible way to load some protected disks. LOAD"*",8:RUN
Add_CLP( -8 "%gamepathfile%")
ADD_CLP( -keybuf-delay 1 -keybuf "load"""*""",8\nrun\n")
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
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_vicename CONTAINS(*)
Add_CLP( -8 "%gamepathfile%")
ADD_CLP( -keybuf-delay 1 -keybuf "load"""%vicename_value%""",8,1\nrun\n")
ElseIf key_load CONTAINS(manual)
Add_CLP( -8 "%gamepathfile%")
ElseIf key_load CONTAINS(wildcard)
;only possible way to load some protected disks. LOAD"*",8,1
ADD_CLP( -autostart "%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
As a side note, I'm seeing permission and read-only settings all over the place. GBC64 is the only system I've setup from iso... could that be the issue?