
|
Go to the first, previous, next, last section, table of contents.
This section lists the settings and commands that are C64/128 specific
and thus are not present in the other emulators.
Cartridge images are like disk images, but mirror the contents of
cartridge ROM images instead of disk images.
X64 and X128 allow you to attach the following kinds of cartridges:
-
`.crt' images, as used by the CCS64 emulator by Per Håkan Sundell;
-
generic raw dumps of 8K and 16K images;
-
Action Replay images.
-
Atomic Power images.
-
Epyx fastload images.
-
The Commodore IEEE488 interface cartridge
(
http://www.funet.fi/pub/cbm/schematics/cartridges/c64/ieee-488/eprom.bin )
-
Retro Replay images.
-
IDE64 interface cartridge.
(
http://www.volny.cz/dundera/ )
-
Super Snapshot 4 images.
-
Super Snapshot 5 images.
-
Expert Cartridge images.
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 a freezer cart like an Action Replay cartridge, you can
emulate the cartridge's freeze button with the "Cartridge freeze"
command.
Attaching the IEEE488 cartridge automatically enables the IEEE488
interface emulation on the $DF** I/O ports.
Attaching the IDE64 cartridge automatically enables the IDE64
interface emulation on the $DE** I/O ports.
These settings control the emulation of the VIC-II (MOS6569) video chip
used in both the C64 and the C128.
-
"Sprite-sprite collisions" and "Sprite-background collisions", if
enabled, cause the hardware detection of sprite-to-sprite and
sprite-to-background collisions of the VIC-II to be emulated. This
feature is used by many games, and disabling either of the two detection
systems can sometimes make you invincible (although there is also a
chance that also enemies become invincible then).
-
"Color set" can be used to dynamically change the palette file
being used by choosing one of the available predefined color sets:
-
`default.vpl' ("default"), the default VICE palette;
-
`c64s.vpl' ("C64S"), palette taken from the shareware C64S
emulator by Miha Peternel.
-
`ccs64.vpl' ("CCS64"), palette taken from the shareware CCS64
emulator by Per Håkan Sundell.
-
`frodo.vpl' ("Frodo"), palette taken from the free Frodo emulator
by Christian Bauer
(http://www.uni-mainz.de/~bauec002/FRMain.html).
-
`pc64.vpl' ("PC64"), palette taken from the free PC64 emulator by
Wolfgang Lorenz.
-
`godot.vpl' ("GoDot"), palette as suggested by the authors of the
C64 graphics package GoDot
(http://users.aol.com/howtogodot/welcome.htm).
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.
-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.
These settings control the emulation of the SID (MOS6581 or MOS8580)
audio chip.
-
"Second SID" maps a second SID chip into the address space for stereo
sound. This emulates e.g. the "SID Symphony Stereo Cartridge" from
Dr. Evil Laboratories. The second SID can be used with software such as
"Stereo SID Player" by Mark Dickenson or "The Enhanced Sidplayer" by
Craig Chamberlain.
-
"Second SID base address" sets the start address for the second SID
chip. Software normally uses $DE00 or $DF00, since $DE00-$DEFF and
$DF00-$DFFF can be mapped through the cartridge port of the C64. The
default start address is $DE00.
-
"Emulate filters" causes the built-in programmable filters of the SID
chip to be emulated. A lot of C64 music requires them to be emulated
properly, but their emulation requires some additional processor power.
-
"ChipModel" specifies the model of the SID chip being emulated: there
are two slightly different generations of SID chips: MOS6581 ones and
MOS8580 ones.
-
"Use reSID emulation" specifies whether the more accurate (and
resource hungry) reSID emulation is turned on or off.
-
"reSID sampling method" selects the method for conversion of the SID
output signal to a sampling rate appropriate for playback by standard
digital sound equipment. Possible settings are:
-
"Fast" simply clocks the SID chip at the output sampling frequency,
picking the nearest sample. This yields acceptable sound quality, but
sampling noise is noticeable in some cases, especially with SID combined
waveforms. The sound emulation is still cycle exact.
-
"Interpolating" clocks the SID chip each cycle, and calculates each
sample with linear interpolation. The sampling noise is now strongly
attenuated by the SID external filter (as long as "Emulate filters" is
selected), and the linear interpolation further improves the sound
quality.
-
"Resampling" clocks the SID chip each cycle, and uses the
theoretically correct method for sample generation. This delivers CD
quality sound, but is extremely CPU intensive, and is thus most useful
for non-interactive sound generation. Unless you have a very fast
machine, that is.
- "reSID resampling passband" specifies the percentage of the
total bandwidth allocated to the resampling filter passband. The work
rate of the resampling filter is inversely proportional to the remaining
transition band percentage. This implies that e.g. with the transition
band starting at ~ 20kHz, it is faster to generate 48kHz than 44.1kHz
samples. For CD quality sound generation at 44.1kHz the passband
percentage should be set to 90 (i.e. the transition band starting at
almost 20kHz).
SidStereo
-
Boolean selecting emulation of a second SID.
SidStereoAddressStart
-
Integer specifying the start address for the second SID.
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).
SidUseResid
-
Boolean specifying whether the accurate reSID emulation is being used.
SidResidSampling
-
Integer specifying the sampling method (
0 : Fast, 1 :
Interpolation, 2 : Resampling)
SidResidPassband
-
Integer specifying the resampling filter passband in percentage of the
total bandwidth (
0 - 90 ).
-sidstereo
-
Emulates a second SID chip for stereo sound (
SidStereo ).
-sidstereoaddress ADDRESS
-
Specifies the start address for the second SID chip
(
SidStereoAddressStart ).
-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.
-resid
-
+resid
-
Enable (
SidFilters=1 ) or disable (SidFilters=0 ) usage of
the reSID emulator.
-residsamp METHOD
-
Specifies the sampling method; fast (
SidResidSampling=0 ),
interpolating (SidResidSampling=1 ), or resampling
(SidResidSampling=2 ).
-residpass PERCENTAGE
-
Specifies the resampling filter passband in percentage of the total
bandwidth (
SidResidPassband=0-90 ).
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.
-
The "emulator identification" extension allows programs to
identify the kind of emulator they are running on, according to the
emulation detection proposal by Wolfgang Lorenz. This basically means
that, when some locations in the $DFxx I/O space are read, the emulator
returns some values which identify the emulator itself, its version and
a copyright message. If this extension is disabled, programs will have
virtually no way to realize they are running on an emulator.
-
The "512K RAM Expansion Unit" extension emulates a standard 512K
Commodore RAM Expansion Unit; this can be used with GEOS and other
programs that are designed to take advantage of it. This currently
works only in the C64 emulator.
- FIXME
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.
-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.
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.
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.
-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 ).
This section lists the settings and commands that are VIC20-specific and
thus are not present in the other emulators.
As with the C64 (see section 7.1.1 Using cartridge images), it is possible to attach
several types of cartridge images:
-
4 or 8 Kbyte cartridges located at $2000;
-
4 or 8 Kbyte cartridges located at $4000;
-
4 or 8 Kbyte cartridges located at $6000;
-
4 or 8 Kbyte cartridges located at $A000;
-
4 Kbyte cartridges located at $B000.
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.
A special kind of cartridge file is where the two files mentioned
above are concatenated (with removing the two byte load address of
the second image) into one 16k image. There are only few of those
images, though. Normally the second part is located at $A000.
Vice can now attach such concatenated files at the start address
$2000, $4000, and $6000. The second half of such an image is
moved to $A000. If you encounter 16k images that have the second
half not at $A000 you can split the image into two halfs
(i.e. one 8194 byte and one 8192 byte, because the first has the load
address) and attach both files separately.
One cartridge that is currently only partially supported here is
the VIC1112 IEEE488 interface. You have to load the ROM as a cartridge,
but you also have to enable the IEEE488 hardware by menu.
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:
-
block 0 (3 Kbytes at $0400-$0FFF);
-
block 1 (8 Kbytes at $2000-$3FFF);
-
block 2 (8 Kbytes at $4000-$5FFF);
-
block 3 (8 Kbytes at $6000-$7FFF);
-
block 5 (8 Kbytes at $A000-$BFFF).
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:
-
no RAM expansion blocks at all;
-
all RAM expansion blocks enabled;
-
3K expansion (only block 0 is enabled);
-
8K expansion (only block 1 is enabled);
-
16K expansion (only blocks 1 and 2 are enabled);
-
24K expansion (only blocks 1, 2 and 3 are enabled).
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.
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.
-memory CONFIG
-
Specify memory configuration. It must be a comma-separated list of
options, each of which can be one the following:
-
none (no extension);
-
all (all blocks);
-
3k (3k space in block 0);
-
8k (first 8k extension block);
-
16k (first and second 8k extension blocks);
-
24k (first, second and 3rd extension blocks);
-
0 , 1 , 2 , 3 , 5 (memory in respective
blocks);
-
04 , 20 , 40 , 60 , A0 (memory at
respective address.
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.
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.
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').
CartridgeFile2000
-
CartridgeFile4000
-
CartridgeFile6000
-
CartridgeFileA000
-
CartridgeFileB000
-
String specifying the name of the respective cartridge ROM images.
-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 ).
-cart2 NAME
-
-cart4 NAME
-
-cart6 NAME
-
-cartA NAME
-
-cartB NAME
-
Specify `NAME' as the cartridge image to attach.
(
CartridgeFile2000 ,...,CartridgeFileB000 ).
This section lists the settings and commands that are PET-specific and
thus are not present in the other emulators.
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):
RamSize
-
Size of memory in kByte. 96k denotes a 8096, 128k a 8296.
IOSize
-
Size of I/O area in Byte. Either 2048 or 256 for 8296.
Crtc
-
Enables CRTC 6545 emulation (all models from 40xx and above)
VideoSize
-
The number of columns on the screen (40 or 80). A 0 auto-detects this
from the ROM.
Ram9
-
The 8296 can map RAM into the address range $9***
RamA
-
The 8296 can map RAM into the address range $A***
SuperPET
-
This resource enables the SuperPET (MicroMainFrame 9000) I/O
and disables the 8x96 mappings.
Basic1
-
If (by checksum) a version 1 kernal is detected, then the
kernal ROM is patched to make the IEEE488 interface work.
Basic1Chars
-
Exchanges some character in the character ROM that have changed
between the first PET 2001 and all newer versions.
EoiBlank
-
This resource enables the "blank screen on EOI" feature of the
oldest PET 2001.
EmuID
-
Enable emulator ID (at
$e8a0-$e8ff , for use see C64).
DiagPin
-
Set the diagnositc pin on the PET userport (see below).
ChargenName
-
Specify `NAME' as the character generator ROM file
KernalName
-
Specify `NAME' as the kernal ROM file. This file contains the
complete BASIC, EDITOR and KERNAL ROMs and is either 16k (BASIC 1 and 2)
or 20k (BASIC 4) in size.
EditorName
-
Specify `NAME' as the editor ROM file. This file contains
an overlay for the editor ROM at $E000-$E7FF if necessary.
RomModule9Name
-
Specify `NAME' as the $9*** Expansion ROM file. This file contains
an expansion ROM image of 4k.
RomModuleAName
-
Specify `NAME' as the $A*** Expansion ROM file. This file contains
an expansion ROM image of 4k.
RomModuleBName
-
Specify `NAME' as the $B*** Expansion ROM file. This file contains
an expansion ROM image of 4k.
This file overlays the lowest 4k of a BASIC 4 ROM.
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:
-
PET 2001-8N
-
PET 3008
-
PET 3016
-
PET 3032
-
PET 3032B
-
PET 4016
-
PET 4032
-
PET 4032B
-
PET 8032
-
PET 8096
-
PET 8296
-
SuperPET
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.
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.
When the diagnostic pin is set, the Kernal does not try to initialize
the BASIC, but directly jumps into the builtin machine monitor.
These are the commandline options specific for the CBM-II models.
-model MODEL
-
Specify the PET model you want to emulate.
-kernal NAME
-
Specify `NAME' as the Kernal/BASIC ROM file (
KernalName ).
-editor NAME
-
Specify `NAME' as the editor ROM file (
EditorName ).
-chargen NAME
-
Specify `NAME' as the character generator ROM file
(
ChargenName ).
-rom9 NAME, -romA NAME, -romB NAME
-
Specify `NAME' as the ROM image file for the respective
cartridge areas (
RomModule9Name , RomModuleAName ,
RomModuleBName ).
-petramA, -petramB
-
Switch on RAM mapping on addresses
$9000-$9fff, $a000-$afff
(
Ram9 , RamA ).
-superpet, +superpet
-
Enable/Disable SuperPET I/O emulation (
SuperPET ).
-basic1, +basic1
-
Enable/Disable patching the IEEE488 section of the PET2001 ROM when detected
(
Basic1 ).
-basic1char, +basic1char
-
Enable/Disable PET 2001 character generator
(
Basic1Chars ).
-eoiblank, +eoiblank
-
Enable/Disable EOI blanking the screen
(
EoiBlank ).
-emuid
-
+emuid
-
Enable (
EmuID=1 ) or disable (EmuID=0 ) the emulation
identification extension (at $e8a0-$e8ff ).
-diagpin
-
+diagpin
-
Enable (
DiagPin=1 ) or disable (DiagPin=0 ) the
diagnostic pin at the PET userport.
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:
-
green.vpl (default, "green)"), the good old green-on-black
feeling;
-
amber.vpl ("amber"), an amber phosphor lookalike;
-
white.vpl ("white"), simple white-on-black palette.
This section lists the settings and commands that are CBM-II-specific and
thus are not present in the other emulators.
With xcbm2 , it is possible to change at runtime the
characteristics of the emulated CBM so that it matches (or not) the ones
of a certain CBM model, and it is also possible to select from a common
set of CBM 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):
UseVicII
-
Whether to use VIC-II for video output (value 1) or the CRTC for the
other machines (value 0)
RamSize
-
Size of memory in kByte. Possible values are 128, 256, 512 and 1024
Ram08, Ram1, Ram2, Ram4, Ram6, RamC
-
Expanded CBM-II models could map RAM to the expansion ROM areas
at $0800-$0fff, $1000-$1fff, $2000-$3FFF, $4000-$5FFF, $6000-$7FFF
and $c000-$cfff respectively.
Cart2Name, Cart4Name, Cart6Name
-
Specify `NAME' as the $2000-$3FFF, $4000-$5FFF or $6000-$6FFF
Expansion ROM file. This file contains an 8k ROM dump.
ModelLine
-
The CBM-II business models have two hardcoded lines at one of the I/O ports.
From those lines the kernal determines how it should init the
CRTC video chip for either 50Hz (Europe) or 60Hz (North America),
and either for 8 (C6x0) or 14 (C7x0) scanlines per character.
0 = CBM 7x0 (50Hz), 1 = 60Hz C6x0, 2 = 50Hz C6x0).
Choosing a common CBM-II model is done from the right-button menu instead,
by choosing an item from the "Model defaults" submenu. Available
models are:
-
C510 (128k RAM)
-
C610 (128k RAM)
-
C620 (256k RAM)
-
C620+ (1024k RAM, expanded)
-
C710 (128k RAM)
-
C720 (256k RAM)
-
C720+ (1024k RAM, expanded)
Notice that this will reset the emulated machine.
Warning: At this time switching between 510 and other machines during
runtime is not supported and will not work.
It is also possible to select the CBM model at startup, with the
-model command-line option: for example, `xcbm2 -model 610'
will emulate a CBM 610 while `xcbm2 -model 620' will emulate a CBM
620. Notably this is the only way to start a C510 emulation, with
-model 510 .
These are the commandline options specific for the CBM-II models.
-usevicii
-
+usevicii
-
Specify whether to use (-usevicii) or not to use (+usevicii) the VIC-II
emulation.
-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 ).
-cart2 NAME, -cart4 NAME, -cart6 NAME
-
Specify `NAME' as the ROM image file for the respective
cartridge areas (
Cart2Name , Cart4Name , Cart6Name ).
-ram08, -ram1, -ram2, -ram4, -ram6, -ramC
-
Switch on RAM mapping in bank 15 on addresses
$0800-$0fff, $1000-$1fff, $2000-$3fff, $4000-$5fff, $6000-$7fff resp
(
Ram08 , Ram1 , Ram2 , Ram4 , Ram6 ,
RamC ).
-modelline
-
Define the hardcoded model switch in the CBM-II models.
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:
-
green.vpl (default, "green"), the good old green-on-black
feeling;
-
amber.vpl ("amber"), an amber phosphor lookalike;
-
white.vpl ("white"), simple white-on-black palette.
Go to the first, previous, next, last section, table of contents.
|