NTSC and JOYSTICKS

Are you having problems setting up GB64 on your machine? Ask your questions in here!

Moderator: Jimbo

cammelspit
New Member
Posts: 4
Joined: Fri Apr 18, 2014 6:54 pm

NTSC and JOYSTICKS

Fri Apr 18, 2014 7:03 pm

ok, so I am having one heck of a time getting GB64 to work with VIce the way I would like it to. For one, I cant get the machine to start in NTSC and I have searched these forums and found that not one thing that SHOULD work that actually does, an annoyance to say the least but that isnt the worst part. I use an XBOX 360 controller for most of my emulation as its very compatible but I have to reset the joystick stting every time I launch a game making the whole front end idea a moot point. The emulator when launched manually keeps the settings perfectly and my controller works fine but GB64 seems to be overwriting those settings for no apparent reason. I would love to be able to enjoy all these fine C64 titles but it seems the emulators that are around are almost as conveluted as using origenal hardware! (If you dont already know how then just dont bother) I am NOT an amulator newbie and have set up some of the most conveluted mame and mess frontend stuff and I can always figure it out eventually but here I am losing hair over this and I dont have an infinate supply of that left these days. :wink:
User avatar
.mad.
Highly Commended Member
Highly Commended Member
Location: Lancashire
Posts: 1598
Joined: Sun Jun 19, 2005 3:30 pm

Sat Apr 19, 2014 11:04 am

the script does all the joystick config settings.

Script/WINVICE.txt

;set the game controls
;These settings are designed to automatically set the controls for player 1
;to the same controller, regardless of which PORT the game uses for player 1.
;
;0=None, 1=Numpad + RCtrl, 2=Keset A, 3=Keyset B, 4+ are for real joysticks/pads
;
;Use k=v pair REALJOYSTICK1 and REALJOYSTICK2 to activate a USB game controller
;for player 1 and player 2

----------
open C64 GameBase and Press F2

enter this in the KVSets GLOBAL (right window)

realjoystick1=YES
realjoystick2=YES

or the joy keysets will be set automatically.

you can just edit the script to use your settings as default, or delete the joystick part of the script to use your current VICE settings.
cammelspit
New Member
Posts: 4
Joined: Fri Apr 18, 2014 6:54 pm

Sat Apr 19, 2014 4:38 pm

Ok, I get that a script must be used but there is no winvice.txt in the scripts folder... :cry: There was one called x64 but it was just a copy of the vice INI and I did delete it but it also did nothing at all when referring to joysticks or the type of machine emulated not one thing at all. it also kept rewriting the vice ini completely which seems like not a good idea seeing as you have to do all this stuff manually anyways, you know, for usability. Should I remake it and try again because I DID change the seeting in vice and saved the ini and trhen copy pasted to that script but still nothing. All other settings worked fine but not joysticks or macing type which are actually among the most important to get working. It's just VERY frustrating. :? :cry:
User avatar
.mad.
Highly Commended Member
Highly Commended Member
Location: Lancashire
Posts: 1598
Joined: Sun Jun 19, 2005 3:30 pm

Sat Apr 19, 2014 6:06 pm

I get that a script must be used but there is no winvice.txt in the scripts folder...
Then your current setup is never going to work with WinVICE.
Best to start over, i think.

Here is a script with the joystick / control settings removed.

put this in GAMEBASE/GBC_v11/Scripts/WinVICE.txt

WinVICE.txt

Code: Select all

;*************************
;*     WinVICE v2.4      *
;*     GEMUS Script      *
;*  (c) The GB64 Team    *
;*   13th April 2013     *
;*************************

; PLEASE SET YOUR EMULATOR PROPERTIES AS FOLLOWS:
;
; Emulator File: x64.exe
; Associated Script Files (1): vice.ini [C64]


; Use Short Filenames: YES
; File Types: D64;D71;D80;D81;D82;G64;G41;X64;TAP;T64;P00;PRG;CRT

; Emulator Website: (2.4 - 27 Dec 2012)
; http://vice-emu.sourceforge.net/


; Disable Exit Nag Box.
Set_INI_Value(1||C64||ConfirmOnExit||0)

; Remove Crappy Video CRT emulation.
If Key_CRTEmu CONTAINS (yes||on||1)
Set_INI_Value(1||C64||VICIIFilter||1)
Else
Set_INI_Value(1||C64||VICIIFilter||0)
End If

