Vice Arguments - cressie176/Load64 GitHub Wiki

1. Overview

               ┌───────────────────────┐
               │                       │
               │  LaunchConfiguration  │
               │                       │
               └───────────────────────┘
                          ┼
                          ○
                          │
                          ○
                         ╱│╲
┌─────────────────────────────────────────────────────┐
│                                                     │
│                    ViceArgument                     │
│                                                     │
├─────────────────────────────────────────────────────┤
│ id: integer [pk]                                    │
│ profile_id: integer [fk, required(1)]               │
│ launch_configuration_id: integer [fk, required(1)]  │
│ name: text [required]                               │
│ value: text                                         │
└─────────────────────────────────────────────────────┘
                         ╲│╱
                          ○
                          │
                          ○
                          ┼
          ┌───────────────────────────────┐
          │                               │
          │            Profile            │
          │                               │
          └───────────────────────────────┘

A ViceArgument defines a VICE command line argument to be passed when launching a game. Arguments can be defined on a Profile or directly on a LaunchConfiguration — exactly one of profile_id or launch_configuration_id must be set (check constraint).

Arguments consist of a name (e.g. "-autostart-warp") and an optional value. When a game is launched, arguments are merged from all sources in priority order.

2. Tables

ViceArgument

Exactly one of profile_id or launch_configuration_id must be set (check constraint).

Field Type PK FK Nullable Unique Description
id integer yes Surrogate primary key.
profile_id integer Profile.id yes The profile this argument belongs to. Null if owned by a launch configuration.
launch_configuration_id integer LaunchConfiguration.id yes The launch configuration this argument belongs to. Null if owned by a profile.
name text The VICE argument name (e.g. "-autostart-warp", "+confirmonexit").
value text yes The argument value, if any.

3. Merging

VICE arguments are assembled from all applicable sources with the following priority (highest first):

  1. Computed arguments — generated at launch time from game properties (colour_encoding, true_drive_emulation). Always take precedence and cannot be overridden. See Games for the full mapping.
  2. The game's launch configuration — arguments defined directly on the game.
  3. Referenced profiles — applied in order; later profiles override earlier ones where arguments conflict.
  4. The default profile — applied only if the launch configuration references no explicit profiles.

Arguments from higher priority sources override those from lower priority sources.

4. Example

vice_argument

id profile_id launch_configuration_id name value
1 1 null -autostart-warp
2 1 null +confirmonexit
3 null 1 -sidmodel 8580

Rows 1 and 2 are defined on the default profile and apply to all games. Row 3 sets a game-specific SID model.

⚠️ **GitHub.com Fallback** ⚠️