Welcome to the Gamebase 64 forums. An attempt to document ALL Commodore 64 gameware before it's too late!
Did anyone ever fix the script for Vice 2.4?
Moderator: Jimbo
- .mad.
- Honoured Member
- Location: Lancashire
Post
example emulators.ini
[Emulators]
1=WinVICE 2.4-x86
[File Types]
SupportTypes=D64;T64;G64;G41;TAP;CRT;P00;PRG
[WinVICE 2.4-x86]
UseShortFilenames=1
SupportedTypes=D64;T64;G64;G41;TAP;CRT;P00;PRG;ROM
EmulatorPathFile=C:\GameBase\Vic20\WinVICE-2.4-x86\xvic.exe
ScriptFile=WinVICE.txt
1=C:\GameBase\Vic20\WinVICE-2.4-x86\vice.ini
you need to ENABLE short-filenames not disable them.macguyver wrote:Hi Mayhem, I just tried disabling short filenames (Thanks for the tip), and unfortunately I still get the same error.
example emulators.ini
[Emulators]
1=WinVICE 2.4-x86
[File Types]
SupportTypes=D64;T64;G64;G41;TAP;CRT;P00;PRG
[WinVICE 2.4-x86]
UseShortFilenames=1
SupportedTypes=D64;T64;G64;G41;TAP;CRT;P00;PRG;ROM
EmulatorPathFile=C:\GameBase\Vic20\WinVICE-2.4-x86\xvic.exe
ScriptFile=WinVICE.txt
1=C:\GameBase\Vic20\WinVICE-2.4-x86\vice.ini
- macguyver
- New Member
Post
I've changed it back to enabling short filenames which is what I had before, thanks .mad. (Also possible by clicking the "use short (8.3) filenames" checkbox in the GEMUS menu in Gamebase)
This is back to what I had before and is not effecting the outcome of this error.
The writeup on the dink mod of VICE is located below, in case that provides any info on why this version of VICE wouldn't work with the 2012 GEMUS script, above. It's a fantastic version of VICE, I just am trying to figure out how to implement it in Gamebase.
(Actually I'm not permitted to post URLs for some reason)
Thanks for any insight!
This is back to what I had before and is not effecting the outcome of this error.
The writeup on the dink mod of VICE is located below, in case that provides any info on why this version of VICE wouldn't work with the 2012 GEMUS script, above. It's a fantastic version of VICE, I just am trying to figure out how to implement it in Gamebase.
(Actually I'm not permitted to post URLs for some reason)
Thanks for any insight!
- macguyver
- New Member
Post
Thanks for the ideas, .mad. I'm at work now, so I'll check your notes tonight. But in the meantime...
I got it working another way! I was able to make this work by trying an earlier, offically sanctioned version of the dink mod VICE package which is Version 2.4.8 (it's not an x64 version either, that might be an issue as well) I realize now that it was risky and/or foolish of me to be using a nightly build, even though it was a newer version. So I swapped out my xvice.exe file with the v2.4.8 version, and now I have the dink mod version of VICE working fine in Gamebase Vic20. I am curious though what GEMUS script you would recommend for v 2.4.8 of VICE. Would the version in this thread work, in your opinion?
For anyone reading this who is interested in getting a wired or wireless controller working with VICE, the dink mod version is invaluable. I am playing my favorite Vic20 games from the comfort of my couch, controlling games with a wireless Xbox 360 controller and the visuals on my HDTV. With the ease of the well curated Gamebase Vic20, it's a dream come true!
Thanks again for your suggestions, .mad! I'm off to try all these games
Here is the link where I downloaded the version of the dink mod VICE that works with Gamebase:
http://www.lemon64.com/forum/viewtopic.php?t=42474
I got it working another way! I was able to make this work by trying an earlier, offically sanctioned version of the dink mod VICE package which is Version 2.4.8 (it's not an x64 version either, that might be an issue as well) I realize now that it was risky and/or foolish of me to be using a nightly build, even though it was a newer version. So I swapped out my xvice.exe file with the v2.4.8 version, and now I have the dink mod version of VICE working fine in Gamebase Vic20. I am curious though what GEMUS script you would recommend for v 2.4.8 of VICE. Would the version in this thread work, in your opinion?
For anyone reading this who is interested in getting a wired or wireless controller working with VICE, the dink mod version is invaluable. I am playing my favorite Vic20 games from the comfort of my couch, controlling games with a wireless Xbox 360 controller and the visuals on my HDTV. With the ease of the well curated Gamebase Vic20, it's a dream come true!
Thanks again for your suggestions, .mad! I'm off to try all these games
Here is the link where I downloaded the version of the dink mod VICE that works with Gamebase:
http://www.lemon64.com/forum/viewtopic.php?t=42474
- .mad.
- Honoured Member
- Location: Lancashire
Post
Managed to get a cart to load in x64.
but you have to rename the multi-cart files.
not sure if the mod is broken or it's a x64 thing.
it's a bit dodgey but it works.
if it works on x86 in XP. that's the only version i would use.
I like to be near the keyboard as most games need a key press as some point.
Even though it's (Alt+M) most of the time.
Only you can tell me if it doesn't work for your setup.
Then i will try and fix it.
but you have to rename the multi-cart files.
not sure if the mod is broken or it's a x64 thing.
it's a bit dodgey but it works.
Code: Select all
;*****************************
;* WinVICE 2.4r GEMUS Script *
;* (c) The GB Team *
;* X64 Dink MOD Test *
;*****************************
;--------------------------------------------------------------------
; Start of script.
;--------------------------------------------------------------------
;do we want a PAL or NTSC setup?
If PalNTSC = NTSC
Add_CLP( -ntsc)
Else
Add_CLP( -pal)
End If
;joystick (this is set for numpad as joystick#1)
; WinVICE did not boot when joystick was set without one attached.
;Set Control port device (0: None), 1: Joystick, 2: Paddles, 3: Mouse (1351), 4: Mouse (NEOS), 5: Mouse (Amiga), 6: Mouse (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: Datel Light Pen, 14: Magnum Light Phaser, 15: Stack Light Rifle, 16: Inkwell Light Pen, 17: Sampler (2bit), 18: Sampler (4bit))
Add_CLP ( -controlport1device 1)
;Set input device for joystick #1 (0: None, 1: Numpad, 2: Keyset 1, 3: Keyset 2, 4: Joystick 1, 5: joystick 2)
Add_CLP ( -joydev1 1)
;clear any other attached controller to avoid conflicts
Add_CLP ( -controlport3device 0)
Add_CLP ( -controlport4device 0)
;--------------------------------------------------------------------
; Memory configuration.
;set through the key||value pair:
; memory=x
; where x is: none,all,3k,8k,16k,24k,"0,1,2,3,5" or "04,20,40,60,A0"
If Key_memory CONTAINS(*)
Add_CLP( -memory %memory_value%)
Else
Add_CLP( -memory none)
End If
;--------------------------------------------------------------------
If GameType CONTAINS(prg)
;Set autostart mode for PRG files (0: VirtualFS, 1: Inject, 2: Disk image)
Add_CLP( -autostartprgmode 1)
Add_CLP( -autostart "%gamepathfile%")
run_emulator()
end if
;--------------------------------------------------------------------
;shortfilenames must be enabled to boot carts with long TOSEC file names.
;"Omega Race (1982)(Commodore)-a000.crt"
If GameType CONTAINS(crt)
Add_CLP( -autostartprgmode 1)
;attach first cart linked as gamebase runnable file.
If Key_cart CONTAINS(*20*)
Add_CLP( -cart2 "%gamepathfile%")
ElseIf Key_cart CONTAINS(*40*)
Add_CLP( -cart4 "%gamepatfile%")
ElseIf Key_cart CONTAINS(*60*)
Add_CLP( -cart6 "%gamepathfile%")
ElseIf Key_cart CONTAINS(*a0*)
Add_CLP( -cartA "%gamepathfile%")
ElseIf Key_cart CONTAINS(*b0*)
Add_CLP( -cartB "%gamepathfile%")
End If
;Multicarts do not attach using *widcard* or "%gamepathfile(1)%"
;workround - rename 2nd (highest mem) multicart files in archives as "20.crt","40.crt", "60.crt", "a0.ct", "b0.crt"
;"Donkey Kong (1983)(Atari) (1 of 2)-20.crt" = "20.crt" or leave the same name
;"Donkey Kong (1983)(Atari) (2 of 2)-a0.crt" = "a0.crt" - must rename this.
; don't forget to Add GEMUS
;cart=20
;cart2=a0
If Key_cart2 CONTAINS(*20*)
Add_CLP( -cart2 "%gamepath%\20.crt")
ElseIf Key_cart2 CONTAINS(*40*)
Add_CLP( -cart4 "%gamepath%\40.crt")
ElseIf Key_cart2 CONTAINS(*60*)
Add_CLP( -cart6 "%gamepath%\60.crt")
ElseIf Key_cart2 CONTAINS(*a0*)
Add_CLP( -cartA "%gamepath%\a0.crt")
ElseIf Key_cart2 CONTAINS(*b0*)
Add_CLP( -cartB "%gamepath%\b0.crt")
End If
Run_emulator()
end if
;--------------------------------------------------------------------
If GameType CONTAINS(t64||tap)
If ImageName CONTAINS (*)
; Load the TAPE Image (T64) with Filename stored in GameBase.
Add_CLP2( -autostart "%gamepathfile%:%c64imagename%")
End If
If key_load CONTAINS(manual)
Show_Message(You must load the TAPE manually. Example Load"",1,1)
; Attach Tape Image in default Cassette Deck (1) and run emulator. Disable auto loading.
Clear_CLP()
Add_CLP2( -1 "%gamepathfile%")
Else
; Load the first file on the Tape image.
;Default Attach TAPE and load
Add_CLP2( -autostart "%gamepathfile%")
End If
Run_emulator()
end if
;--------------------------------------------------------------------
If GameType CONTAINS(d64||g64||g41)
ADD_CLP ( -autostart-handle-tde -device8 1)
If ImageName CONTAINS (*)
;Default setting. Boot disk with ImageName
Add_CLP2( -autostart "%gamepathfile%:%c64imagename%")
; ***** Boot all other disks with a wildcard, if no internal file can be set on the image (G64) *****
Else
Add_CLP2( -autostart "%gamepathfile%")
End If
Run_emulator()
End If
in my opinion,macguyver wrote: I am curious though what GEMUS script you would recommend for v 2.4.8 of VICE. Would the version in this thread work, in your opinion?
if it works on x86 in XP. that's the only version i would use.
I like to be near the keyboard as most games need a key press as some point.
Even though it's (Alt+M) most of the time.
Only you can tell me if it doesn't work for your setup.
Then i will try and fix it.
- macguyver
- New Member
Post
Wow. Thanks very much, .mad. for going to the trouble of creating a custom GEMUS script for the x64 version of the VICE dink mod. However I agree with you that it's probably smarter to stick with the x86 version because it works perfectly with Gamebase and all the thousands of games. The idea of renaming all the multi-cart files in order to use the x64 version feels painful.
The last thing I'd love to know from you is what GEMUS script you'd recommend for the x86 V2.4.8 version of VICE with the dink mod.
The most recent GEMUS script I've been able to find is in this thread and it starts with:
;****************************
;* WinVICE 2.4 GEMUS Script *
;* (c) The GB Team *
;* 17 December 2012 *
;****************************
The last thing I'd love to know from you is what GEMUS script you'd recommend for the x86 V2.4.8 version of VICE with the dink mod.
The most recent GEMUS script I've been able to find is in this thread and it starts with:
;****************************
;* WinVICE 2.4 GEMUS Script *
;* (c) The GB Team *
;* 17 December 2012 *
;****************************
- .mad.
- Honoured Member
- Location: Lancashire
Post
The script will need updating for any of the special DINK MODs you want to use.
for each and every game that needs special keys mapped.
you would need to edit GEMUS something like this...
JoyDinkButton0FUNCTION=1
JoyDinkButton3FUNCTION=2
JoyDinkButton4FUNCTION=5
JoyDinkButton5FUNCTION=6
JoyDinkButton6FUNCTION=7
JoyDinkButton7FUNCTION=8
JoyDinkButton13FUNCTION=3
JoyDinkButton16FUNCTION=4
if your pad has enough buttons (PS2).
one idea could be this.
dpad = CURSOR
start = SPACE
select = RETURN
analogue L - joy1
analouge R - joy 2
X = Fire
R = emu WARP on
L = emu WARP off
triangle = F1
SQUARE = N
Circle = Y
maybe a little time consuming, setting all the games that need it.
But the results could be amazing.
a global keyset could be used for a high percentage though.
this could be added as global key set.
AutostartWarpSpeedySL=0
i will experiment and update it when i get some free time.
All the core functions will work ok with it.macguyver wrote: what GEMUS script you'd recommend for the x86 V2.4.8 version of VICE with the dink mod.
The script will need updating for any of the special DINK MODs you want to use.
for each and every game that needs special keys mapped.
you would need to edit GEMUS something like this...
JoyDinkButton0FUNCTION=1
JoyDinkButton3FUNCTION=2
JoyDinkButton4FUNCTION=5
JoyDinkButton5FUNCTION=6
JoyDinkButton6FUNCTION=7
JoyDinkButton7FUNCTION=8
JoyDinkButton13FUNCTION=3
JoyDinkButton16FUNCTION=4
if your pad has enough buttons (PS2).
one idea could be this.
dpad = CURSOR
start = SPACE
select = RETURN
analogue L - joy1
analouge R - joy 2
X = Fire
R = emu WARP on
L = emu WARP off
triangle = F1
SQUARE = N
Circle = Y
maybe a little time consuming, setting all the games that need it.
But the results could be amazing.
a global keyset could be used for a high percentage though.
this could be added as global key set.
AutostartWarpSpeedySL=0
i will experiment and update it when i get some free time.
- .mad.
- Honoured Member
- Location: Lancashire
Post
Updated the 2.4.4 script i had for my VIC20 to include Dink buttons.
Some DINK JOYPAD bits are not working as i think they should.
The problem could be my eyes though.
Some DINK JOYPAD bits are not working as i think they should.
The problem could be my eyes though.
Code: Select all
;******************************
;* WinVICE 2.4.8 GEMUS Script *
;* -Dink- VIC-20 -Dink- *
;* .mad. *
;* 10th January 2016 *
;******************************
; these are the options for the configurable buttons
;NUM| ACTION
;---|-------------
;5 | DPAD UP
;6 | DPAD RIGHT
;7 | DPAD DOWN
;8 | DPAD LEFT
;1 | WARP MODE (EMULATOR)
;2 | PAUSE (EMULATOR)
;4 | SWAP JOYSTICK PORT
;9 | QUICK SAVE
;10 | QUICK LOAD
;11 | QUICK SAVE UNDO
;15 | SET MILESTONE
;16 | RETURN MILESTONE
;99 | QUIT (EMULATOR)
;3 | SPACE BAR
;20 | SHIFT
;21 | RETURN
;22 | COMMODORE
;29 | RUN STOP
;30 | LEFT ARROW
;41 | F1
;42 | F2
;43 | F3
;44 | F4
;45 | F5
;46 | F6
;47 | F7
;48 | F8
;31 | 1
;32 | 2
;33 | 3
;34 | 4
;35 | 5
;36 | 6
;37 | 7
;38 | 8
;39 | 9
;40 | 0
;51 | A
;52 | B
;53 | C
;54 | D
;55 | E
;56 | F
;57 | G
;58 | H
;59 | I
;60 | J
;61 | K
;62 | L
;63 | M
;64 | N
;65 | O
;66 | P
;67 | Q
;68 | R
;69 | S
;70 | T
;71 | U
;72 | V
;73 | W
;74 | X
;75 | Y
;76 | Z
;--------------------------------------------------------------------
; Start of script.
;--------------------------------------------------------------------
; Set emulator default values.
Set_INI_Value(1||VIC20||AutostartPrgMode||0)
Set_INI_Value(1||VIC20||AutostartWarp||0)
Set_INI_Value(1||VIC20||VICFilter||0)
; Dink MOD (Speedy SL - boots emu in warp mode)
If key_speedysl CONTAINS (yes||on||1)
Set_INI_Value(1||VIC20||AutostartWarpSpeedySL||1)
Set_INI_Value(1||VIC20||DriveTrueEmulation||1)
Set_INI_Value(1||VIC20||AutostartHandleTrueDriveEmulation||1)
Set_INI_Value(1||VIC20||VirtualDevices||1)
Else
Set_INI_Value(1||VIC20||AutostartWarpSpeedySL||0)
Set_INI_Value(1||VIC20||DriveTrueEmulation||0)
Set_INI_Value(1||VIC20||AutostartHandleTrueDriveEmulation||0)
Set_INI_Value(1||VIC20||VirtualDevices||0)
End If
If Key_drivesound CONTAINS (yes)
;Default is OFF
;Drive Sound stays on playing the first two multi-load games tested Mini Kong & Men Rescue.
Set_INI_Value(1||VIC20||DriveSoundEmulation||1)
Set_INI_Value(1||VIC20||DriveSoundEmulationVolume||4000)
Else
Set_INI_Value(1||VIC20||DriveSoundEmulation||0)
Set_INI_Value(1||VIC20||DriveSoundEmulationVolume||0)
End IF
;enable Joypad - must be attached and driver installed before emulator is run.
;if you plug it in USB once WinVICE is running, you must select it manually from options.
Set_INI_Value(1||VIC20||JoyDevice1||4)
Set_INI_Value(1||VIC20||JoyAutofire1Speed||16)
Set_INI_Value(1||VIC20||JoyAutofire1Axis||0)
;map every joypad buuton as fire
Set_INI_Value(1||VIC20||JoyFire1Button||0)
;---------------------------------------------------------------------------------
; Dink MOD - remap extra Joypad Buttons for custom KEYS.
; You can not map a KEY to D-Pad function, but can map a BUTTON to DPAD direction.
; The code is there to make it work, but i can not?.
;
; Future Update Request.
; JoyDinkUP/DOWN/LEFT/RIGHT/FUNCTION
; This would be very usefull to remap keyboard only games in GEMUS.
; ALL keys if Possible.
; "SHIFT" ";" "." "," "'" "@" "CBM"
;
; Stop Tape Function, for a few Vic20 Tape Games.
; Jogger disables Joystick while play is pressed (datasette motor running).
;
; Please NOTE:
; Every Pad and USB Adapter could use slightly different button numbers.
; Example shows a PS2 Joypad with "Twin USB Vibration Gamepad" adapter.
;---------------------------------------------------------------------------------
if key_Dinkmod CONTAINS (no||0||off)
;Disable Dink MODs
Set_INI_Value(1||VIC20||JoyDinkButton0FUNCTION||0)
Set_INI_Value(1||VIC20||JoyDinkButton1FUNCTION||0)
Set_INI_Value(1||VIC20||JoyDinkButton2FUNCTION||0)
Set_INI_Value(1||VIC20||JoyDinkButton3FUNCTION||0)
Set_INI_Value(1||VIC20||JoyDinkButton4FUNCTION||0)
Set_INI_Value(1||VIC20||JoyDinkButton5FUNCTION||0)
Set_INI_Value(1||VIC20||JoyDinkButton6FUNCTION||0)
Set_INI_Value(1||VIC20||JoyDinkButton7FUNCTION||0)
Set_INI_Value(1||VIC20||JoyDinkButton8FUNCTION||0)
Set_INI_Value(1||VIC20||JoyDinkButton9FUNCTION||0)
;Not used (my pad only has 10 buttons)
Set_INI_Value(1||VIC20||JoyDinkButton10FUNCTION||0)
Set_INI_Value(1||VIC20||JoyDinkButton11FUNCTION||0)
Set_INI_Value(1||VIC20||JoyDinkButton12FUNCTION||0)
Set_INI_Value(1||VIC20||JoyDinkButton13FUNCTION||0)
Set_INI_Value(1||VIC20||JoyDinkButton14FUNCTION||0)
Set_INI_Value(1||VIC20||JoyDinkButton15FUNCTION||0)
Set_INI_Value(1||VIC20||JoyDinkButton16FUNCTION||0)
Set_INI_Value(1||VIC20||JoyDinkButton17FUNCTION||0)
Set_INI_Value(1||VIC20||JoyDinkButton18FUNCTION||0)
Set_INI_Value(1||VIC20||JoyDinkButton19FUNCTION||0)
Set_INI_Value(1||VIC20||JoyDinkButton20FUNCTION||0)
Set_INI_Value(1||VIC20||JoyDinkButton21FUNCTION||0)
Set_INI_Value(1||VIC20||JoyDinkButton22FUNCTION||0)
Set_INI_Value(1||VIC20||JoyDinkButton23FUNCTION||0)
Set_INI_Value(1||VIC20||JoyDinkButton24FUNCTION||0)
Set_INI_Value(1||VIC20||JoyDinkButton25FUNCTION||0)
Set_INI_Value(1||VIC20||JoyDinkButton26FUNCTION||0)
Set_INI_Value(1||VIC20||JoyDinkButton27FUNCTION||0)
Set_INI_Value(1||VIC20||JoyDinkButton28FUNCTION||0)
Set_INI_Value(1||VIC20||JoyDinkButton29FUNCTION||0)
Set_INI_Value(1||VIC20||JoyDinkButton30FUNCTION||0)
Set_INI_Value(1||VIC20||JoyDinkButton31FUNCTION||0)
Else
;--------------------------------------------------------
;X (Button #3) = Map Fire Button for this button #3 only.
;--------------------------------------------------------
Set_INI_Value(1||VIC20||JoyFire1Button||3)
;-----------------------------------------------------
;Triangle (Button #0) = SHIFT 20 / RUNSTOP 29
;-----------------------------------------------------
If key_Button0 CONTAINS (*)
Set_INI_Value(1||VIC20||JoyDinkButton0FUNCTION||%Button0_Value%)
else
Set_INI_Value(1||VIC20||JoyDinkButton0FUNCTION||20)
End If
;--------------------
;Circle - SPACE
;--------------------
If key_Button1 CONTAINS (*)
Set_INI_Value(1||VIC20||JoyDinkButton1FUNCTION||%Button1_Value%)
else
Set_INI_Value(1||VIC20||JoyDinkButton1FUNCTION||3)
End If
;--------------------
;X - (FIRE)
;--------------------
;If key_Button2 CONTAINS (*)
;Set_INI_Value(1||VIC20||JoyDinkButton2FUNCTION||%Button2_Value%)
;else
;Set_INI_Value(1||VIC20||JoyDinkButton2FUNCTION||0)
;End If
;--------------------
;Square - COMMODORE
;--------------------
If key_Button3 CONTAINS (*)
Set_INI_Value(1||VIC20||JoyDinkButton3FUNCTION||%Button3_Value%)
else
Set_INI_Value(1||VIC20||JoyDinkButton3FUNCTION||22)
End If
;--------------------
;L2 - F7/F8
;--------------------
If key_Button4 CONTAINS (*)
Set_INI_Value(1||VIC20||JoyDinkButton4FUNCTION||%Button4_Value%)
else
Set_INI_Value(1||VIC20||JoyDinkButton4FUNCTION||47)
End If
;--------------------
;R2 - F5/F6
;--------------------
If key_Button5 CONTAINS (*)
Set_INI_Value(1||VIC20||JoyDinkButton5FUNCTION||%Button5_Value%)
else
Set_INI_Value(1||VIC20||JoyDinkButton5FUNCTION||45)
End If
;--------------------
;L1 = F1/F2
;--------------------
If key_Button6 CONTAINS (*)
Set_INI_Value(1||VIC20||JoyDinkButton6FUNCTION||%Button6_Value%)
else
Set_INI_Value(1||VIC20||JoyDinkButton6FUNCTION||41)
End If
;--------------------
;R1 = F3/F4
;--------------------
If key_Button7 CONTAINS (*)
Set_INI_Value(1||VIC20||JoyDinkButton7FUNCTION||%Button7_Value%)
else
Set_INI_Value(1||VIC20||JoyDinkButton7FUNCTION||43)
End If
;--------------------
;SELECT - (PAUSE)
;--------------------
If key_Button8 CONTAINS (*)
Set_INI_Value(1||VIC20||JoyDinkButton8FUNCTION||%Button8_Value%)
else
Set_INI_Value(1||VIC20||JoyDinkButton8FUNCTION||2)
End If
;--------------------
;START - (WARP)
;--------------------
If key_Button8 CONTAINS (*)
Set_INI_Value(1||VIC20||JoyDinkButton9FUNCTION||%Button9_Value%)
else
Set_INI_Value(1||VIC20||JoyDinkButton9FUNCTION||1)
End If
;--------------------------------
;End of DINK MOD
End If
;----------------------------
Set_INI_Value(1||VIC20||InitialTapeDir||"%gamepath%")
Set_INI_Value(1||VIC20||InitialDiskDir||"%gamepath%")
Set_INI_Value(1||VIC20||InitialCartDir||"%gamepath%")
;Do we want a PAL or NTSC setup?
If PalNTSC = NTSC
Add_CLP( -ntsc)
;Set_INI_Value(1||VIC20||MachineVideoStandard||-2)
Else
Add_CLP( -pal)
;Set_INI_Value(1||VIC20||MachineVideoStandard||-1)
End If
If Control = Mouse
Set_INI_Value(1||VIC20||Mouse||1)
Set_INI_Value(1||VIC20||MouseSensitivity||40)
ElseIf Control = LightPen
Set_INI_Value(1||VIC20||Lightpen||1)
;0=Pen Button Up, 1=Pen Button Left ,2=Datel Pen ,3=Magnum Light Phaser, 4=Stack Light Rifel
Set_INI_Value(1||VIC20||LightpenType||0)
ElseIf Control = LightGun
Set_INI_Value(1||VIC20||Lightpen||1)
Set_INI_Value(1||VIC20||LightpenType||3)
;Paddles are switched on using Mouse command.
ElseIf Control = PaddlePort2
Set_INI_Value(1||VIC20||Mouse||1)
ElseIf Control = PaddlePort1
Set_INI_Value(1||VIC20||Mouse||1)
Else
Set_INI_Value(1||VIC20||Lightpen||0)
Set_INI_Value(1||VIC20||LightpenType||0)
Set_INI_Value(1||VIC20||Mouse||0)
End If
;Set_INI_Value(1||VIC20||JoyOpposite||0)
;Set_INI_Value(1||VIC20||KeySetEnable||1)
; Keyset A - Customise your own keys
; remap a keyboard only game to joypad.
;Set_INI_Value(1||VIC20||KeymapIndex||1)
;Set_INI_Value(1||VIC20||KeySetEnable||1)
;Cursor numbers
;90 up, 92 left, 93 right, 95 down, 100 R-CTRL
If key_up CONTAINS (*)
Set_INI_Value(1||VIC20||KeySet1North||%up_value%)
End if
If key_down CONTAINS (*)
Set_INI_Value(1||VIC20||KeySet1South||%down_value%)
End if
If key_left CONTAINS (*)
Set_INI_Value(1||VIC20||KeySet1West||%left_value%)
End If
If key_right CONTAINS (*)
Set_INI_Value(1||VIC20||KeySet1East||%right_value%)
End If
If key_fire CONTAINS (*)
Set_INI_Value(1||VIC20||KeySet1Fire||%fire_value%)
End If
;***************************************************************
;VIC20 only has 1 Control port as standard.
;Extra joysticks can only be used by attaching special adapters.
; TankAtak needs OEM joy adapater for 2 players.
;***************************************************************
;Set_INI_Value(1||VIC20||ExtraJoy||0)
;Set_INI_Value(1||VIC20||ExtraJoyType||0)
;Set_INI_Value(1||VIC20||JoyDevice2||0)
;Set_INI_Value(1||VIC20||JoyDevice3||0)
;Set_INI_Value(1||VIC20||JoyDevice4||0)
;Set_INI_Value(1||VIC20||JoyFire1Button||0)
;Set_INI_Value(1||VIC20||JoyFire2Button||0)
;Set_INI_Value(1||VIC20||JoyFire3Button||0)
;Set_INI_Value(1||VIC20||JoyFire4Button||0)
;Set_INI_Value(1||VIC20||JoyAutofire1Speed||16)
;Set_INI_Value(1||VIC20||JoyAutofire1Axis||0)
;Set_INI_Value(1||VIC20||JoyAutofire1Button||0)
;Set_INI_Value(1||VIC20||JoyAutofire2Speed||16)
;Set_INI_Value(1||VIC20||JoyAutofire2Axis||0)
;Set_INI_Value(1||VIC20||JoyAutofire2Button||0)
;Set_INI_Value(1||VIC20||JoyAutofire3Speed||16)
;Set_INI_Value(1||VIC20||JoyAutofire3Axis||0)
;Set_INI_Value(1||VIC20||JoyAutofire3Button||0)
;Set_INI_Value(1||VIC20||JoyAutofire4Speed||16)
;Set_INI_Value(1||VIC20||JoyAutofire4Axis||0)
;Set_INI_Value(1||VIC20||JoyAutofire4Button||0)
;--------------------------------------------------------------------
; Memory configuration.
;Set_INI_Value(1||VIC20||RAMBlock0||0)
;Set_INI_Value(1||VIC20||RAMBlock1||0)
;Set_INI_Value(1||VIC20||RAMBlock2||0)
;Set_INI_Value(1||VIC20||RAMBlock3||0)
;Set_INI_Value(1||VIC20||RAMBlock5||0)
;set through the key=value pair:
; memory=x
; where x is: none,all,3k,8k,16k,24k,"0,1,2,3,5" or "04,20,40,60,A0"
If Key_memory CONTAINS(*)
Add_CLP( -memory %memory_value%)
Else
Add_CLP( -memory none)
End If
;--------------------------------------------------------------------
If GameType CONTAINS(prg)
;use prg run mode.
Set_INI_Value(1||VIC20||AutostartPrgMode||1)
If Key_sys CONTAINS(*)
Add_CLP( -autoload "%gamepathfile%")
Run_Emulator_Send_Keys([1]sys%sys_value%{ENTER}||50)
Else
Add_CLP( -autostart "%gamepathfile%")
run_emulator()
end If
End If
;--------------------------------------------------------------------
If GameType CONTAINS(crt||rom)
;1=Generic 2=Mega-Cart 3=Final Expansion 4=Vic Flash Plugin
Set_INI_Value(1||VIC20||CartridgeType||1)
;Reset on Cartridge Change
If Key_cartreset CONTAINS (off)
Set_INI_Value(1||VIC20||CartridgeReset||0)
else
Set_INI_Value(1||VIC20||CartridgeReset||-1)
end if
;Set_INI_Value(1||VIC20||CartridgeFile||)
;Set_INI_Value(1||VIC20||GenericCartridgeFile2000||)
;Set_INI_Value(1||VIC20||GenericCartridgeFile4000||)
;Set_INI_Value(1||VIC20||GenericCartridgeFile6000||"C:\GBGame\0\AE-6000.crt")
;Set_INI_Value(1||VIC20||GenericCartridgeFileA000||"C:\GBGame\0\AE-a000.crt")
;Set_INI_Value(1||VIC20||GenericCartridgeFileB000||)
If Key_cart CONTAINS(*20*)
Add_CLP( -cart2 %gamepath%\*%cart_value%*.*)
ElseIf Key_cart CONTAINS(*40*)
Add_CLP( -cart4 %gamepath%\*%cart_value%*.*)
ElseIf Key_cart CONTAINS(*60*)
Add_CLP( -cart6 %gamepath%\*%cart_value%*.*)
ElseIf Key_cart CONTAINS(*a0*)
Add_CLP( -cartA %gamepath%\*%cart_value%*.*)
ElseIf Key_cart CONTAINS(*b0*)
Add_CLP( -cartB %gamepath%\*%cart_value%*.*)
End If
If Key_cart2 CONTAINS(*20*)
Add_CLP( -cart2 %gamepath%\*%cart2_value%*.*)
ElseIf Key_cart2 CONTAINS(*40*)
Add_CLP( -cart4 %gamepath%\*%cart2_value%*.*)
ElseIf Key_cart2 CONTAINS(*60*)
Add_CLP( -cart6 %gamepath%\*%cart2_value%*.*)
ElseIf Key_cart2 CONTAINS(*a0*)
Add_CLP( -cartA %gamepath%\*%cart2_value%*.*)
ElseIf Key_cart2 CONTAINS(*b0*)
Add_CLP( -cartB %gamepath%\*%cart2_value%*.*)
End If
; AE Cart boots with corrupt screen with RAM 00 at 0000.
; must use these VICE RAM settings, or enter monitor and type - G A027.
If key_RAM CONTAINS (255)
Set_INI_Value(1||VIC20||RAMInitStartValue||255)
Else
Set_INI_Value(1||VIC20||RAMInitStartValue||0)
End If
; Default is 64, possible settings (0||1||2||4||8||16||32||64||128||256||512||1024)
Set_INI_Value(1||VIC20||RAMInitValueInvert||64)
; Default is 0, possible settings (0||1||2||4||8||16||32||64||128||256||512||1024)
Set_INI_Value(1||VIC20||RAMInitPatternInvert||0)
;Start Cart with SYS command (Mission Impossible).
;GEMUS sys=32592
If Key_sys CONTAINS(*)
Run_Emulator_Send_Keys([1]sys%sys_value%{ENTER}||50)
Else If key_megacart CONTAINS (yes)
;Set_INI_Value(1||VIC20||CartridgeType||2)
;Set_INI_Value(1||VIC20||CartridgeFile||"C:\GBGame\0\mega-cart.rom")
;Set_INI_Value(1||VIC20||MegaCartNvRAMfilename||"C:\GBGame\0\mega-cart.nv")
;Set_INI_Value(1||VIC20||MegaCartNvRAMWriteBack||1)
Add_CLP ( -cartmega %gamepath%\mega-cart.rom -mcnvramwriteback -mcnvramfile %gamepath%\mega-cart.nv)
Run_Emulator()
Else
Run_Emulator()
End if
End if
;--------------------------------------------------------------------
If GameType CONTAINS(t64||tap)
Set_INI_Value(1||VIC20||DatasetteResetWithCPU||1)
;------------------------------
;Fine-tune Datasette settings.
;------------------------------
If key_delay CONTAINS(1000||2000||5000||10000||20000||50000)
Set_INI_Value(1||VIC20||DatasetteZeroGapDelay||%delay_value%)
else
Set_INI_Value(1||VIC20||DatasetteZeroGapDelay||20000)
End if
;Caves of Annod=1, Shark Attack=2
If Key_cycles CONTAINS(0||1||2||3||4||5||6||7)
Set_INI_Value(1||VIC20||DatasetteSpeedTuning||%cycles_value%)
else
Set_INI_Value(1||VIC20||DatasetteSpeedTuning||1)
end if
;------------------------------
;No commandline options for loading tapes with ,1,1. Only BASIC load available.
If ImageName CONTAINS (*)
; Load the TAPE Image (T64) with Filename stored in GameBase.
Add_CLP2( -autostart "%gamepathfile%:%c64imagename%")
End If
If key_load CONTAINS(manual)
Show_Message(You must load the TAPE manually. Example Load"",1,1)
; Attach Tape Image in default Cassette Deck (1) and run emulator. Disable auto loading.
Clear_CLP()
Add_CLP2( -1 "%gamepathfile%")
Else
; Load the first file on the Tape image.
;Default Attach TAPE and load
Add_CLP2( -autostart "%gamepathfile%")
End If
if key_tape CONTAINS(detach)
;Jogger controls do not work without a tape at the STOP position.
;If using a T64 file the image needs to be removed.
;Open WinVICE menu and detach T64/Tape file.
Run_Emulator_Send_Keys([4]%{f}h||50)
else
Run_emulator()
end if
End if
;--------------------------------------------------------------------
If GameType CONTAINS(d64||g64||g41)
Set_INI_Value(1||VIC20||DriveTrueEmulation||1)
;Set_INI_Value(1||VIC20||DriveSoundEmulation||0)
;Set_INI_Value(1||VIC20||Drive8Type||1541)
;Set_INI_Value(1||VIC20||AttachDevice8Readonly||0)
;Set_INI_Value(1||VIC20||FileSystemDevice8||1)
;Set_INI_Value(1||VIC20||Drive8ExtendImagePolicy||0)
;Set_INI_Value(1||VIC20||Drive8IdleMethod||0)
;Set_INI_Value(1||VIC20||Drive8RAM2000||0)
;Set_INI_Value(1||VIC20||Drive8RAM4000||0)
;Set_INI_Value(1||VIC20||Drive8RAM6000||0)
;Set_INI_Value(1||VIC20||Drive8RAM8000||0)
;Set_INI_Value(1||VIC20||Drive8RAMA000||0)
Set_INI_Value(1||VIC20||Drive9Type||0)
Set_INI_Value(1||VIC20||Drive10Type||0)
Set_INI_Value(1||VIC20||Drive11Type||0)
; -autorun autoloads prg file, but you will need to type RUN [return] manually.
; -autostart autoloads and runs the file.
If ImageName CONTAINS (*)
;Default setting. Boot disk with ImageName
Add_CLP2( -autostart "%gamepathfile%:%c64imagename%")
; ***** Boot all other disks with a wildcard, if no internal file can be set on the image (G64) *****
Else
Add_CLP2( -autostart "%gamepathfile%")
End If
; ***************************************************************************************************
If Key_load CONTAINS(wildcard)
; Auto boot disk with LOAD"*",8,1
Clear_CLP()
Add_CLP2( -autostart "%gamepathfile%")
ElseIf Key_load CONTAINS(basic)
; Auto boot Disk with LOAD"*",8
Clear_CLP()
Add_CLP2( -autostart "%gamepathfile%" -basicload)
ElseIf key_load CONTAINS(manual)
Show_Message(You must load the game on the disk manually. LOAD"$",8 and type LIST for directory)
; Just attach disk in default drive 8 and run emulator. Disable auto loading.
Clear_CLP()
Add_CLP2( -8 "%gamepathfile%")
End If
Run_emulator()
End If
- macguyver
- New Member
Post
.mad. I'm having great luck getting the controller to work as thanks to your helpful GEMUS script. however, I'm having trouble trying to get Gamebase to exit by pressing the escape key. Any ideas? At first I was modifying the win_sym.vkm file but I've somehow got to fool VICE that pressing "esc" is the same as alt-x. Any suggestions?
- actually I got it to work by adjusting the .vkm file to include the following:
1 -1 -1 0 /* ESC -> No Key */
(To get the escape key functionality, I'm also using GameEx which runs overtop of Gamebase, so it's a little crazy but it all works.)
One other issue I noticed with the GEMUS script above is that I think some of the details are out of sync with the version of VICE that it's meant for (2.4.8 dink mod). For example, I could not get the cartridge version of "Gorf" to work on it any longer. (GORF-a000.prg) So what I did is copy the previous GEMUS script pieces from V2.4 earlier in this thread, and past that section relating to memory addresses and loading in to the new version you provided. Now it works! I wonder what is offside about that section of your newest GEMUS script?
Thanks again for all your insights.
- actually I got it to work by adjusting the .vkm file to include the following:
1 -1 -1 0 /* ESC -> No Key */
(To get the escape key functionality, I'm also using GameEx which runs overtop of Gamebase, so it's a little crazy but it all works.)
One other issue I noticed with the GEMUS script above is that I think some of the details are out of sync with the version of VICE that it's meant for (2.4.8 dink mod). For example, I could not get the cartridge version of "Gorf" to work on it any longer. (GORF-a000.prg) So what I did is copy the previous GEMUS script pieces from V2.4 earlier in this thread, and past that section relating to memory addresses and loading in to the new version you provided. Now it works! I wonder what is offside about that section of your newest GEMUS script?
Thanks again for all your insights.
- .mad.
- Honoured Member
- Location: Lancashire
Post
GORF-A000.PRG is a CARTRIDGE not a PROGRAM.
i renamed all CRT files with incorrect PRG extension.
you can add PRG to cartridge filetypes, or rename file to GORF-A000.CRT.
it is working as it should.macguyver wrote: I could not get the cartridge version of "Gorf" to work on it any longer. (GORF-a000.prg).
GORF-A000.PRG is a CARTRIDGE not a PROGRAM.
i renamed all CRT files with incorrect PRG extension.
you can add PRG to cartridge filetypes, or rename file to GORF-A000.CRT.
- macguyver
- New Member
Post
Thanks for the feedback, .mad.
I do realize that Gorf is a cartridge. I purchased it myself for $64 in 1983 and played it like crazy that summer! I remember the salesperson was telling my mother, "It's four games in 1, so your son is getting quite the deal".
Unfortunately it appears that many of the cartridges in the latest version (V3) of the Vic20 Gamebase are listed with the PRG extension. Thanks for the suggestion of renaming the files, or adding PRG to cartridge filetype. I chose the latter route rather than renaming them all, even though I hope the next version of the database will go with the new naming scheme.
Thanks again for your help. Playing the huge collection of Gamebase Vic20 games with a wireless D-pad is such a blast!
I do realize that Gorf is a cartridge. I purchased it myself for $64 in 1983 and played it like crazy that summer! I remember the salesperson was telling my mother, "It's four games in 1, so your son is getting quite the deal".
Unfortunately it appears that many of the cartridges in the latest version (V3) of the Vic20 Gamebase are listed with the PRG extension. Thanks for the suggestion of renaming the files, or adding PRG to cartridge filetype. I chose the latter route rather than renaming them all, even though I hope the next version of the database will go with the new naming scheme.
Thanks again for your help. Playing the huge collection of Gamebase Vic20 games with a wireless D-pad is such a blast!
Return to “Commodore Vic20 - GameBaseVIC20”
Who is online
Users browsing this forum: No registered users and 0 guests