Wirelessly SEARCH/MOUNT disk images and LOAD/SAVE data to/from your Commodore 64!
- VDRIVE is a free, open‑source tool built for modern flexibility in retro workflows. It enables remote disk access, search/mount control, and HTTP support directly from your C64.
- Designed with developers in mind, VDRIVE allows programmers, artists, and musicians to share disk images in real time. Save work on the C64, inspect or modify it with modern tools, then load it back instantly — no SD card swaps or manual copying.
- VDRIVE supports safe concurrency: multiple C64s can LOAD and SAVE to the same disk image without corruption. File access is synchronized with read/write locks, following a Last‑Write‑Wins model for simplicity and performance.
Looking to run VDRIVE without building from source?
Grab the ready‑to‑run binaries from the v1.0.0‑beta release.
Don't have a real Commodore 64 or a WiC64? Use Vice 3.10 with WiC64 emulation turned on. It can be found in Settings-->Userport devices.
No other settings need to be changed as the vdrivewic64.prg C64 binary embeds the URL, which can be patched as needed by your favorite HEX editor.
Open "vdrivewic64.prg" with a HEX editor and point the URL to your local VDRIVE Servers IP address. Max 80 characters - for example HTTP://192.168.1.222/.
Note: trailing slash is needed or the formed URLs will not be correct.
Demonstrations of VDRIVE capabilities:
- PRG LOAD - Loading Commando PRG from search results.
- Paging - Search supports up to 65,535 results.
- Remote - Searching Commodore.Software from internet and mounting disks.
- BASIC ILOAD - Using C64 BASIC to programmatically search / mount / load.
- Jukebox - Using the HvscPsid floppy resolver to search the High Voltage SID Collection and then mount, calling PSID64 to automatically convert raw SID files to PRG so the C64 can play them instantly.
Looking to build on top of VDRIVE?
Explore the Examples directory for sample projects and integrations.
This section explains each field in appsettings.json for VDRIVE.
- AllowedAuthTokens — Optional list of tokens permitted to access the service. Empty = all clients allowed.
- StorageAdapter — Backend tool for disk image operations. Options:
DirMaster,Vice. Default: Vice. - StorageAdapterSettings:
- ReadOnly — Prevent modifications if true.
- NewFloppyPath — Directory for new floppy images.
- DirMaster — Python + CBMdisk integration.
- Vice — Uses
c1541.exe, tested with version 2.4.
- FloppyResolver — Defines how disk images are located. Options:
Local,CommodoreSoftware,HvscPsid. - Local — Scans directories (recursive if enabled). Supports
.d64,.prg, etc. - CommodoreSoftware — Remote search via Commodore.Software.
- HvscPsid — SID music resolver using
psid64.exe.
- LoggingLevel — Controls verbosity. Options: Verbose, Info, Warning, Error, Critical. Default: Verbose.
- SessionTimeoutMinutes — Default 90.
- MaxSearchResults — Default 65535.
- SearchPageSize — Default 12.
- SearchIntroMessage — Optional banner text.
- TempPath — Custom temp directory (empty = system default).
- TempFolder — Scratch folder name. Default: VDRIVE_Scratch.
- Chunksize — Data chunk size in bytes. Default: 1024.
- ServerOrClientMode — Always
Serverin WiC64. - ServerType — Always
Http. - ServerListenAddress — Bind address. Default:
http://*: - ServerPort — Default:
80. - SendTimeoutSeconds / ReceiveTimeoutSeconds — Default: 15 each.
The WiC64 implementation of VDRIVE is fully functional!
WiC64 is memory‑mapped directly to the C64, bypassing the limitations of serial communication and enabling near‑instant loading of large binaries.
VDRIVE supports modular StorageAdapters to handle all LOAD, SAVE, and directory operations. These adapters interface with:
c1541.exefrom VICE — command‑line utility for manipulating Commodore disk images.cbmdisk.pydfrom DirMaster — Python wrapper for advanced disk image access.
The FloppyResolver system abstracts disk image discovery across local paths and remote archives.
Resolvers support:
- Local Search — scan user‑defined directories for
.D64,.PRG, and other CBM files. - Remote Search — query curated online archives such as Commodore.Software.
VDRIVE also includes a HvscPsidFloppyResolver that integrates with the High Voltage SID Collection and converts SID files to PRG via PSID64, turning your C64 into a SID jukebox.
- Connect a real WiC64 device, or enable WiC64 emulation in VICE 3.9+.
- Assemble
vdrive_wic64.asmusing the ACME cross assembler. - This version communicates via WiC64 through HTTP.
Edit appsettings.json to define the search paths VDRIVE should scan.
Optionally, configure a remote IFloppyResolver for distributed setups.
See the Configuration Reference for detailed options.
Launch the C# .NET Core server (or client, if the firmware is in server mode).
VDRIVE runs on any OS with .NET Core runtime.
From your Commodore 64:
LOAD "vdrive_wic64.prg",8,1
SYS 49152 : Enable VDRIVE
SYS 49155 : Disable VDRIVE
SYS 49158 : Search for disk images
SYS 49161 : Mount a different floppy from previous search
- Search results include sequence numbers and filenames/descriptions.
- Enter a number to mount a disk from the results.
- You can switch between previously found floppies using their sequence number.
- Use
LOADandSAVEas usual — now routed through VDRIVE.
- VDRIVE runs at
$C000, so anyLOADthat hits that region will crash it. VDRIVE will return a file not found by default if loading to a known area that will crash the C64.
VDRIVE is functional, but still evolving. Expect rough edges — and feel free to contribute or fork.

