docs: cite c64-emu vendored vice paths in full

26 VICE-relative citations resolved in the VICE mirror once upstream_commit moved. They describe the tree vendored under C64.emu/src/vice and now name it, read at 1c12fac. upstream_commit to 2e2a43e.
This commit is contained in:
Abdessamad Derraz committed 2026-10-24 04:07:43 +02:00
1 parent fc9c6d232e
commit 63daab1f5e
1 file changed
+50 -42
+50 -42
View File
@@ -5,7 +5,7 @@ source: "https://github.com/Rakashazi/emu-ex-plus-alpha"
upstream: "https://github.com/VICE-Team/svn-mirror"
profiled_date: "2026-08-11"
source_commit: "1c12fac5ce49badaadff2e2f210dcc30b89f4943"
upstream_commit: "283fa5e7df83bdf524187f9dac41ad2a66f1d315"
upstream_commit: "2e2a43e0c4803203446a0ea41980bd86f61d2e1f"
core_version: "1.5.85"
display_name: "Commodore - C64 (C64.emu)"
mode: standalone
@@ -39,21 +39,23 @@ notes: |
Ten machines are built as separate shared libraries
(C64.emu/src/CMakeLists.txt:535-683): c64, c64sc, scpu64, c64dtv, c128, vic,
pet, plus4, cbm2, cbm5x0. Each opens its files under the VICE machine
directory named by its own machine_name (c64/c64.c:179, c128/c128.c:240,
vic20/vic20.c:144, plus4/plus4.c:131, pet/pet.c:128, cbm2/cbm2.c:131,
cbm2/cbm5x0.c:122, scpu64/scpu64.c:157, c64dtv/c64dtv.c:129), so c64 and c64sc
share C64/ and cbm2 and cbm5x0 share CBM-II/. Drive ROMs live in DRIVES/
(drive/driverom.c:104,174).
directory named by its own machine_name (C64.emu/src/vice/c64/c64.c:179,
C64.emu/src/vice/c128/c128.c:240, C64.emu/src/vice/vic20/vic20.c:144,
C64.emu/src/vice/plus4/plus4.c:131, C64.emu/src/vice/pet/pet.c:128,
C64.emu/src/vice/cbm2/cbm2.c:131, C64.emu/src/vice/cbm2/cbm5x0.c:122,
C64.emu/src/vice/scpu64/scpu64.c:157, C64.emu/src/vice/c64dtv/c64dtv.c:129),
so c64 and c64sc share C64/ and cbm2 and cbm5x0 share CBM-II/. Drive ROMs live
in DRIVES/ (C64.emu/src/vice/drive/driverom.c:104,174).
Nothing is embedded. The app implements sysfile_open, sysfile_locate and
sysfile_load itself (C64.emu/src/main/sysfile.cc:218-355) over a user-set
path that may be a directory or a ZIP archive, and that path is rejected
unless it carries a DRIVES folder (C64.emu/src/main/sysfile.cc:140-151). On
Linux two fallbacks follow it, ~/.local/share/C64.emu and
/usr/share/games/vice (C64.emu/src/main/Main.cc:91-95). A last fallback reads
the application bundle (C64.emu/src/main/sysfile.cc:107-119,252-259), which
supplies only the eight keymaps below (C64.emu/res/android/assets symlinks
C64.emu/res/vice, and each machine directory there holds one file).
sysfile_load itself (C64.emu/src/main/sysfile.cc:218-355) over a user-set path
that may be a directory or a ZIP archive, and that path is rejected unless it
carries a DRIVES folder (C64.emu/src/main/sysfile.cc:140-151). On Linux two
fallbacks follow it, ~/.local/share/C64.emu and /usr/share/games/vice
(C64.emu/src/main/Main.cc:91-95). A last fallback reads the application bundle
(C64.emu/src/main/sysfile.cc:107-119,252-259), which supplies only the eight
keymaps below (C64.emu/res/android/assets symlinks C64.emu/res/vice, and each
machine directory there holds one file).
Missing ROMs stop the app rather than degrading it: initC64 throws when the
path is unset, and again with the name of the first file that failed once
@@ -62,63 +64,69 @@ notes: |
All fourteen C64 models are offered (C64.emu/src/main/VicePlugin.cc:66-79), so
every kernal revision and both chargens are reachable. The MAX Machine model
loads nothing: c64rom.c:222-224 matches the kernal-none.bin name and zeroes
the ROM area instead of calling sysfile_load.
loads nothing: C64.emu/src/vice/c64/c64rom.c:222-224 matches the
kernal-none.bin name and zeroes the ROM area instead of calling sysfile_load.
C128 is the one machine that needs its whole language set present. mem_load
runs c128rom_check_res_file over both BASIC halves, all eight kernal
resources, all eight chargen resources, Kernal64 and Basic64, and returns -1
if any one of them cannot be located (c128/c128rom.c:762-806). Only the
selected variant is then read. MachineType stays at C128_MACHINE_INT
(c128/c128-resources.c:684) because no reachable code writes it, so the
Danish, Norwegian and Swedish kernal64 variants of c128rom.h:111-113 are never
named.
if any one of them cannot be located
(C64.emu/src/vice/c128/c128rom.c:762-806). Only the selected variant is then
read. MachineType stays at C128_MACHINE_INT
(C64.emu/src/vice/c128/c128-resources.c:684) because no reachable code writes
it, so the Danish, Norwegian and Swedish kernal64 variants of
C64.emu/src/vice/c128/c128rom.h:111-113 are never named.
Drive ROMs are optional in the strict sense: iec_drive_rom_load,
ieee_drive_rom_load, tcbm_drive_rom_load and iec128dcr_drive_rom_load return
void, and driverom_load logs the miss and disables the units of that type
(drive/driverom.c:186-196,131-144). Default unit 8 is a 1541-II on C64, SCPU64
and DTV (c64/c64drive.c:43), a 1571CR on C128 (c128/c128drive.c:56), a 1540 on
VIC-20 (vic20/vic20drive.c:44), a 1551 on Plus/4 (plus4/plus4drive.c:46) and a
2031 on PET and CBM-II (pet/petdrive.c:42, cbm2/cbm2drive.c:42).
(C64.emu/src/vice/drive/driverom.c:186-196,131-144). Default unit 8 is a
1541-II on C64, SCPU64 and DTV (C64.emu/src/vice/c64/c64drive.c:43), a 1571CR
on C128 (C64.emu/src/vice/c128/c128drive.c:56), a 1540 on VIC-20
(C64.emu/src/vice/vic20/vic20drive.c:44), a 1551 on Plus/4
(C64.emu/src/vice/plus4/plus4drive.c:46) and a 2031 on PET and CBM-II
(C64.emu/src/vice/pet/petdrive.c:42, C64.emu/src/vice/cbm2/cbm2drive.c:42).
Sizes come from the min and max arguments of each sysfile_load call. The
loader accepts a file two bytes over its maximum by dropping the leading load
address, pads a short file to the top of the buffer, and truncates anything
longer with a warning (C64.emu/src/main/sysfile.cc:30-71).
SHA-1s are those hardcoded in c64/c64rom.h:88-96. c64rom.c:120-131 hashes the
loaded kernal and matches that table to identify the revision, and an unmatched
image is reported and accepted. VICE distributes C128/kernal64-901227-03.bin
and C128/basic64-901226-01.bin with the same bytes as the C64 Rev 3 kernal and
SHA-1s are those hardcoded in C64.emu/src/vice/c64/c64rom.h:88-96.
C64.emu/src/vice/c64/c64rom.c:120-131 hashes the loaded kernal and matches
that table to identify the revision, and an unmatched image is reported and
accepted. VICE distributes C128/kernal64-901227-03.bin and
C128/basic64-901226-01.bin with the same bytes as the C64 Rev 3 kernal and
BASIC, so those two entries carry the same hashes.
Palettes are read only after the user enables an external palette: the
${CHIP}ExternalPalette resource is registered with factory value 0 and
${CHIP}PaletteFile with the chip's default name
(video/video-resources.c:393-398,916-923). The app lists every .vpl in the
machine directory and sets both resources
(C64.emu/src/vice/video/video-resources.c:393-398,916-923). The app lists
every .vpl in the machine directory and sets both resources
(C64.emu/src/main/EmuMenuViews.cc:186,1058,1074-1083,
C64.emu/src/main/options.cc:38-51). Only the code-named default of each chip
is listed here, and palette_load appends the .vpl extension itself
(palette.c:228-248).
(C64.emu/src/vice/palette.c:228-248).
Keymaps are named from KBD_PORT_PREFIX, which the app sets to gtk3
(C64.emu/src/config/kbd.h:7). keymap_init runs inside init_main and the lookup
falls back to <prefix>_sym.vkm (keymap.c:1249-1270,1386-1392), the file the
app bundles for each machine directory. Host-layout and keyboard-type variants
extend the name and are not enumerated here.
falls back to <prefix>_sym.vkm
(C64.emu/src/vice/keymap.c:1249-1270,1386-1392), the file the app bundles for
each machine directory. Host-layout and keyboard-type variants extend the name
and are not enumerated here.
Four subsystems are compiled but cannot reach their files. Printer ROMs and
the PRINTER/ palettes load from drv_mps803_open and drv_nl10_open, which
require Printer4, Printer5 or Printer6 to leave PRINTER_DEVICE_NONE
(printerdrv/interface-serial.c:145-149). The app writes no printer resource,
and neither main.c nor initcmdline.c is compiled, so the resource file and the
command line that would set one do not exist. Romset .vrs files, the monitor
command file and joystick .vjm maps have no default name at all
(joyport/joystick.c:2212) and no menu that supplies one. vice/arch is outside
the build, so the CBM font, icon and hotkey lookups of archdep_cbmfont.c,
archdep_icon_path.c and hotkeys/parser.c are never linked.
(C64.emu/src/vice/printerdrv/interface-serial.c:145-149). The app writes no
printer resource, and neither main.c nor initcmdline.c is compiled, so the
resource file and the command line that would set one do not exist. Romset
.vrs files, the monitor command file and joystick .vjm maps have no default
name at all (C64.emu/src/vice/joyport/joystick.c:2212) and no menu that
supplies one. vice/arch is outside the build, so the CBM font, icon and hotkey
lookups of archdep_cbmfont.c, archdep_icon_path.c and hotkeys/parser.c are
never linked.
files:
# ---------------------------------------------------------------- C64/