VICE (SDL2)
VICE (SDL2) emulates Commodore C64, Commodore C64 DTV, Commodore C128 and 4 more systems. It reads 3 files, none of them required: it starts games without them.
The app reads its files from this folder:
<folder of the VICE executables>/
The SDL build has no per-user data folder on Windows. Its data directory is the executable's folder.
Source: vice/, vice/
$XDG_DATA_HOME/vice/DRIVES/
~/.local/share/vice when XDG_DATA_HOME is unset. A bundled build reads its installed data from Contents/share/vice beside the executable.
Source: vice/, vice/
$XDG_DATA_HOME/vice/DRIVES/
~/.local/share/vice when XDG_DATA_HOME is unset. First directory of the search path, before the executable's directory and the installed data directory.
Source: vice/, vice/
About this profile
Install this emulator's files
With ROCKNIX: the installer finds ROCKNIX and its BIOS folder, then downloads only the files VICE (SDL2) reads there and checks each one.
Open a terminal on the device. Or connect from a computer with SSH, a terminal over the network. Paste the line. Press Enter.
curl -fsSL https://raw.githubusercontent.com/Abdess/retrobios/main/install.sh | sh -s -- --emulator vice-standaloneTechnical notes
VICE 3.8 with the SDL2 user interface. ROCKNIX builds the 3.8 release tarball with --enable-sdl2ui and --enable-gtk3ui=no (ROCKNIX projects/ROCKNIX/packages/emulators/standalone/vice-sa/package.mk:5-13). The tarball's sources are svn trunk r44900, where the version moved to 3.8, apart from the generated vicedate.h. make install builds every emulator (x64, x64sc, x64dtv, xscpu64, x128, xvic, xpet, xplus4, xcbm2, xcbm5x0, vsid) and copies the SDL2 set of each data directory to $(datadir)/vice (vice/configure.ac:3464, vice/data/C64/Makefile.am:102-104, vice/data/DRIVES/Makefile.am:3, vice/data/PRINTER/Makefile.am:3). Every file below with bundled set is part of that set.
A system file is looked up as <dir>/<MACHINE>/<name>, or under DRIVES or PRINTER, in each directory of the search path in turn: $XDG_DATA_HOME/vice on Linux and macOS, then the executable's directory, then the installed data directory. The Directory resource or -directory replaces the list, $$ standing for the default one. A name not found there is tried as ./<name> (vice/src/arch/shared/archdep_default_sysfile_pathlist.c:79-139, vice/src/sysfile.c:56-149, vice/src/sysfile.c:245-271). sysfile_load refuses a file shorter than the size its caller asks, drops the first two bytes of a file two bytes too long and truncates a longer one (vice/src/sysfile.c:287-307).
Each machine loads the ROMs its resources name in mem_load at startup. A failed load stops machine initialisation and VICE exits (vice/src/init.c:288-291, vice/src/main.c:418-420). x128 loads its international and seven national Kernal and character ROMs every time, so all of them are required. The other ROMs are read when a machine model or a ROM resource selects them. A drive ROM is read for the drive types in use, and a missing one turns hardware-level emulation of that drive type off (vice/src/drive/driverom.c:96-116). xscpu64 also refuses an SCPU64 ROM whose size is not a power of two (vice/src/scpu64/scpu64rom.c:80-81). The SDL menu font is read from the machine's character ROM, or from the Plus/4 Kernal (vice/src/arch/sdl/x64sc_ui.c:282, vice/src/arch/sdl/xplus4_ui.c:263, vice/src/arch/sdl/uifonts.c:133-140).
A palette file is read when the chip's ExternalPalette resource is on. Otherwise, or when the file is missing, the palette is computed (vice/src/video/video-color.c:930-955). The keymap is sdl_sym.vkm or sdl_pos.vkm, with the host layout appended and, on the PET, the emulated keyboard type inserted. A keymap without that form is read as a user keymap (vice/src/keymap.c:1251-1280).
Installed files no code opens by their name: the .vrs romset files, read only through -romsetfile, the monitor symbol files c64mem.sym and scpu64mem.sym, the sdl_joymap_*.vjm files, which JoyMapFile opens with no machine subdirectory (vice/src/joyport/joystick.c:2141), and chargen-325167-01.bin, edit-4-40-b-60Hz.ts.bin, edit-4-40-n-60Hz.901499-01.bin, edit-4-80-b-50Hz.901474-04.bin, edit-4-80-b-60Hz.901474-03.bin, edit-4-b-noCRTC.901474-02.bin, hre-9000.324992-02.bin, hre-a000.324993-02.bin and 3022-901472-06.bin, which only a romset file or a ROM name resource set by the user reaches (vice/src/c128/c128rom.h:80, vice/src/pet/petrom.h:64-73).
ROCKNIX launches x128, x64sc, xplus4 and xvic with -joymenucontrol, after writing sdl-hotkeys-<MACHINE>.vhk and sdl-joymap-<MACHINE>.vjm to /storage/.config/vice when they are missing (ROCKNIX projects/ROCKNIX/packages/emulators/standalone/vice-sa/scripts/start_vice.sh:9-85).
3 files: 0 required, 3 optional. 319 more files come with the app.
VICE (SDL2) reads more files than one page holds: each entry below links to its card, on 2 pages: 1, 2.
Optional
Section titled “Optional”| File |
|---|
DRIVES/dos2000-cs-33cc6f.bin |
DRIVES/dos4000-fd-350022.bin |
DRIVES/bootromCMDHD-v2-80.bin |
Comes with the app
Section titled “Comes with the app”In this collection: 1 in repo and 2 missing.
Next steps
Section titled “Next steps”- Get your files, for the setup you play on
- Every system, and the files each one needs
- When a game does not start