Next: , Previous: , Up: VIC20-specific commands and settings   [Contents][Index]


7.5.1 Using cartridge images

As with the C64 (see 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 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 16KiB image. Vice can attach such concatenated files at the start address $2000, $4000, and $6000. The second half of such an image is moved to the memory block following the first block. It is also possible to concatenate four 8KiB files, the resulting file will load into all 4 cartridge blocks.

If you encounter 16KiB images that have the second half at eg $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. Alternatively you can create a 32KiB file with padding blocks in between.

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:

  • - 1: None
  • 1: Generic
  • 2: Megacart
  • 3: Final Expansion
  • 4: Vic Flash Plugin
  • 5: IEEE-4888
  • 6: SIDCart
  • 7: Ultimem
  • 8: IO ram cart (IO2)
  • 9: IO ram cart (IO3)
  • 10: BehrBonz
  • 0x8000: Auto Detect
  • 0x8002: 4KiB at $2000-$2FFF
  • 0x8003: 8KiB at $2000-$3FFF
  • 0x8004: 4KiB at $6000-$6FFF
  • 0x8005: 8KiB at $6000-$7FFF
  • 0x8006: 4KiB at $A000-$AFFF
  • 0x8007: 8KiB at $A000-$BFFF
  • 0x8008: 4KiB at $B000-$BFFF
  • 0x8009: 8KiB at $4000-$5FFF
  • 0x800A: 4KiB at $4000-$4FFF
  • 0x8013: 16KiB at $2000-$5FFF
  • 0x8015: 16KiB at $6000-$9FFF
  • 0x8019: 16KiB at $4000-$7FFF
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.

VFLImod

Boolean specifying whether the VFLI modification should be enabled.

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 KiB. (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/16KiB extension ROM name at $2000

-cart4 <name>

Specify 4/8/16KiB extension ROM name at $4000

-cart6 <name>

Specify 4/8/16KiB extension ROM name at $6000

-cartA <name>

Specify 4/8KiB extension ROM name at $A000

-cartB <name>

Specify 4KiB extension ROM name at $B000

-cartgeneric <name>

Specify generic extension ROM name

-cartbb <name>

Specify Behr-Bonz 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).

-ultimem <name>

Specify Ultimem extension ROM name

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

-vflimod
+vflimod

Enable/disable VIC-20 VFLI modification (VFLImod=1, VFLImod=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)

-cs8900ioif <name>

Set the system ethernet interface for Ethernet Cartridge emulation

-ethernetcart
+ethernetcart

Disable/Enable the Ethernet Cartridge (TFE/RR-Net/64NIC/FB-NET)

-ethernetcartmode <Mode>

Mode of Ethernet Cartridge (0: TFE, 1: RR-Net)

-ethernetcartbase <Base address>

Base address of the Ethernet Cartridge. (0x9800, 0x9810, 0x9820, 0x9830, 0x9840, 0x9850, 0x9860, 0x9870, 0x9880, 0x9890, 0x98A0, 0x98B0, 0x98C0, 0x98D0, 0x98E0, 0x98F0, 0x9C00, 0x9C10, 0x9C20, 0x9C30, 0x9C40, 0x9C50, 0x9C60, 0x9C70, 0x9C80, 0x9C90, 0x9CA0, 0x9CB0, 0x9CC0, 0x9CD0, 0x9CE0, 0x9CF0)

-tfe

Enable the Ethernet Cartridge in TFE ("The Final Ethernet") compatible mode and set default I/O address

-rrnet

Enable the Ethernet Cartridge in RR-Net compatible mode and set default I/O address

-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 KiB>

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

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


Next: Changing memory configuration, Previous: VIC20-specific commands and settings, Up: VIC20-specific commands and settings   [Contents][Index]