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


7 Machine-specific features

7.1 C64/128-specific commands and settings

This section lists the settings and commands that are C64/128 specific and thus are not present in the other emulators.

7.1.1 Using cartridge images

Cartridge images are like disk images, but mirror the contents of cartridge ROM images instead of disk images. They are currently not supported on the C128 emulator.

X64 allows you to attach the following kinds of cartridges:

Each of these kinds has a specific command in the "Attach a cartridge image" submenu. When you have successfully attached a cartridge image, you should then reset the machine to make sure the cartridge initializes itself. Of course, it is also possible to detach a currently attached cartridge image ("Detach cartridge image").

If you are using an Action Replay cartridge, you can emulate the cartridge's freeze button with the "Freeze" command.

7.1.2 VIC-II settings

These settings control the emulation of the VIC-II (MOS6569) video chip used in both the C64 and the C128.

7.1.2.1 VIC-II resources

CheckSsColl
Boolean specifying whether the sprite-sprite hardware collision detection must be emulated.

CheckSbColl
Boolean specifying whether the sprite-background hardware collision detection must be emulated.

PaletteFile
String specifying the name of the palette file being used. The `.vpl' extension is optional.

7.1.2.2 VIC-II command-line options

-checkss
+checkss
Enable (CheckSsColl=1) and disable (CheckSsColl=0) emulation of hardware sprite-sprite collision detection, respectively.

-checksb
+checksb
Enable (CheckSbColl=1) and disable (CheckSbColl=0) emulation of hardware sprite-background collision detection, respectively.

-palette NAME
Specify NAME as the palette file (PaletteFile).

7.1.3 SID settings

These settings control the emulation of the SID (MOS6581 or MOS8580) audio chip.

7.1.3.1 SID resources

SidFilters
Boolean specifying whether the built-in SID filters must be emulated.

SidModel
Integer specifying what model of the SID must be emulated (0: MOS6581, 1: MOS8580).

7.1.3.2 SID command-line options

-sidmodel MODEL
Specifies MODEL as the emulated model of the SID chip (SidModel).

-sidfilters
+sidfilters
Enable (SidFilters=1) or disable (SidFilters=0) emulation of the built-in SID filters.

7.1.4 C64 I/O extension settings

There are three I/O extensions available: they are located at the address range $DF00 ... $DFFF and each of them is controlled by a boolean resource. Please use these extensions only when needed, as they might cause compatibility problems.

7.1.4.1 C64 I/O extension resources

IEEE488
Boolean specifying whether the IEEE488 interface should be emulated or not.

REU
Boolean specifying whether the 512K RAM Expansion Unit should be emulated or not.

EmuID
Boolean specifying whether the emulation identification extension should be emulated or not.

7.1.4.2 C64 I/O extension command-line options

-ieee488
+ieee488
Enable (IEEE488=1) or disable (IEEE488=0) emulation of the IEEE488 interface.

-reu
+reu
Enable (REU=1) or disable (REU=0) emulation of the 512K RAM Expansion Unit.

-emuid
+emuid
Enable (EmuID=1) or disable (EmuID=0) the emulation identification extension.

7.1.5 RS232 settings

X64 and X128 can support RS232 in the following ways:

Each of these emulated devices can be either:

It is possible to define up to two UNIX serial devices, and then decide which interface should be connected to which device. Devices are defined through the following settings:

7.1.5.1 RS232 resources

RsDevice1
RsDevice2
Strings specifying the pathnames of the two available serial devices.

RsDevice1Baud
RsDevice2Baud
Integers specifying the baudrates.

RsDevice3
String defining the name of the file used when dumping RS232 output.

RsDevice4
String defining the name of the process to pipe the RS232 data through.

RsUser
Boolean specifying whether the userport-based RS232 should be emulated.

Acia1
Boolean specifying whether the ACIA-based RS232 should be emulated.

RsUserDev
Acia1Dev
Integers specifying how the userport-based interface and the ACIA-based one are emulated. The possible values are:

7.1.5.2 RS232 command-line options

-acia1
+acia1
Enable/disable emulation of the ACIA-based RS232 interface (Acia1=1, Acia1=0).

-acia1dev DEVICE
Specify DEVICE as the device for the ACIA-based RS232 emulation (Acia1Dev).

-rsuser
+rsuser
Enable/disable emulation of the userport-based RS232 interface (RsUser=1, RsUser=0).

-rsuserdev DEVICE
Specify DEVICE as the device for the ACIA-based RS232 emulation (RsUserDev).

7.1.6 C64/128 system ROM settings

These settings can be used to control what system ROMs are loaded in the C64/128 emulators at startup. They cannot be changed from the menus.

7.1.6.1 C64/128 system ROM resources

KernalName
String specifying the name of the Kernal ROM (default `kernal').

