Systems - cressie176/Load64 GitHub Wiki

1. Overview

┌───────────────────────────────────┐                 ┌───────────────────────────────┐
│                                   │╲               ╱│                               │
│              System               │──┼────────────○─│             Game              │
│                                   │╱               ╲│                               │
├───────────────────────────────────┤                 └───────────────────────────────┘
│ id: integer [pk]                  │
│ name: systems [unique, required]  │
│ binary: text                      │
└───────────────────────────────────┘

A system represents a specific Commodore platform (e.g. C64, C128) and the VICE binary used to emulate it. Games are associated with a system to determine which emulator binary is launched. The name field is constrained to the systems enumeration of supported platform identifiers.

2. Tables

System

Field Type PK FK Nullable Unique Description
id integer yes Surrogate primary key.
name systems yes System identifier (e.g. "c64", "c128").
binary text yes Path to the VICE binary for this platform (e.g. "/usr/bin/x64sc").

3. Example

system

id name binary
1 c64 /usr/bin/x64sc
2 c128 /usr/bin/x128

4. Binary Auto-Discovery

When the user provides a path to a VICE application in General Settings, LoadC64 attempts to auto-discover binaries for all supported systems (see below) rather than requiring each to be configured manually

Value Name VICE Binary
c64 Commodore 64 x64sc
c64dtv C64 Direct-to-TV x64dtv
c128 Commodore 128 x128
vic20 VIC-20 xvic
plus4 Commodore Plus/4 xplus4
pet Commodore PET xpet
cbm2 Commodore CBM-II xcbm2
cbm5x0 Commodore CBM 5x0 xcbm5x0
scpu64 SuperCPU 64 xscpu64
⚠️ **GitHub.com Fallback** ⚠️