Next: Changing memory configuration, Previous: VIC20-specific commands and settings, 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:

- 4 or 8 KiB cartridges located at $2000;
- 4 or 8 KiB cartridges located at $4000;
- 4 or 8 KiB cartridges located at $6000;
- 4 or 8 KiB cartridges located at $A000;
- 4 KiB cartridges located at $B000.

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]