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 cartridges

The cartridge system is organized in "Slots" to allow more than one cartridge connected at a time, like it can be done using an expansion port expander on a real C64 (see below).

Generally a cartridge can be enabled by attaching its respective cartridge image, or using the respective menu option for cartridges that do not require an image.

x64, x64sc and x128 allow you to attach the following kinds of images:

Cartridge images are like disk images, but contain the contents of cartridge ROM and/or RAM images instead of disk images.

To attach cartridges, use the "Attach a cartridge image" submenu. When using `.crt' images, this will work for every cartridge which is supported. For raw `.bin' images you might have to use command line options.

When you have successfully attached a cartridge image, you should then reset the machine to make sure the cartridge initializes itself. (Or enable the "reset on cartridge change" option).

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.

The imaginary expansion port expander is organized in 4 slots, the cartridges are associated with them like this:

7.1.1.1 Slot 0

All carts that have a passthrough connector go here. Once a "Slot 0" cartridge is enabled all further cartridges are connected to its respective passthrough port.

Only one cartridge of this type can be active at a time.

"Slot 0" carts have individual "enable" switches, enabling means enabling permanently.

The following cartridges are emulated in this slot:

7.1.1.2 Slot 1

Mostly RAM based cartridges which for one reason or the other might make sense to be enabled together with one of the "Main Slot" cartridges go here.

Only one cartridge of this type can be active at a time.

"Slot 1" carts have individual "enable" switches, enabling means enabling permanently

The following cartridges are emulated in this slot:

7.1.1.3 Main Slot

All other cartridges which are not pure i/o extensions go here.

Only one cartridge of this type can be active at a time.

Cartridges in the "Main Slot" must be explicitly set as default to enable them permanently.

The following cartridges are emulated in this slot:

7.1.1.4 I/O Slot

All carts that are pure I/O extensions go here.

Any number of "I/O Slot" Carts may be active at a time.

"I/O Slot" carts have individual "enable" switches, enabling means enabling permanently.

The following cartridges are emulated in this slot:

7.1.1.5 Expected behaviour

When the emulator is run without arguments, all settings from the config file should be applied and arguments override settings from the config file.

When saving the settings to the config file it is expected that on the next run of the emulator all settings will be in the same state as they were when saved.

There is an exception to this rule: the cartridge in the "Main Slot" must be explicitly set as default before it gets saved to the config file.

+cart should disable ALL cartridges, including eventually activated REU, Swithlink and all similar expansionport devices.

-cartXYZ options should generally attach AND activate a cart of type XYZ. As a consequence, attaching carts this way which are NOT in the "Main Slot" will also enable the cart permanently.

7.1.1.6 Common problems

If attaching a cartridge does not work as expected, this may be because of various reasons:

7.1.1.7 IEEE-488 interface

To be able to use an IEEE drive, you need to enable IEEE emulation for the emulator. To do this, follow the following steps:

Download the IEEE 488 ROM image from the CBM archives (formerly known as FUNET) Attach that image with File/Attach cartridge image/IEEE488 interface image.

