Commodore C64 Software
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.
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
- 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
- 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?
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
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
(or in Italian)
- Look here for
Technical Detail about
the proposed system adaptor, method of operation and challenges
that needed to be overcome.
- 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.
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.