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


5 Basic operation

This section describes the basic things you can do once the emulator has been fired up.

5.1 The emulation window

When the emulator is run, the screen of the emulated machine is displayed in a standard X Window which we will call the emulation window. This window will be updated in real time, displaying the same contents that a real monitor or TV set would.

Below the emulation window there is an area which is used to display information about the state of the emulator; we will call this area the status bar.

On the extreme left of the status bar, there is a performance meter. This displays the current relative speed of the emulator (as a percentage) and the update frequency (in frames per second). All the machines emulated are PAL, so the update frequency will be 50 frames per second if your system is fast enough to allow emulation at the speed of the real machine.

On the extreme right of the status bar, there is a drive status indicator. This is only visible if the hardware-level ("True") 1541 emulation is turned on. In that case, the drive status indicator will contain a rectangle emulating the drive LED and will display the current track position of the drive's read/write head.

5.2 Using the menus

It is possible to execute some commands and change emulation parameters while the emulator is running: when the pointer is over the emulation window, two menus are available by pressing either the left or right mouse buttons. The left mouse button will open the command menu from which several emulation-related commands can be executed; the right mouse button will open the settings menu from which emulation parameters can be changed. The basic difference between the command and the settings menu is that, while commands have only effect on the current session, settings can be saved and later used with the "Save settings" and "Load settings" right-button menu items, respectively. "Restore default settings" restores the factory defaults. See section 6 Settings and resources. for more information about how settings work in VICE.

Sometimes commands can be reached via shortcuts or hotkeys, i.e., it is possible to execute them by pressing a sequence of keys instead of going through the menu with the mouse. Where shortcuts exist, they are displayed in parentheses at the right edge of the menu item. In VICE, all shortcuts must begin with the Meta or Alt key. So, for example, to attach a disk image to drive #8 (the corresponding menu item displays "M-8"), you have to press the Meta (or Alt) and then 8.

Note that no other key presses are passed on to the emulated machine while either Meta or Alt are held down.

5.3 Getting help

At any time, if you get stuck or do not remember how to perform a certain action, you can use the "Browse manuals" command (left button menu). This will popup a browser and open the HTML version of this documentation. Notice that this requires VICE to be properly (and fully) installed with a `make install'.

The browser can be specified via the HTMLBrowserCommand string resource (see section 6 Settings and resources for information about resources). Every `%s' in the string will be replaced with a URL to the VICE HTML pages.

5.4 Using the file selector

In those situations where it is necessary to specify a file name, all of the VICE emulators will pop up a file selector window ahe 1541 drive ROM (16 Kbytes)

  • `dos1541II', the 1541-II drive ROM (16 Kbytes)
  • `dos1571', the 1571 drive ROM (32 Kbytes)
  • `dos1581', the 1581 drive ROM (32 Kbytes)

    In addition to those all emulators can handle a parallel IEEE488 interface (the C64 and C128 via $df** extension, the VIC20 via VIC1112 emulation) so they also need the DOS ROM for the IEEE disk drives:

    Note that there are other DOS images on the internet. The DOS 2.5 images might be used with the 8050, but it cannot handle the double sided drives of the 1001 and 8250 and it is not supported by VICE.

    The PET emulator uses an expanded setup, because there are three major versions of the Basic and the Kernal, and many versions of the Editor ROM. In addition there are cartridge ROM sockets.

    The Kernal files contain the memory from range $F000-$FFFF, the Basic ROMs either the range $C000-$DFFF or $B000-$DFFF. To handle the different screen sizes and keyboards, different so-called "editor-ROMs" for the memory range $E000-$E800 are provided. The PET ROMs have the following names:

    The PETs also have sockets for extension ROMs for the addresses $9000-$9FFF, $A000-$AFFF and $B000-$BFFF (the last one for PET2001 and PET3032 only). You can specify ROM image files for those extensions command line options -petrom9, -petromA and -petromB resp.

    An alternative would be to specify a long kernal ROM with the -kernal option that includes the extension ROM areas.

    Also, you can specify replacements for the basic ROM at $B000-$DFFF with the -petromBasic option and for the editor ROM at $E000-$E7FF with the -petromEditor option.

    The CBM-II emulator again uses another setup. For those models the kernal used is the same for all. However, for different amounts of memory exist different versions of the BASIC ROMs. The 128k RAM version (C610, C710, B128) uses one bank of 64k for the BASIC text and another one for all the variables. The 256k RAM version uses one bank for text, one for variables, one for arrays and one for strings.

    Also the character generator ROMs have a format different from the above. The other character ROMs have 8 bytes of pixel data per character. Those ROMs have 16 bytes per character instead. The C6x0 only uses the first 8 of it, but the C7x0 uses 14 lines per character and needs those increased ROMs. Both ROMs hold, like the PET, two character sets with 128 characters each. Again the second half of the full (256 char) character set is computed by inverting.

    4.2 Keymap files

    Keymap files are used to define the keyboard layout, defining which key (or combination of keys) must be mapped to each keysym.

    In other words, the keyboard emulation works like this: whenever the user presses or releases a key while the emulation window has the input focus, the emulator receives an X-Window event with a value that identifies that key. That value is called a keysym and is unique to that key. The emulator then looks up that keysym in an internal table that tells it which key(s) to press or release on the emulated keyboard.

    This table is described by the keymap file, which is made up of lines like the following:

    KEYSYM ROW COLUMN SHIFTFLAG
    

    Where:

    The SHIFTFLAG is useful if you want certain keys to be "artificially" shifted by the emulator, and not by the user. For example, F2 is shifted on the C64 keyboard, but you might want it to be mapped to the unshifted F2 key on the PC keyboard. To do so, you just have to use a line like the following:

    F2 0 4 1
    

    where 0 and 4 identify the key (row 0, column 4 on the keyboard matrix), and 1 specifies that every time the user presses F2 the shift key on the C64 keyboard must be pressed.

    There are also some special commands you can put into the keyboard file; they are recognized because they start with an exclamation mark:

    Any line starting with the # sign, instead, is completely ignored. This is useful for adding comments within the keymap file.

    VICE keymap files have the `.vkm' default extension, and every emulator comes with a default positional mapping and a default symbolic mapping.

    4.3 Palette files

    Palette files are used to specify the colors used in the emulators. They are made up of lines like the following:

    RED GREEN BLUE DITHER
    

    where RED, GREEN and BLUE are hexadecimal values ranging from 0 to FF and specifying the amoun