<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52
     from ../vice.texi on 16 April 2001 -->

<TITLE>VICE Manual - 7  Machine-specific features</TITLE>
</HEAD>
<BODY>
Go to the <A HREF="vice_1.html">first</A>, <A HREF="vice_6.html">previous</A>, <A HREF="vice_8.html">next</A>, <A HREF="vice_16.html">last</A> section, <A HREF="vice_toc.html">table of contents</A>.
<P><HR><P>


<H1><A NAME="SEC74" HREF="vice_toc.html#TOC74">7  Machine-specific features</A></H1>



<H2><A NAME="SEC75" HREF="vice_toc.html#TOC75">7.1  C64/128-specific commands and settings</A></H2>

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

</P>



<H3><A NAME="SEC76" HREF="vice_toc.html#TOC76">7.1.1  Using cartridge images</A></H3>

<P>
<EM>Cartridge images</EM> 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.

</P>
<P>
X64 allows you to attach the following kinds of cartridges:

</P>

<UL>
<LI>

<TT>`.crt'</TT> images, as used by the CCS64 emulator by Per H@^akan Sundell;
<LI>

generic raw dumps of 8K and 16K images;
<LI>

Action Replay images.
<LI>

The Commodore IEEE488 interface cartridge
(<CODE>http://www.funet.fi/pub/cbm/schematics/cartridges/c64/ieee-488/eprom.bin</CODE>)
</UL>

<P>
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").

</P>
<P>
If you are using an Action Replay cartridge, you can emulate the
cartridge's freeze button with the "Cartridge freeze" command.

</P>
<P>
Attaching the IEEE488 cartridge automatically enables the IEEE488
interface emulation on the <CODE>$DF**</CODE> I/O ports.

</P>


<H3><A NAME="SEC77" HREF="vice_toc.html#TOC77">7.1.2  VIC-II settings</A></H3>

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

</P>

<UL>

<LI>

<A NAME="IDX182"></A>
 
"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).

<A NAME="IDX183"></A>
<LI>

"Color set" can be used to dynamically change the palette file
being used by choosing one of the available predefined color sets:


<UL>
<LI>

<TT>`default.vpl'</TT> ("default"), the default VICE palette;
<LI>

<TT>`c64s.vpl'</TT> ("C64S"), palette taken from the shareware C64S
emulator by Miha Peternel.
<LI>

<TT>`ccs64.vpl'</TT> ("CCS64"), palette taken from the shareware CCS64
emulator by Per H@^akan Sundell.
<LI>

<TT>`frodo.vpl'</TT> ("Frodo"), palette taken from the free Frodo emulator
by Christian Bauer
(<A HREF="http://www.uni-mainz.de/~bauec002/FRMain.html">http://www.uni-mainz.de/~bauec002/FRMain.html</A>).
<LI>

<TT>`pc64.vpl'</TT> ("PC64"), palette taken from the free PC64 emulator by
Wolfgang Lorenz.
<LI>

