Next: Basic operation, Previous: Invoking the emulators [Contents][Index]

## 4 System files

In order to work properly, the emulators need to load a few system files:

- the system ROMs, raw binary files containing copies of the original ROMs of the machine you are emulating;
- the keyboard maps, text files describing the keyboard layout;
- the palette files, text files describing the colors of the machine you are emulating.
- the romset files, text files describing the different ROMs to load.

The place where they will be searched for depends on the value of the `Directory` resource, which is a colon (`:`)-separated search path list, like the UNIX `PATH` environment variable. The default value is

    $HOME/.local/share/vice/EMU:PREFIX/share/vice/EMU:BOOTPATH/EMU

Where `PREFIX` is the installation prefix (usually `/usr`), `EMU` is the name of the emulated machine (`C64`, `C64DTV`, `C128`, `PET`, `PLUS4`, `CBM-II`, `SCPU64` or `VIC20`) and `BOOTPATH` is the directory where the executable resides. The disk drive ROMs are looked for in a directory with `EMU` set to `DRIVES`. `$HOME` is the user’s home directory.

For example, if you have the C64 emulator installed in

    /usr/bin/x64

then the value will be

    $HOME/.local/share/vice/C64:/usr/share/vice/C64:/usr/bin/C64

And system files will be searched for under the following directories, in the specified order:

1. `$HOME/.local/share/vice/C64`
2. `/usr/share/vice/C64`
3. `/usr/bin/C64`

System files can still be installed in a different directory if you specify a complete path instead of just a file name. For example, if you specify `./kernal` as the kernal image name, the kernal image will be loaded from the current directory. This can be done by using command-line options or by modifying resource values (see Format of resource files).

Next: Basic operation, Previous: Invoking the emulators [Contents][Index]