mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-01 00:27:20 -05:00
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:
1 parent
fc9c6d232e
commit
63daab1f5e
1 file changed
+50
-42
+50
-42
@@ -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/
|
||||
|
||||
Reference in new issue
Block a user