<TT>`godot.vpl'</TT> ("GoDot"), palette as suggested by the authors of the
C64 graphics package GoDot
(<A HREF="http://users.aol.com/howtogodot/welcome.htm">http://users.aol.com/howtogodot/welcome.htm</A>).
</UL>

</UL>



<H4><A NAME="SEC78" HREF="vice_toc.html#TOC78">7.1.2.1  VIC-II resources</A></H4>

<DL COMPACT>

<DT><CODE>CheckSsColl</CODE>
<DD>
<A NAME="IDX184"></A>
 
Boolean specifying whether the sprite-sprite hardware collision
detection must be emulated.

<A NAME="IDX185"></A>
<DT><CODE>CheckSbColl</CODE>
<DD>
Boolean specifying whether the sprite-background hardware collision
detection must be emulated.

</DL>



<H4><A NAME="SEC79" HREF="vice_toc.html#TOC79">7.1.2.2  VIC-II command-line options</A></H4>

<DL COMPACT>

<DT><CODE>-checkss</CODE>
<DD>
<A NAME="IDX186"></A>
 
<DT><CODE>+checkss</CODE>
<DD>
Enable (<CODE>CheckSsColl=1</CODE>) and disable (<CODE>CheckSsColl=0</CODE>)
emulation of hardware sprite-sprite collision detection, respectively.
<A NAME="IDX187"></A>

<A NAME="IDX188"></A>
<DT><CODE>-checksb</CODE>
<DD>
<DT><CODE>+checksb</CODE>
<DD>
Enable (<CODE>CheckSbColl=1</CODE>) and disable (<CODE>CheckSbColl=0</CODE>)
emulation of hardware sprite-background collision detection,
respectively.

</DL>



<H3><A NAME="SEC80" HREF="vice_toc.html#TOC80">7.1.3  SID settings</A></H3>

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

</P>

<UL>

<LI>

<A NAME="IDX189"></A>
 
"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.

<A NAME="IDX190"></A>
<LI>

"ChipModel" specifies the model of the SID chip being emulated: there
are two slightly different generations of SID chips: MOS6581 ones and
MOS8580 ones.

<A NAME="IDX191"></A>
<LI>

"Use reSID emulation" specifies whether the more accurate (and
resource hungry) reSID emulation is turned on or off.

</UL>



<H4><A NAME="SEC81" HREF="vice_toc.html#TOC81">7.1.3.1  SID resources</A></H4>

<DL COMPACT>

<DT><CODE>SidFilters</CODE>
<DD>
<A NAME="IDX192"></A>
 
Boolean specifying whether the built-in SID filters must be emulated.

<A NAME="IDX193"></A>
<DT><CODE>SidModel</CODE>
<DD>
Integer specifying what model of the SID must be emulated (<CODE>0</CODE>:
MOS6581, <CODE>1</CODE>: MOS8580).

<A NAME="IDX194"></A>
<DT><CODE>SidUseResid</CODE>
<DD>
Boolean specifying whether the accurate reSID emulation is being used.

</DL>



<H4><A NAME="SEC82" HREF="vice_toc.html#TOC82">7.1.3.2  SID command-line options</A></H4>

<DL COMPACT>

<DT><CODE>-sidmodel MODEL</CODE>
<DD>
<A NAME="IDX195"></A>
 
Specifies <CODE>MODEL</CODE> as the emulated model of the SID chip
(<CODE>SidModel</CODE>).

<A NAME="IDX196"></A>
<DT><CODE>-sidfilters</CODE>
<DD>
<DT><CODE>+sidfilters</CODE>
<DD>
Enable (<CODE>SidFilters=1</CODE>) or disable (<CODE>SidFilters=0</CODE>) emulation
of the built-in SID filters.

<A NAME="IDX197"></A>
<DT><CODE>-resid</CODE>
<DD>
<DT><CODE>+resid</CODE>
<DD>
Enable (<CODE>SidFilters=1</CODE>) or disable (<CODE>SidFilters=0</CODE>) usage of
the reSID emulator.

</DL>



<H3><A NAME="SEC83" HREF="vice_toc.html#TOC83">7.1.4  C64 I/O extension settings</A></H3>

<P>
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.

</P>

<UL>

<LI>

<A NAME="IDX198"></A>
 
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.

<A NAME="IDX199"></A>
<LI>

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.

<A NAME="IDX200"></A>
<LI>FIXME

</UL>



<H4><A NAME="SEC84" HREF="vice_toc.html#TOC84">7.1.4.1  C64 I/O extension resources</A></H4>

<DL COMPACT>

<DT><CODE>IEEE488</CODE>
<DD>
<A NAME="IDX201"></A>
 
Boolean specifying whether the IEEE488 interface should
be emulated or not.

<A NAME="IDX202"></A>
<DT><CODE>REU</CODE>
<DD>
Boolean specifying whether the 512K RAM Expansion Unit should be
emulated or not.

<A NAME="IDX203"></A>
<DT><CODE>EmuID</CODE>
<DD>
Boolean specifying whether the emulation identification extension should
be emulated or not.

</DL>



<H4><A NAME="SEC85" HREF="vice_toc.html#TOC85">7.1.4.2  C64 I/O extension command-line options</A></H4>

<DL COMPACT>

<DT><CODE>-ieee488</CODE>
<DD>
<A NAME="IDX204"></A>
 
<DT><CODE>+ieee488</CODE>
<DD>
Enable (<CODE>IEEE488=1</CODE>) or disable (<CODE>IEEE488=0</CODE>) emulation of the
IEEE488 interface.

<A NAME="IDX205"></A>
<DT><CODE>-reu</CODE>
<DD>
<DT><CODE>+reu</CODE>
<DD>
Enable (<CODE>REU=1</CODE>) or disable (<CODE>REU=0</CODE>) emulation of the
512K RAM Expansion Unit.

<A NAME="IDX206"></A>
<DT><CODE>-emuid</CODE>
<DD>
<DT><CODE>+emuid</CODE>
<DD>
Enable (<CODE>EmuID=1</CODE>) or disable (<CODE>EmuID=0</CODE>) the emulation
identification extension.

</DL>



<H3><A NAME="SEC86" HREF="vice_toc.html#TOC86">7.1.5  C64/128 system ROM settings</A></H3>

<P>
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.

</P>



<H4><A NAME="SEC87" HREF="vice_toc.html#TOC87">7.1.5.1  C64/128 system ROM resources</A></H4>

<DL COMPACT>

<DT><CODE>KernalName</CODE>
<DD>
<A NAME="IDX207"></A>
 
String specifying the name of the Kernal ROM (default <TT>`kernal'</TT>).