Make sure you have a one-drive system only (that is, go to Settings/Peripheral Setting, uncheck "use IEC device" for all devices, go to Settings/Drive Settings and select "Floppy type" as "none" for all drives other than drive 8.

After this, all drives can be selected in x64 and x128.

7.1.1.8 The Final Cartridge 3

The Final Cartridge 3 detects whether a mouse is connected when it starts and disables mouse support if it doesnt detect one. So to make mouse emulation work you must either enable it on the command line, or reset the cartridge after enabling it from the user interface.

7.1.2 C64 cartridge settings

7.1.2.1 C64 cartridge resources

IOCollisionHandling
Integer specifying the way the I/O collisions should be handled. (0: error message and detach all involved carts, 1: error message and detach last attached involved carts, 2: warning in log and 'AND' the valid return values)
CartridgeReset
Boolean specifying whether the machine should be reset when a cartridge is changed.
CartridgeType
Integer specifying the type of cartridge emulated in the "main" slot. The following cartridge types are valid:
CartridgeFile
String specifying the filename of the image for the cartridge emulated in the "main" slot.
DQBB
Boolean specifying whether the Double Quick Brown Box should be emulated or not.
DQBBfilename
String specifying the filename of the DQBB RAM image.
DQBBImageWrite
Boolean, if true write back the DQBB image file automatically, incase the RAM contents changed, when detaching or quitting the emulator.
EasyFlashJumper
Boolean specifying whether the Easy Flash jumper is set.
EasyFlashWriteCRT
Boolean, if true write back the Easy Flash image file automatically, incase the contents changed, when detaching or quitting the emulator.
EasyFlashOptimizeCRT
Boolean, if true omit empty (filled with $ff) banks from the .crt image when writing.
ExpertCartridgeEnabled
Boolean specifying whether the Expert Cartridge should be emulated or not.
Expertfilename
String specifying the filename of the Expert Cartridge RAM image.
ExpertImageWrite
Boolean, if true write back the Expert Cartridge image file automatically, incase the RAM contents changed, when detaching or quitting the emulator.
ExpertCartridgeMode
Integer specifying the state of the expert cartridge switch. (0: off, 1: prg, 2: on)
IDE64version
Integer specifying whether the emulated card version is V3.4, V4.1 or V4.2. This is automatically detected most of the time for .crt cartridge images.
IDE64Image1
IDE64Image2
IDE64Image3
IDE64Image4
Strings specifying the full path to the four harddisk images. If a file is non-existing the drive is not emulated. Some older IDEDOS versions only support the first two harddisks.
IDE64Cylinders1
IDE64Cylinders2
IDE64Cylinders3
IDE64Cylinders4
Integers specifying the number of cylinders for the four harddisk images. (1..65535)
IDE64Heads1
IDE64Heads2
IDE64Heads3
IDE64Heads4
Integers specifying the number of heads for the four harddisk images. (1..16)
IDE64Sectors1
IDE64Sectors2
IDE64Sectors3
IDE64Sectors4
Integers specifying the number of sectors for the four harddisk images. (1..63)
IDE64AutodetectSize1
IDE64AutodetectSize2
IDE64AutodetectSize3
IDE64AutodetectSize4
Booleans specifying whether the disk geometry should be auto detected based on the disk image for the respective harddisk, or the cylinder/head/sector resources above should be used.
IDE64USBServerAddress
String specifying the address the IDE64 USB server listens to (ip4://127.0.0.1:64245)
IDE64USBServer
Boolean specifying whether the IDE64 USB server is enabled.
IDE64RTCSave
Boolean specifying whether the IDE64 RTC data should be saved when changed or not.
IEEE488
Boolean specifying whether the IEEE488 interface should be emulated or not.
IEEE488Image
String specifying the filename of the IEEE488 ROM image.
IsepicCartridgeEnabled
Boolean specifying whether ISEPIC should be emulated or not.
Isepicfilename
String specifying the filename of the ISEPIC RAM image.
IsepicSwitch
Boolean specifying the status of the ISEPIC switch. (0: off, 1: on)
IsepicImageWrite
Boolean, if true write back the ISEPIC image file automatically, incase the RAM contents changed, when detaching or quitting the emulator.
MagicVoiceCartridgeEnabled
Boolean specifying whether the Magic Voice should be emulated or not.
MagicVoiceImage
String specifying the filename of the Magic Voice ROM image.
MMC64
Boolean specifying whether the MMC64 should be emulated or not.
MMC64BIOSfilename
String specifying the filename of the MMC64 Flash ROM image.
MMC64_bios_write
Boolean, if true write back the MMC64 Flash ROM image file automatically, incase the contents changed, when detaching or quitting the emulator.
MMC64_flashjumper
Boolean that specifies whether the MMC64 flash jumper is set.
MMC64_revision
Integer specifying the MMC64 hardware revision. (0: Revision A, 1: Revision B)
MMC64imagefilename
String specifying the filename of the SD-Card image used by the MMC64 emulation.
MMC64_RO
Boolean, if true the SD-Card image is mounted read-only.
MMC64_sd_type
Integer that specifies the reported type for the emulated SD-Card. (0: Auto, 1: MMC, 2: SD, 3: SDHC)
MMCRCardImage
String specifying the filename of the SD-Card image used by the MMCR emulation.
MMCREEPROMImage
String specifying the filename of the MMCR EEPROM image.
MMCRRescueMode
Boolean specifying if the rescue mode (both buttons pressed during powerup) of the MMCR is active.
MMCRImageWrite
Boolean, if true write back the MMCR Flash ROM image file automatically, incase the contents changed, when detaching or quitting the emulator.
MMCRCardRW
Boolean specifying if the SD-Card image used by the MMCR emulation is writeable.
MMCRSDType
Integer that specifies the reported type for the emulated SD-Card. (0: Auto, 1: MMC, 2: SD, 3: SDHC)
MMCREEPROMRW
Boolean specifying if the MMCR EEPROM image is writeable.
RAMCART
Boolean specifying whether the RAMCart should be emulated or not.
RAMCARTfilename
String specifying the filename of the RAMCart RAM image.
RAMCARTImageWrite
Boolean, if true write back the RAMCart image file automatically, incase the RAM contents changed, when detaching or quitting the emulator.
RAMCART_RO
Boolean, if true the RAMCart contents are read only.
RAMCARTsize
Integer specifying the size of the RAMCart in KB. (64, 128)
RRrevision
Integer specifying the RR hardware revision. (0: Retro Replay, 1: Nordic Replay)
RRFlashJumper
Boolean specifying whether the RR flash jumper is set or not.
RRBankJumper
Boolean specifying whether the RR bank jumper is set or not.
RRBiosWrite
Boolean, if true write back the RR Flash ROM image file automatically, incase the contents changed, when detaching or quitting the emulator.
SSRamExpansion
Boolean, if true enable the 32k addon RAM of the Supersnapshot V5

7.1.2.2 C64 cartridge command-line options

-iocollision <method>
Select the way the I/O collisions should be handled (IOCollisionHandling). (0: error message and detach all involved carts, 1: error message and detach last attached involved carts, 2: warning in log and 'AND' the valid return values
+cart
Disable all cartridges (which would eventually be enabled in the config file).
-cartreset
+cartreset
Reset/Do not reset machine if a cartridge is attached or detached (CartridgeReset=1, CartridgeReset=0).
-cart8 <name>
Attach generic 8KB cartridge image.
-cart16 <name>
Attach generic 16KB cartridge image.
-cartultimax <name>
Attach generic 16kB Ultimax cartridge image.
-cartcrt <name>
Attach CRT cartridge image.
-cartap <name>
Attach raw 32KB Atomic Power cartridge image.
-cartar2 <name>
Attach raw 16kB Action Replay MK2 cartridge image.
-cartar3 <name>
Attach raw 16KB Action Replay MK3 cartridge image.
-cartar4 <name>
Attach raw 32KB Action Replay MK4 cartridge image.
-cartar5 <name>
Attach raw 32KB Action Replay cartridge image.
-cartcap <name>
Attach raw 8kB Capture cartridge image.
-cartcomal <name>
Attach raw 64kB Comal 80 cartridge image.
-cartdep256 <name>
Attach raw Dela EP256 cartridge image.
-cartdep64 <name>
Attach raw Dela EP64 cartridge image.
-cartdep7x8 <name>
Attach raw Dela EP7x8 cartridge image.
-cartdin <name>
Attach raw 128kB Dinamic cartridge image.
-cartdsm <name>
Attach raw 8kB Diashow-Maker cartridge image.
-cartdqbb <name>
Attach raw 16kB Double Quick Brown Box cartridge image.
-dqbb
+dqbb
Enable/disable Double Quick Brown Box (DQBB=1, DQBB=0).
-dqbbimage <name>
Specify Double Quick Brown Box filename (DQBBfilename).
-dqbbimagerw
+dqbbimagerw
Allow/disallow writing to DQBB image (DQBBImageWrite=1, DQBBImageWrite=0).
-carteasy <name>
Attach raw EasyFlash cartridge image.
-easyflashjumper
+easyflashjumper
Enable/disable EasyFlash jumper (EasyFlashJumper=1, EasyFlashJumper=0).
-easyflashcrtwrite
+easyflashcrtwrite
Allow/Disallow writing to EasyFlash .crt image (EasyFlashWriteCRT=1, EasyFlashWriteCRT=0).
-easyflashcrtoptimize
+easyflashcrtoptimize
Allow/Disallow EasyFlash .crt image optimizing (omitting of empty banks) on write (EasyFlashOptimizeCRT=1, EasyFlashOptimizeCRT=0).
-cartepyx <name>
Attach raw 8KB Epyx FastLoad cartridge image.
-cartexos <name>
Attach raw 8kB EXOS cartridge image.
-cartexpert <name>
Attach raw 8kB Expert Cartridge image.
-expert
+expert
Enable/Disable the Expert Cartridge (ExpertCartridgeEnabled=1, ExpertCartridgeEnabled=0).
-expertimagename <name>
Set Expert Cartridge image name (Expertfilename).
-expertimagerw
+expertimagerw
Allow/Disallow writing to Expert Cartridge image (ExpertImageWrite=1, ExpertImageWrite=0).
-expertmode <mode>
Set Expert Cartridge mode (ExpertCartridgeMode). (0: off, 1: prg, 2: on)
-cartf64 <Name>
Attach raw 32kB Formel 64 image.
-cartfc1 <name>
Attach raw 16kB Final Cartridge image.
-cartfc3 <name>
Attach raw 64kB Final Cartridge III image.
-cartfcplus <name>
Attach raw 32kB Final Cartridge Plus image.
-cartff <name>
Attach raw 8kB Freeze Frame image.
-cartfm <name>
Attach raw 32kB Freeze Machine image.
-cartfp <name>
Attach raw 128kB Fun Play/Power Play cartridge image.
-cartgk <name>
Attach raw 8KB Game Killer cartridge image.
-cartgs <name>
Attach raw 512kB Game System cartridge image.
-cartide64 <name>
Attach raw 64KB or 128KB IDE64 cartridge image.
-IDE64image1 <name>
-IDE64image2 <name>
-IDE64image3 <name>
-IDE64image4 <name>
Specify path to the image files for IDE64 harddisks (IDE64Image1, IDE64Image2, IDE64Image3, IDE64Image4).
-IDE64cyl1 <value>
-IDE64cyl2 <value>
-IDE64cyl3 <value>
-IDE64cyl4 <value>
Set number of cylinders for the IDE64 harddisk emulation (IDE64Cylinders1, IDE64Cylinders2, IDE64Cylinders3, IDE64Cylinders1). (1..65535)
-IDE64hds1 <value>
-IDE64hds2 <value>
-IDE64hds3 <value>
-IDE64hds4 <value>
Set number of heads for the IDE64 harddisk emulation (IDE64Heads1, IDE64Heads2, IDE64Heads3, IDE64Heads4). (1..16)
-IDE64sec1 <value>
-IDE64sec2 <value>
-IDE64sec3 <value>
-IDE64sec4 <value>
Set number of sectors for the IDE64 harddisk emulation (IDE64Sectors1, IDE64Sectors2, IDE64Sectors3, IDE64Sectors4). (1..63)
-IDE64autosize1
+IDE64autosize1
Autodetect geometry of formatted image or do not autodetect and use specified geometry (IDE64AutodetectSize1=1, IDE64AutodetectSize1=0).
-IDE64autosize2
+IDE64autosize2
Autodetect geometry of formatted image or do not autodetect and use specified geometry (IDE64AutodetectSize2=1, IDE64AutodetectSize2=0).
-IDE64autosize3
+IDE64autosize3
Autodetect geometry of formatted image or do not autodetect and use specified geometry (IDE64AutodetectSize3=1, IDE64AutodetectSize3=0).
-IDE64autosize4
+IDE64autosize4
Autodetect geometry of formatted image or do not autodetect and use specified geometry (IDE64AutodetectSize4=1, IDE64AutodetectSize4=0).
-IDE64version <value>
Select IDE64 version V3 (0), V4.1 (1) or V4.2 (2). (IDE64version). (0..2)
-IDE64USB
+IDE64USB
Enable/Disable IDE64 USB server
-IDE64USBAddress <name>
The local address the IDE64 USB server should bind to
-IDE64rtcsave
+IDE64rtcsave
Enable/disable saving of IDE64 RTC data when changed (IDE64RTCSave=1, IDE64RTCSave=0).
-cartieee <name>
Attach CBM IEEE-488 cartridge image.
-ieee488
+ieee488
Enable/disable emulation of the IEEE488 interface (IEEE488=1, IEEE488=0). .
-ieee488image <name>
Set IEEE488 interface image name (IEEE488Image).
-isepic
+isepic
Enable/disable the ISEPIC cart (IsepicCartridgeEnabled=1, IsepicCartridgeEnabled=0).
-isepicswitch
+isepicswitch
Enable/disable the ISEPIC switch (IsepicSwitch=1, IsepicSwitch=0).
-cartisepic <name>
Attach raw 2kB ISEPIC cartridge image.
-isepicimagename <name>
Set ISEPIC image name (Isepicfilename).
-isepicimagerw
+isepicimagerw
Allow/disallow writing to ISEPIC image (IsepicImageWrite=1, IsepicImageWrite=0).
-cartkcs <name>
Attach raw 16kB KCS Power cartridge image.
-cartks <name>
Attach raw 24kB Kingsoft cartridge image.
-cartmach5 <name>
Attach raw 8kB MACH 5 cartridge image.
-cartmd <name>
Attach raw 32/64/128kB Magic Desk cartridge image.
-cartmf <name>
Attach raw Magic Formel cartridge image.
-cartmikro <name>
Attach raw 8kB Mikro Assembler cartridge image.
-mmc64
+mmc64
Enable/disable the MMC64 expansion (MMC64=1, MMC64=0).
-cartmmc64 <name>
Attach raw 8kB MMC64 cartridge image.
-mmc64bios <name>
Specify name of MMC64 BIOS image (MMC64BIOSfilename).
-mmc64image <name>
Specify name of MMC64 image (MMC64imagefilename).
-mmc64readonly
Set the MMC64 card to read-only (MMC64_RO=1).
-mmc64readwrite
Set the MMC64 card to read/write (MMC64_RO=0).
-mmc64flash
+mmc64flash
Enable/Disable the MMC64 flash jumper (MMC64_flashjumper=1, MMC64_flashjumper=0).
-mmc64bioswrite
Save the MMC64 bios when changed (MMC64_bios_write=1).
-mmc64biosreadonly
Do not save the MMC64 bios when changed (MMC64_bios_write=0).
-mmc64rev <revision>
Specify MMC64 revision (MMC64_revision). (0: Revision A, 1: Revision B)
-mmc64sdtype <type>
Specify MMC64 SD type (MMC64_sd_type). (0: Auto, 1: MMC, 2: SD, 3: SDHC)
-cartmmcr <name>
Attach raw 512kB MMC Replay cartridge image.
-mmcrrescue
+mmcrrescue
Enable/disable MMC Replay rescue mode (MMCRRescueMode=1, MMCRRescueMode=0).
-mmcrimagerw
+mmcrimagerw
Allow/disallow writing to MMC Replay image (MMCRImageWrite=1, MMCRImageWrite=0).
-mmcrsdtype <type>
Specify MMC Replay SD type (MMCRSDType). (0: Auto, 1: MMC, 2: SD, 3: SDHC)
-mmcrcardimage <filename>
Specify MMC Replay card image filename (MMCRCardImage).
-mmcrcardrw
+mmcrcardrw
Allow/disallow writes to MMC Replay card image (MMCRCardRW=1, MMCRCardRW=0).
-mmcreepromimage <filename>
Specify MMC Replay EEPROM image filename (MMCREEPROMImage).
-mmcreepromrw
+mmcreepromrw
Allow/disallow writes to MMC Replay EEPROM image (MMCREEPROMRW=1, MMCREEPROMRW=0).
-cartmv <name>
Attach raw 16kB Magic Voice cartridge image.
-magicvoiceimage <name>
Specify Magic Voice cartridge ROM image filename (MagicVoiceImage).
-magicvoice
+magicvoice
Enable/disable Magic Voice cartridge (MagicVoiceCartridgeEnabled=1, MagicVoiceCartridgeEnabled=0).
-cartocean <name>
Attach raw Ocean cartridge image.
-cartp64 <name>
Attach raw 256KB Prophet 64 cartridge image.
-cartpf <name>
Attach raw 64kb Pagefox cartridge image.
-cartramcart <name>
Attach raw RamCart cartridge image.
-ramcart
+ramcart
Enable/disable the RAMCART expansion (RAMCART=1, RAMCART=0).
-ramcartsize <size in KB>
Size of the RAMCART expansion (RAMCARTsize). (64, 128)
-ramcartimage <name>
Specify name of RAMCART image (RAMCARTfilename).
-ramcartimagerw
+ramcartimagerw
Allow/disallow writing to RAMCart image (RAMCARTImageWrite=1, RAMCARTImageWrite=0).
-ramcartro
Set the RamCart switch to read-only (RAMCART_RO=1).
-ramcartrw
Set the RamCart switch to read-only (RAMCART_RO=0).
-cartrep256 <name>
Attach raw REX EP256 cartridge image.
-cartrgcd <Name>
Attach raw 64kB RGCD cartridge image.
-cartross <name>
Attach raw 16/32kB ROSS cartridge image.
-cartrrnet <name>
Attach raw 8KB RR-Net MK3 cartridge image.
-cartrr <name>
Attach raw 64KB Retro Replay cartridge image.
-rrbioswrite
+rrbioswrite
Enable/disable saving of the RR ROM at exit (RRBiosWrite=1, RRBiosWrite=0).
-rrbankjumper
+rrbankjumper
Set/unset RR Bank Jumper (RRBankJumper=1, RRBankJumper=0).
-rrflashjumper
+rrflashjumper
Set/unset RR Flash Jumper (RRFlashJumper=1, RRFlashJumper=0).
-rrrev <Revision>
Set the RR revision (RRrevision). (0: Retro Replay, 1: Nordic Replay)
-cartru <name>
Attach raw 8kB REX Utility cartridge image.
-carts64 <name>
Attach raw 4kB Snapshot 64 cartridge image.
-cartsb <name>
Attach raw Structured Basic cartridge image.
-cartse5 <name>
Attach raw 16kB Super Explode V5 cartridge image.
-cartsg <name>
Attach raw 64kB Super Games cartridge image.
-cartsilver <Name>
Attach raw Silverrock 128 cartridge image.
-cartsimon <name>
Attach raw 16kB Simons' Basic cartridge image.
-cartss4 <name>
Attach raw 32KB Super Snapshot V4 cartridge image.
-cartss5 <name>
Attach raw 64KB Super Snapshot V5 cartridge image.
-ssramexpansion
+ssramexpansion
Enable/disable 32k addon RAM. (SSRamExpansion=1, SSRamExpansion=0).
-cartstar <name>
Attach raw 16KB Stardos cartridge image.
-cartwl <name>
Attach raw 16KB Westermann Learning cartridge image.
-cartws <name>
Attach raw 8kB Warp Speed cartridge image.
-cartzaxxon <name>
Attach raw 16kB Zaxxon cartridge image.

7.1.3 CIA settings

7.1.3.1 CIA resources

CIA1Model
Integer specifying CIA1 model (all emulators except x64dtv/xpet/xplus4/xvic). (0: old 6526, 1: new 6526A)
CIA2Model
Integer specifying CIA2 model (all emulators except x64dtv/xcbm2/xcbm5x0/xpet/xplus4/xvic). (0: old 6526, 1: new 6526A)

7.1.3.2 CIA command-line options

-ciamodel <model>
Set both CIA models (CIA1Model, CIA2Model) (all emulators except x64dtv/xcbm2/xcbm5x0/xpet/xplus4/xvic). (0: old 6526, 1: new 6526A)
-cia1model <model>
Set CIA1 model (CIA1Model) (all emulators except x64dtv/xpet/xplus4/xvic). (0: old 6526, 1: new 6526A)
-cia2model <model>
Set CIA2 model (CIA2Model) (all emulators except x64dtv/xcbm2/xcbm5x0/xpet/xplus4/xvic). (0: old 6526, 1: new 6526A)

7.1.4 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.4.1 VIC-II resources

VICIIModel
Integer that specifies VIC-II model (x64sc/xscpu64 only). (6569, 6569r1, 8565, 6567, 8562, 6567r56a, 6572)
VICIICheckSsColl
Boolean specifying whether the sprite-sprite hardware collision detection must be emulated.
VICIICheckSbColl
Boolean specifying whether the sprite-background hardware collision detection must be emulated.
VICIIVSPBug
Boolean specifying whether the "VSP Bug" must be emulated (x64sc/xscpu64 only).
VICIIVideoCache
Boolean specifying whether the video cache is turned on.
VICIIDoubleSize
Boolean specifying whether double-size mode is turned on.
VICIIDoubleScan
Boolean specifying whether double-scan mode is turned on.
VICIINewLuminances
Boolean specifying whether to use new (9 steps) luminances.
VICIIPaletteFile
String specifying the name of the palette file being used. The `.vpl' extension is optional.
VICIIExternalPalette
Boolean specifying whether to use external palette file or not.
VICIIColorSaturation
Integer specifying saturation of internal calculated palette. (0..2000)
VICIIColorContrast
Integer specifying contrast of internal calculated palette. (0..2000)
VICIIColorBrightness
Integer specifying brightness of internal calculated palette. (0..2000)
VICIIColorGamma
Integer specifying gamma of internal calculated palette. (0..4000)
VICIIColorTint
Integer specifying tint of internal calculated palette. (0..2000)
VICIIPALScanLineShade
Integer specifying amount of scan line shading for the CRT emulation. (0..1000)
VICIIPALBlur
Integer specifying amount of horizontal blur for the CRT emulation. (0..1000)
VICIIPALOddLinePhase
Integer specifying phase for color carrier in odd lines. (0..2000)
VICIIPALOddLineOffset
Integer specifying phase offset for color carrier in odd lines. (0..2000)
VICIIAudioLeak
Boolean specifying whether to enable/disable video to audio leak emulation.
VICIIFilter
Integer specifying rendering filter. (0: None, 1: CRT emulation, 2: Scale2x)
VICIIBorderMode
Integer specifying border display mode. (0: normal, 1: full, 2: debug, 3: none)

7.1.4.2 VIC-II command-line options

-VICIIcheckss
+VICIIcheckss
Enable/disable emulation of hardware sprite-sprite collision detection (VICIICheckSsColl=1, VICIICheckSsColl=0).
-VICIIchecksb
+VICIIchecksb
Enable/disable emulation of hardware sprite-background collision detection (VICIICheckSbColl=1, VICIICheckSbColl=0).
-VICIIvspbug
+VICIIvspbug
Enable/disable emulation of the "VSP bug" (VICIIVSPBug=1, VICIIVSPBug=0) (x64sc/xscpu64 only).
-VICIIvcache
+VICIIvcache
Enable/disable the video cache (VICIIVideoCache=1, VICIIVideoCache=0).
-VICIIdsize
+VICIIdsize
Enable/disable the double size mode (VICIIDoubleSize=1, VICIIDoubleSize=0).
-VICIIdscan
+VICIIdscan
Enable/disable the double scan mode (VICIIDoubleScan=1, VICIIDoubleScan=0).
-VICIIfilter <Mode>
Select rendering filter (VICIIFilter). (0: None, 1: CRT emulation, 2: Scale2x)
-VICIIintpal
Use an internal calculated palette (VICIIExternalPalette=0).
-VICIIextpal
Use an external palette (file) (VICIIExternalPalette=1).
-VICIIpalette <Name>
Specify the name of the palette file (VICIIPaletteFile).
-VICIIXRANDRfullmode <mode>
Select fullscreen mode
-VICIIVidmodefullmode <mode>
Select fullscreen mode
-VICIIborders <mode>
Set VIC-II border display mode (VICIIBorderMode). (0: normal, 1: full, 2: debug, 3: none)
-VICIImodel <model>
Set VIC-II model (VICIIModel) (x64sc and xscpu64 only). (6569, 6569r1, 8565, 6567, 8562, 6567r56a, 6572)
-VICIInewluminance
+VICIInewluminance
Enable/disable new luminances (VICIINewLuminances=1, VICIINewLuminances=0).
-VICIIsaturation <0-2000>
Set saturation of internal calculated palette (VICIIColorSaturation).
-VICIIcontrast <0-2000>
Set contrast of internal calculated palette (VICIIColorContrast).
-VICIIbrightness <0-2000>
Set brightness of internal calculated palette (VICIIColorBrightness).
-VICIIgamma <0-4000>
Set gamma of internal calculated palette (VICIIColorGamma).
-VICIItint <0-2000>
Set tint of internal calculated palette (VICIIColorTint).
-VICIIoddlinesphase <0-2000>
Set phase for color carrier in odd lines (VICIIPALOddLinePhase).
-VICIIoddlinesoffset <0-2000>
Set phase offset for color carrier in odd lines (VICIIPALOddLineOffset).
-VICIIcrtblur <0-1000>
Amount of horizontal blur for the CRT emulation (VICIIPALBlur).
-VICIIcrtscanlineshade <0-1000>
Amount of scan line shading for the CRT emulation (VICIIPALScanLineShade).
-VICIIaudioleak
+VICIIaudioleak
Enable/disable video to audio leak emulation (VICIIAudioLeak=1, VICIIAudioLeak=0).

7.1.5 SID settings

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

7.1.5.1 SID resources

SidStereo
Integer specifying the amount of emulated extra SIDs. (0: off, 1: 1 extra sid, 2: 2 extra sids)
SidStereoAddressStart
Integer specifying the base address of the second SID (x64, x64sc, xscpu64, x128 and vsid only). (x128: 0xD420, 0xD440, 0xD460, 0xD480, 0xD4A0, 0xD4C0, 0xD4E0, 0xD700, 0xD720, 0xD740, 0xD760, 0xD780, 0xD7A0, 0xD7C0, 0xD7E0, 0xDE00, 0xDE20, 0xDE40, 0xDE60, 0xDE80, 0xDEA0, 0xDEC0, 0xDEE0, 0xDF00, 0xDF20, 0xDF40, 0xDF60, 0xDF80, 0xDFA0, 0xDFC0, 0xDFE0) (x64/x64sc/xscpu64/vsid: 0xD420, 0xD440, 0xD460, 0xD480, 0xD4A0, 0xD4C0, 0xD4E0, 0xD500, 0xD520, 0xD540, 0xD560, 0xD580, 0xD5A0, 0xD5C0, 0xD5E0, 0xD600, 0xD620, 0xD640, 0xD660, 0xD680, 0xD6A0, 0xD6C0, 0xD6E0, 0xD700, 0xD720, 0xD740, 0xD760, 0xD780, 0xD7A0, 0xD7C0, 0xD7E0, 0xDE00, 0xDE20, 0xDE40, 0xDE60, 0xDE80, 0xDEA0, 0xDEC0, 0xDEE0, 0xDF00, 0xDF20, 0xDF40, 0xDF60, 0xDF80, 0xDFA0, 0xDFC0, 0xDFE0)
SidTripleAddressStart
Integer specifying the base address of the third SID (x64, x64sc, xscpu64, x128 and vsid only). (x128: 0xD420, 0xD440, 0xD460, 0xD480, 0xD4A0, 0xD4C0, 0xD4E0, 0xD700, 0xD720, 0xD740, 0xD760, 0xD780, 0xD7A0, 0xD7C0, 0xD7E0, 0xDE00, 0xDE20, 0xDE40, 0xDE60, 0xDE80, 0xDEA0, 0xDEC0, 0xDEE0, 0xDF00, 0xDF20, 0xDF40, 0xDF60, 0xDF80, 0xDFA0, 0xDFC0, 0xDFE0) (x64/x64sc/xscpu64/vsid: 0xD420, 0xD440, 0xD460, 0xD480, 0xD4A0, 0xD4C0, 0xD4E0, 0xD500, 0xD520, 0xD540, 0xD560, 0xD580, 0xD5A0, 0xD5C0, 0xD5E0, 0xD600, 0xD620, 0xD640, 0xD660, 0xD680, 0xD6A0, 0xD6C0, 0xD6E0, 0xD700, 0xD720, 0xD740, 0xD760, 0xD780, 0xD7A0, 0xD7C0, 0xD7E0, 0xDE00, 0xDE20, 0xDE40, 0xDE60, 0xDE80, 0xDEA0, 0xDEC0, 0xDEE0, 0xDF00, 0xDF20, 0xDF40, 0xDF60, 0xDF80, 0xDFA0, 0xDFC0, 0xDFE0)
SidFilters
Boolean specifying whether the built-in SID filters must be emulated.
SidModel
Integer specifying what model of the SID must be emulated. (0: 6581, 1: 8580, 2: 8580D, 3: 6581R4, 4: DTVSID)
SidEngine
Integer specifying what SID engine will be used. (0: FastSID, 1: ReSID, 2: Catweasel MKIII, 3: HardSID, 4: ParSID Port 1, 5: ParSID Port 2, 6: ParSID Port 3)
SidResidSampling
Integer specifying the sampling method (0: Fast, 1: Interpolation, 2: Resampling, 3: Fast Resampling)
SidResidPassband
Integer specifying the resampling filter passband in percentage of the total bandwidth (0 - 90).
SidResidGain
Integer that specifies reSID gain in percent [97] (90..100)
SidResidFilterBias
Integer that specifies reSID filter bias, which can be used to adjust DAC bias in millivolts. [0] (-5000..5000)

7.1.5.2 SID command-line options

-sidstereo
Specify the amount of extra SID chips to emulate (SidStereo). (0: off, 1: 1 extra sid, 2: 2 extra sids)
-sidstereoaddress <Base address>
Specifies the start address for the second SID chip (SidStereoAddressStart) (x64, x64sc, xscpu64, x128 and vsid only). (x128: 0xD420, 0xD440, 0xD460, 0xD480, 0xD4A0, 0xD4C0, 0xD4E0, 0xD700, 0xD720, 0xD740, 0xD760, 0xD780, 0xD7A0, 0xD7C0, 0xD7E0, 0xDE00, 0xDE20, 0xDE40, 0xDE60, 0xDE80, 0xDEA0, 0xDEC0, 0xDEE0, 0xDF00, 0xDF20, 0xDF40, 0xDF60, 0xDF80, 0xDFA0, 0xDFC0, 0xDFE0) (x64/x64sc/xscpu64/vsid: 0xD420, 0xD440, 0xD460, 0xD480, 0xD4A0, 0xD4C0, 0xD4E0, 0xD500, 0xD520, 0xD540, 0xD560, 0xD580, 0xD5A0, 0xD5C0, 0xD5E0, 0xD600, 0xD620, 0xD640, 0xD660, 0xD680, 0xD6A0, 0xD6C0, 0xD6E0, 0xD700, 0xD720, 0xD740, 0xD760, 0xD780, 0xD7A0, 0xD7C0, 0xD7E0, 0xDE00, 0xDE20, 0xDE40, 0xDE60, 0xDE80, 0xDEA0, 0xDEC0, 0xDEE0, 0xDF00, 0xDF20, 0xDF40, 0xDF60, 0xDF80, 0xDFA0, 0xDFC0, 0xDFE0)
-sidtripleaddress ADDRESS
Specifies the start address for the third SID chip (SidTripleAddressStart) (x64, x64sc, xscpu64, x128 and vsid only). (x128: 0xD420, 0xD440, 0xD460, 0xD480, 0xD4A0, 0xD4C0, 0xD4E0, 0xD700, 0xD720, 0xD740, 0xD760, 0xD780, 0xD7A0, 0xD7C0, 0xD7E0, 0xDE00, 0xDE20, 0xDE40, 0xDE60, 0xDE80, 0xDEA0, 0xDEC0, 0xDEE0, 0xDF00, 0xDF20, 0xDF40, 0xDF60, 0xDF80, 0xDFA0, 0xDFC0, 0xDFE0) (x64/x64sc/xscpu64/vsid: 0xD420, 0xD440, 0xD460, 0xD480, 0xD4A0, 0xD4C0, 0xD4E0, 0xD500, 0xD520, 0xD540, 0xD560, 0xD580, 0xD5A0, 0xD5C0, 0xD5E0, 0xD600, 0xD620, 0xD640, 0xD660, 0xD680, 0xD6A0, 0xD6C0, 0xD6E0, 0xD700, 0xD720, 0xD740, 0xD760, 0xD780, 0xD7A0, 0xD7C0, 0xD7E0, 0xDE00, 0xDE20, 0xDE40, 0xDE60, 0xDE80, 0xDEA0, 0xDEC0, 0xDEE0, 0xDF00, 0xDF20, 0xDF40, 0xDF60, 0xDF80, 0xDFA0, 0xDFC0, 0xDFE0)
-sidenginemodel <engine and model>
Specify engine and model for the emulated SID chip (SidEngine, SidModel). (FastSID 6581: 0/fast/fastold/fast6581, FastSID 8580: 1/fastnew/fast8580, ReSID 6581: 256/resid/residold/resid6581, ReSID 8580: 257/residnew/resid8580, ReSID 8580 + digiboost: 258/residdigital/residd/residnewd/resid8580d, DTVSID: 260/dtv/c64dtv/dtvsid, Catweasel MKIII: 512/catweaselmkiii/catweasel3/catweasel/cwmkiii/cw3/cw, HardSID: 768/hardsid/hard/hs, ParSID Port 1: 1024/parsid/parsid1/par1/lpt1, ParSID Port 2: 1280/parsid2/par2/lpt2 ParSID Port 3: 1536/parsid3/par3/lpt3)
-sidfilters
+sidfilters
Enable/disable emulation of the built-in SID filters (SidFilters=1, SidFilters=0).
-residsamp METHOD
Specifies the sampling method; fast (SidResidSampling=0), interpolating (SidResidSampling=1), resampling (SidResidSampling=2), fast resampling (SidResidSampling=3).
-residpass PERCENTAGE
Specifies the resampling filter passband in percentage of the total bandwidth (SidResidPassband=0-90).
-residgain PERCENTAGE
Specifies reSID gain in percent (90 - 100).
-residfilterbias <number>
reSID filter bias setting, which can be used to adjust DAC bias in millivolts.

7.1.6 C64 I/O extension settings

I/O extensions are (usually) cartridges which do not map into ROM space, but use only the I/O space at address range $DE00 ... $DEFF and/or $DF00 ... $DFFF.

Please use these extensions only when needed, as they might cause compatibility problems.

The following I/O extensions are available:

7.1.6.1 C64 I/O extension resources

DIGIMAX
Boolean specifying whether the DigiMAX cartridge should be emulated or not.
DIGIMAXbase
Integer specifying the DigiMAX base address. (0xDD00: useport, 0xDE00, 0xDE20, 0xDE40, 0xDE60, 0xDE80, 0xDEA0, 0xDEC0, 0xDEE0, 0xDF00, 0xDF20, 0xDF40, 0xDF60, 0xDF80, 0xDFA0, 0xDFC0, 0xDFE0)
DS12C887RTC
Boolean specifying whether the DS12C887 RTC cartridge should be emulated or not.
DS12C887RTCbase
Integer specifying the DS12C887 RTC base address. x128: (0xD700, 0xDE00, 0xDF00) x64/x64sc/xscpu64: (0xD500, 0xD600, 0xD700, 0xDE00, 0xDF00)
DS12C887RTCRunMode
Boolean specifying whether the DS12C887 RTC cartridge starts out running or halted. (0: halted, 1: running)
DS12C887RTCSave
Boolean specifying whether the DS12C887 RTC data should be saved when changed or not.
ETHERNET_ACTIVE
Boolean that specifies whether the CS8900 ethernet interface emulation is active.
ETHERNET_INTERFACE
String specifying the device name of the ethernet device to use for the emulation.
ETHERNET_DISABLED
Boolean that specified whether ethernet emulation has been disabled because it is not available in the current configuration.
ETHERNET_AS_RR
Boolean that specifies whether RR-Net compatible mapping is enabled.
GEORAM
Boolean specifying whether the GEO-RAM cartridge should be emulated or not.
GEORAMfilename
String specifying the filename of the GEORAM image.
GEORAMImageWrite
Boolean, if true write back the GEO-RAM image file automatically, incase the RAM contents changed, when detaching or quitting the emulator.
GEORAMsize
Integer specifying the size of the emulated GEO-RAM in KB. (64, 128, 256, 512, 1024, 2048, 4096).
MIDIEnable
Boolean specifying whether the MIDI cartridge should be emulated or not (x64/x64sc/xscpu64/x128 only, and only if MIDI support is enabled and available at compile time).
MIDIMode
Integer specifying the type of emulated MIDI interface (x64, x64sc, xscpu64 and x128 only, and only if MIDI support is enabled and available at compile time). (0: Sequential, 1: Passport/Syntech, 2: DATEL/Siel/JMS, 3: Namesoft, 4: Maplin)
REU
Boolean specifying whether the RAM Expansion Module should be emulated or not.
REUfilename
String specifying the filename of the REU image.
REUImageWrite
Boolean, if true write back the REU image file automatically, incase the RAM contents changed, when detaching or quitting the emulator.
REUsize
Integer specifying the size of the emulated REU in KB. (128, 256, 512, 1024, 2048, 4096, 8192, 16384)
SFXSoundExpander
Boolean specifying whether the SFX Sound Expander should be emulated or not.
SFXSoundExpanderChip
Integer specifying which YM chip is emulated. (3526, 3812)
SFXSoundSampler
Boolean specifying whether the SFX Sound Sampler should be emulated or not.

7.1.6.2 C64 I/O extension command-line options

-digimax
+digimax
Enable/disable the DigiMAX cartridge (DIGIMAX=1, DIGIMAX=0).
-digimaxbase <base address>
Base address of the DigiMAX cartridge (DIGIMAXbase). (0xDD00: userport, 0xDE00, 0xDE20, 0xDE40, 0xDE60, 0xDE80, 0xDEA0, 0xDEC0, 0xDEE0, 0xDF00, 0xDF20, 0xDF40, 0xDF60, 0xDF80, 0xDFA0, 0xDFC0, 0xDFE0)
-ds12c887rtc
+ds12c887rtc
Enable/disable the DS12C887 RTC cartridge (DS12C887RTC=1, DS12C887RTC=0).
-ds12c887rtcbase <base address>
Base address of the DS12C887 RTC cartridge (DS12C887RTCbase). x128: (0xD700, 0xDE00, 0xDF00) x64/x64sc/xscpu64: (0xD500, 0xD600, 0xD700, 0xDE00, 0xDF00)
-ds12c887rtchalted
Set the DS12C887 RTC oscillator to 'halted' (DS12C887RTCRunMode=0).
+ds12c887rtcrunning
Set the DS12C887 RTC oscillator to 'running' (DS12C887RTCRunMode=1).
-ds12c887rtcsave
+ds12c887rtcsave
Enable/disable saving of the DS12C887 RTC data when changed (DS12C887RTCSave=1, DS12C887RTCSave=0).
-miditype <0-4>
Set MIDI interface type (MIDIMode) (x64, x64sc, xscpu64 and x128 only, and only if MIDI support is enabled and available at compile time). (0: Sequential, 1: Passport/Syntech, 2: DATEL/Siel/JMS, 3: Namesoft, 4: Maplin)
-midi
+midi
Enable/disable MIDI emulation (MIDIEnable=1, MIDIEnable=0) (x64, x64sc, xscpu64 and x128 only, and only if MIDI support is enabled and available at compile time). (0: Sequential, 1: Passport/Syntech, 2: DATEL/Siel/JMS, 3: Namesoft, 4: Maplin)
-georam
+georam
Enable/disable the GEORAM expansion unit (GEORAM=1, GEORAM=0).
-cartgeoram <name>
Attach raw GEO-RAM cartridge image.
-georamimage <name>
Specify name of GEORAM image (GEORAMfilename).
-georamimagerw
+georamimagerw
Allow/disallow writing to GEORAM image (GEORAMImageWrite=1, GEORAMImageWrite=0).
-georamsize <size in KB>
Size of the GEORAM expansion unit (GEORAMsize). (64, 128, 256, 512, 1024, 2048, 4096)
-reu
+reu
Enable/disable emulation of the RAM Expansion Module (REU=1, REU=0).
-cartreu <name>
Attach raw REU cartridge image.
-reuimage <name>
Specify name of REU image (REUfilename).
-reuimagerw
+reuimagerw
Allow/disallow writing to REU image (REUImageWrite=1, REUImageWrite=0).
-reusize <size in KB>
Size of the RAM expansion unit (REUsize). (128, 256, 512, 1024, 2048, 4096, 8192, 16384)
-sfxse
+sfxse
Enable/disable the SFX soundexpander cartridge (SFXSoundExpander=1, SFXSoundExpander=0).
-sfxsetype <type>
Set YM chip type (SFXSoundExpanderChip). (3526, 3812)
-sfxss
+sfxss
Enable/disable the SFX Sound Sampler cartridge (SFXSoundSampler=1, SFXSoundSampler=0).
-tfe
+tfe
Enable/Disable the TFE ("The Final Ethernet") unit
-tfeif <name>
Set the system ethernet interface for TFE emulation
-tferrnet
+tferrnet
Enable/Disable RRNet mode of TFE emulation
-burstmod <value>
Set the kind of burst modification. This emulates the fast serial bus connection as described at http://www.cs.tut.fi/~albert/Dev/burst/, with the wire to the tape port cut (BurstMod). (0: None, 1: CIA-1, 2: CIA-2)

7.1.7 C64 system ROM settings

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

7.1.7.1 C64 system ROM resources

BasicName
String specifying the name of the Basic ROM (default `basic').
ChargenName
String specifying the name of the character generator ROM (default `chargen').
KernalName
String specifying the name of the Kernal ROM (default `kernal').
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.7.2 C64 system ROM command-line options

-basic <name>
Specify filename of the Basic ROM file (BasicName).
-chargen <name>
Specify filename of the character generator ROM file (ChargenName).
-kernal <name>
Specify filename of the Kernal ROM file (KernalName).
-kernalrev <revision>
Specify Kernal revision (KernalRev). (1/2/3, 67/sx, 100/4064)

7.1.8 C64 settings

7.1.8.1 C64 resources

GlueLogic
Integer specifying the type of emulated glue-logic. (0: discrete, 1: custom IC)
BurstMod
Integer specifying the kind of Burst-Mode modification. (0: None, 1: CIA-1, 2: CIA-2)
BoardType
Integer specifying the type of emulated board (not available in xscpu64). (0: C64, 1: MAX)
IECReset
Integer specifying if the IEC bus resets when the CPU resets. (0: No, 1: Yes)
MemoryHack
Integer specifying what memory expansion hack is active. (0: None, 1: C64 256K, 2: PLUS60K, 3: PLUS256K)
PLUS60Kfilename
String specifying the filename of the PLUS60K RAM image.
PLUS60Kbase
Integer that specifies the base address of the PLUS60K RAM expansion. (0xD040, 0xD100)
PLUS256Kfilename
String specifying the filename of the PLUS256K RAM image.
C64_256Kfilename
String specifying the filename of the 256K RAM image.
C64_256Kbase
Integer that specifies the base address of the 256K RAM expansion. (0xDE00/0xDE80/0xDF00/0xDF80)
MachineVideoStandard
Integer that specifies the video standard of the emulated machine (4: PAL-N, 3: Old NTSC, 1: PAL, 2: NTSC).

7.1.8.2 C64 command-line options

-gluelogictype <type>
Set glue logic type (GlueLogic). (0: discrete, 1: 252535-01)
-iecreset <value>
Set IEC reset bahaviour (IECReset). (0: Do not reset with CPU reset, 1: Reset with CPU reset)
-memoryexphack <device>
Set active memory expansion hack (MemoryHack). (0: None, 1: C64 256K, 2: PLUS60K, 3: PLUS256K)
-plus60kimage <name>
Specify name of PLUS60K image (PLUS60Kfilename).
-plus60kbase <base address>
Base address of the PLUS60K expansion (PLUS60Kbase). (0xD040/0xD100)
-plus256kimage <name>
Specify name of PLUS256K image (PLUS256Kfilename).
-256kimage <name>
Specify name of 256K image (C64_256Kfilename).
-256kbase <base address>
Base address of the 256K expansion (C64_256Kbase). (0xDE00/0xDE80/0xDF00/0xDF80)
-pal
Use PAL sync factor (MachineVideoStandard=1).
-ntsc
Use NTSC sync factor (MachineVideoStandard=2).
-ntscold
Use old NTSC sync factor (MachineVideoStandard=3).
-paln
Use PAL-N sync factor (MachineVideoStandard=4).
-model <Model>
Set the C64 model (VICIIModel, CIA1Model, CIA2Model, GlueLogic, BoardType, IECReset, KernalName, ChargenName, SidEngine, SidModel) (x64 and x64sc only). (c64/c64c/c64old, ntsc/newntsc/oldntsc, drean, jap, c64gs, pet64, ultimax)

7.2 C128-specific commands and settings

7.2.1 VDC settings

7.2.1.1 VDC resources

VDC64KB
Boolean to enabled/disable full 64k video ram.
VDCRevision
Integer specifying the VDC hardware revision (0: Rev 0, 1: Rev 1, 2: Rev 2).
VDCVideoCache
Boolean specifying whether the video cache is turned on.
VDCDoubleSize
Boolean specifying whether double-size mode is turned on.
VDCDoubleScan
Boolean specifying whether double-scan mode is turned on.
VDCStretchVertical
Boolean specifying whether vertical stretching is turned on.
VDCPaletteFile
String specifying the name of the palette file being used. The `.vpl' extension is optional.
VDCExternalPalette
Boolean specifying whether to use external palette file or not.
VDCColorSaturation
Integer specifying saturation of internal calculated palette. (0..2000)
VDCColorContrast
Integer specifying contrast of internal calculated palette. (0..2000)
VDCColorBrightness
Integer specifying brightness of internal calculated palette. (0..2000)
VDCColorGamma
Integer specifying gamma of internal calculated palette. (0..4000)
VDCColorTint
Integer specifying tint of internal calculated palette. (0..2000)
VDCPALScanLineShade
Integer specifying amount of scan line shading for the CRT emulation. (0..1000)
VDCPALBlur
Integer specifying amount of horizontal blur for the CRT emulation. (0..1000)
VDCPALOddLinePhase
Integer specifying phase for color carrier in odd lines. (0..2000)
VDCPALOddLineOffset
Integer specifying phase offset for color carrier in odd lines. (0..2000)
VDCAudioLeak
Boolean specifying whether to enable/disable video to audio leak emulation.
VDCFilter
Integer specifying rendering filter (0: None, 1: CRT emulation, 2: Scale2x)

7.2.1.2 VDC command-line options

-VDCvcache
+VDCvcache
Enable/disable the video cache (VDCVideoCache=1, VDCVideoCache=0).
-VDCdsize
+VDCdsize
Enable/disable double size (VDCDoubleSize=1, VDCDoubleSize=0).
-VDCstretchvertical
+VDCstretchvertical
Enable/Disable vertical stretching (VDCStretchVertical=1, VDCStretchVertical=0).
-VDCdscan
+VDCdscan
Enable/disable double scan (VDCDoubleScan=1, VDCDoubleScan=0).
-VDCintpal
Use an internal calculated palette (VDCExternalPalette=0).
-VDCextpal
Use an external palette (file) (VDCExternalPalette=1).
-VDCpalette <name>
Specify name of file of external palette (VDCPaletteFile).
-VDCXRANDRfullmode <mode>
Select fullscreen mode
-VDCVidmodefullmode <mode>
Select fullscreen mode
-VDC16KB
Set the VDC memory size to 16KB (VDC64KB=0).
-VDC64KB
Set the VDC memory size to 64KB (VDC64KB=1).
-VDCRevision <number>
Set VDC revision (VDCRevision). (0..2)
-VDCsaturation <0-2000>
Set saturation of internal calculated palette (VDCColorSaturation).
-VDCcontrast <0-2000>
Set contrast of internal calculated palette (VDCColorContrast).
-VDCbrightness <0-2000>
Set brightness of internal calculated palette (VDCColorBrightness).
-VDCgamma <0-4000>
Set gamma of internal calculated palette (VDCColorGamma).
-VDCtint <0-2000>
Set tint of internal calculated palette (VDCColorTint).
-VDCoddlinesphase <0-2000>
Set phase for color carrier in odd lines (VDCPALOddLinePhase).
-VDCoddlinesoffset <0-2000>
Set phase offset for color carrier in odd lines (VDCPALOddLineOffset).
-VDCcrtblur <0-1000>
Amount of horizontal blur for the CRT emulation (VDCPALBlur).
-VDCcrtscanlineshade <0-1000>
Amount of scan line shading for the CRT emulation (VDCPALScanLineShade).
-VDCaudioleak
+VDCaudioleak
Enable/disable video to audio leak emulation (VDCAudioLeak=1, VDCAudioLeak=0).
-VDCfilter <Mode>
Select rendering filter (VDCFilter). (0: None, 1: CRT emulation, 2: Scale2x)

7.2.2 C128 system ROM settings

7.2.2.1 C128 system ROM resources

ChargenIntName
String specifying the filename of the international character generator ROM image.
ChargenDEName
String specifying the filename of the German character generator ROM image.
ChargenFRName
String specifying the filename of the French character generator ROM image.
ChargenSEName
String specifying the filename of the Swedish character generator ROM image.
ChargenCHName
String specifying the filename of the Swiss character generator ROM image.
KernalIntName
String specifying the filename of the international Kernal ROM image.
KernalDEName
String specifying the filename of the German Kernal ROM image.
KernalFIName
String specifying the filename of the Finnish Kernal ROM image.
KernalFRName
String specifying the filename of the French Kernal ROM image.
KernalITName
String specifying the filename of the Italian Kernal ROM image.
KernalNOName
String specifying the filename of the Norwegian Kernal ROM image.
KernalSEName
String specifying the filename of the Swedish Kernal ROM image.
KernalCHName
String specifying the filename of the Swiss Kernal ROM image.
BasicLoName
BasicHiName
Strings specifying the filename of the Basic ROM images.
Kernal64Name
String specifying the filename of the C64 Kernal ROM image.
Basic64Name
String specifying the filename of the C64 Basic ROM image.
InternalFunctionROM
Integer specifying the internal function ROM type (0: None, 1: ROM, 2: RAM, 3: RTC).
InternalFunctionName
String specifying the filename of the ROM image for the internal function ROM.
InternalFunctionROMRTCSave
Boolean to enable/disable the saving of the Internal Function RTC data when changed.
ExternalFunctionROM
Integer specifying the external function ROM type (0: None, 1: ROM, 2: RAM, 3: RTC)
ExternalFunctionName
String specifying the filename of the ROM image for the external function ROM.
ExternalFunctionROMRTCSave
Boolean to enable/disable the saving of the External Function RTC data when changed.

7.2.2.2 C128 system ROM command-line options

-basic64 <name>
Specify name of C64 mode BASIC ROM image (Basic64Name).
-kernal64 <name>
Specify name of C64 mode Kernal ROM image (Kernal64Name).
-basiclo <name>
Specify name of BASIC ROM image (lower part) (BasicLoName).
-basichi <name>
Specify name of BASIC ROM image (higher part) (BasicHiName).
-kernal <name>
Specify name of international Kernal ROM image (KernalIntName).
-kernalde <name>
Specify name of German Kernal ROM image (KernalDEName).
-kernalfi <name>
Specify name of Finnish Kernal ROM image (KernalFIName).
-kernalfr <name>
Specify name of French Kernal ROM image (KernalFRName).
-kernalit <name>
Specify name of Italian Kernal ROM image (KernalITName).
-kernalno <name>
Specify name of Norwegian Kernal ROM image (KernalNOName).
-kernalse <name>
Specify name of Swedish Kernal ROM image (KernalSEName).
-kernalch <name>
Specify name of Swiss Kernal ROM image (KernalCHName).
-chargen <name>
Specify name of international character generator ROM image (ChargenIntName).
-chargde <name>
Specify name of German character generator ROM image (ChargenDEName).
-chargfr <name>
Specify name of French character generator ROM image (ChargenFRName).
-chargse <name>
Specify name of Swedish character generator ROM image (ChargenSEName).
-chargch <name>
Specify name of Swiss character generator ROM image (ChargenCHName).
-intfunc <type>
Set the internal Function ROM type (InternalFunctionROM). (0: None, 1: ROM, 2: RAM, 3: RTC)
-intfrom <name>
Specify name of internal Function ROM image (InternalFunctionName).
-intfuncrtcsave
+intfuncrtcsave
Enable/disable the saving of the Internal Function RTC data when changed (InternalFunctionROMRTCSave=1, InternalFunctionROMRTCSave=0).
-extfunc <type>
Set the external Function ROM type (ExternalFunctionROM). (0: None, 1: ROM, 2: RAM, 3: RTC)
-extfrom <name>
Specify name of external Function ROM image (ExternalFunctionName).
-extfuncrtcsave
+extfuncrtcsave
Enable/disable the saving of the External Function RTC data when changed (ExternalFunctionROMRTCSave=1, ExternalFunctionROMRTCSave=0).

7.2.3 C128 settings

7.2.3.1 C128 resources

40/80ColumnKey
Boolean specifying the status of the 40/80 columns key. (0: Not pressed, 1: Pressed)
Go64Mode
Boolean, if true enter C64 mode on reset.
C128FullBanks
Boolean to enable/disable RAM banks 2 and 3.
MachineType
Integer specifying the C128 machine type. (0: International, 1: Finnish, 2: French, 3: German, 4: Italian, 5: Norwegian, 6: Swedish)
MachineVideoStandard
Integer that specifies the video standard of the emulated machine (1: PAL, 2: NTSC).

7.2.3.2 C128 command-line options

-40col
Activate 40 column mode (40/80ColumnKey=1).
-80col
Activate 80 column mode (40/80ColumnKey=0).
-go64
Always switch to C64 mode on reset (Go64Mode=1.
+go64
Always switch to C128 mode on reset (Go64Mode=0.
-pal
Use PAL sync factor (MachineVideoStandard=1).
-ntsc
Use NTSC sync factor (MachineVideoStandard=2).
-model <Model>
Set the C128 model (MachineVideoStandard, CIA1Model, CIA2Model, VICIINewLuminances, VDCRevision, VDC64KB, SidEngine, SidModel). (c128/c128dcr, pal/ntsc)
-c128fullbanks
+c128fullbanks
Enable/disable RAM banks 2 and 3 (C128FullBanks=1, C128FullBanks=0).
-machinetype <Type>
Set the C128 machine type (MachineType). (0: International, 1: Finnish, 2: French, 3: German, 4: Italian, 5: Norwegian, 6: Swedish)

7.3 C64DTV-specific commands and settings

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

7.3.1 C64DTV ROM image

The DTV has a 2MB Flash chip which contains the kernal, basic and character set ROMs along with other data, such as games in the case of the original C64DTV ROM.

The image file is a dump of the flash chip. It is exactly 2MB (2097152 bytes).

If you do not have a suitable image file, an image using the C64 kernal, basic and charset is automatically created.

If writing to the C64DTV ROM is enabled, the image file is rewritten with the current data when exiting x64dtv.

Note that x64dtv tries to load the image file from the C64DTV directory first, and if it isn't found there, x64dtv tries to load it from the current directory. If you do not have `dtvrom.bin' in your C64DTV directory and writing to DTV ROM is enabled, the `dtvrom.bin' file is created to the current directory.

NOTE: The original C64DTV ROM has somewhat distorted colors, normally you should use a patched rom.

-c64dtvromimage <name>
Specify filename of the C64DTV ROM image (c64dtvromfilename).
-c64dtvromrw
+c64dtvromrw
Enable/disable writing to C64DTV ROM image (c64dtvromrw=1, c64dtvromrw=0).

The trueflashfs option is analogous to True drive emulation. If disabled, any file access to the flash filesystem (device 1) will go to the local file system instead.

-trueflashfs
+trueflashfs
Enable/disable true hardware flash file system (FlashTrueFS=1, FlashTrueFS=0).
-fsflash <name>
Specify the directory for the flash file system device (FSFlashDir).

7.3.2 DTV revision

The DTV revision 2 has a bug in the Blitter. Using revision 3 is recommended. Emulation of DTV revision 2 including Blitter bug is intended for testing DTV software.

-dtvrev <revision>
Specify DTV revision (DtvRevision). (2: DTV2, 3: DTV3)

7.3.3 LumaFix

The PAL C64DTVs have wrong resistors in the video output circuit, which causes incorrect luminances. Several hardware solutions ("LumaFixes") have been developed to fix this flaw.

The fixed video output is emulated by selecting "New Luminances". The unmodified C64DTV video output can be emulated with "Old Luminances".

The default setting is "New Luminances".

7.3.4 Userport

The C64DTV userport emulation currently supports three devices: Hummer ADC, userport joystick and PS/2 mouse.

The joystick that controls either the Hummer ADC or userport joystick can be selected using the same parameter or menu option.

While using the Hummer ADC, joystick UP and DOWN are mapped to the Hummer buttons A and B respectively. LEFT and RIGHT set the ADCs output to 0 and 255. Centering the joystick results in the ADC value of 128.

Currently the Hummer ADC and userport joystick are mutually exclusive. This means that enabling one disables the other. PS/2 mouse emulation can be used simultaneously with either Hummer ADC or userport joystick.

-hummeradc
+hummeradc
Enable/Disable Hummer ADC (HummerADC=1, HummerADC=0).
-ps2mouse
+ps2mouse
Enable/disable PS/2 mouse on userport (ps2mouse=1, ps2mouse=0).

7.3.5 Debug

Debugging information on Blitter, DMA and Flash can be enabled with command line parameters. This can be useful for DTV software development.

-dtvblitterlog
+dtvblitterlog
Enable or disable DTV Blitter log
-dtvdmalog
+dtvdmalog
Enable or disable DTV DMA log
-dtvflashlog
+dtvflashlog
Enable or disable DTV Flash log

7.3.6 Monitor DTV features

Currently the registers A, Y and X are registers R0, R1 and R2 regardless of the mapping, which can be seen and modified via the registers ACM and XYM.

The monitor can access all 2MB of RAM and 2MB of Flash, but only 64 kB at a time. The 64kB bank can be selected with "bank ram00".."ram1f" for RAM and "bank rom00".."rom1f" for Flash.

The "load" command can load large files (>64kB) correctly if the bank is set to "ramXX", where XX is the starting bank (usually "bank00").

7.3.7 DTV resources

DtvRevision
Integer specifying the emulated DTV revision. (2: DTV2, 3: DTV3)
ChargenName
String specifying the name of the character generator ROM (default `chargen').
KernalName
String specifying the name of the Kernal ROM (default `kernal').
BasicName
String specifying the name of the Basic ROM (default `basic').
c64dtvromfilename
String specifying the filename of the DTV Flash ROM image.
c64dtvromrw
Boolean that specifies whether the emulated Flash ROM is writeable.
FSFlashDir
String specifying the working directory for the flash file system.
FlashTrueFS
Boolean, enables true hardware flash file system.
HummerADC
Boolean to enable/disable the Hummer ADC emulation.
ps2mouse
Boolean to enable/disable PS/2 Mouse emulation.
DtvBlitterLog
Boolean, enables Blitter logging.
DtvDMALog
Boolean, enables DMA logging.
DtvFlashLog
Boolean, enables Flash ROM logging.
MachineVideoStandard
Integer that specifies the video standard of the emulated machine. (1: PAL, 2: NTSC)

7.3.8 DTV command-line options

-model <Model>
Set the DTV model (MachineVideoStandard, DtvRevision, HummerADC). (v2/v2pal/v2ntsc, v3/v3pal/v3ntsc, hummer)
-pal
Use PAL sync factor (MachineVideoStandard=1).
-ntsc
Use NTSC sync factor (MachineVideoStandard=2).
-chargen <name>
Specify filename of the character generator ROM file (ChargenName).
-kernal <name>
Specify filename of the Kernal ROM file (KernalName).
-basic <name>
Specify the filename of the Basic ROM file (BasicName).

7.4 SCPU64-specific commands and settings

7.4.1 SCPU64 resources

ChargenName
String specifying the name of the character generator ROM (default `chargen').
SCPU64Name
String specifying the name of the SCPU64 ROM (default `scpu64').
MachineVideoStandard
Integer that specifies the video standard of the emulated machine (4: PAL-N, 3: Old NTSC, 1: PAL, 2: NTSC).
IECReset
Integer specifying if the IEC bus resets when the CPU resets. (0: No, 1: Yes)
BurstMod
Integer specifying the kind of Burst-Mode modification. (0: None, 1: CIA-1, 2: CIA-2)
SIMMSize
Integer specifying the size of the SIMM RAM. (0, 1, 4, 8, 16)
JiffySwitch
Boolean to enable/disable the jiffy switch.
SpeedSwitch
Boolean to enable/disable the speed switch.
GlueLogic
Integer specifying the type of emulated glue-logic. (0: discrete, 1: custom IC)

7.4.2 SCPU64 command-line options

-chargen <name>
Specify filename of the character generator ROM file (ChargenName).
-scpu64 <Name>
Specify filename of the SCPU64 ROM file (SCPU64Name).
-model <Model>
Set the C64 model (MachineVideoStandard, CIA1Model, CIA2Model, VICIINewLuminances, IECReset, ChargenName, SidEngine, SidModel). (c64/c64c/c64old, ntsc/newntsc/oldntsc, drean, jap, c64gs)
-pal
Use PAL sync factor (MachineVideoStandard=1).
-ntsc
Use NTSC sync factor (MachineVideoStandard=2).
-ntscold
Use old NTSC sync factor (MachineVideoStandard=3).
-paln
Use PAL-N sync factor (MachineVideoStandard=4).
-iecreset <value>
Set IEC reset bahaviour (IECReset). (0: Do not reset with CPU reset, 1: Reset with CPU reset)
-burstmod <value>
Set the kind of burst modification. This emulates the fast serial bus connection as described at http://www.cs.tut.fi/~albert/Dev/burst/, with the wire to the tape port cut (BurstMod). (0: None, 1: CIA-1, 2: CIA-2)
-simmsize <number>
Set the size of the SIMM RAM (SIMMSize). (0, 1, 4, 8, 16)
-jiffyswitch
+jiffyswitch
Enable/disable the jiffy switch (JiffySwitch=1, JiffySwitch=0).
-speedswitch
+speedswitch
Enable/disable the speed switch (SpeedSwitch=1, SpeedSwitch=0).
-gluelogictype <type>
Set glue logic type (GlueLogic). (0: discrete, 1: 252535-01)

7.5 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.5.1 Using cartridge images

As with the C64 (see section 7.1.1 Using cartridges), 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.

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.

7.5.2 VIC20 cartridge settings

7.5.2.1 VIC20 cartridge resources

CartridgeReset
Boolean specifying whether the machine should be reset when a cartridge is changed.
CartridgeType
Integer specifying the type of cartridge emulated. The following cartridge types are valid:
CartridgeFile
String specifying the filename of the image for the current cartridge.
IOCollisionHandling
Integer specifying the way the I/O collisions should be handled. (0: error message and detach all involved carts, 1: error message and detach last attached involved carts, 2: warning in log and 'AND' the valid return values)
GenericCartridgeFile2000
GenericCartridgeFile4000
GenericCartridgeFile6000
GenericCartridgeFileA000
GenericCartridgeFileB000
Strings specifying the name of the respective cartridge ROM images.
FinalExpansionWriteBack
Boolean, if true write back the Flash ROM image file automatically, incase the contents changed, when detaching or quitting the emulator.
VicFlashPluginWriteBack
Boolean, if true write back the Flash ROM image file automatically, incase the contents changed, when detaching or quitting the emulator.
MegaCartNvRAMfilename
String specifying the filename of the MegaCart NvRAM image.
MegaCartNvRAMWriteBack
Boolean, if true write back the NvRAM image file automatically, incase the RAM contents changed, when detaching or quitting the emulator.
UltiMemWriteBack
Boolean, if true write back the Flash ROM image file automatically, incase the contents changed, when detaching or quitting the emulator.
IO2RAM
Boolean specifying whether the I/O-2 ($9800-$9BFF) RAM cartridge should be emulated or not.
IO3RAM
Boolean specifying whether the I/O-3 ($9C00-$9FFF) RAM cartridge should be emulated or not.
TFEIOSwap
Boolean, swap/don't swap io mapping (map cart I/O to VIC20 I/O-2)
SFXSoundExpander
Boolean specifying whether the SFX Sound Expander should be emulated or not.
SFXSoundExpanderChip
Integer specifying which YM chip is emulated. (3526, 3812)
SFXSoundExpanderIOSwap
Boolean, swap io mapping (map cart I/O to VIC20 I/O-2) or don't swap io mapping (map cart I/O to VIC20 I/O-3).
SFXSoundSampler
Boolean specifying whether the SFX Sound Sampler should be emulated or not.
SFXSoundSamplerIOSwap
Boolean, swap io mapping (map cart I/O to VIC20 I/O-2) or don't swap io mapping (map cart I/O to VIC20 I/O-3).
GEORAMfilename
String specifying the filename of the GEORAM image.
GEORAM
Boolean specifying whether the GEO-RAM cartridge (using the MasC=uerade cartridge adapter) should be emulated or not.
GEORAMsize
Integer specifying the size of the emulated GEO-RAM in KB. (64, 128, 256, 512, 1024, 2048, 4096).
GEORAMImageWrite
Boolean, if true write back the GEO-RAM image file automatically, incase the RAM contents changed, when detaching or quitting the emulator.
GEORAMIOSwap
Boolean specifying whether the io mapping should be swapped (map cart I/O-1 to VIC20 I/O-3 and cart I/O-2 to VIC20 I/O-2) or not (map cart I/O-2 to VIC20 I/O-2 and cart I/O-2 to VIC20 I/O-3).
SidCart
Boolean specifying whether SID-Cart emulation is enabled or not.
SidAddress
Integer that specifies the base address of the emulated SID chip. (0x9800, 0x9C00)
SidClock
Integer specifying the clock rate used for the emulated SID chip (0: C64, 1: VIC20)
DIGIMAX
Boolean specifying whether the DigiMAX cartridge (using the MasC=uerade cartridge adapter) should be emulated or not.
DIGIMAXbase
Integer specifying the DigiMAX base address. (0x9800, 0x9820, 0x9840, 0x9860, 0x9880, 0x98A0, 0x98C0, 0x98E0, 0x9C00, 0x9C20, 0x9C40, 0x9C60, 0x9C80, 0x9CA0, 0x9CC0, 0x9CE0)
DS12C887RTC
Boolean specifying whether the DS12C887 RTC cartridge (using the MasC=uerade cartridge adapter) should be emulated or not.
DS12C887RTCbase
Integer specifying the DS12C887 RTC base address. (0x9800, 0x9C00)
DS12C887RTCRunMode
Boolean specifying whether the DS12C887 RTC cartridge starts out running or halted. (0: halted, 1: running)
DS12C887RTCSave
Boolean specifying whether the DS12C887 RTC data should be saved when changed or not.
IEEE488
Boolean specifying whether the IEEE488 interface should be emulated or not.
MachineVideoStandard
Integer that specifies the video standard of the emulated machine (1: PAL, 2: NTSC).

7.5.2.2 VIC20 cartridge command-line options

-iocollision <method>
Select the way the I/O collisions should be handled (IOCollisionHandling). (0: error message and detach all involved carts, 1: error message and detach last attached involved carts, 2: warning in log and 'AND' the valid return values
-cartreset
+cartreset
Do/don't reset machine if a cartridge is attached or detached (CartridgeReset=1, CartridgeReset).
-cart2 <name>
Specify 4/8/16K extension ROM name at $2000
-cart4 <name>
Specify 4/8/16K extension ROM name at $4000
-cart6 <name>
Specify 4/8/16K extension ROM name at $6000
-cartA <name>
Specify 4/8K extension ROM name at $A000
-cartB <name>
Specify 4K extension ROM name at $B000
-cartgeneric <name>
Specify generic extension ROM name
-cartmega <name>
Specify Mega-Cart extension ROM name
-mcnvramfile <name>
Set Mega-Cart NvRAM filename (MegaCartNvRAMfilename).
-mcnvramwriteback
+mcnvramwriteback
Enable/Disable Mega-Cart NvRAM writeback (MegaCartNvRAMWriteBack=1, MegaCartNvRAMWriteBack=0).
-cartfe <name>
Specify Final Expansion extension ROM name
-fewriteback
+fewriteback
Enable/disable Final Expansion write back to ROM file (FinalExpansionWriteBack=1, FinalExpansionWriteBack=0).
-cartfp <name>
Specify Vic Flash Plugin extension ROM name
-fpwriteback
+fpwriteback
Enable/Disable Vic Flash Plugin write back to ROM file (VicFlashPluginWriteBack=1, VicFlashPluginWriteBack=0).
-umwriteback
+umwriteback
Enable/disable UltiMem write back to ROM file (UltiMemWriteBack=1, UltiMemWriteBack=0).
-io2ram
+io2ram
Enable/disable the I/O-2 ($9800-$9BFF) RAM cartridge (IO2RAM=1, IO2RAM=0).
-io3ram
+io3ram
Enable/disable the I/O-3 ($9C00-$9FFF) RAM cartridge (IO3RAM=1, IO3RAM=0).
-ieee488
+ieee488
Enable/disable VIC-1112 IEEE488 interface (IEEE488=1, IEEE488=0).
-sidcart
+sidcart
Enable/disable SID Cartridge (SidCart=1, SidCart=0).
-sidcartaddress <address>
Specify address of the SID Cartridge (SidAddress). (0x9800, 0x9C00)
-sidcartclock <clock>
Specify clock of the SID Cartridge (SidClock). (0: C64, 1: VIC20)
-tfeioswap
+tfeioswap
Swap/don't swap io mapping (map cart I/O to VIC20 I/O-2)
-tfe
+tfe
Enable/Disable the TFE ("The Final Ethernet") unit
-tfeif <name>
Set the system ethernet interface for TFE emulation
-tferrnet
+tferrnet
Enable/Disable RRNet mode of TFE emulation
-digimax
+digimax
Enable/disable the DigiMAX cartridge (using the MasC=uerade cartridge adapter) (DIGIMAX=1, DIGIMAX=0).
-digimaxbase <base address>
Base address of the DigiMAX cartridge (DIGIMAXbase). (0x9800, 0x9820, 0x9840, 0x9860, 0x9880, 0x98A0, 0x98C0, 0x98E0, 0x9C00, 0x9C20, 0x9C40, 0x9C60, 0x9C80, 0x9CA0, 0x9CC0, 0x9CE0)
-ds12c887rtc
+ds12c887rtc
Enable/disable the DS12C887 RTC cartridge (using the MasC=uerade cartridge adapter) (DS12C887RTC=1, DS12C887RTC=0).
-ds12c887rtcbase <base address>
Base address of the DS12C887 RTC cartridge (DS12C887RTCbase). (0x9800, 0x9C00)
-ds12c887rtchalted
Set the DS12C887 RTC oscillator to 'halted' (DS12C887RTCRunMode=0).
+ds12c887rtcrunning
Set the DS12C887 RTC oscillator to 'running' (DS12C887RTCRunMode=1).
-ds12c887rtcsave
+ds12c887rtcsave
Enable/disable saving of the DS12C887 RTC data when changed (DS12C887RTCSave=1, DS12C887RTCSave=0).
-sfxse
+sfxse
Enable/disable the SFX soundexpander cartridge (using the MasC=uerade cartridge adapter) (SFXSoundExpander=1, SFXSoundExpander=0).
-sfxsetype <type>
Set YM chip type (SFXSoundExpanderChip). (3526, 3812)
-sfxseioswap
Swap io mapping (map cart I/O to VIC20 I/O-2) (SFXSoundExpanderIOSwap=1).
+sfxseioswap
Swap io mapping (map cart I/O to VIC20 I/O-3) (SFXSoundExpanderIOSwap=0).
-sfxssioswap
Swap io mapping (map cart I/O to VIC20 I/O-2) (SFXSoundSamplerIOSwap=1).
+sfxssioswap
Don't swap io mapping (map cart I/O to VIC20 I/O-3) (SFXSoundSamplerIOSwap=0).
-sfxss
+sfxss
Enable/disable the SFX Sound Sampler cartridge (SFXSoundSampler=1, SFXSoundSampler=0).
-georamioswap
Swap the io mapping (map cart I/O-1 to VIC20 I/O-3 and cart I/O-2 to VIC20 I/O-2) (GEORAMIOSwap=1).
+georamioswap
Do not swap the io mapping (map cart I/O-2 to VIC20 I/O-2 and cart I/O-2 to VIC20 I/O-3) (GEORAMIOSwap=0).
-georam
+georam
Enable/disable the GEORAM expansion unit (using the MasC=uerade cartridge adapter) (GEORAM=1, GEORAM=0).
-georamimage <name>
Specify name of GEORAM image (GEORAMfilename).
-georamimagerw
+georamimagerw
Allow/disallow writing to GEORAM image (GEORAMImageWrite=1, GEORAMImageWrite=0).
-georamsize <size in KB>
Size of the GEORAM expansion unit (GEORAMsize). (64, 128, 256, 512, 1024, 2048, 4096)
-model <model>
Specify the VIC20 model you want to emulate (MachineVideoStandard, RamBlock0, RamBlock1, RamBlock2, RamBlock3 and RamBlock5). (vic20/vic20pal/vic20ntsc, vic21)
-pal
Use PAL sync factor (MachineVideoStandard=1).
-ntsc
Use NTSC sync factor (MachineVideoStandard=2).

7.5.3 VIC settings

7.5.3.1 VIC resources

VICVideoCache
Boolean specifying whether the video cache is turned on.
VICDoubleSize
Boolean specifying whether double-size mode is turned on.
VICDoubleScan
Boolean specifying whether double-scan mode is turned on.
VICPaletteFile
String specifying the name of the palette file being used. The `.vpl' extension is optional.
VICExternalPalette
Boolean specifying whether to use external palette file or not.
VICColorSaturation
Integer specifying saturation of internal calculated palette. (0..2000)
VICColorContrast
Integer specifying contrast of internal calculated palette, (0..2000)
VICColorBrightness
Integer specifying brightness of internal calculated palette. (0..2000)
VICColorGamma
Integer specifying gamma of internal calculated palette. (0..4000)
VICColorTint
Integer specifying tint of internal calculated palette. (0..2000)
VICPALScanLineShade
Integer specifying amount of scan line shading for the CRT emulation. (0..1000)
VICPALBlur
Integer specifying amount of horizontal blur for the CRT emulation. (0..1000)
VICPALOddLinePhase
Integer specifying phase for color carrier in odd lines. (0..2000)
VICPALOddLineOffset
Integer specifying phase offset for color carrier in odd lines. (0..2000)
VICAudioLeak
Boolean specifying whether to enable/disable video to audio leak emulation.
VICFilter
Integer specifying the rendering filter. (0: None, 1: CRT emulation, 2: Scale2x)
VICBorderMode
Integer specifying border display mode (0: normal, 1: full, 2: debug, 3: none)

7.5.3.2 VIC command-line options

-VICvcache
+VICvcache
Enable/disable the video cache (VICVideoCache=1, VICVideoCache=0).
-VICdsize
+VICdsize
Enable/disable the double size mode (VICDoubleSize=1, VICDoubleSize=0).
-VICdscan
+VICdscan
Enable/disable the double scan mode (VICDoubleScan=1, VICDoubleScan=0).
-VICfilter <Mode>
Select rendering filter (VICFilter). (0: None, 1: CRT emulation, 2: Scale2x)
-VICpalette NAME
Specify the name of the palette file (VICPaletteFile).
-VICintpal
Use an internal calculated palette (VICExternalPalette=0).
-VICextpal
Use an external palette (file) (VICExternalPalette=1).
-VICXRANDRfullmode <mode>
Select fullscreen mode
-VICVidmodefullmode <mode>
Select fullscreen mode
-VICborders <mode>
Set VIC border display mode (VICBorderMode). (0: normal, 1: full, 2: debug, 3: none)
-VICsaturation <0-2000>
Set saturation of internal calculated palette (VICColorSaturation).
-VICcontrast <0-2000>
Set contrast of internal calculated palette (VICColorContrast).
-VICbrightness <0-2000>
Set brightness of internal calculated palette (VICColorBrightness).
-VICgamma <0-4000>
Set gamma of internal calculated palette (VICColorGamma).
-VICtint <0-2000>
Set tint of internal calculated palette (VICColorTint).
-VICoddlinesphase <0-2000>
Set phase for color carrier in odd lines (VICPALOddLinePhase).
-VICoddlinesoffset <0-2000>
Set phase offset for color carrier in odd lines. (VICPALOddLineOffset).
-VICcrtblur <0-1000>
Amount of horizontal blur for the CRT emulation (VICPALBlur).
-VICcrtscanlineshade <0-1000>
Amount of scan line shading for the CRT emulation (VICPALScanLineShade).
-VICaudioleak
+VICaudioleak
Enable/disable video to audio leak emulation (VICAudioLeak=1, VICAudioLeak=0).

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

7.5.4.1 VIC20 memory configuration resources

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

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

7.5.5 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.5.5.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.5.5.2 VIC20 system ROM command-line options

-kernal <name>
Specify the filename of the Kernal ROM file (KernalName).
-basic <name>
Specify the filename of the Basic ROM file (BasicName).
-chargen <name>
Specify the filename of 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).

7.5.6 VIC20 settings

7.5.6.1 VIC20 command-line options

7.6 PLUS4-specific commands and settings

7.6.1 TED settings

7.6.1.1 TED resources

TEDVideoCache
Boolean specifying whether the video cache is turned on.
TEDDoubleSize
Boolean specifying whether double-size mode is turned on.
TEDDoubleScan
Boolean specifying whether double-scan mode is turned on.
TEDPaletteFile
String specifying the name of the palette file being used. The `.vpl' extension is optional.
TEDExternalPalette
Boolean specifying whether to use external palette file or not.
TEDColorSaturation
Integer specifying saturation of internal calculated palette. (0..2000)
TEDColorContrast
Integer specifying contrast of internal calculated palette. (0..2000)
TEDColorBrightness
Integer specifying brightness of internal calculated palette. (0..2000)
TEDColorGamma
Integer specifying gamma of internal calculated palette. (0..4000)
TEDColorTint
Integer specifying tint of internal calculated palette. (0..2000)
TEDPALScanLineShade
Integer specifying amount of scan line shading for the CRT emulation. (0..1000)
TEDPALBlur
Integer specifying amount of horizontal blur for the CRT emulation. (0..1000)
TEDPALOddLinePhase
Integer specifying phase for color carrier in odd lines. (0..2000)
TEDPALOddLineOffset
Integer specifying phase offset for color carrier in odd lines. (0..2000)
TEDAudioLeak
Boolean specifying whether to enable/disable video to audio leak emulation.
TEDFilter
Integer specifying rendering filter. (0: None, 1: CRT emulation, 2: Scale2x)
TEDBorderMode
Integer specifying border display mode. (0: normal, 1: full, 2: debug, 3: none)

7.6.1.2 TED command-line options

-TEDvcache
+TEDvcache
Enable/disable the video cache (TEDVideoCache=1, TEDVideoCache=0).
-TEDdsize
+TEDdsize
Enable/disable double size (TEDDoubleSize=1, TEDDoubleSize=0).
-TEDdscan
+TEDdscan
Enable/disable double scan (TEDDoubleScan=1, TEDDoubleScan=0).
-TEDfilter <Mode>
Select rendering filter (TEDFilter). (0: None, 1: CRT emulation, 2: Scale2x)
-TEDintpal
Use an internal calculated palette (TEDExternalPalette=0).
-TEDextpal
Use an external palette (file) (TEDExternalPalette=1).
-TEDpalette <name>
Specify name of the external palette file (TEDPaletteFile).
-TEDXRANDRfullmode <mode>
Select fullscreen mode
-TEDVidmodefullmode <mode>
Select fullscreen mode
-TEDborders <mode>
Set TED border display mode (TEDBorderMode). (0: normal, 1: full, 2: debug, 3: none)
-TEDsaturation <0-2000>
Set saturation of internal calculated palette (TEDColorSaturation).
-TEDcontrast <0-2000>
Set contrast of internal calculated palette (TEDColorContrast).
-TEDbrightness <0-2000>
Set brightness of internal calculated palette (TEDColorBrightness).
-TEDgamma <0-4000>
Set gamma of internal calculated palette (TEDColorGamma).
-TEDtint <0-2000>
Set tint of internal calculated palette (TEDColorTint).
-TEDoddlinesphase <0-2000>
Set phase for color carrier in odd lines (TEDPALOddLinePhase).
-TEDoddlinesoffset <0-2000>
Set phase offset for color carrier in odd lines (TEDPALOddLineOffset).
-TEDcrtblur <0-1000>
Amount of horizontal blur for the CRT emulation (TEDPALBlur).
-TEDcrtscanlineshade <0-1000>
Amount of scan line shading for the CRT emulation (TEDPALScanLineShade).
-TEDaudioleak
+TEDaudioleak
Enable/disable video to audio leak emulation (TEDAudioLeak=1, TEDAudioLeak=0).

7.6.2 PLUS4 I/O extension settings

7.6.2.1 PLUS4 I/O extension resources

CartridgeReset
Boolean specifying whether the machine should be reset when a cartridge is changed.
DIGIBLASTER
Boolean to enable/disable the Digiblaster emulation.
SpeechEnabled
Boolean to enable/disable the emulation of the V364 speech chip.
SpeechImage
String specifying the filename of the speech ROM image.
SidCart
Boolean specifying whether SID-Cart emulation is enabled or not.
SidAddress
Integer that specifies the base address of the emulated SID chip. (0xFD40, 0xFE80)
SidClock
Integer specifying the clock rate used for the emulated SID chip (0: C64, 1: Plus4)
SIDCartJoy
Boolean to enable/disable the emulation of the SID-Cart control port.

7.6.2.2 PLUS4 I/O extension command-line options

-cartreset
+cartreset
Do/don't reset machine if a cartridge is attached or detached (CartridgeReset=1, CartridgeReset).
-cart <Name>
Smart-attach cartridge image
+cart
Disable default cartridge
-digiblaster
+digiblaster
Enable/disable the digiblaster add-on (DIGIBLASTER=1, DIGIBLASTER=0).
-sidcart
+sidcart
Enable/disable SID Cartridge (SidCart=1, SidCart=0).
-sidcartjoy
+sidcartjoy
Enable/disable SID cartridge control port (SIDCartJoy=1, SIDCartJoy=0).
-sidcartaddress <address>
Specify address of the SID Cartridge (SidAddress). (0xFD40, 0xFE80)
-sidcartclock <clock>
Specify clock of the SID Cartridge (SidClock). (0: C64, 1: Plus4)
-speech
+speech
Enable/Disable the v364 speech add-on (SpeechEnabled=1, SpeechEnabled=0).
-speechrom <name>
Attach Speech ROM image (SpeechImage, SpeechEnabled).

7.6.3 PLUS4 system ROM settings

7.6.3.1 PLUS4 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').
FunctionLowName
String specifying the filename of the Lo Function ROM.
FunctionHighName
String specifying the filename of the High Function ROM.
c1loName
String specifying the filename of cartridge 1 Lo ROM.
c1hiName
String specifying the filename of cartridge 1 High ROM.
c2loName
String specifying the filename of cartridge 2 Lo ROM.
c2hiName
String specifying the filename of cartridge 2 High ROM.

7.6.3.2 PLUS4 system ROM command-line options

-kernal <Name>
Specify name of the Kernal ROM image (KernalName).
-basic <Name>
Specify name of the BASIC ROM image (BasicName).
-functionlo <name>
Specify name of Function low ROM image (FunctionLowName).
-functionhi <name>
Specify name of Function high ROM image (FunctionHighName).
-c1lo <name>
Specify name of Cartridge 1 low ROM image (c1loName).
-c1hi <name>
Specify name of Cartridge 1 high ROM image (c1HiName).
-c2lo <name>
Specify name of Cartridge 2 low ROM image (c2loName).
-c2hi <name>
Specify name of Cartridge 2 high ROM image (c2HiName).

7.6.4 PLUS4 settings

7.6.4.1 PLUS4 resources

MachineVideoStandard
Integer that specifies the video standard of the emulated machine (1: PAL, 2: NTSC).
RamSize
Integer specifying the size of the memory in kByte. (16, 32, 64)
MemoryHack
Integer specifying what memory expansion hack is active. (0: None, 1: C256K, 2: H256K, 3: H1024K, 4: H4096K)
Acia1Enable
Boolean specifying whether the ACIA should be emulated or not.

7.6.4.2 PLUS4 command-line options

-model <model>
Specify the PLUS4 model you want to emulate (MachineVideoStandard, RamSize, KernalName, BasicName, FunctionLowName, FunctionHighName, Acia1Enable, SpeechImage, SpeechEnabled). (c16/c16pal/c16ntsc, plus4/plus4pal/plus4ntsc, v364/cv364, c232)
-pal
Use PAL sync factor (MachineVideoStandard=1).
-ntsc
Use NTSC sync factor (MachineVideoStandard=2).
-ramsize <ramsize>
Specify size of RAM installed in kb (RamSize). (16, 32, 64)
-memoryexphack <device>
Set active memory expansion hack (MemoryHack). (0: None, 1: C256K, 2: H256K, 3: H1024K, 4: H4096K)
-acia
+acia
Enable/Disable the ACIA emulation

7.7 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.7.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):

RamSize
Integer specifying the size of the memory in kByte. 96k denotes a 8096, 128k a 8296. (4, 8, 16, 32, 96, 128)
IOSize
Integer specifying the size of the I/O area in Bytes for the 8296 model. (256, 2048)
VideoSize
Integer specifying the number of columns on the screen. (0: Automatic from ROM, 40: 40 columns, 80: 80 columns)
Ram9
Boolean specifying if the 8296 can map RAM into the address range $9*** or not.
RamA
Boolean specifying if the 8296 can map RAM into the address range $A*** or not.
SuperPET
Boolean that enables/disables the SuperPET (MicroMainFrame 9000) I/O and 6809 CPU, and disables/enables the 8x96 mappings.
Basic1
Boolean to enable/disable the patching of a version 1 kernal ROM to make the IEEE488 interface work.
Basic1Chars
Boolean to enable/disable the exchanges of some characters in the character ROM that have changed between the first PET 2001 and all newer versions.
EoiBlank
Boolean to enable/disable the "blank screen on EOI" feature of the oldest PET 2001.
DiagPin
Boolean to enable/disable the diagnostic pin on the PET userport (see below).
ChargenName
String specifying the name of the character generator ROM (default `chargen').
KernalName
String specifying the name of the Kernal ROM (default `kernal4').
BasicName
String specifying the name of the Basic ROM (default `basic4').
EditorName
String specifying the filename of the editor ROM file. This file contains an overlay for the editor ROM at $E000-$E7FF if necessary.
RomModule9Name
String specifying the filename for the $9*** Expansion ROM file. This file contains an expansion ROM image of 4k.
RomModuleAName
String specifying the filename for the $A*** Expansion ROM file. This file contains an expansion ROM image of 4k.
RomModuleBName
String specifying the filename for 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:

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.7.2 CRTC Settings

7.7.2.1 CRTC resources

Crtc
Boolean specifying whether to enable/disable CRTC 6545 emulation (all models from 40xx and above).
CrtcVideoCache
Boolean specifying whether the video cache is turned on.
CrtcDoubleSize
Boolean specifying whether double-size mode is turned on.
CrtcDoubleScan
Boolean specifying whether double-scan mode is turned on.
CrtcStretchVertical
Boolean specifying whether vertical stretching is turned on.
CrtcPaletteFile
String specifying the name of the palette file being used. The `.vpl' extension is optional.
CrtcExternalPalette
Boolean specifying whether to use external palette file or not.
CrtcColorSaturation
Integer specifying saturation of internal calculated palette. (0..2000)
CrtcColorContrast
Integer specifying contrast of internal calculated palette. (0..2000)
CrtcColorBrightness
Integer specifying brightness of internal calculated palette. (0..2000)
CrtcColorGamma
Integer specifying gamma of internal calculated palette. (0..4000)
CrtcColorTint
Integer specifying tint of internal calculated palette. (0..2000)
CrtcPALScanLineShade
Integer specifying amount of scan line shading for the CRT emulation. (0..1000)
CrtcPALBlur
Integer specifying amount of horizontal blur for the CRT emulation. (0..1000)
CrtcPALOddLinePhase
Integer specifying phase for color carrier in odd lines (0..2000)
CrtcPALOddLineOffset
Integer specifying phase offset for color carrier in odd lines. (0..2000)
CrtcAudioLeak
Boolean specifying whether to enable/disable video to audio leak emulation.
CrtcFilter
Integer specifying rendering filter. (0: None, 2: CRT emulation, 3: Scale2x)

7.7.2.2 CRTC command-line options

-crtc
+crtc
Enable/disable the 6545 CRTC emulation (Crtc=1, Crtc=0).
-Crtcvcache
+Crtcvcache
Enable/disable the video cache (CrtcVideoCache=1, CrtcVideoCache=0).
-Crtcdsize
+Crtcdsize
Enable/disable double size (CrtcDoubleSize=1, CrtcDoubleSize=0).
-CRTCstretchvertical
+CRTCstretchvertical
Enable/disable vertical stretching (CrtcStretchVertical=1, CrtcStretchVertical=0).
-Crtcdscan
+Crtcdscan
Enable/disable double scan (CrtcDoubleScan=1, CrtcDoubleScan=0).
-Crtcfilter <Mode>
Select rendering filter (CrtcFilter). (0: None, 2: CRT emulation, 3: Scale2x)
-Crtcintpal
Use an internal calculated palette (CrtcExternalPalette=0).
-Crtcextpal
Use an external palette (file) (CrtcExternalPalette=1).
-Crtcpalette <name>
Specify the name of the palette file (CrtcPaletteFile).
-CrtcVidmodefullmode <mode>
Select fullscreen mode
-Crtcsaturation <0-2000>
Set saturation of internal calculated palette (CrtcColorSaturation).
-Crtccontrast <0-2000>
Set contrast of internal calculated palette (CrtcColorContrast).
-Crtcbrightness <0-2000>
Set brightness of internal calculated palette (CrtcColorBrightness).
-Crtcgamma <0-4000>
Set gamma of internal calculated palette (CrtcColorGamma).
-Crtctint <0-2000>
Set tint of internal calculated palette (CrtcColorTint).
-Crtcoddlinesphase <0-2000>
Set phase for color carrier in odd lines (CrtcPALOddLinePhase).
-Crtcoddlinesoffset <0-2000>
Set phase offset for color carrier in odd lines (CrtcPALOddLineOffset).
-Crtccrtblur <0-1000>
Amount of horizontal blur for the CRT emulation (CrtcPALBlur).
-Crtccrtscanlineshade <0-1000>
Amount of scan line shading for the CRT emulation (CrtcPALScanLineShade).
-Crtcaudioleak
+Crtcaudioleak
Enable/disable video to audio leak emulation (CrtcAudioLeak=1, CrtcAudioLeak=0).

7.7.3 PET I/O extension settings

7.7.3.1 PET I/O extension resources

PETREU
Boolean specifying whether PET REU emulation is enabled or not.
PETREUfilename
String specifying the filename of the PET REU image.
PETREUsize
Integer specifying the size of the emulated PET REU in KB. (128, 512, 1024, 2048)
PETDWW
Boolean specifying whether DWW emulation is enabled or not.
PETDWWfilename
String specifying the filename of the DWW image RAM image.
PETHRE
Boolean specifying whether HRE emulation is enabled or not.
PETColour
Integer selecting the colour extension. (0: off, 1: RGBI, 2: Analog)
PETColourBG
Iteger specifying the analog colour background on PET 4032. (0..255)
UserportDAC
Boolean specifying whether userport DAC emulation is enabled.
SidCart
Boolean specifying whether SID Cart emulation is enabled or not.
SidAddress
Integer that specifies the base address of the emulated SID chip. (0x8F00, 0xE900)
SidClock
Integer specifying the clock rate used for the emulated SID chip. (0: C64, 1: PET)

7.7.3.2 PET I/O extension command-line options

-petreu
+petreu
Enable/disable the PET Memory Expansion Unit (PETREU=1, PETREU=0).
-petreuimage <name>
Specify name of PET Ram and Expansion Unit image (PETREUfilename).
-petreuramsize <size in KB>
Size of the PET Ram and Expansion Unit (PETREUsize). (128, 512, 1024, 2048)
-userportdac
+userportdac
Enable/disable the userport DAC (UserportDAC=1, UserportDAC=0).
-petdww
+petdww
Enable/disable the PET DWW hi-res board (30xx models only) (PETDWW=1, PETDWW=0).
-petdwwimage <name>
Specify name of PET DWW RAM image (PETDWWfilename).
-pethre
+pethre
Enable/disable the PET HRE extension (model 8296 only) (PETHRE=1, PETHRE=0).
-colour-rgbi
Enable the RGBI colour extension to PET 4032 (PETColour=1).
-colour-analog
Enable the analog colour extension to PET 4032 (PETColour=2).
-colour-analog-bg <Colour 0-255>
Select the analog colour background on PET 4032 (PETColourBG).
-sidcart
+sidcart
Enable/disable the SID Cartridge (SidCart=1, SidCart=0).
-sidcartaddress <address>
Specify address of the SID Cartridge (SidAddress). (0x8F00, 0xE900)
-sidcartclock <clock>
Specify clock of the SID Cartridge (SidClock). (0: C64, 1: PET)

7.7.4 PET system ROM settings

7.7.4.1 PET system ROM resources

H6809RomAName
H6809RomBName
H6809RomCName
H6809RomDName
H6809RomEName
H6809RomFName
Strings specifying the filenames of the respective H6809 ROM images, relevant for the SuperPET.

7.7.4.2 PET system ROM command-line options

-kernal <name>
Specify filename of the Kernal ROM file (KernalName).
-basic <name>
Specify filename of the BASIC ROM file (BasicName).
-editor NAME
Specify the filename for the editor ROM file (EditorName).
-chargen <name>
Specify filename of the character generator ROM file (ChargenName).
-rom9 <name>
Specify the filename for the ROM image file for the $9*** cartridge area (RomModule9Name).
-romA <name>
Specify the filename for the ROM image file for the $A*** cartridge area (RomModuleAName).
-romB <name>
Specify the filename for the ROM image file for the $B*** cartridge area (RomModuleBName).
-6809romA <Name>
Specify 4K to 24K ROM file name at $A000 for 6809 (H6809RomAName).
-6809romB <Name>
Specify 4K to 20K ROM file name at $B000 for 6809 (H6809RomBName).
-6809romC <Name>
Specify 4K to 16K ROM file name at $C000 for 6809 (H6809RomCName).
-6809romD <Name>
Specify 4K to 12K ROM file name at $D000 for 6809 (H6809RomDName).
-6809romE <Name>
Specify 2K or 8K ROM file name at $E000 for 6809 (H6809RomEName).
-6809romF <Name>
Specify 4K ROM file name at $F000 for 6809 (H6809RomFName).

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

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

7.7.6 PET settings

7.7.6.1 PET resources

MachineVideoStandard
Integer that specifies the video standard of the emulated machine (1: PAL, 2: NTSC).
CPUswitch
Integer specifying the status of the SuperPET CPU switch (0: 6502, 1: 6809, 2: Prog.)

7.7.6.2 PET command line options

These are the commandline options specific for the PET models.

-pal
Use PAL sync factor (MachineVideoStandard=1).
-ntsc
Use NTSC sync factor (MachineVideoStandard=2).
-model <model>
Specify the PET model you want to emulate (Basic1, Basic1Chars, ChargenName, KernalName, BasicName, EditorName, RomModule9Name, RomModuleAName, RomModuleBName, H6809RomAName, H6809RomBName, H6809RomCName, H6809RomDName, H6809RomEName, H6809RomFName). (2001, 3008, 3016, 3032, 3032B, 4016, 4032, 4032B, 8032, 8096, 8296, SuperPET)
-iosize <size>
Specify size of I/O in Bytes (IOSize). (256, 2048)
-ramsize <size>
Specify size of RAM in KB (RamSize). (8, 16, 32, 96, 128)
-videosize <size>
Specify video size (VideoSize). (0: Automatic from ROM, 40: 40 columns, 80: 80 columns)
-petram9
+petram9
Switch on/off RAM mapping at address $9000-$9FFF (Ram9=1, Ram9=0).
-petramA
+petramA
Switch on/off RAM mapping at address $A000-$AFFF (RamA=1, RamA=0).
-superpet
+superpet
Enable/disable SuperPET I/O and CPU emulation (SuperPET).
-cpu6502
Set SuperPET CPU switch to '6502' (CPUswitch=0).
-cpu6809
Set SuperPET CPU switch to '6809' (CPUswitch=1).
-cpuprog
Set SuperPET CPU switch to 'Prog' (CPUswitch=2).
-basic1
+basic1
Enable/disable patching the IEEE488 section of the PET2001 ROM when detected (Basic1=1, Basic1=0).
-basic1char
+basic1char
Enable/disable PET 2001 character generator (Basic1Chars=1, Basic1Chars=0).
-eoiblank
+eoiblank
Enable/disable EOI blanking the screen (EoiBlank=1, EoiBlank=0).
-diagpin
+diagpin
Enable/disable the diagnostic pin at the PET userport (DiagPin=1. DiagPin=0).

7.7.7 Colour PET

The Colour PET is a simple extension by Steve Gray http://www.6502.org/users/sjgray/projects/colourpet/. It exploits the similarities and differences between the 4032 and 8032 models, to use memory at $8800 as colour RAM.

There are two versions of the extension:

with digital colour (RGBI), which can select 16 foreground and 16 background colours for each character cell. The 8 colour bits are used as RGBI RGBI, with the most significant bits for the background, and the least significant bits for the foreground.

With analog colour, which can use 256 foreground colours for each character cell, the 8 colour bits are used as RRR GGG BB.

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

7.7.9 DWW high resolution grapics

The DWW, or Double-W (1), board is a high resolution graphics board for PET models 30xx. It attaches to the internal expansion connector. It would not physically fit in 20xx, 40xx or 80xx models because their connectors are physically and logically different. Apart from this, it requires address space at $EC00-$EFFF, which makes it unfit to work in 40xx and 80xx models, which have only 256 bytes of I/O space at $E800.

The DWW board consists of 8 KB of RAM and a PIA to control various options. The RAM can be mapped either linearly at $9000-$AFFF, or bank-switched in 8 banks of 8 KB each at $EC00-$EFFF.

It seems that in the demo programs, the BASIC versions like to POKE in 60200, where the machine language programs use $EB00. @verbatim 60200 Port A or DDR A $EB28 $EBx0 1 0 \ 2 1 - RAM block at $EC00 (0-7) 4 2 / 8 3 charrom 0 = off 1 = on 16 4 hires 0 = on 1 = off 32 5 extra charrom 0 = on 1 = off

60201 Control Register A: bit #3 (worth 4) controls if 60200 $EBx1 accesses the Data Direction Register A (0) or Port A (1).

60202 Port B or DDR B $EBx2 0 = RAM is visible from $9000 - $AFFF 1 = RAM is bank-switched in blocks of 1 K in $EC00 - $EFFF

[Control Register B is never mentioned, so putting 1 in this address would access the DDR, creating an output line, which after RESET is default 0...]

Typical initialisation sequence: @verbatim poke 60201,0 poke 60200,255 (all outputs) poke 60201,4 poke 60200,24 or 25 (16 + 8 + 1)

Demo programs on disk PBE-110A, 110B, 111A, and 111B. (PBE = PET Benelux Exchange, the Dutch PET user group)

The memory mapping is a bit strange. It seems each 1 K block contains the pixeldata for 1 bit-line of each text line. This is probably so that the addressing of the RAM can borrow part of the addressing logic/signals of the text screen. (The screen addressing cycles through 0-39, then increases the line (= byte offset) which is fetched from the character ROM; for the graphics, the screen position selects the byte in a KB and the char ROM offset selects which KB of graphics RAM).

My notes say: to set a pixel: @verbatim RE = INT(Y/8): LY = Y - 8*RE (or Y AND 7) BY = INT(X/8): BI = X - 8*BY (or X AND 7)

when memory mapped to $9000: @verbatim L = 36864 + 1024 * LY + 40 * RE + BY POKE L, PEEK(L) OR 2^BI

when memory mapped to $EC00: @verbatim POKE 60200,LY + 40 (or 8?) L = 60416 + RE * 40 + BY POKE L, PEEK(L) OR 2^BI

Unfortunately there is no logical means of expanding the memory to 16 K, so even in a 80 columns PET the resolution will be the same.

7.7.10 HRE high resolution grapics

This information comes from Michal Pleban, http://www.cbm-ii.com.

This is a short information about the HRE (HiRes Emulator) graphics board for PET 8296. This is a small board that is installed on the mainboard into sockets for the CRTC and character ROM. It adds the ability to display 512x256 graphics on the built-in monitor.

The board is accompanied with two extension ROMs:

The ROMs are initialized by the command SYS 36864.

After that, the computer recognizes additional BASIC commands like DISPLAY, PLOT and so on; these commands are identical to those of the HiRes Graphics boards based on Thomson chips. All BASIC programs written for the HRG boards should also work on the HRE (albeit much slower).

Upon initialization, the ROM code writes some routines into expansion RAM as $8800 - they are used to manipulate the bitmap data. The actual bitmap is located in expansion RAM at addresses $A000-$DFFF, and is organized linearly (first 64 bytes form the first display line, then comes the next line and so on).

The RAM is accessed for reading by writing the value #$83 into $E888. This is a register in the CRTC memory space that is intercepted by the board and serves as a latch to drive jumpers on the 8296D mainboard. Because the ROMs are banked out this way, all video memory manipulation must happen with interrupts disabled. Normal ROM operation is restored by writing #$0F into $E888.

As usual with the 8296, the RAM can also be written even when the ROMs are mapped normally.

The board is initialized into graphics mode by modifying the following values in CRTC registers (it is done by the routine located at $8C1A):

The last value causes the board to switch into graphics mode; former values set up propoer screen dimensions for 512x256 display.

7.8 CBM-II-specific commands and settings

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

7.8.1 Changing CBM-II model

With xcbm2 and xcbm5x0, 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):

RamSize
Size of memory in kByte. xcbm2: (128, 256, 512, 1024) xcbm5x0: (64, 128, 256, 512, 1024)
Ram08
Boolean specifying whether the RAM should be mapped to the expansion ROM area at $0800-$0FFF or not.
Ram1
Boolean specifying whether the RAM should be mapped to the expansion ROM area at $1000-$1FFF or not.
Ram2
Boolean specifying whether the RAM should be mapped to the expansion ROM area at $2000-$3FFF or not.
Ram4
Boolean specifying whether the RAM should be mapped to the expansion ROM area at $4000-$5FFF or not.
Ram6
Boolean specifying whether the RAM should be mapped to the expansion ROM area at $6000-$7FFF or not.
RamC
Boolean specifying whether the RAM should be mapped to the expansion ROM area at $C000-$CFFF or not.
CartridgeReset
Boolean specifying whether the machine should be reset when a cartridge is changed.
Cart1Name
String specifying the filename for the $1000-$1FFF expansion ROM file. This file contains an 8k ROM dump.
Cart2Name
String specifying the filename for the $2000-$3FFF expansion ROM file. This file contains an 8k ROM dump.
Cart4Name
String specifying the filename for the $4000-$5FFF expansion ROM file. This file contains an 8k ROM dump.
Cart6Name
String specifying the filename for the $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. xcbm2: (0: CBM 7x0 (50Hz), 1: 60Hz C6x0, 2: 50Hz C6x0) xcbm5x0: (1: 60Hz C5x0, 2: 50Hz C5x0)
ChargenName
String specifying the name of the character generator ROM (default for xcbm2: `chargen.600', default for xcbm5x0: `chargen.500').
KernalName
String specifying the name of the Kernal ROM (default for xcbm2: `kernal', default for xcbm5x0: `kernal.500').
BasicName
String specifying the name of the Basic ROM (default for xcbm2: `basic.128', default for xcbm5x0: `basic.500').
MachineVideoStandard
Integer that specifies the video standard of the emulated machine (1: PAL, 2: NTSC).

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:

Notice that this will reset the emulated machine.

Warning: At this time the 5x0 and other machines are implemented in different executables, so switching between those models is not possible.

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.

7.8.2 CBM-II system ROM settings

7.8.2.1 CBM-II system ROM resources

7.8.2.2 CBM-II system ROM command line options

-kernal <name>
Specify the name of the Kernal ROM file (KernalName).
-basic <name>
Specify the name of the Basic ROM file (BasicName).
-chargen <name>
Specify the filename for the character generator ROM file (ChargenName).
+cart
Disable all cartridges (which would eventually be enabled in the config file).
-cartreset
+cartreset
Reset/do not reset machine if a cartridge is attached or detached (CartridgeReset=1, CartridgeReset=0).
-cart1 <name>
Specify the filename for the ROM image file for the cartridge area $1000-$1FFF (Cart1Name).
-cart2 <name>
Specify the filename for the ROM image file for the cartridge area $2000-$2FFF (Cart2Name).
-cart4 <name>
Specify the filename for the ROM image file for the cartridge area $4000-$5FFF (Cart4Name).
-cart6 <name>
Specify the filename for the ROM image file for the cartridge area $6000-$7FFF (Cart6Name).

7.8.3 CBM-II command line options

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

-pal
Use PAL sync factor (MachineVideoStandard=1).
-ntsc
Use NTSC sync factor (MachineVideoStandard=2).
-ramsize <ramsize>
Specify size of RAM (RamSize). xcbm2: (128, 256, 512, 1024) xcbm5x0: (64, 128, 256, 512, 1024)
-ram08
+ram08
Enable/disable RAM mapping in bank 15 at address $0800-$0FFF (Ram08=1, Ram08=0).
-ram1
+ram1
Enable/disable RAM mapping in bank 15 at address $1000-$1FFF (Ram1=1, Ram1=0).
-ram2
+ram2
Enable/disable RAM mapping in bank 15 at address $2000-$3FFF (Ram2=1, Ram2=0).
-ram4
+ram4
Enable/disable RAM mapping in bank 15 at address $4000-$5FFF (Ram4=1, Ram4=0).
-ram6
+ram6
Enable/disable RAM mapping in bank 15 at address $6000-$7FFF (Ram6=1, Ram6=0).
-ramC
+ramC
Enable/disable RAM mapping in bank 15 at address $C000-$CFFF (RamC=1, RamC=0).
-model <modelnumber>
Specify CBM-II model to emulate (ModelLine, MachineVideoStandard, RamSize, KernalName, BasicName, ChargenName). xcbm2: (610, 620, 620+, 710, 720, 720+) xcbm5x0: (510)

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

7.9 VSID-specific commands and settings

7.9.1 VSID settings

7.9.1.1 VSID resources

PSIDKeepEnv
Boolean that specifies whether to override PSID settings for Video standard and SID model.
PSIDTune
Integer that specifies the currently played sub tune.
ChargenName
String specifying the name of the character generator ROM (default `chargen').
KernalName
String specifying the name of the Kernal ROM (default `kernal').
BasicName
String specifying the name of the Basic ROM (default `basic').
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.
MachineVideoStandard
Integer that specifies the video standard of the emulated machine (4: PAL-N, 3: Old NTSC, 1: PAL, 2: NTSC).

7.9.1.2 VSID command-line options

-keepenv
Override PSID settings for Video standard and SID model (PSIDKeepEnv=1).
-tune <number>
Specify PSID tune <number> (PSIDTune).
-chargen <name>
Specify name of character generator ROM image (ChargenName).
-kernal <name>
Specify name of the Kernal ROM image (KernalName).
-basic <name>
Specify name of the Basic ROM image (BasicName).
-pal
Use PAL sync factor (MachineVideoStandard=1).
-ntsc
Use NTSC sync factor (MachineVideoStandard=2).
-ntscold
Use old NTSC sync factor (MachineVideoStandard=3).
-paln
Use PAL-N sync factor (MachineVideoStandard=4).


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