H.O.G. #01 – Handy Guide to C64 Emulation
H.O.G. – Handy Online Guides
Written by Rob “Flack” O’Hara
The Commodore 64 was a truly amazing machine, but its processing power is no match for the computers of today. With a clock speed of 1 megahertz and a display of 320×240 (16 colors), modern Pentium-based computers have no problem accurately emulating the Commodore 64.
There are several Commodore 64 emulators available for Windows-based PCs. One of the simplest to set up, configure and use is WinVICE. My goal in this article is to not only help you get WinVICE up and running, but also explain a little bit about how the Commodore 64 worked, and what makes WinVICE so neat.
The first thing you’ll need to do is download WinVICE. A simple Google search should turn up the latest version — this article was written using 1.7, but very little changes in the program’s GUI (most changes are to make WinVICE compatible with even more programs than it already supports). A semi-recent copy of WinVICE should always be available on VICETeam’s website: http://www.viceteam.org.
Once you’ve unzipped WinVICE into a suitable directory … that’s it! Wasn’t that easy? Of course, a computer (even a virtual one) isn’t much fun without any software. The WWW contains several very large Commodore 64 software libraries. There are several companies that have been gracious enough to release many of their old commercial Commodore 64 into the public domain. To avoid breaking any copyright laws, you should stick with those games. Websites like http://www.Lemon64.com and http://almighty.c64.org have large selections of legally available images for you to download. (And if you’re looking for a bit more, track down the Gamebase collection, which contains essentially every known Commodore program ever released.)
WinVICE handles three basic types of files: cartridge images, tape images, and drive images. Cartridge images are the least used of the three, if for no other reason than most cartridge-based games have been dumped to both tape and disk. Cartridge images usually end in the extension .CRT.
That leaves us with tape images and disk images. In the 1980s, Commodore disk drives were very expensive, often exceeding the cost of the computer itself! Disk drive prices did not drop in Europe for a long time. This led to the US market making the switch early on to floppy disk drives, while the European scene continued to store data on tapes for many years. Games on cassette tape were much cheaper but took an extremely long time to load. Disk-based games loaded much faster, but of course disk drives were much more expensive. In the end, it doesn’t really matter which you use with WinVICE as it handles both formats. Tape files (.t64, .p00, and .TAP) as well as disk images (.d64, .d71, .d81) load almost instantly in WinVICE. For this tutorial, I’ll be using a .d64 disk image, so if you want to play along at home; you’ll want to grab one too.
Go ahead and unzip your .d64 image somewhere on your PC and note the location. I’m going to go ahead and make a prediction and say that the file is … 171k! Was I right? A 1541 floppy disk held approximately 180k of information, including the header info. Without that, it’s around 171k in size.
Once you’ve got that .d64 prepared, go ahead and launch WinVICE. In the directory you unzipped WinVICE into, it should be the x64.exe file. Double click that file, and prepare to take a trip in the wayback machine to 1983.
The first thing you’ll notice is that 320×240 wasn’t very big. To make things easier on your eyes, click OPTIONS > DOUBLE SIZE. Now the window should be 640×480, and have a lot of lines through it since we just stretched the video signal. Go ahead and click OPTIONS > DOUBLE SCAN, and you should see the other lines fill in.
Since we’re already under Options, allow me to point out a couple other features. MAXIMUM SPEED should be set at 100%. Trust me, your super-duper-whiz-bang computer can emulate a Commodore 64 really, really quickly. Unless you want your Commodore 64 running at 1000x times its originally intended speed (which would make playing games quite a challenge), leave that at 100%.
Under Options you’ll also see TRUE DRIVE EMULATION. I recommend that you turn this on. Even though 1541 disk drives were notoriously slow (a fact that you can confirm yourself by turning TRUE DRIVE EMULATION on), you can tun into some compatibility issues by turning this off. Years ago someone suggested I leave TRUE DRIVE EMULATION turned on and then use ALT+W (Warp Mode) to max out the emulator’s loading times. That’s how I do it now and it works great. ALT+W disables the MAXIMUM SPEED limit we set earlier. When loading a game with TRUE DRIVE EMULATION enabled, just hit ALT+W and the loading time will literally zip by — just don’t forget to hit ALT+W again before playing the game or else you’ll be playing it 1000x faster than the original!
Also under OPTIONS is SWAP JOYSTICK. The Commodore 64 had two joystick ports. In the 10+ years the computer was made and the 15,000 games that were released for it, no one ever came up with a standard joystick port. About half the games available for the computer use port 1; the other half use port 2. I know. I don’t understand it either. On real Commodore 64s, users spent a lot of time plugging and unplugging their joysticks. On WinVICE, you won’t have to. Simply hit ATL+J, and your joystick will magically swap ports. If a game doesn’t seem to be responding, try hitting ALT+J and trying it again. You can see which joystick is active in the bottom right hand corner.
The only other thing you’ll need to do before starting your retro gaming session is setting up your joystick. WinVICE supports both PC Joysticks and keypads, so getting your input method of choice set up and configured shouldn’t be a problem. WinVICE supports my two USB gamepads perfectly for head-to-head play as well. You can see which joystick is enabled by checking the bottom right hand portion of the screen. There are two tiny + signs down there, one for Joystick 1 and one for Joystick 2. As you move your joystick around you will see the corresponding directions light up. The middle lights up when you hit the fire button.
The Commodore 64 used serial cables to connect peripherals together. Each device was given a number. The default number for a floppy disk drive was “8″. A directory was signified by a dollar sign (“$”). To get a directory of a floppy disk, users had to first type “LOAD “$”,8″, followed by LIST when it was done loading. Don’t let this scare you off because it won’t be on the final exam. In WinVICE, this is all done for you with one single click.
Click on FILE > AUTOSTART DISK/TAPE IMAGE. Now, browse to where your .d64 file is stored and single-click on it. See the window in the bottom left hand corner with file names in it? You just got the directory of the disk!
Back in the 1980s, to load a game on a true Commodore 64 users had to type “LOAD ‘FILENAME’,8,1″ followed by the RUN command. As you may have guessed, this has also been replaced with a simple click. Find the file on the d64 image you want to load and simply double click it. If you’re quick enough you may actually see the LOAD command appear on the blue Commodore screen!
Once you’ve got your program loaded, it’s game time! Here are a few basic hints to help you along:
- The Commodore 64 keyboard had four large function keys running down its right hand side. They read F1, F3, F5 and F7. You will find that those keys are often used, especially when setting options in games before they start.
- The majority of all Commodore 64 games supported the joystick. If the joystick doesn’t seem to be responding, try hitting ALT+J to swap joystick ports.
- The wildcard (“*”) was used on the Commodore 64 to load the first program on a floppy disk or tape drive. You can execute the LOAD “*”,8,1 command by simply double-clicking a .d64 file in the AUTOSTART DISK/TAPE IMAGE menu. You will use this method on disks that only have one game, or disks that have built in menu systems on them.
- The Commodore 64 used Atari 2600 compatible joysticks, which means that most games are designed to support 4/8 directions and one button. Some games, like Commando, use the space bar for a second button (in Commando, the space bar throws grenades). In many platform games, the button may shoot while a diagonal movement on the joystick may cause your character to jump. Likewise, in Buggy Boy, “up” on the joystick applies gas, while the fire button changes gears.
- Once you’ve loaded your game, don’t be afraid to hit ALT-ENTER and make WinVICE run in full screen mode!
- The Commodore 64 had no physical reset button. Some programs allowed the Commodore to “break” by hitting RUN/STOP and RESTORE at the same time (similar to hitting ALT+BREAK on your PC). Like ALT+BREAK, RUN/STOP + RESTORE didn’t work that well either. Usually when switching between games, users simply turned their Commodore’s off and back on again. If you have a reason to do that, you can select FILE > RESET > HARD. The SOFT reset is the same as hitting RUN/STOP + RESTORE.
- Remember that disk and tape images for the Commodore 64 aren’t ROMs. ROM is Read Only Memory. .t64 and .d64 are images of tapes and floppy disks.
- If you end up downloading “cracked” software, you will notice cracking screen intros. At that time it was common for cracking groups to mark their releases with an intro. It was not uncommon for the cracker, distributor, and maybe even a courier to stick their own intros onto games. Just hit space bar and you should skip past these screens. If you’ve never seen them before, you might check a couple of them out — quite often some of the best graphics and sound as well as newest program techniques made their way into these intros.
You may find some Commodore 64 games that span multiple disks. If a game prompts you to insert another disk, that is done by “attaching” that disk to the virtual disk drive (FILE > ATTACH DISK IMAGE). That’s a fancy way of saying “I just put a disk in the disk drive”.
WinVICE supports both snapshots and screenshots. A screenshot capture can be performed by either hitting ALT+C, or selecting the option from the SNAPSHOT menu. ALT+U allows users to capture audio from a program. This too can be selected from the SNAPSHOT menu. Like most other modern emulators, WinVICE also allows users to perform “snapshots”. Basically, this allows you to freeze the computer, and save that moment in time. For example, if there’s a jump in Impossible Mission you just can’t seem to make, you can take a snapshot of the game right before you attempt your leap. If you fall and plummet to your death, you can reload that snapshot and keep trying until you make it.
That’s basically all there is to getting started! Should you continue dabbling in the world of Commodore emulation, you might want to take time to read the readme file included with WinVICE. Also, besides WinVICE, there are several other Commodore 64 emulators out there, most of them free and each with slightly different features and compatibility lists, should you feel the need to experiment. Good luck!