YACE64 Logo

The Commodore 64 Emulator with the extra dimension

Home Introduction Features Screenshots Download Links Help About
Commodore 64

YACE 64 Application


Extract the zip file to a folder of your choice, optional create manually a link in your programs folder.

The emulator needs the commodore ROMs (see below) to run properly. You can download them manually or from within the application.
Read the readme for further instructions and commandline options.

To use the automatic decompression of archives you need to download 7zip and configure it in the setting/zip menu.

Start the emulator from the explorer or commandline.

ROM Files

You will need ROM files for the C64 and for the 1541 Floppy Diskdrive.
These are the recommended versions:



The files will be checked after configuration. Other ROM versions may work, but are not tested - so please use the recommended versions for your first tests.
The ROM files can also be configured and downloaded automatically. When commiting, that you are a legal owner of ROMs, the files are searched in the internet, then downloaded and configured automatically.



The PC keyboard can be used directly for the input. The layout and keymappings can be changed.

The mapping can be changed by selecting a file within the settings. The file can be edit manually.

Hotkeys for controlling the emulator can be found here.


It is possible to use real joystick devices (e.g. connected via USB) or the keyboards number block. The joystick must be direct-input compatible.


The 1351 mouse is emulated with the analog mode, if setting is selected moving the PC mouse over the monitor view will send the data to the C64.

The mouse can be captured by the emulator hitting Shift+F9 (the Windows cursor is then invisible).


Command Reference


3D shutter glassesStereoscopic

3D3D Transformation






The debugger is part of the console.

VIC debugger

State Recording and Playback

Video and Audio Recording



The TCP port for the server must be configured. The default is 8080. Please make sure. that your firewall doesn't block the port.

If you want to access YACE64 from the internet, you need to ad a port-forwarding to your router.

The server can be configured to automatically pause the emulator, if no one is connected. The emulator will then continue running at the first connected client and pause when the last client disconnected.

The viewing experience depends on the slowest client, so all users nearly have the same condition.

TCP Options

The "TCP no delay" turns of the Nagle algorithm. This forces every sending data emidiently and reduces delay on the client side, but increases bandwidth, because TCP packets will not be filled optimal. Only turn on this option, if you don't have to care about the data rate and have problems with the delay.

The "TCP send buffer size" option lets you choose the buffer for sending over TCP (set to 0 for default of normally 8192 bytes). Riase the value when the clients framerate isn't smooth enough, because of changing network conditions. Reduce the size for lower delay.


Here is an example on how to configure your windows firewall:

Open the Windows firewall with extened security and select "New Rule":

Select "Port" at the Rule Type:

Select TCP and add the port you configured in YACE64:

Grant access:

Select in which profiles the rule should be active:

Give the rule a name and a description, then you are ready:

 Commandline Parameters

The application can be startet with the following parameters:

-p <TCP port> default: 8080
-a <adapter> default:
-c <passcode> minimum 5 characters
-ap autopause server on no client
-s start server

-d <disk image path> path to the disk images
-ntsc use NTSC timing, default is PAL
-8 <on|off> 1541 disc drive 8 on or off
-9 <on|off> 1541 disc drive 9 on or off
-reu <size in kb> RAM expansion size, 0=no expansion
-fs fullscreen
-con <yes|no> open console, default: yes

-rk <kernal rom path> filename and path
-rb <basic rom path> filename and path
-rc <character rom path> filename and path
-r1541c <1541 $C000 rom path> filename and path
-r1541e <1541 $E000 rom path> filename and path

-l8 <discimage> load discimage to drive 8 (.g64, .d64)
-l9 <discimage> load discimage to drive 9 (.g64, .d64)
-l <program> load program into memory (.prg, .t64)
-crt <cartridge> insert cartridge (.crt)

-ar run after load (.prg, .t64)

-warp run with maximum speed
-silent run without graphics output and userinterface
-limitcycles <cpu-cycles> run number of cpu-cycles and then exit
-exitscreenshot <screenshot> create a screenshot on exit to the given filename
-test run in testmode for testbench

YACE 64 can be started multiple times with different parameters, so you can have multiple servers. Each server must be startet with its own TCP port.

YACE64 Server

Start the server from the command prompt. Use the following settings for configuration or change the YACEServer.exe.ini file with the default settings.

You can start multiple server an different ports. Make sure to open the used TCP ports for incoming connection at your firewall (see above) and configuring your router (port forwarding), if you want to access your C64 from the internet.

The server application can also use the configuration file create by the YACE64 for Windows application. You can find the file normaly in c:\Users\<your account>\AppData\Roaming\YACE\Config.ini (the AppData directory is normally hidden). Just copy and rename this file (to YACEServer.exe.ini) into the same folder of the YACEServer.exe, then the default parameters are taken from there.


-h  Shows the commandline parameter
-8   Activate1541 drive 8 at startup
 -9  Activate1541 drive 9 at startup
 -ntsc  Use NTSC timing (PAL is default)
 -w  Open a preview window of the C64 screen
 -ap  Activate autopause, emulator will enter pause-mode, if no client is connected
 -rb <Path>  Basic-ROM path and filename
 -rk <Path>  Basic-ROM path and filename
 -rc <Path>  Character-ROM path and filename
 -r1541c <Path>  1541 $C000 ROM path and filename
 -r1541e <Path>  $E000-ROM path and filename
 -a <adapter>  Network adapter for incoming connections (IP address) or for any adapter
 -p <port>  TCP port (default is 8080)
 -c <code>  Password for client access