;Make sure emulator starts at normal speed.
Set_INI_Value(1||C64||WarpMode||0)

   ;option to start in fullscreen/Window mode
   If Key_fullscreen CONTAINS(yes||1||on||true)
      Set_INI_Value(1||C64||FullscreenEnabled||1)
   Else
      Set_INI_Value(1||C64||FullscreenEnabled||0)
      Set_INI_Value(1||C64||VICIIDoubleSize||1)
      Set_INI_Value(1||C64||VICIIDoubleScan||1)
   End If

        ;option to disable sound output
        If Key_sound CONTAINS(no||0||off|false)
           Set_INI_Value(1||C64||Sound||0)
           Else
          Set_INI_Value(1||C64||Sound||1)
          End If

; TrueDrive Emulation   
; Set_INI_Value(1||C64||DriveTrueEmulation||1)

Set_INI_Value(1||C64||AutostartPrgDiskImage||"%emupath%\autostart-C64.d64")

;Make Gamebase rezip directory (c:/gbgame/0) default path.
   Set_INI_Value(1||C64||InitialDiskDir||"%gamepath%")
   Set_INI_Value(1||C64||InitialTapeDir||"%gamepath%")
   Set_INI_Value(1||C64||InitialCartDir||"%gamepath%")

If key_autowarp CONTAINS(on||yes||1)
Set_INI_Value(1||C64||AutostartWarp||1)
else
Set_INI_Value(1||C64||AutostartWarp||0)
End If

;Dink Mod Settings.
If key_speedysl CONTAINS(on||yes||1)
Set_INI_Value(1||C64||AutostartWarpSpeedySL||1)
else
Set_INI_Value(1||C64||AutostartWarpSpeedySL||0)
End If

; Disable Disk Drives, until we know the filetype.
Set_INI_Value(1||C64||Drive8Type||0)
Set_INI_Value(1||C64||Drive9Type||0)
Set_INI_Value(1||C64||Drive10Type||0)
Set_INI_Value(1||C64||Drive11Type||0)

; Prepare all drive to extend on access.

         Set_INI_Value(1||C64||Drive8IdleMethod||0)
         Set_INI_Value(1||C64||Drive8ExtendImagePolicy||2)
         Set_INI_Value(1||C64||Drive9IdleMethod||0)
         Set_INI_Value(1||C64||Drive9ExtendImagePolicy||2)
         Set_INI_Value(1||C64||Drive10IdleMethod||0)
         Set_INI_Value(1||C64||Drive10ExtendImagePolicy||2)
         Set_INI_Value(1||C64||Drive11IdleMethod||0)
         Set_INI_Value(1||C64||Drive11ExtendImagePolicy||2)

   If GameType CONTAINS(crt)
      ;autostart the cart image
      Add_CLP( -cartcrt %gamepathfile%)
   End If
   
   If GameType CONTAINS(d64||g64||g41)
   Set_INI_Value(1||C64||FSDevice8Dir||"%gamepath%")
   Set_INI_Value(1||C64||Drive8Type||1541)
   
       ;insert multiple disks into drives 9, 10 and 11?
       
           If Key_maxdrives CONTAINS(2||3||4)
            If NumGameFiles > 1
               Add_CLP2( -9 "%gamepathfile(1)%")
               Set_INI_Value(1||C64||FSDevice9Dir||"%gamepath%")
               Set_INI_Value(1||C64||Drive9Type||1541)
            End If
           End If
      
          If Key_maxdrives CONTAINS(3||4)
            If NumGameFiles > 2
               Add_CLP2( -10 "%gamepathfile(2)%")
               Set_INI_Value(1||C64||FSDevice10Dir||"%gamepath%")
               Set_INI_Value(1||C64||Drive10Type||1541)
            End If
          End If
      
          If Key_maxdrives CONTAINS(4)
            If NumGameFiles > 3
               Add_CLP2( -11 "%gamepathfile(3)%")
               Set_INI_Value(1||C64||FSDevice11Dir||"%gamepath%")
               Set_INI_Value(1||C64||Drive11Type||1541)
            End If
          End If
      
    End If

    If GameType CONTAINS(d80||d81||d82)
       
        Set_INI_Value(1||C64||FSDevice8Dir||"%gamepath%")
        Set_INI_Value(1||C64||Drive8Type||1581)
        
       If Key_maxdrives CONTAINS(2||3||4) 
        If NumGameFiles > 1
         Add_CLP2( -9 "%gamepathfile(1)%")
         Set_INI_Value(1||C64||FSDevice9Dir||"%gamepath%")
         Set_INI_Value(1||C64||Drive9Type||1581)
        End If
       End If
      If Key_maxdrives CONTAINS(3||4)
        If NumGameFiles > 2
         Add_CLP2( -10 "%gamepathfile(2)%")
         Set_INI_Value(1||C64||FSDevice10Dir||"%gamepath%")
         Set_INI_Value(1||C64||Drive10Type||1581)
        End If
      End If  
       If Key_maxdrives CONTAINS(4)
        If NumGameFiles > 3
         Add_CLP2( -11 "%gamepathfile(3)%")
         Set_INI_Value(1||C64||FSDevice11Dir||"%gamepath%")
         Set_INI_Value(1||C64||Drive11Type||1581)
        End If
       End If
    End If
   
      ; -autorun    autoloads prg file, but you will need to type RUN [return] manually.
      ; -autostart  autoloads and runs the file.

      		If Key_load CONTAINS(basic)
     		; Auto boot Disk with LOAD"*",8:
     		Set_INI_Value(1||C64||AutostartRunWithColon||1)
     		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%")
     		
     		ElseIf key_sendkeys CONTAINS(*)
     		Add_CLP2( -8 "%gamepathfile%")
     		
     		ElseIf Key_load CONTAINS(wildcard)
     		; Auto boot disk with LOAD"*",8,1:
     		Add_CLP2( -autostart "%gamepathfile%")
     		
     		;NOT POSSIBLE to select internal file from GameBase in G64, G41, D71, D80, D81, D82 and FDI disk images.
     		;So load"*",8,1 is used. use sendkeys if another file is required to boot disk.
     		;use GEMUS "Load=Wildcard"
     		ElseIf GameType CONTAINS(g64||g41||d70||d71||d80||d81||d82)
     		Add_CLP2( -autostart "%gamepathfile%")

                Else
                ;Default setting. Boot disk with internal ImageName
		Add_CLP2( -autostart "%gamepathfile%:%c64imagename%")
		End If

   If GameType CONTAINS(t64||tap)