<A NAME="IDX208"></A>
<DT><CODE>BasicName</CODE>
<DD>
String specifying the name of the Basic ROM (default <TT>`basic'</TT>).  In
the C128 emulator, the ROM image must actually include the editor ROM too.

<A NAME="IDX209"></A>
<DT><CODE>ChargenName</CODE>
<DD>
String specifying the name of the character generator ROM (default
<TT>`chargen'</TT>).

<A NAME="IDX210"></A>
<DT><CODE>KernalRev</CODE>
<DD>
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:

<DL COMPACT>

<DT><CODE>0</CODE>
<DD>
Kernal revision 0;
<DT><CODE>3</CODE>
<DD>
Kernal revision 3;
<DT><CODE>sx</CODE>
<DD>
<DT><CODE>67</CODE>
<DD>
Commodore SX-64 ROM;
<DT><CODE>100</CODE>
<DD>
<DT><CODE>4064</CODE>
<DD>
Commodore 4064 (also known as "PET64" or "Educator 64") ROM.
</DL>

</DL>



<H4><A NAME="SEC88" HREF="vice_toc.html#TOC88">7.1.5.2  C64/128 system ROM command-line options</A></H4>

<DL COMPACT>

<DT><CODE>-kernal NAME</CODE>
<DD>
<A NAME="IDX211"></A>
 
Specify <TT>`NAME'</TT> as the Kernal ROM file (<CODE>KernalName</CODE>).

<A NAME="IDX212"></A>
<DT><CODE>-basic NAME</CODE>
<DD>
Specify <TT>`NAME'</TT> as the Basic ROM file (<CODE>BasicName</CODE>).

<A NAME="IDX213"></A>
<DT><CODE>-chargen NAME</CODE>
<DD>
Specify <TT>`NAME'</TT> as the character generator ROM file
(<CODE>ChargenName</CODE>).

<A NAME="IDX214"></A>
<DT><CODE>-kernalrev REVISION</CODE>
<DD>
Specify Kernal revision (<CODE>KernalRev</CODE>).

</DL>



<H2><A NAME="SEC89" HREF="vice_toc.html#TOC89">7.2  VIC20-specific commands and settings</A></H2>

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

</P>



<H3><A NAME="SEC90" HREF="vice_toc.html#TOC90">7.2.1  Using cartridge images</A></H3>

<P>
As with the C64 (see section <A HREF="vice_7.html#SEC76">7.1.1  Using cartridge images</A>), it is possible to attach
several types of cartridge images:

</P>

<UL>
<LI>

4 or 8 Kbyte cartridges located at $2000;
<LI>

4 or 8 Kbyte cartridges located at $4000;
<LI>

4 or 8 Kbyte cartridges located at $6000;
<LI>

4 or 8 Kbyte cartridges located at $A000;
<LI>

4 Kbyte cartridges located at $B000.
</UL>

<P>
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...".

</P>
<P>
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.

</P>
<P>
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.

</P>
<P>
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.

</P>


<H3><A NAME="SEC91" HREF="vice_toc.html#TOC91">7.2.2  Changing memory configuration</A></H3>

<P>
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.

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

</P>

<UL>
<LI>

block 0 (3 Kbytes at $0400-$0FFF);
<LI>

block 1 (8 Kbytes at $2000-$3FFF);
<LI>

block 2 (8 Kbytes at $4000-$5FFF);
<LI>

block 3 (8 Kbytes at $6000-$7FFF);
<LI>

block 5 (8 Kbytes at $A000-$BFFF).
</UL>

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

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

</P>

<UL>
<LI>

no RAM expansion blocks at all;
<LI>

all RAM expansion blocks enabled;
<LI>

3K expansion (only block 0 is enabled);
<LI>

8K expansion (only block 1 is enabled);
<LI>

16K expansion (only blocks 1 and 2 are enabled);
<LI>

24K expansion (only blocks 1, 2 and 3 are enabled).
</UL>

<P>
As with the X64 (see section <A HREF="vice_7.html#SEC83">7.1.4  C64 I/O extension settings</A>), 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.

</P>



<H4><A NAME="SEC92" HREF="vice_toc.html#TOC92">7.2.2.1  VIC20 memory configuration resources</A></H4>

<DL COMPACT>

<DT><CODE>RAMBlock0</CODE>
<DD>
<A NAME="IDX215"></A>
 
<A NAME="IDX216"></A>
<DT><CODE>RAMBlock1</CODE>
<DD>
<A NAME="IDX217"></A>
<DT><CODE>RAMBlock2</CODE>
<DD>
<A NAME="IDX218"></A>
<DT><CODE>RAMBlock3</CODE>
<DD>
<A NAME="IDX219"></A>
<DT><CODE>RAMBlock5</CODE>
<DD>
Booleans specifying whether RAM blocks 0, 1, 2, 3 and 5 must be enabled.

<A NAME="IDX220"></A>
<DT><CODE>EmuID</CODE>
<DD>
Boolean specifying whether the emulation identification extension must
be enabled.

</DL>



<H4><A NAME="SEC93" HREF="vice_toc.html#TOC93">7.2.2.2  VIC20 memory configuration command-line options</A></H4>

<DL COMPACT>

<DT><CODE>-memory CONFIG</CODE>
<DD>
<A NAME="IDX221"></A>
 
Specify memory configuration.  It must be a comma-separated list of
options, each of which can be one the following:


<UL>
<LI>

<CODE>none</CODE> (no extension);
<LI>

<CODE>all</CODE> (all blocks);
<LI>

<CODE>3k</CODE> (3k space in block 0);
<LI>

<CODE>8k</CODE> (first 8k extension block);
<LI>

<CODE>16k</CODE> (first and second 8k extension blocks);
<LI>

<CODE>24k</CODE> (first, second and 3rd extension blocks);
<LI>

<CODE>0</CODE>, <CODE>1</CODE>, <CODE>2</CODE>, <CODE>3</CODE>, <CODE>5</CODE> (memory in respective
blocks);
<LI>

<CODE>04</CODE>, <CODE>20</CODE>, <CODE>40</CODE>, <CODE>60</CODE>, <CODE>A0</CODE> (memory at
respective address.
</UL>

For example,


<PRE>
xvic -memory none
</PRE>

gives an unexpanded VIC20.  While


<PRE>
xvic -memory 60,a0
</PRE>

or


<PRE>
xvic -memory 3,5
</PRE>

enables memory in blocks 3 and 5, which is the usual configuration for
16k ROM modules.

<A NAME="IDX222"></A>
<DT><CODE>-emuid</CODE>
<DD>
<DT><CODE>+emuid</CODE>
<DD>
Enable (<CODE>EmuID=1</CODE>) or disable (<CODE>EmuID=0</CODE>) the emulation
identification extension.

</DL>



<H3><A NAME="SEC94" HREF="vice_toc.html#TOC94">7.2.3  VIC20 system ROM settings</A></H3>

<P>
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.

</P>



<H4><A NAME="SEC95" HREF="vice_toc.html#TOC95">7.2.3.1  VIC20 system ROM resources</A></H4>

<DL COMPACT>

<DT><CODE>KernalName</CODE>
<DD>
<A NAME="IDX223"></A>
 
String specifying the name of the Kernal ROM (default <TT>`kernal'</TT>).

<A NAME="IDX224"></A>
<DT><CODE>BasicName</CODE>
<DD>
String specifying the name of the Basic ROM (default <TT>`basic'</TT>).

<A NAME="IDX225"></A>
<DT><CODE>ChargenName</CODE>
<DD>
String specifying the name of the character generator ROM (default
<TT>`chargen'</TT>).

<A NAME="IDX226"></A>
<A NAME="IDX227"></A>
<A NAME="IDX228"></A>
<A NAME="IDX229"></A>
<A NAME="IDX230"></A>
<DT><CODE>CartridgeFile2000</CODE>
<DD>
<DT><CODE>CartridgeFile4000</CODE>
<DD>
<DT><CODE>CartridgeFile6000</CODE>
<DD>
<DT><CODE>CartridgeFileA000</CODE>
<DD>
<DT><CODE>CartridgeFileB000</CODE>
<DD>
String specifying the name of the respective cartridge ROM images.

</DL>



<H4><A NAME="SEC96" HREF="vice_toc.html#TOC96">7.2.3.2  VIC20 system ROM command-line options</A></H4>

<DL COMPACT>

<DT><CODE>-kernal NAME</CODE>
<DD>
<A NAME="IDX231"></A>
 
Specify <TT>`NAME'</TT> as the Kernal ROM file (<CODE>KernalName</CODE>).

<A NAME="IDX232"></A>
<DT><CODE>-basic NAME</CODE>
<DD>
Specify <TT>`NAME'</TT> as the Basic ROM file (<CODE>BasicName</CODE>).

<A NAME="IDX233"></A>
<DT><CODE>-chargen NAME</CODE>
<DD>
Specify <TT>`NAME'</TT> as the character generator ROM file
(<CODE>ChargenName</CODE>).

<A NAME="IDX234"></A>
<A NAME="IDX235"></A>
<A NAME="IDX236"></A>
<A NAME="IDX237"></A>
<A NAME="IDX238"></A>
<DT><CODE>-cart2 NAME</CODE>
<DD>
<DT><CODE>-cart4 NAME</CODE>
<DD>
<DT><CODE>-cart6 NAME</CODE>
<DD>
<DT><CODE>-cartA NAME</CODE>
<DD>
<DT><CODE>-cartB NAME</CODE>
<DD>
Specify <TT>`NAME'</TT> as the cartridge image to attach.
(<CODE>CartridgeFile2000</CODE>,...,<CODE>CartridgeFileB000</CODE>).

</DL>



<H2><A NAME="SEC97" HREF="vice_toc.html#TOC97">7.3  PET-specific commands and settings</A></H2>

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

</P>



<H3><A NAME="SEC98" HREF="vice_toc.html#TOC98">7.3.1  Changing PET model settings</A></H3>

<P>
With <CODE>xpet</CODE>, 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.

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

</P>
<DL COMPACT>

<DT><CODE>RamSize</CODE>
<DD>
<A NAME="IDX239"></A>
 
Size of memory in kByte. 96k denotes a 8096, 128k a 8296.

<A NAME="IDX240"></A>
<DT><CODE>IOSize</CODE>
<DD>
Size of I/O area in Byte.  Either 2048 or 256 for 8296.

<A NAME="IDX241"></A>
<DT><CODE>Crtc</CODE>
<DD>
Enables CRTC 6545 emulation (all models from 40xx and above)

<A NAME="IDX242"></A>
<DT><CODE>VideoSize</CODE>
<DD>
The number of columns on the screen (40 or 80).  A 0 auto-detects this
from the ROM.

<A NAME="IDX243"></A>
<DT><CODE>Ram9</CODE>
<DD>
The 8296 can map RAM into the address range $9***

<A NAME="IDX244"></A>
<DT><CODE>RamA</CODE>
<DD>
The 8296 can map RAM into the address range $A***

<A NAME="IDX245"></A>
<DT><CODE>SuperPET</CODE>
<DD>
This resource enables the SuperPET (MicroMainFrame 9000) I/O
and disables the 8x96 mappings.

<A NAME="IDX246"></A>
<DT><CODE>Basic1</CODE>
<DD>
If (by checksum) a version 1 kernal is detected, then the 
kernal ROM is patched to make the IEEE488 interface work.

<A NAME="IDX247"></A>
<DT><CODE>Basic1Chars</CODE>
<DD>
Exchanges some character in the character ROM that have changed
between the first PET 2001 and all newer versions.

<A NAME="IDX248"></A>
<DT><CODE>EoiBlank</CODE>
<DD>
This resource enables the "blank screen on EOI" feature of the 
oldest PET 2001.

<A NAME="IDX249"></A>
<DT><CODE>EmuID</CODE>
<DD>
Enable emulator ID (at <CODE>$e8a0-$e8ff</CODE>, for use see C64).

<A NAME="IDX250"></A>
<DT><CODE>DiagPin</CODE>
<DD>
Set the diagnositc pin on the PET userport (see below).

<A NAME="IDX251"></A>
<DT><CODE>ChargenName</CODE>
<DD>
Specify <TT>`NAME'</TT> as the character generator ROM file

<A NAME="IDX252"></A>
<DT><CODE>KernalName</CODE>
<DD>
Specify <TT>`NAME'</TT> 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.

<A NAME="IDX253"></A>
<DT><CODE>EditorName</CODE>
<DD>
Specify <TT>`NAME'</TT> as the editor ROM file.  This file contains
an overlay for the editor ROM at $E000-$E7FF if necessary.

<A NAME="IDX254"></A>
<DT><CODE>RomModule9Name</CODE>
<DD>
Specify <TT>`NAME'</TT> as the $9*** Expansion ROM file.  This file contains
an expansion ROM image of 4k.

<A NAME="IDX255"></A>
<DT><CODE>RomModuleAName</CODE>
<DD>
Specify <TT>`NAME'</TT> as the $A*** Expansion ROM file.  This file contains
an expansion ROM image of 4k.

<A NAME="IDX256"></A>
<DT><CODE>RomModuleBName</CODE>
<DD>
Specify <TT>`NAME'</TT> 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.

</DL>

<P>
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:

</P>

<UL>
<LI>

PET 2001-8N
<LI>

PET 3008
<LI>

PET 3016
<LI>

PET 3032
<LI>

PET 3032B
<LI>

PET 4016
<LI>

PET 4032
<LI>

PET 4032B
<LI>

PET 8032
<LI>

PET 8096
<LI>

PET 8296
<LI>

SuperPET
</UL>

<P>
Notice that this will <STRONG>reset the emulated machine</STRONG>.

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

</P>



<H3><A NAME="SEC99" HREF="vice_toc.html#TOC99">7.3.2  The PET diagnostic pin</A></H3>

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

</P>
<P>
When the diagnostic pin is set, the Kernal does not try to initialize
the BASIC, but directly jumps into the builtin machine monitor.

</P>


<H3><A NAME="SEC100" HREF="vice_toc.html#TOC100">7.3.3  PET command line options</A></H3>

<P>
These are the commandline options specific for the CBM-II models.

</P>
<DL COMPACT>

<DT><CODE>-model MODEL</CODE>
<DD>
<A NAME="IDX257"></A>
 
Specify the PET model you want to emulate.

<A NAME="IDX258"></A>
<DT><CODE>-kernal NAME</CODE>
<DD>
Specify <TT>`NAME'</TT> as the Kernal/BASIC ROM file (<CODE>KernalName</CODE>).

<A NAME="IDX259"></A>
<DT><CODE>-editor NAME</CODE>
<DD>
Specify <TT>`NAME'</TT> as the editor ROM file (<CODE>EditorName</CODE>).

<A NAME="IDX260"></A>
<DT><CODE>-chargen NAME</CODE>
<DD>
Specify <TT>`NAME'</TT> as the character generator ROM file
(<CODE>ChargenName</CODE>).

<A NAME="IDX261"></A>
<A NAME="IDX262"></A>
<A NAME="IDX263"></A>
<DT><CODE>-rom9 NAME, -romA NAME, -romB NAME</CODE>
<DD>
Specify <TT>`NAME'</TT> as the ROM image file for the respective 
cartridge areas (<CODE>RomModule9Name</CODE>, <CODE>RomModuleAName</CODE>, 
<CODE>RomModuleBName</CODE>).

<A NAME="IDX264"></A>
<A NAME="IDX265"></A>
<DT><CODE>-petramA, -petramB</CODE>
<DD>
Switch on RAM mapping on addresses 
$9000-$9fff, $a000-$afff
(<CODE>Ram9</CODE>, <CODE>RamA</CODE>).

<A NAME="IDX266"></A>
<A NAME="IDX267"></A>
<DT><CODE>-superpet, +superpet</CODE>
<DD>
Enable/Disable SuperPET I/O emulation (<CODE>SuperPET</CODE>).

<A NAME="IDX268"></A>
<A NAME="IDX269"></A>
<DT><CODE>-basic1, +basic1</CODE>
<DD>
Enable/Disable patching the IEEE488 section of the PET2001 ROM when detected
(<CODE>Basic1</CODE>).

<A NAME="IDX270"></A>
<A NAME="IDX271"></A>
<DT><CODE>-basic1char, +basic1char</CODE>
<DD>
Enable/Disable PET 2001 character generator
(<CODE>Basic1Chars</CODE>).

<A NAME="IDX272"></A>
<A NAME="IDX273"></A>
<DT><CODE>-eoiblank, +eoiblank</CODE>
<DD>
Enable/Disable EOI blanking the screen
(<CODE>EoiBlank</CODE>).

<A NAME="IDX274"></A>
<DT><CODE>-emuid</CODE>
<DD>
<DT><CODE>+emuid</CODE>
<DD>
Enable (<CODE>EmuID=1</CODE>) or disable (<CODE>EmuID=0</CODE>) the emulation
identification extension (at <CODE>$e8a0-$e8ff</CODE>).

<A NAME="IDX275"></A>
<DT><CODE>-diagpin</CODE>
<DD>
<DT><CODE>+diagpin</CODE>
<DD>
Enable (<CODE>DiagPin=1</CODE>) or disable (<CODE>DiagPin=0</CODE>) the 
diagnostic pin at the PET userport.

</DL>



<H3><A NAME="SEC101" HREF="vice_toc.html#TOC101">7.3.4  Changing screen colors</A></H3>

<P>
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 <A HREF="vice_4.html#SEC26">4.3  Palette files</A>) in the <CODE>PaletteName</CODE> resource.  The menu provides the
following values:

</P>

<UL>
<LI>

<CODE>green.vpl</CODE> (default, "green)"), the good old green-on-black
feeling;
<LI>

<CODE>amber.vpl</CODE> ("amber"), an amber phosphor lookalike;
<LI>

<CODE>white.vpl</CODE> ("white"), simple white-on-black palette.
</UL>



<H2><A NAME="SEC102" HREF="vice_toc.html#TOC102">7.4  CBM-II-specific commands and settings</A></H2>

<P>
This section lists the settings and commands that are CBM-II-specific and
thus are not present in the other emulators.

</P>



<H3><A NAME="SEC103" HREF="vice_toc.html#TOC103">7.4.1  Changing CBM-II model</A></H3>

<P>
With <CODE>xcbm2</CODE>, 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.

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

</P>
<DL COMPACT>

<DT><CODE>UseVicII</CODE>
<DD>
<A NAME="IDX276"></A>
 
Whether to use VIC-II for video output (value 1) or the CRTC for the
other machines (value 0)

<A NAME="IDX277"></A>
<DT><CODE>RamSize</CODE>
<DD>
Size of memory in kByte.  Possible values are 128, 256, 512 and 1024

<A NAME="IDX278"></A>
<A NAME="IDX279"></A>
<A NAME="IDX280"></A>
<A NAME="IDX281"></A>
<A NAME="IDX282"></A>
<A NAME="IDX283"></A>
<DT><CODE>Ram08, Ram1, Ram2, Ram4, Ram6, RamC</CODE>
<DD>
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.

<A NAME="IDX284"></A>
<A NAME="IDX285"></A>
<A NAME="IDX286"></A>
<DT><CODE>Cart2Name, Cart4Name, Cart6Name</CODE>
<DD>
Specify <TT>`NAME'</TT> as the $2000-$3FFF, $4000-$5FFF or $6000-$6FFF
Expansion ROM file.  This file contains an 8k ROM dump.

<A NAME="IDX287"></A>
<DT><CODE>ModelLine</CODE>
<DD>
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).

</DL>

<P>
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:

</P>

<UL>
<LI>

C510 (128k RAM)
<LI>

C610 (128k RAM)
<LI>

C620 (256k RAM)
<LI>

C620+ (1024k RAM, expanded)
<LI>

C710 (128k RAM)
<LI>

C720 (256k RAM)
<LI>

C720+ (1024k RAM, expanded)
</UL>

<P>
Notice that this will <STRONG>reset the emulated machine</STRONG>.

</P>
<P>
<B>Warning:</B> At this time switching between 510 and other machines during
runtime is not supported and will not work.

</P>
<P>
It is also possible to select the CBM model at startup, with the
<CODE>-model</CODE> command-line option: for example, <SAMP>`xcbm2 -model 610'</SAMP>
will emulate a CBM 610 while <SAMP>`xcbm2 -model 620'</SAMP> will emulate a CBM
620. Notably this is the only way to start a C510 emulation, with
<CODE>-model 510</CODE>.

</P>


<H3><A NAME="SEC104" HREF="vice_toc.html#TOC104">7.4.2  CBM-II command line options</A></H3>

<P>
These are the commandline options specific for the CBM-II models.

</P>
<DL COMPACT>

<DT><CODE>-usevicii</CODE>
<DD>
<A NAME="IDX288"></A>
 
<DT><CODE>+usevicii</CODE>
<DD>
Specify whether to use (-usevicii) or not to use (+usevicii) the VIC-II 
emulation.

<A NAME="IDX289"></A>
<DT><CODE>-kernal NAME</CODE>
<DD>
Specify <TT>`NAME'</TT> as the Kernal ROM file (<CODE>KernalName</CODE>).

<A NAME="IDX290"></A>
<DT><CODE>-basic NAME</CODE>
<DD>
Specify <TT>`NAME'</TT> as the Basic ROM file (<CODE>BasicName</CODE>).

<A NAME="IDX291"></A>
<DT><CODE>-chargen NAME</CODE>
<DD>
Specify <TT>`NAME'</TT> as the character generator ROM file
(<CODE>ChargenName</CODE>).

<A NAME="IDX292"></A>
<A NAME="IDX293"></A>
<A NAME="IDX294"></A>
<DT><CODE>-cart2 NAME, -cart4 NAME, -cart6 NAME</CODE>
<DD>
Specify <TT>`NAME'</TT> as the ROM image file for the respective 
cartridge areas (<CODE>Cart2Name</CODE>, <CODE>Cart4Name</CODE>, <CODE>Cart6Name</CODE>).

<A NAME="IDX295"></A>
<A NAME="IDX296"></A>
<A NAME="IDX297"></A>
<A NAME="IDX298"></A>
<A NAME="IDX299"></A>
<A NAME="IDX300"></A>
<DT><CODE>-ram08, -ram1, -ram2, -ram4, -ram6, -ramC</CODE>
<DD>
Switch on RAM mapping in bank 15 on addresses 
$0800-$0fff, $1000-$1fff, $2000-$3fff, $4000-$5fff, $6000-$7fff resp
(<CODE>Ram08</CODE>, <CODE>Ram1</CODE>, <CODE>Ram2</CODE>, <CODE>Ram4</CODE>, <CODE>Ram6</CODE>,
<CODE>RamC</CODE>).

<A NAME="IDX301"></A>
<DT><CODE>-modelline</CODE>
<DD>
Define the hardcoded model switch in the CBM-II models.

</DL>



<H3><A NAME="SEC105" HREF="vice_toc.html#TOC105">7.4.3  Changing screen colors</A></H3>

<P>
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 <A HREF="vice_4.html#SEC26">4.3  Palette files</A>) in the <CODE>PaletteName</CODE> resource.  The menu provides the
following values:

</P>

<UL>
<LI>

<CODE>green.vpl</CODE> (default, "green"), the good old green-on-black
feeling;
<LI>

<CODE>amber.vpl</CODE> ("amber"), an amber phosphor lookalike;
<LI>

<CODE>white.vpl</CODE> ("white"), simple white-on-black palette.
</UL>

<P><HR><P>
Go to the <A HREF="vice_1.html">first</A>, <A HREF="vice_6.html">previous</A>, <A HREF="vice_8.html">next</A>, <A HREF="vice_16.html">last</A> section, <A HREF="vice_toc.html">table of contents</A>.
</BODY>
</HTML>
