Go to the first, previous, next, last section, table of contents.

# 2 Invoking the emulators

The names of the available emulators are:

- `vsid`, the SID player
- `x64`, the fast C64 emulator
- `x64sc`, the accurate C64 emulator
- `x64dtv`, the C64DTV emulator
- `x128`, the C128 emulator
- `xvic`, the VIC20 emulator
- `xpet`, the PET emulator
- `xplus4`, the PLUS4 emulator
- `xcbm2`, the CBM-II emulator (CRTC models)
- `xcbm5x0`, the CBM-II emulator (VIC-II models)
- `xscpu64`, the SCPU64 emulator

You can run each of them by simply typing the name from a shell or by configuring your window manager for example to use them to open disk images.

If you want to look at the log output run them from a terminal window such as `xterm` or `rxvt`. For example, you could do

    xterm -e x64sc

## 2.1 Command-line options used during initialization

There are several options you can specify on the command line. Some of them are used to specify emulation settings and will be described in detail later (see section 6 Settings and resources for a complete list). The remaining options are used only to give usage information or to initialize the emulator in some way:

`-help`
`-?`
  List all the available command-line options and their meaning.
`-version`
  Show the program name and version.
`-features`
  List all compile time features
`-default`
  Set default resources (see section 6 Settings and resources). This will override all the settings specified before, but not the settings specified afterwards on the command line.
`-config <filename>`
  Specify config file (see see section 6 Settings and resources).
`-addconfig <filename>`
  Specify extra config file for loading additional resources. This can be used to add "patch sets" for various configurations. This file uses the same format as the regular config file (see see section 6 Settings and resources).
`-dumpconfig <filename>`
  Write the complete config into file. Normally only resources that have been changed from their default value would be written to the config file, however with this option you can see all resources and their current values.
`-settings-node <path>`
  Activate settings dialog at node <path> after starting the emulator (Gtk3 only). Meant for use during development, the <path> is string pointing to a node in the settings tree (see src/arch/gtk3/uisettings.c).
`-logfile <name>`
  Specify log file name (`LogFileName`).
`-logtofile`
`+logtofile`
  Enable/disable logging to the log file. (`LogToFile=1`, `LogToFile=0`).
`-logtostdout`
`+logtostdout`
  Enable/disable logging to stdout. (`LogToStdout=1`, `LogToStdout=0`).
`-logtomonitor`
`+logtomonitor`
  Enable/disable logging to the monitor. (`LogToMonitor=1`, `LogToMonitor=0`).
`-logcolorize`
`+logcolorize`
  Enable/disable colorizing the log output. (`LogColorize=1`, `LogColorize=0`).
`-verbose`
  Enable verbose log output. (`LogLimit`).
`-silent`
  Disable all log output (except errors). (`LogLimit`).
`-loglimit <level>`
  Set log level. (`LogLimit`).
`-no-redirect-streams`
  Disable stream redirection on Windows. Stream redirection is used on Windows to reconnect stdin, stdout and stderr to VICE, so options like -help work as one would expect on a sane OS. Stream redirection is disabled when running from an msys2 shell, or when VICE is compiled with --enable-debug.
`-seed <value>`
  Set the random seed (for debugging).
`-keybuf <string>`
  Put the specified string into the keyboard buffer. Note that you can specify specific keycodes by using C-style escaped hexcodes ("\x0a").
`-console`
  Console mode (for music playback, or for running the emulator test programs)
`-limitcycles <cycles>`
  Automatically exit the emulator after a given number of cycles.
`-chdir <directory>`
  Change the working directory.
`-autostart <name>`
  Autostart <name> (see section 2.2 Autostarting programs from the command-line).
`-autoload <name>`
  Attach and autoload tape/disk image <name>
`-1 <Name>`
  Attach <Name> as a tape image file.
`-2 <Name>`
  Attach <Name> as a tape image file for datasette #2 (PET)
`-8 <Name>`
`-9 <Name>`
`-10 <Name>`
`-11 <Name>`
  Attach <Name> as a disk image to device 8, 9, 10 or 11.
`-8d1 <Name>`
`-9d1 <Name>`
`-10d1 <Name>`
`-11d1 <Name>`
  Attach <Name> as a disk image to the second drive of a dual-drive device 8, 9, 10 or 11.
`-attach8ro`
`-attach9ro`
`-attach10ro`
`-attach11ro`
  Attach disk image for drive #8-11 read only (`AttachDevice8d0Readonly=1`, `AttachDevice9d0Readonly=1`, `AttachDevice10d0Readonly=1`, `AttachDevice11d0Readonly=1`) (all emulators except vsid).
`-attach8d1ro`
`-attach9d1ro`
`-attach10d1ro`
`-attach11d1ro`
  Attach disk image for second drive of a dual-drive #8-11 read only (`AttachDevice8d1Readonly=1`, `AttachDevice9d1Readonly=1`, `AttachDevice10d1Readonly=1`, `AttachDevice11d1Readonly=1`) (all emulators except vsid).
`-attach8rw`
`-attach9rw`
`-attach10rw`
`-attach11rw`
  Attach disk image for drive #8-11 read write (if possible) (`AttachDevice8d0Readonly=0`, `AttachDevice9d0Readonly=0`, `AttachDevice10d0Readonly=0`, `AttachDevice11d0Readonly=0`) (all emulators except vsid).
`-attach8d1rw`
`-attach9d1rw`
`-attach10d1rw`
`-attach11d1rw`
  Attach disk image for second drive of a dual-drive #8-11 read write (if possible) (`AttachDevice8d1Readonly=0`, `AttachDevice9d1Readonly=0`, `AttachDevice10d1Readonly=0`, `AttachDevice11d1Readonly=0`) (all emulators except vsid).
`-exitscreenshot <name>`
  Specify name of a screenshot file that will be written when the emulator exits. (`ExitScreenshotName`).
`-exitscreenshotvicii <name>`
  Specify name of a screenshot file that will be written when the emulator exits. (`ExitScreenshotName1`). (x128)

## 2.2 Autostarting programs from the command-line

It is possible to let the emulator autostart a disk or tape image file, by simply specifying its name as the last argument on the command line, for example

    x64sc lovelygame.d64

will start the C64 emulator, attaching ``lovelygame.d64'` as a disk image and running the first program on it. You can also specify the name of the program on the fisk image by appending a colon (``:'`) the name itself to the argument; for example

    x64sc "lovelygame.d64:run me"

will run the program named ``run me'` on ``lovelygame.d64'` instead of the first one.

Using the command-line option `-autostart` is equivalent; so the same result can be obtained with

    x64sc -autostart "lovelygame.d64:run me"

Note that if you specify a raw CBM or P00 file, the emulator will load the file, and after doing so revert all settings to what they were before autostarting.

If you want to allow the started program to access the host file system, you will have to enable "virtual device traps". If you want the autostart logic to disable true drive emulation temporarily to speed up the autostart, then enable "handle TDE at autostart.

See section 4.5 Using disk and tape images. for more information about images and autostart.

Go to the first, previous, next, last section, table of contents.