;No commandline options for loading tapes with ,1,1. Only BASIC load available.

	  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.
	 	 Add_CLP2( -1 "%gamepathfile%")
	 	 
	 	ElseIf key_sendkeys CONTAINS(*)
     		Add_CLP2( -1 "%gamepathfile%")
	 
	   Else If Key_load CONTAINS(wildcard)
	   ; Load the first file on the Tape image.
	   ;Default Attach TAPE and load
	   Add_CLP2( -autostart "%gamepathfile%")
	 
	   Else
	   ; Load the TAPE Image (T64) with Filename stored in GameBase.
   	 Add_CLP2( -autostart "%gamepathfile%:%c64imagename%")
	  End If
   End If


   ;do we want a PAL or NTSC setup?
   If PalNTSC = NTSC
      Add_CLP( -ntsc)
   Else
      Add_CLP( -pal)
   End If
   
      ;true drive emulation (vtde=yes is for VICE only, not CCS64)
      ;set GEMUS key "vtde" to overrule database TrueDriveEmu settings
    If Key_vtde CONTAINS(yes||on||true||1)
         Add_CLP( -truedrive)
      ElseIf Key_vtde CONTAINS(no||no*||off|false||0)
         Add_CLP( +truedrive)
      ElseIf TrueDriveEmu = YES
         Add_CLP( -truedrive)

;Set True Drive Emulation ON for all G64 Original Disks.
;Best option would be to check for Extras Name CONTAINS "Original Disk".
         ElseIf GameType CONTAINS(g64||d71||d81||d82)
         Add_CLP( -truedrive)
         
      Else
         Add_CLP( +truedrive)
    End If

   ;set the game controls
   ;These settings are designed to automatically set the controls for player 1
   ;to the same controller, regardless of which PORT the game uses for player 1.
   ;
   ;0=None, 1=Numpad + RCtrl, 2=Keset A, 3=Keyset B, 4+ are for real joysticks/pads
   ;
   ;Use k=v pair REALJOYSTICK1 and REALJOYSTICK2 to activate a USB game controller
   ;for player 1 and player 2
