01 – Handy Guide to C64 Emulation

H.O.G. #01 – Handy Guide to C64 Emulation

H.O.G. – Handy Online Guides
Written by Rob “Flack” O’Hara
Posted 03/02/2006
http://www.robohara.com/”p=364

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!

10 thoughts on “01 – Handy Guide to C64 Emulation

  1. Very good read. WinVice is also MY personal choice for emulation as well. My C64 was equipped with a 1541-II, 1581, 1MB RAM Expander, (All of which VICE emulates) 1200 baud modem and a suite of Productivity software, some of which is VERY difficult to find online. (If not impossible). If you have any productivity software (GEOS included), please consider contacting me for a trade?

    I have over 200MB of just productive type software, NOT counting my GEOS software. (I have just about ALL of it!) Which totals up to another 150+MB!

    Of course, I have games too. Some of which I was able to “convert” to run under GEOS, and then return to the OS when closed. I also have many games that were written specifically for GEOS!

    Regards,

    Joe Bucci

  2. Hmmm. Surprised I haven’t heard from anyone.. Well, I want to thank people like Pete Rittwage, Ben Castricum, Bo Zimmerman, the GB64 Team, and many others who have helped me with my A.P.P.S. project.. (Aquiring & Preserving Productivity Software). I have around 2GB of REAL productivity software, and a “Near Complete” collection of GEOS software. Thanks guys!! – The “New” version of VICE (v2.0 FINALLY!) seems to REALLY be right on the money!! I haven’t seen a “Stable” version since v1.10. Although, 1.22 was pretty close, there was that “Snapshot” bug… Now FIXED!! – And the ability to “copy&paste” text right to the VICE window will make entering listings from Magazines a SNAP!! Very cool! I’m a HEAVY tester, and discovered bugs almost instantly with the past 9 VERSIONS!! – This v2.0 seems to be very stable, Thanks VICE Team!!

    Regards,

    Joe Bucci
    joebucci@netzero.net

  3. Gosh, I really love the handy guide to C-64 emulation… Now, is there any guides on how to load files from my floppy 1541? Or how about printing stuff to my PC printer? Would love to hear!

  4. Hello Stephen, the only C64 emulator I know of that would run programs directly from a 1541 drive (And you needed to build a ‘special’ cable) was PC64 by Wolfgang Lorenz. But, it’s very old now, runs ONLY in pure DOS, and you would need an old 486 era PC. And, PC64 has been discontinued since 1997!

    There does exist a X1541 cable (Just Google for “The 1541XE Cable”) at Joe Forester’s website, which also has the software you would need, to TRANSFER your C64 disks to D64 or G64 image files, that you could then use with an emulator.

    You could also contact Pete Rittwage of C64Preservation Project. (Just Google it, you’ll find him). He may be willing to transfer your software for you! (He has very sophisticated software and hardware for this task). Pete has helped me obtain some software in the past, and is a really nice guy!

    Short answer… Sorry, I know of no way to “Run” your software on a modern PC. ‘Most’ Game software is already available online somewhere. Try C64.com , GB64.com , C64games.de that should get you started. Hope this was helpful.

    JB

  5. Hello Stephen, the only C64 emulator I know of that would run programs directly from a 1541 drive (And you needed to build a ‘special’ cable) was PC64 by Wolfgang Lorenz. But, it’s very old now, runs ONLY in pure DOS, and you would need an old 486 era PC. And, PC64 has been discontinued since 1997!

    There does exist a X1541 cable (Just Google for “The 1541XE Cable”) at Joe Forester’s website, which also has the software you would need, to TRANSFER your C64 disks to D64 or G64 image files, that you could then use with an emulator.

    You could also contact Pete Rittwage of C64Preservation Project. (Just Google it, you’ll find him). He may be willing to transfer your software for you! (He has very sophisticated software and hardware for this task). Pete has helped me obtain some software in the past, and is a really nice guy!

    Short answer… Sorry, I know of no way to “Run” your software on a modern PC directly from your 1541. ‘Most’ Game software is already available online somewhere. Try C64.com , GB64.com , C64games.de And use the VICE emulator, that should get you started. Hope this was helpful.

    JB

  6. I’ve used an X series cable (not sure which one) many times to run WinVice with a real 1571 disk drive. Last time was over a year ago, so it’s not a new feature. It does require a Vice-compatible parallel port, which means an older computer with the right type of parallel port. Not sure anymore what that type is.

  7. Hi Mike,

    Yes, back in the days of my 486SX, it had an EPP parallel port. I was able to construct a simple X1541 cable, and used that to transfer all my software. I was one of the lucky one’s with a 1581 3-1/2″ drive and various “Snapshot” programs which allowed me to transfer things from THOSE disks easy by just using DOS software to “read” the 1581 disks.

    I was able to save ALL my GEOS stuff… I’m a happy man! But, I did not realize you could “RUN” software on the emulator using a Commodore drive hooked to a compatible printer port.

    Unfortunately, I’m all USB now, except for my old Dell Laptop running Win98se. I could use that, that’s why I keep it! It’s only 366mhz, but it runs DOS stuff really well. It has the correct parallel port, and a couple of USB 1.1 ports. I bought it in 1999 and have NEVER had to “Restore” it! Added RAM to it, and an ‘external’ HP CD Burner.

    Cheers,

    Joe

  8. With regards to using a real floppy with winvice, I found this page while looking for this solution & I am led to believe it has been possible for some time.

    I’m going to try it this week sometime when I get round to unpacking my old floppy drive.

    Here is a link to the documentation I found.

    http://vicekb.trikaliotis.net/13-007

    Hope this helps & if anyone get’s it working I would love to hear from them.

    Cheers
    Frayja

  9. Cool! Thank you Frayja,

    I haven’t really been following this ‘feature’ as I transferred my stuff *years* ago. It seemed that VICE was having ‘issues’ with RAM expansion, 1581 emulation, and “Snapshot” problems… for quite a while!

    The latest version (as of this writing) is 2.1, and I’ve found it to be pretty “Tight”. I can still “break” it, if I PUSH it. But for most things I do, VICE is still my emulator of “Choice”.

    I keep CCS64, and Hox64 on my PC as well… for those ‘stubborn’ Titles..

    Thanks!

    JB

Comments are closed.