BasicName
String specifying the name of the Basic ROM (default `basic'). In the C128 emulator, the ROM image must actually include the editor ROM too.

ChargenName
String specifying the name of the character generator ROM (default `chargen').

KernalRev
String specifying the Kernal revision. This resource can be used to control what revision of the C64 kernal is being used; it cannot be changed at runtime. VICE is able to automatically convert one ROM revision into another, by manually patching the loaded image. This way, it is possible to use any of the ROM revisions without changing the ROM set. Valid values are:

0
Kernal revision 0

3
Kernal revision 3

sx
67
Commodore SX-64 ROM

100

4064
Commodore 4064 (also known as "PET64" or "Educator 64") ROM

7.1.6.2 C64/128 system ROM command-line options

-kernal NAME
Specify `NAME' as the Kernal ROM file (KernalName).

-basic NAME
Specify `NAME' as the Basic ROM file (BasicName).

-chargen NAME
Specify `NAME' as the character generator ROM file (ChargenName).

-kernalrev REVISION
Specify Kernal revision (KernalRev).

7.2 VIC20-specific commands and settings

This section lists the settings and commands that are VIC20-specific and thus are not present in the other emulators.

7.2.1 Using cartridge images

As with the C64 (see section 7.1.1 Using cartridge images), it is possible to attach several types of cartridge images:

This can all be done via the "Attach cartridge image..." command in the left-button menu. It is also possible to let XVIC "guess" the type of cartridge using "Smart-attach cartridge image...".

Notice that several cartridges are actually made up of two pieces (and two files), that need to be loaded separately at different addresses. In that case, you have to know the addresses (which are usually specified in the file name) and use the "attach" command twice.

7.2.2 Changing memory configuration

It is possible to change the VIC20 memory configuration in two ways: by enabling and/or disabling certain individual memory blocks, or by choosing one among a few typical memory configurations. The former can be done by modifying resource values directly or from the right-button menu; the latter can only be done from the menu.

There are 5 RAM expansion blocks in the VIC20, numbered 0, 1, 2, 3 and 5:

These blocks are called expansion blocks because they are not present a stock ("unexpanded") machine. Each of them is associated to a boolean RamBlockX resource (where X is the block number) that specifies whether the block is enabled or not.

There are also some common memory configurations you can pick from the right-button menu:

As with the X64 (see section 7.1.4 C64 I/O extension settings), it is also possible to enable a special emulator identification mechanism that uses certain memory locations to let a running program query information about the emulator itself; this is enabled by the "Emulator identification" option.

7.2.2.1 VIC20 memory configuration resources

RAMBlock0
RAMBlock1
RAMBlock2
RAMBlock3
RAMBlock5
Booleans specifying whether RAM blocks 0, 1, 2, 3 and 5 must be enabled.

EmuID
Boolean specifying whether the emulation identification extension must be enabled.

7.2.2.2 VIC20 memory configuration command-line options

-memory CONFIG
Specify memory configuration. It must be a comma-separated list of options, each of which can be one the following:

For example,
xvic -memory none
gives an unexpanded VIC20. While
xvic -memory 60,a0
or
xvic -memory 3,5
enables memory in blocks 3 and 5, which is the usual configuration for 16k ROM modules.

-emuid
+emuid
Enable (EmuID=1) or disable (EmuID=0) the emulation identification extension.

7.2.3 VIC20 system ROM settings

These settings can be used to control what system ROMs are loaded in the VIC20 emulator at startup. They cannot be changed from the menus.

7.2.3.1 VIC20 system ROM resources

KernalName
String specifying the name of the Kernal ROM (default `kernal').

BasicName
String specifying the name of the Basic ROM (default `basic').

ChargenName
String specifying the name of the character generator ROM (default `chargen').

7.2.3.2 VIC20 system ROM command-line options

-kernal NAME
Specify `NAME' as the Kernal ROM file (KernalName).

-basic NAME
Specify `NAME' as the Basic ROM file (BasicName).

-chargen NAME
Specify `NAME' as the character generator ROM file (ChargenName).

7.3 PET-specific commands and settings

This section lists the settings and commands that are PET-specific and thus are not present in the other emulators.

7.3.1 Changing PET model settings

With xpet, it is possible to change at runtime the characteristics of the emulated PET so that it matches (or not) the ones of a certain PET model, and it is also possible to select from a common set of PET models so that all the features are selected accordingly.

The former is done by changing the following resources (via resource file, command line options or right-menu items):

Choosing a common PET model is done from the right-button menu instead, by choosing an item from the "Model defaults" submenu. Available models are:

Notice that this will reset the emulated machine.

It is also possible to select the PET model at startup, with the -model command-line option: for example, `xpet -model 3032' will emulate a PET 3032 while `xpet -model 8296' will emulate a PET 8296.

7.3.2 The PET diagnostic pin

It is possible to enable or disable emulation of the PET diagnostic pin via the DiagPin resource, or the "PET userport diagnostic pin" item in the right-button menu.

7.3.3 Changing screen colors

It is also possible to choose what color set is used for the emulation window. This is done by specifying a palette file name (see section 4.3 Palette files) in the PaletteName resource. The menu provides the following values:


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