;   If Key_joystickautoconfig CONTAINS(no||0||off||false)
;   Else
;      If Control = JoyPort2
;         If Key_realjoystick1 CONTAINS(yes||1||on||true)
;            Add_CLP( -joydev2 4)
;         Else
;            Add_CLP( -joydev2 3)
;         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
;         Set_INI_Value(1||C64||Mouse||0)
;      ElseIf Control = JoyPort1
;         If Key_realjoystick1 CONTAINS(yes||1||on||true)
;            Add_CLP( -joydev1 4)
;         Else
;            Add_CLP( -joydev1 3)
;         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
;         Set_INI_Value(1||C64||Mouse||0)
;      ElseIf Control = Mouse
;         ;1351 Mouse emulation (the Port cannot be changed or determined via the GUI)
;         Set_INI_Value(1||C64||Mouse||1)
;         Set_INI_Value(1||C64||Mouseport||1)
;         Add_CLP( -joydev1 0)
;         Add_CLP( -joydev2 0)
;      ElseIf Control = PaddlePort1
;         ;Mouse PORT1 setting may give partial PaddlePort1 control
;         Set_INI_Value(1||C64||Mouse||1)
;         Set_INI_Value(1||C64||Mouseport||1)
;         Add_CLP( -joydev1 0)
;         Add_CLP( -joydev2 0)
;      ElseIf Control = PaddlePort2
;         ;Mouse PORT2 setting may give partial PaddlePort2 control
;         Set_INI_Value(1||C64||Mouse||1)
;         Set_INI_Value(1||C64||Mouseport||2)
;         Add_CLP( -joydev1 0)
;         Add_CLP( -joydev2 0)
;      Else
;         ;Disable Joysticks and Mouse
;         Add_CLP( -joydev1 0)
;         Add_CLP( -joydev2 0)
;         Set_INI_Value(1||C64||Mouse||0)
;      End If
;   End If

   ;REU (Ram Expansion Unit) = 128,256,512,1024,2048,4086,8192 or 16384 kB
   If Key_reu CONTAINS(*)
      ;enable REU and set to reu value
      If Key_reu CONTAINS(128||256||512||1024||2048||4096||8192||16384)
         Set_INI_Value(1||C64||REUsize||%reu_value%)
         Set_INI_Value(1||C64||REU||1)
      ElseIf Key_reu CONTAINS(no||no*||off||false||0)
         ;disable REU if set to off
         Set_INI_Value(1||C64||REU||0)
      Else
         ;set to 512 kB for all other REU values (on, yes, 500, etc.)
         Set_INI_Value(1||C64||REUsize||512)
         Set_INI_Value(1||C64||REU||1)
      End If
   Else
      ;disable REU
      Set_INI_Value(1||C64||REU||0)
   End If

   ;unsupported game controls
   If Control = LightPen
      Show_Message(This emulator does not have LightPen emulation.%crlfx2%This game may be uncontrollable/unplayable.)
   ElseIf Control = KoalaPad
      Show_Message(This emulator does not have KoalaPad emulation.%crlfx2%This game may be uncontrollable/unplayable.)
   ElseIf Control = LightGun
      Show_Message(This emulator does not have LightGun emulation.%crlfx2%This game may be uncontrollable/unplayable.)
   ElseIf Control = PaddlePort1
      Show_Message(This emulator does not have Paddle emulation.%crlfx2%Mouse Port1 setting may allow partial control via the mouse.%crlfx2%This game may still be uncontrollable/unplayable.)
   ElseIf Control = PaddlePort2
      Show_Message(This emulator does not have Paddle emulation.%crlfx2%Mouse Port2 setting may allow partial control via the mouse.%crlfx2%This game may still be uncontrollable/unplayable.)
   End If

   ;give the user a warning message?
   If VersionComment CONTAINS(*use C64S*||*use CCS*||*use real C64*)
      Show_Message(This game may not work properly with this emulator.%crlfx2%See Version Comment for more info.)
   End If
   If VersionComment CONTAINS(*not 100%*||*not working*||*doesn't work*)
      Show_Message(This game may not work properly.)
   End If
   If VersionComment CONTAINS(*PET Emulator*)
      Show_Message(Use LOAD"*",8 and RUN in PET Emulator start this game.)
   End If
   If VersionComment CONTAINS(*ATTN:*||*NOTE:*||*ATTN!:*||*NOTE!:*)
      ;point out that critical info is in the version comment
      Show_Message(Read this game's Version Comments for very important information/instructions.)
   End If
   If VersionComment CONTAINS(*VIC-20*||*VIC20*)
      If VersionComment CONTAINS(*emulator*)
         Show_Message(Use VIC-20 column Emulator to run this game properly.)
      End If
   End If

   ;show message for the user
   If Key_msg CONTAINS(*)
      Show_Message(%msg_value%)
   End If

;********************************************************************************************************
; Send keys to emulator (use lower case in GEMUS).
; same as using load=manual it disables any auto loading.
;
; Remember C64 Emulators use different keymaps from PC.
;      ;=:  ]=*  [=@  £=#  ^=&  *=(  (=)  -=+
;
; Only a few ANSI codes {C34} are available for sendkeys. Some have strange results.
; {C31} = Put C64 in lowecase,  {C30} = Put the C64 back in uppercase
; sendkeys={C31}[1]{C30}
; 
; sendkeys=load"game",8,1{enter}
;
; LOAD"M*",8,1
; sendkeys=load"m]",8,1
;
; example of PRG file start when injected into RAM.
; sendkeys=sys64738{enter}
;
; To get the directory of the disk (some original copy protections will never finish loading.)
; 
; sendkeys=load"$",8{enter}[2]list{enter}
; or
; sendkeys=lO"$",8{enter}[2]lI{enter}
;********************************************************************************************************

If key_sendkeys CONTAINS(*)
Run_Emulator_Send_Keys([4]%sendkeys_value%||50)
Else
   ;run the emulator
   Run_Emulator()
End If
check this file...
GAMEBASE/GBC_v11/emulators.ini

it should point to your WinVICE install and VICE.ini
you must create the default VICE.INI file before using gamebase.


like this example..

Code: Select all

[Emulators]
1=WinVICE 2.4-x86
2=
[WinVICE 2.4-x86]
UseShortFilenames=1
SupportedTypes=D64;T64;G64;G41;TAP;CRT;P00;PRG;ROM
EmulatorPathFile=C:\GameBase\GBC_v11\Emulators\WinVICE-2.4-x86\x64.exe
ScriptFile=WinVICE.txt
1=C:\GameBase\GBC_v11\Emulators\WinVICE-2.4-x86\vice.ini
2=
the above file can be created using the emulators setup wizard...
http://www.gb64.com/forum/viewtopic.php?t=5206
if your emulators are in other locations.
cammelspit
New Member
Posts: 4
Joined: Fri Apr 18, 2014 6:54 pm

Sat Apr 19, 2014 7:01 pm

For one... YAY! Joystick functions are now no longer being rewritten by game base and are now only defaulting to what is in my vice.ini(Preffered behavior) so thank you very very much for the assist. I guess the script is just set up to rewrite the joy settings in the ini for some reason... Now, I am still having the NTSC options being rewritten as well and I am assuming it's more than likely the same kind of issue. However, I don't know what to change to make it either default to NTSC. Either I can change the defaults somehow or I would be ok to also just default to the vice ini settings, I just dont really know how. You are super awesome for helping me out here, it is very much appreciated. :lol:
User avatar
.mad.
Highly Commended Member
Highly Commended Member
Location: Lancashire
Posts: 1598
Joined: Sun Jun 19, 2005 3:30 pm

Sat Apr 19, 2014 7:22 pm

The GameBase frontend sets the desired machine for each game in the collection.
for PAL only games it will load a PAL machine, and for NTSC Only games will load a NTSC machine.

for a game that runs in both it will boot PAL.

seeing as the machine it is emulated on a PC, it should not matter to you.

anyway, i guess it does your head in.

edit these lines of the script...

;do we want a PAL or NTSC setup?
If PalNTSC = NTSC
Add_CLP( -ntsc)
Else
Add_CLP( -pal)
End If

------------------
change to this
------------------

;do we want a PAL or NTSC setup?
If PalNTSC = PAL
Add_CLP( -pal)
Else
Add_CLP( -ntsc)
End If


PAL will still be booted for PAL Only games set in GameBase.
default will be NTSC.
cammelspit
New Member
Posts: 4
Joined: Fri Apr 18, 2014 6:54 pm

Sat Apr 19, 2014 8:14 pm

Good sir, you are a god among men. I could just feel the frustration just drain away and ease into a slight giddy feeling because all works as I would like it to and I can enjoy some of these classics. :lol: I know PAL shouldn't matter but it stiill bothered me seeing as I use a 60Hz TV for my PC instead of a normal variable Hz monitor so I like using the native Hz whenever possible to decrease tearimng (for faster that) or pulldown/up having to be done internally oir even throught the video divers as it sucks anyway. :wink: Still again I appreciate the assist and thank you profusely.

Return to “GB64 Help!”

Who is online

Users browsing this forum: No registered users and 3 guests