your emulators.ini looks good.
The problem is a small update to the -VICIIaspectmode settings on the command-line in latest Vice 3.8.
it used to have separate GTK3 and SDL2 settings, now it's just one setting for both.
the scripts need updating...
*not tested everything, but the emulator will run now.
Code: Select all
;*********************************
;* GTK3VICE-3.8.x *
;* *
;* GEMUS Script *
;* (c) The GB64 Team *
;* 1st January 2024 *
;*********************************
; 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_v17\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
;--------------------------------------------------
; 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( -virtualdev8)
; No crappy CRT graphic filter.
Add_CLP( -VICIIfilter 0)
;Set aspect ratio mode (0 = off, 1 = custom, 2 = true)
If key_aspect CONTAINS(real)
Add_CLP( -VICIIaspectmode 2)
else
Add_CLP( -VICIIaspectmode 0)
End if
; keyboard [1 symbolic , 2 positional]
Add_CLP( -keymap 1)
;1 British, 2 Danish, 3 Dutch, 4 American, 5 French, 6 German, 7 Italian.
Add_CLP( -keyboardmapping 1)
;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 --\/--
; 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.
; -controlport1device Device
; Set Control port 1 device (0: None, 1: Joystick, 2: Paddles, 3: Mouse (1351), 4: Mouse (NEOS), 5: Mouse (Amiga), 6: Trackball (Atari CX-22), 7: Mouse (Atari ST), 8: Mouse (SmartMouse), 9: Mouse (Micromys), 10: KoalaPad, 11: Light Pen (up trigger), 12: Light Pen (left trigger), 13: Light Pen (Datel), 14: Light Gun (Magnum Light Phaser), 15: Light Gun (Stack Light Rifle), 16: Light Pen (Inkwell), 18: Sampler (2bit), 19: Sampler (4bit), 20: RTC (BBRTC), 21: Dongle (Paperclip64), 22: Keypad (Coplin), 23: Keypad (Cardco Cardkey 1), 24: Keypad (Atari CX85), 25: Keypad (RushWare), 26: Keypad (Atari CX21), 27: Dongle (Script 64), 28: Dongle (VizaWrite 64), 29: Dongle (WaaSoft), 30: SNES Pad Adapter (Trapthem), 31: SNES Pad Adapter (Ninja), 32: Joystick Adapter (Spaceballs), 33: Joystick Adapter (Inception), 34: Joystick Adapter (MultiJoy Joysticks), 35: Joystick Adapter (MultiJoy Logic), 36: Protopad, 37: Joyport I/O simulation, 38: Microflyte Joystick)
;
; -controlport2device Device
; Set Control port 2 device (0: None, 1: Joystick, 2: Paddles, 3: Mouse (1351), 4: Mouse (NEOS), 5: Mouse (Amiga), 6: Trackball (Atari CX-22), 7: Mouse (Atari ST), 8: Mouse (SmartMouse), 9: Mouse (Micromys), 10: KoalaPad, 18: Sampler (2bit), 19: Sampler (4bit), 20: RTC (BBRTC), 21: Dongle (Paperclip64), 22: Keypad (Coplin), 23: Keypad (Cardco Cardkey 1), 24: Keypad (Atari CX85), 25: Keypad (RushWare), 26: Keypad (Atari CX21), 27: Dongle (Script 64), 28: Dongle (VizaWrite 64), 29: Dongle (WaaSoft), 30: SNES Pad Adapter (Trapthem), 31: SNES Pad Adapter (Ninja), 32: Joystick Adapter (Spaceballs), 33: Joystick Adapter (Inception), 34: Joystick Adapter (MultiJoy Joysticks), 35: Joystick Adapter (MultiJoy Logic), 36: Protopad, 37: Joyport I/O simulation, 38: Microflyte Joystick)
;------------------------------
If key_2realjoysticks CONTAINS(yes)
If Control = JoyPort1
Add_CLP( -joydev2 5 -joydev1 4)
Else
Add_CLP( -joydev2 4 -joydev1 5)
End If
; GEMUS empty use Numpad for Joystick-Keymaps.
Else
If Control = JoyPort2
Add_CLP( -joydev2 1)
If NumPlayers > 1
Add_CLP( -joydev1 2)
Else
Add_CLP( -joydev1 0)
End If
ElseIf Control = JoyPort1
Add_CLP( -joydev1 1)
If NumPlayers > 1
Add_CLP( -joydev2 2)
Else
Add_CLP( -joydev2 0)
End If
ElseIf Control = Keyboard
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 keymap in Port#2 - Nothing in port 1.
Add_CLP( -joydev2 4)
Add_CLP( -joydev1 0)
End If
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(tcrt)
;autostart the cart image
Add_CLP( -tapecrt "%gamepathfile%")
Add_CLP( -tapeport1device 6)
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
Code: Select all
;*********************************
;* SDL2 VICE v3.8.x *
;* *
;* GEMUS Script *
;* (c) The GB64 Team *
;* 1st January 2024 *
;*********************************
; 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 the SDL2v33 versions of VICE.
; All other options will be the internal SDL2VICE defaults.
; Adding new or enhanced functions, will probably break it for an older emulator version.
; Optional files (1): JiffyDOS_1581.bin - speed up loading in MetalDust.
Clear_CLP()
; stop sound buffer overflow crash (default value 100 is to low)
Add_CLP( -soundbufsize 350)
;--------------------------------------------------------
; To use any foreign character ROM sets in VICE.
; Just place them in the .\GBC_v17\ROMs\ folder and set the GEMUS.
;--------------------------------------------------------
; 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
;-------------------------------------------------------
;Disable Nag screen on EXIT
Add_CLP( +confirmonexit)
;Do not save any settings to vice.ini on EXIT
Add_CLP( +saveres)
; keyboard [positional]
Add_CLP( -keymap 1)
; Virtual Disks will not load without a Virtual Device (Disk Drive).
;Add_CLP( -virtualdev8)
; No crappy CRT graphic filter.
Add_CLP( -VICIIfilter 0)
If key_aspect CONTAINS(real)
Add_CLP( -VICIIaspectmode 2)
else
Add_CLP( -VICIIaspectmode 0)
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)
;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( -VICIIfull)
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.
; SDL2 VICE uses a custom joykeymap file "sdl-joymap-C64.vjm".
; map your joystick and save the file to the SDL2 emulator folder.
; 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.
; USB Joystick in Port#2
Add_CLP( -joydev2 4)
Add_CLP( -joydev1 0)
End If
;--/\--- end of cut --/\--
If GameType CONTAINS(d81)
Add_CLP( -drive8type 1581)
Add_CLP( -drive8extend 2)
Add_CLP( -drive8truedrive)
Add_CLP( -drive9type 1581)
Add_CLP( -drive9extend 2)
Add_CLP( -drive9truedrive)
Add_CLP( -fs8 "%gamepath%" -8 "%gamepathfile%")
Add_CLP( -fs9 "%gamepath%" -9 "%gamepathfile%(1)")
Add_CLP( -autostart "%gamepathfile%")
if key_mode CONTAINS(scpu)
;******************************************************
; Metal Dust is the only SuperCPU Game in GameBase.
; SPU ROM v05+ is required and included in SDL2VICE v33.
; With "JiffyDOS_1581.bin" you can speed up the loading.
; Place the "JiffyDOS_1581.bin" in the ROMs folder.
;******************************************************
Add_CLP( -simmsize 16)
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
Add_CLP( -speedswitch)
End If
;********************************************************
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%")
; ADD_CLP( -autostart "%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)
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 ( -autostart "%gamepathfile%" -basicload)
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
;------------------------------------------------------------------------------------
; No SPACES are allowed in the keybuf or ("%key_value%") in the SDL versions of VICE.
; when adding a filename value use **wildcard** at the 1st space.
;------------------------------------------------------------------------------------
; if you want to load ["mercenary escape"]
;
; vicename=mercenary*
; vicename=merc*
;
; if two files have similar names on the disk
; mercenary escape
; mercenary dox
; you are out of luck, unless you rename the files!
;-------------------------------------------------------------------
; 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 or load=wildcard.
; GEMUS: load8name=filename
; 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_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(*)
;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_load CONTAINS(manual)
Add_CLP( -8 "%gamepathfile%")
;========================
ElseIf key_vicename CONTAINS(*)
;Use [\x20] for spaces in filename.
; GEMUS: vicename=please\x20load\x20me
; result: LOAD"PLEASE LOAD ME",8,1
Add_CLP( -8 "%gamepathfile%")
ADD_CLP( -keybuf-delay 1 -keybuf load"%vicename_value%",8,1\nrun\n)
;========================
Else
;no internal image file to select so it's autoboot or nothing.
Add_CLP( -autostart "%gamepathfile%")
End If
Else If GameType CONTAINS(t64||prg||p00)
Add_CLP( -autostartprgmode 1)
Add_CLP( -drive8type 0)
Add_CLP( -virtualdev8)
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%")
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
;------------------------------------------------------------
; NO SPACES ARE ALLOWED IN FILENAMES IN THIS KEYBUF VERSION.
;------------------------------------------------------------
; 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 wildcard you can use "*" as the load81name, or load=wildcard.
; GEMUS: load8name=menu
; 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_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*",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(manual)
Add_CLP( -8 "%gamepathfile%")
;========================
ElseIf key_vicename CONTAINS(*)
;Use [\x20] for spaces in the filename.
; GEMUS: vicename=please\x20load\x20me
; result: LOAD"PLEASE LOAD ME",8,1
Add_CLP( -8 "%gamepathfile%")
ADD_CLP( -keybuf-delay 1 -keybuf load"%vicename_value%",8,1\nrun\n)
;========================
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