- Retro Gaming PC Build Log Part 1 : Host PC and Front End
- -> Retro Gaming PC Build Log Part 2 : Commodore 64
- Retro Gaming PC Build Log Part 3 : PC Games with GOG
Last Updated on September 8, 2022.
Figured I’d start off with my favorite system – The Commodore 64. Here are the key software components I used:
Nib Tools | Used to convert any images that are .nib format to .G64 format that VICE can read. D64 images are for unprotected (no copy protection) disks, while .g64 and .nib are two formats that retain all of the copy protection. So we’re going from NIB -> G64 |
VICE 3.6.1 (Windows 64-bit SDL version) | VICE is the emulator I’m most familiar with from my Diorama project and RetroPie tinkering, so I’ll continue with that here, same reason for the SDL version over GTK3. |
Nibconv and .NIB disks
I have some disk images that are already the D64 or G64 type, and some that are .NIB. I need to convert those using the nibconv from the Nib Tools package first. A simple batch file that worked for me (drop it in the folder where you have nibconv.exe and .NIB files and it will handle the rest. It deletes the G64 file first since mine would lock if the file already existed.
for %%f in (*.nib) do (
del "%%~nf.g64"
nibconv "%%~nf.nib" "%%~nf.g64"
)
pause
VICE install
VICE doesn’t install – it just unpacks into a directory. I put mine in a common emulators folder D:\Emulators\SDL2VICE-3.6.1-win64. Underneath there are all sorts of binaries and such but the primary one is x64sc, and that’s what I’ll be configuring as I test out some games.
First LaunchBox import and adding VICE as an emulator
I put my Bruce Lee G64 file in a temporary directory just to try this out. I’m going to let LaunchBox manage the Commodore 64 ROM files necessary, so it will ‘move it’ into the LaunchBox Games directory on import:
Now here is where I may deviate from most. I like the idea of RetroArch, and perhaps I’ll revisit it in the future, but I found while I can create global configurations to be shared across multiple emulators, I really liked having features in the later versions of emulators that don’t have an updated RetroArch core, or the core has crippled some features I desire. So in general, I rarely use RetroArch at this time.
For starters, all I’m populating is the name (VICE 64) and the location to x64sc.exe (The VICE C64 binary)
I let it populate all the checkboxes for both LaunchBox and EMU Movies.
I leave these options as default:
After searching the online databases for media, I now show Bruce Lee in my LaunchBox main view:
Testing the first game – Failure and Fix
Double clicking on Bruce Lee does… nothing. I see nothing. I got nothing. What gives?
I decide to launch the emulator directly (x64sc.exe in the VICE directory) and it worked fine:
I then decided to load the G64 image directly through VICE, bypassing LaunchBox. Result:
Okay. So now I now there’s something up with LaunchBox dealing with VICE. I’m actually used to loading VICE first on my RetroPie and loading the image directly. So this means I’ve got a command line argument issue. Turns out LaunchBox tried to force my hand with RetroArch even though I wanted to configure the emulator manually!
Perhaps I should have set the emulator up first, but if you run into this, you’ll see in your emulator config under ‘associated platforms’ a WIDE list of items, and they also populate well known RetroArch cores.
I missed the little ‘pop up’ that stated it populated RetroArch for me. I wish it hadn’t done that, it caused me a small headache. So I went back into my VICE config and wiped out ALL of the associated platforms, left that tab, went back to an empty one (so it doesn’t show the RetroArch core column), and added one entry for Commodore 64 like so:
After that, VICE finally launched from LaunchBox properly:
Configuring VICE on Windows
Great, now we know we can launch at least one game from LaunchBox using VICE. Now I need to configure it to my tastes. First off, it’s a tiny window in the center of the screen, and not full screen. There are plenty of other things I like to configure for VICE, and here is where I’ll record those ‘default’ settings I immediately set into the VICE configuration when I first install VICE. I may tweak this over time but the settings below are my current reference settings of choice.
First off, VICE by default is storing it’s settings in C:\Users\<userid>\AppData\Roaming\vice. Underneath there is a sdl-vice.ini after saving the first time and vice.log for any interesting execution log statements. Good to know.
Side note: Try out wireless gamepads for the PC (Like XBOX controllers). Luna loves chewing cables.
Here are the highlights for my VICE 3.61 Windows SDL version’s settings that deviate from the known defaults.
- SDL audio instead of WMM – Things sounded horrendous otherwise.
- NTSC Mode vs Pal- I had NTSC, but sometimes images I have require PAL. So I set up both
- I set the VICE snapshots directory to the Snapshots directory I created underneath my C64 LaunchBox game folder for easier visibility.
- I set the drive sound emulation to 1. It’s just music to my ears.
- Joystick – I set by default, Joystick 2 to my game controller (a generic gamepad), and Joystick 1 to the numeric keypad. VICE by default sets my A button to Joystick firing, B button to bring up the VICE menu. I manually set the Y button to toggle WARP speed on and off, and the X button to ‘swap’ the Joystick ports. I also set the left trigger to the ‘Load snapshot’ menu, and the right trigger to ‘Save snapshot’ menu.
What I ended up doing was creating two emulator profiles – one for NTSC and one for PAL. The two config files allow me to tweak the two ‘versions’ of C64 emulation differently, and sometimes I just need to do that for some games.
VICE 64 – NTSC setup example (points to NTSC config)
VICE 64 PAL – PAL setup example (points to PAL config)
Current reference settings:
sdl-vice-ntsc.ini:
[C64SC]
SDLStatusbar=1
SoundDeviceName="sdl"
VirtualDevice1=1
MachineVideoStandard=2
IECReset=1
CIA1Model=0
CIA2Model=0
KernalRev=-1
VICIIFullscreen=1
VICIIModel=3
SidModel=0
JoyPort10Device=0
JoyPort9Device=0
JoyPort8Device=0
JoyPort7Device=0
JoyPort6Device=0
JoyPort5Device=0
JoyPort4Device=0
JoyPort3Device=0
JoyDevice1=4
EventSnapshotDir="D:\LaunchBox\Games\Commodore 64\Snapshots\"
GlueLogic=0
DriveSoundEmulation=1
sdl-vice-pal.ini:
[C64SC]
SDLStatusbar=1
SoundDeviceName="sdl"
VirtualDevice1=1
IECReset=1
CIA1Model=0
CIA2Model=0
KernalRev=-1
VICIIFullscreen=1
VICIIModel=0
SidModel=0
JoyPort10Device=0
JoyPort9Device=0
JoyPort8Device=0
JoyPort7Device=0
JoyPort6Device=0
JoyPort5Device=0
JoyPort4Device=0
JoyPort3Device=0
JoyDevice1=4
EventSnapshotDir="D:\LaunchBox\Games\Commodore 64\Snapshots\"
GlueLogic=0
DriveSoundEmulation=1
LaunchBox specific settings:
Command line parameters:
- -chdir “D:\LaunchBox\Games\Commodore 64” (Sets the autostart image directory to our games folder)
Game Specific Settings
Game specific tweaks and oddities
Game | Command Line |
Jingle Disks | Couldn’t fix this with command line alone. Must manually Load “Jingle”,8,1 and go from there. |