Commodore™ C64 Software Projects

This page details some of the software projects I've been working on. Some are only ideas at the momemt, others fully working. 64HDD takes up most of my programming time... Feel free to download whatever interests you.

Emulator Developments:

These projects combine PC hardware and MSDOS software in such a way as to enhance the functionality of the Commodore 8-bit computers. These are not emulators in the sense that we've become accustomed to (eg VICE, CCS64, C64S which operate solely from a PC). Rather these projects use the PC as a slave for expanding Commodore capabilities. These projects are the main thrust of my development efforts:

  • USB64 - The Commodore essentially had a Universal Serial Bus all those years ago since its peripherals were a chain of intelligent devices communicating over a (slow) serial bus. For this universal serial link to be worthwhile it needs to be faster. 64HDD Professional will eventually grow to incoporate the features originally intended to be part of this secondary project. The emulation software will provide services to give access to some of these features:

      • PC Mice - already a 64HDD function
      • PC Joysticks /Control Wheels - cable / port adaptor required
      • PC printers - redirection and spooling, covered by 64HDD Professional
      • PC RS232 - redirection to PC modem
      • CBM Network / Multiplexing - using multiple LPT ports
      • PC USB - not currently thought feasible as there is no affordable DOS code available (storage devices are supported via 64HDD)
      • PC A/D sampling - from the SoundCard
      • PC Ethernet - networking already possible
      • PC Scanners - may be too scanner specific
      • PC Video output - script language based?

    Project will most likely be based on this cartridge

  • Virtual6510 - Ever wanted to upgrade your C64's speed as often as PC technology changes? Well this project had aimed to do just that - a software /hardware combination that would give 8-bit Commodore machines a "virtual" CPU upgrade. The real CPU (a 6510 or 6502 chip) was not replaced by electronics, but rather by a software emulation of it run on a modern PC. The PC provided accelerated performance because of its modern design and faster speed, whilst the real Commodore hardware provides compatibility as it is used for sound, video and device I/O. To make all this possible a hardware adaptor and cable was needed, in addition to the emulation software.

    So how fast could you go? Do you believe trials indicated that a C64 could operate up to up to 162MHz using a P4/1.8GHz PC!!!

    The PC software could eventually support other enhancements such as REU emulation, true RS232 support, drive emulation, and an enhanced CPU instruction set.

    After extensive design, optimisation, re-design and private benchmarking, including coding some of the emulation engine, a test-version was release to gauge public feedback. Well, it seems that this was not something the C64 community needed and so work on the project has stopped.

    • For detailed user information about what Virtual6510 had hoped to offer, check out the FAQ (or in Italian)
    • Look here for Technical Detail about the proposed system adaptor, method of operation and challenges that needed to be overcome.

Software Developments:

QuickCam connected to a C64

  • QuickCAM64 (18kb) is a project by Vanessa Ezekowitz, with some new drivers by me. Vanessa made the original circuit to connect the Connectix QuickCAM to the Commodore's UserPort and provided the basic software for viewing pictures. I have recompiled the software into "easy-to-use" D64 format with appropriate loaders and have added 2Mhz support for the hi-res modes if you are using a C128-in-C64-mode.

    In the future I plan to develop video capture software which buffers the data to RAM or expansion RAM and then lets you save it to disk or play it back, as the original code will not let you save the images directly.

  • KERNAL Patch Files (60kb) is a collection of patched KERNALs for use with C64 emulators. As you know today's PC can run these emulators at speeds several times faster that the 1MHz C64, the problem though is that with most emulators the cursor also speeds up making it impossible to type accurately. Included in the zip are KERNALs patched for 1, 2, 3, and 4MHz emulation. The patch effectively sets the CIA counter with values for the faster clock rates, and hence the limit of $FFFF corresponds to approximately 4MHz. There is also a utility called PATCH64S to patch the C64S.RES file which holds the ROMs for the C64s emulator.