mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-10 21:43:23 -05:00
feat: reprofile linapple against its restructured tree
LinApple 3.0.0 moved every ROM out of hand-written byte arrays into res/roms/*.rom, which scripts/generate_roms.sh compiles into EmbeddedRoms.cpp behind an ENABLE_ROM_* macro. The bytes survived the move: every hash this profile recorded against the old string literals matches the image that replaced it. The macros are what matters. ENABLE_ROM_CLONE_BASE64A, ENABLE_ROM_CLONE_PRAVETS and ENABLE_ROM_CLONE_TK3000E are OFF in the default build, so Base64A, Pravets 82/8M/8C and TK-3000 //e refuse to start: mem_initialize finds no rom_data, names the cmake flag and the --rom option, and returns -1. Five system ROMs the user has to supply, none of them documented until now. The collection already held them. Also new: icon.bmp, which the SDL frontends read from disk through the data search path, and the J-Plus system ROM the old profile did not list. The tree behind the old refs is gone, so the notes describe the one that replaced it: five frontends, src/core, src/apple2, and a program_dir still declared and never assigned. 38 refs, all anchored. 9 of 9 files present.
This commit is contained in:
1 parent
6a0fb1e776
commit
8e873c5b91
3 files changed
+227
-110
No files matched your search
Binary file not shown.
|
After Width: | Height: | Size: 2.1 KiB |
+19
-3
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"generated_at": "2026-09-03T21:05:56Z",
|
||||
"total_files": 10330,
|
||||
"total_size": 13322782391,
|
||||
"generated_at": "2026-09-04T12:58:17Z",
|
||||
"total_files": 10331,
|
||||
"total_size": 13322784493,
|
||||
"files": {
|
||||
"520d3d1b5897800af47f92efd2444a26b7a7dead": {
|
||||
"path": "bios/3DO Company/3DO/3do_arcade_saot.bin",
|
||||
@@ -53578,6 +53578,16 @@
|
||||
"crc32": "18c0ff3e",
|
||||
"adler32": "7e6df93f"
|
||||
},
|
||||
"5aee3a718f3d541122b61b9b8203e8a28db97a34": {
|
||||
"path": "bios/Other/linapple/icon.bmp",
|
||||
"name": "icon.bmp",
|
||||
"size": 2102,
|
||||
"sha1": "5aee3a718f3d541122b61b9b8203e8a28db97a34",
|
||||
"md5": "be7a389c5aa678f5e6ce4748593b0a29",
|
||||
"sha256": "90e7ede6d0889020f5d2f23375f89d7cdae90b1ad5a79e5858cf144badc6ffbd",
|
||||
"crc32": "43391a45",
|
||||
"adler32": "dee843e8"
|
||||
},
|
||||
"d38572d22721eb5972f671cde54201d752dffe6b": {
|
||||
"path": "bios/Other/mame4droid/.variants/hiscore.dat.0ca8052d",
|
||||
"name": "hiscore.dat",
|
||||
@@ -113517,6 +113527,7 @@
|
||||
"cd43b9f8ec8c742fca150f9666da47a0": "f72ebcb3ad771321e36cacb49779dca6f2b4db9e",
|
||||
"034527d42a96d0f39977cb85c6a8f2d8": "fcfbbb25e06f58d13e762b02bfd468c834d98fc8",
|
||||
"ee44560f34033efa3bb47b3e0aac1772": "7b03befac4fbcef8c649048fa3ff5d095fd48dd3",
|
||||
"be7a389c5aa678f5e6ce4748593b0a29": "5aee3a718f3d541122b61b9b8203e8a28db97a34",
|
||||
"0ca8052de426b7eadcb64da341eadec6": "d38572d22721eb5972f671cde54201d752dffe6b",
|
||||
"c0b17e87b2e1f239fd32545301f7e9cf": "75d31d949614b7d4e79de676c8a4b1c68b571f0a",
|
||||
"98924f51c1fd7d5619f513809d2053b7": "89d9b28d973eb8f869d45f412f7080f56c9275f8",
|
||||
@@ -133153,6 +133164,9 @@
|
||||
"Master.dsk": [
|
||||
"7b03befac4fbcef8c649048fa3ff5d095fd48dd3"
|
||||
],
|
||||
"icon.bmp": [
|
||||
"5aee3a718f3d541122b61b9b8203e8a28db97a34"
|
||||
],
|
||||
"Category.ini": [
|
||||
"75d31d949614b7d4e79de676c8a4b1c68b571f0a"
|
||||
],
|
||||
@@ -157105,6 +157119,7 @@
|
||||
"066d1348": "f72ebcb3ad771321e36cacb49779dca6f2b4db9e",
|
||||
"8031ff02": "fcfbbb25e06f58d13e762b02bfd468c834d98fc8",
|
||||
"18c0ff3e": "7b03befac4fbcef8c649048fa3ff5d095fd48dd3",
|
||||
"43391a45": "5aee3a718f3d541122b61b9b8203e8a28db97a34",
|
||||
"19a61bc4": "d38572d22721eb5972f671cde54201d752dffe6b",
|
||||
"c1c73f18": "75d31d949614b7d4e79de676c8a4b1c68b571f0a",
|
||||
"b15d070b": "89d9b28d973eb8f869d45f412f7080f56c9275f8",
|
||||
@@ -167437,6 +167452,7 @@
|
||||
"c72a36bbd471daf5d12df9f7b85773771583ec960ff9ca17e66d2f7b22e5c8c3": "f72ebcb3ad771321e36cacb49779dca6f2b4db9e",
|
||||
"fcf442b26c492253dfb8d2146e215b7b84b3ba87443face9c94a1e9474aa3ca4": "fcfbbb25e06f58d13e762b02bfd468c834d98fc8",
|
||||
"0add32bcbd0e5b350437fa9d138b3c232368e36d8009852479fdb09d9db31113": "7b03befac4fbcef8c649048fa3ff5d095fd48dd3",
|
||||
"90e7ede6d0889020f5d2f23375f89d7cdae90b1ad5a79e5858cf144badc6ffbd": "5aee3a718f3d541122b61b9b8203e8a28db97a34",
|
||||
"04bc41efa4be5b3cad4e7718cc8d686a3424d129bb768346333ed42491de5651": "d38572d22721eb5972f671cde54201d752dffe6b",
|
||||
"6e25b5a9021c18b738fbb0465446b4055bb2eff225a27a5827710ad464129631": "75d31d949614b7d4e79de676c8a4b1c68b571f0a",
|
||||
"b6a6a03c9b6d65f9c8fe7f0a90e14c5d4ff0a4231ebd893e4c5b2b81a37ddaff": "89d9b28d973eb8f869d45f412f7080f56c9275f8",
|
||||
|
||||
+208
-107
@@ -3,9 +3,9 @@ type: standalone
|
||||
core_classification: community_fork
|
||||
source: "https://github.com/linappleii/linapple"
|
||||
upstream: "https://github.com/AppleWin/AppleWin"
|
||||
profiled_date: "2026-08-08"
|
||||
source_commit: "b7a26b46773996130a602b9ac7ac2ebeae5c0b11"
|
||||
core_version: "2.3.0"
|
||||
profiled_date: "2026-09-04"
|
||||
source_commit: "be9d1d2f3e26c1ef1f1bdc13455ea02954cd2109"
|
||||
core_version: "3.0.0"
|
||||
display_name: "Apple - Apple II (LinApple)"
|
||||
cores:
|
||||
- linapple
|
||||
@@ -16,45 +16,59 @@ mode: standalone
|
||||
notes: |
|
||||
SDL port of AppleWin for Linux. The tree was taken off SourceForge by
|
||||
maxolasersquad, forked further by several users, and now sits under the
|
||||
linappleii namespace (README.md:8-22). Machine types are Apple ][,
|
||||
Apple ][+, Apple //e and Enhanced Apple //e.
|
||||
linappleii namespace (README.md:8-22). Five frontends build from one core:
|
||||
sdl1, sdl2, sdl3, tui and headless (src/frontends/).
|
||||
|
||||
Every ROM is compiled into the binary as a C string literal. MemInitialize
|
||||
picks one of four system ROM arrays by g_Apple2Type and copies it into
|
||||
memrom, splitting off the first 4 KB as internal Cx ROM for the two //e
|
||||
types (Memory.cpp:1012-1052). The four IDR_APPLE2*_ROM macros defined just
|
||||
above that switch hold .rom filenames and are never referenced. Peripheral
|
||||
firmware is embedded the same way and installed by MemInitialize: parallel
|
||||
printer in slot 1, Super Serial Card in slot 2, mouse in slot 4, Disk II in
|
||||
slot 6, hard disk in slot 7 (Memory.cpp:1057-1062). Slot 4 is filled only
|
||||
when g_Slot4 is CT_MouseInterface, slot 7 only when the hard disk is
|
||||
enabled (Harddisk.cpp:279-281).
|
||||
Every ROM is still compiled into the binary, but no longer as a hand-written
|
||||
byte array. scripts/generate_roms.sh turns res/roms/*.rom into EmbeddedRoms.h
|
||||
and EmbeddedRoms.cpp at build time (CMakeLists.txt:280-297), each image behind
|
||||
an ENABLE_ROM_* macro. The relocation preserved the bytes: every hash this
|
||||
profile recorded against the old string literals matches the .rom file that
|
||||
replaced it.
|
||||
|
||||
Character generators are res/charset40*.png, converted to XPM arrays by the
|
||||
Makefile and included at Video.cpp:43-47. One of five is chosen from the
|
||||
machine type and g_KeyboardLanguage (Video.cpp:1264-1291). The window icon,
|
||||
status font and splash screen are XPM arrays as well (asset.cpp:29-31,61-75).
|
||||
What that macro is set to decides whether a machine model runs at all.
|
||||
CMakeLists.txt:43-148 leaves the Apple ][, ][+, J-Plus, //e and Enhanced //e
|
||||
system ROMs ON, along with the Disk II, Super Serial Card, mouse,
|
||||
Mockingboard, printer and clock firmware. The three clone options are OFF:
|
||||
ENABLE_ROM_CLONE_BASE64A, ENABLE_ROM_CLONE_PRAVETS and
|
||||
ENABLE_ROM_CLONE_TK3000E (CMakeLists.txt:81-83). Selecting one of those
|
||||
machine types on a default build reaches mem_initialize with no rom_data,
|
||||
which prints the model name and its cmake flag, destroys the context and
|
||||
returns -1 (src/apple2/Memory.cpp:1252-1261). The message offers two ways
|
||||
out, and the second is a file: -R, --rom <file> loads a system ROM at
|
||||
runtime (src/frontends/common/AppArgs.cpp:87).
|
||||
|
||||
Master.dsk is the only data file the emulator searches for. Path::FindDataFile
|
||||
walks ~/.local/share/linapple, the XDG config directory, the executable
|
||||
directory, the compiled-in ASSET_DIR and the two share paths
|
||||
(Util_Path.h:43-68). ImageOpen rejects an image that no format detector
|
||||
claims, and for a .dsk the detector that runs first is DoDetect, which gates
|
||||
on file size (DiskImage.cpp:424-427,977-1034).
|
||||
A custom ROM takes precedence over anything embedded. mem_initialize accepts
|
||||
it at exactly 16384 or 12288 bytes, or larger, taking the trailing 16384 for
|
||||
the //e-class types and the trailing 12288 otherwise
|
||||
(src/apple2/Memory.cpp:1165-1186). Below 12288 nothing is selected and the
|
||||
machine fails to start. No hash or name is checked; the file is whatever the
|
||||
user points at.
|
||||
|
||||
The debugger reads its symbol tables through g_sProgramDir, a buffer declared
|
||||
empty at Applewin.cpp:87 and never assigned anywhere in the tree, so the
|
||||
names resolve against the working directory. g_sFileNameSymbols lists nine
|
||||
tables (Debugger_Symbols.cpp:48-58) and DebugInitialize preloads three with
|
||||
missing-file reporting suppressed (Debug.cpp:8676-8696); the other six load
|
||||
from the matching SYM command. A table that is absent leaves the debugger
|
||||
running without its symbols (Debugger_Symbols.cpp:576-584).
|
||||
Character generators are res/charset40*.png, converted to XPM by CMake and
|
||||
included at src/apple2/Video.cpp:37-41. One of five is chosen from the
|
||||
machine type and the keyboard language (src/apple2/Video.cpp:1242-1266).
|
||||
The status font is an XPM as well (src/core/Asset.cpp:22,44).
|
||||
|
||||
linapple.conf carries preferences only, and is searched over ./, the XDG
|
||||
config and data directories, every $XDG_CONFIG_DIRS entry and /etc
|
||||
(Applewin.cpp:803-815). Each accessor returns a compiled-in default when a
|
||||
key is missing (Registry.cpp:87-116), and Configuration::Save is compiled
|
||||
out unless REGISTRY_WRITEABLE is defined (Registry.cpp:63-85).
|
||||
Master.dsk is inserted into slot 6 drive 1 at startup. asset_find_master_disk
|
||||
resolves it through Path::find_data_file (src/core/Asset.cpp:80-93), which
|
||||
walks the user data and config directories, the executable directory and its
|
||||
res/ neighbours, the share and etc prefixes, the compiled-in SOURCE_RES_DIR,
|
||||
ASSET_DIR, SYSCONF_DIR and SYS_DIR, then every XDG_CONFIG_DIRS entry
|
||||
(src/core/Util_Path.h:86-130). The same search serves icon.bmp.
|
||||
|
||||
The debugger reads its symbol tables through g_state.program_dir, declared at
|
||||
src/core/LinAppleCore.h:159 and read in four places without ever being
|
||||
assigned, so the names resolve against the working directory.
|
||||
g_file_name_symbols lists nine tables (src/Debugger/Debugger_Symbols.cpp:64-74)
|
||||
and CmdSymbolsLoad preloads a table when the debugger calls it with no
|
||||
arguments (src/Debugger/Debugger_Symbols.cpp:664-681). ParseSymbolTable opens
|
||||
the file with fopen and a missing one leaves the debugger running without its
|
||||
symbols (src/Debugger/Debugger_Symbols.cpp:524).
|
||||
|
||||
linapple.conf carries preferences only (src/core/Registry.cpp,
|
||||
src/frontends/common/AppEnvironment.cpp). Each accessor returns a compiled-in
|
||||
default when a key is missing.
|
||||
|
||||
files:
|
||||
- name: Master.dsk
|
||||
@@ -63,120 +77,218 @@ files:
|
||||
min_size: 143105
|
||||
max_size: 143364
|
||||
validation: [size]
|
||||
source_ref: "src/asset.cpp:33, src/asset.cpp:101-128, src/Applewin.cpp:626-633, src/DiskImage.cpp:424-427"
|
||||
source_ref: "src/core/Asset.cpp:25,80-93,96-99"
|
||||
note: >
|
||||
Inserted only when the Slot 6 Autoload preference is off; when it is on,
|
||||
the two configured disk images are loaded instead. Asset_FindMasterDisk
|
||||
prints a warning and returns 255 when no search path holds the file, and
|
||||
the emulator starts with an empty drive. No hash or content check is
|
||||
performed. DoDetect also accepts the discrete sizes 143403 and 143488 for
|
||||
DOS-order images. LinApple and Batocera ship different images under this
|
||||
name, both 143360 bytes.
|
||||
asset_find_master_disk warns and returns non-zero when no search path
|
||||
holds the file, and the emulator starts with an empty drive. No hash or
|
||||
content check is performed. LinApple and Batocera ship different images
|
||||
under this name, both 143360 bytes.
|
||||
|
||||
- name: icon.bmp
|
||||
required: false
|
||||
description: "Window icon read from disk by the SDL frontends"
|
||||
size: 2102
|
||||
md5: be7a389c5aa678f5e6ce4748593b0a29
|
||||
sha1: 5aee3a718f3d541122b61b9b8203e8a28db97a34
|
||||
source_ref: "src/frontends/sdl2/SDL_Asset.cpp:10-25,34-40"
|
||||
note: >
|
||||
asset_load_bmp resolves the name through Path::find_data_file, prints a
|
||||
warning to stderr when no search path holds it and returns nullptr. The
|
||||
sdl1 and sdl2 frontends load it; sdl3 declares the same helper. Absence
|
||||
costs the window its icon and nothing else.
|
||||
|
||||
- name: APPLE2E.SYM
|
||||
required: false
|
||||
description: "Debugger symbol table for the main ROM"
|
||||
source_ref: "src/Debugger/Debugger_Symbols.cpp:49, src/Debugger/Debugger_Symbols.cpp:553-584, src/Debugger/Debugger_Symbols.cpp:751-767, src/Debugger/Debug.cpp:8679-8680"
|
||||
source_ref: "src/Debugger/Debugger_Symbols.cpp:64-74,664-681"
|
||||
note: >
|
||||
Preloaded into the Main table when the debugger initialises. Parsed as
|
||||
text lines of address and symbol name, with no size or hash check.
|
||||
Preloaded into the Main table when the debugger calls CmdSymbolsLoad with
|
||||
no arguments. Parsed as text lines of address and symbol name, with no
|
||||
size or hash check.
|
||||
|
||||
- name: A2_BASIC.SYM
|
||||
required: false
|
||||
description: "Debugger symbol table for Applesoft BASIC"
|
||||
source_ref: "src/Debugger/Debugger_Symbols.cpp:50, src/Debugger/Debugger_Symbols.cpp:553-584, src/Debugger/Debugger_Symbols.cpp:751-767, src/Debugger/Debug.cpp:8682-8683"
|
||||
source_ref: "src/Debugger/Debugger_Symbols.cpp:64-74,664-681"
|
||||
note: >
|
||||
Preloaded into the Basic table when the debugger initialises. Parsed as
|
||||
text lines of address and symbol name, with no size or hash check.
|
||||
Preloaded into the Basic table when the debugger calls CmdSymbolsLoad with
|
||||
no arguments. Parsed as text lines of address and symbol name, with no
|
||||
size or hash check.
|
||||
|
||||
# System ROMs the default build leaves out. ENABLE_ROM_CLONE_BASE64A,
|
||||
# ENABLE_ROM_CLONE_PRAVETS and ENABLE_ROM_CLONE_TK3000E are OFF in
|
||||
# CMakeLists.txt:81-83, so these machine types refuse to start unless the
|
||||
# user passes the image with --rom. The names are the ones upstream gives
|
||||
# the images in res/roms; the option takes a path and checks no name.
|
||||
- name: Base64A.rom
|
||||
required: false
|
||||
description: "Copam Base 64A clone system ROM, supplied with --rom"
|
||||
min_size: 12288
|
||||
validation: [size]
|
||||
size: 49152
|
||||
md5: 352fdbcae14c6a8c0398822c7a273309
|
||||
sha1: f1c779af480b5bda2bdd03950c1201a5c5143bea
|
||||
source_ref: "CMakeLists.txt:81,85-89; src/apple2/Memory.cpp:96-97,1165-1186,1252-1261"
|
||||
note: >
|
||||
Larger than a system ROM: mem_initialize takes the trailing 12288 bytes
|
||||
for this machine type.
|
||||
|
||||
- name: PRAVETS82.ROM
|
||||
required: false
|
||||
description: "Pravets 82 clone system ROM, supplied with --rom"
|
||||
min_size: 12288
|
||||
validation: [size]
|
||||
size: 12288
|
||||
md5: c619b7edfcf021f3b8fd20d9386676ba
|
||||
sha1: 8bd7ced83e209a15e9b19a05a5ef4b8e996dc1a5
|
||||
source_ref: "CMakeLists.txt:82,91-95; src/apple2/Memory.cpp:98-99,1165-1186,1252-1261"
|
||||
|
||||
- name: PRAVETS8M.ROM
|
||||
required: false
|
||||
description: "Pravets 8M clone system ROM, supplied with --rom"
|
||||
min_size: 12288
|
||||
validation: [size]
|
||||
size: 12288
|
||||
md5: 76c79535f7cf77973e2c711aa977a124
|
||||
sha1: f1b4ff018acf95f3355f0d575b66a188d728b687
|
||||
source_ref: "CMakeLists.txt:82,91-95; src/apple2/Memory.cpp:100-101,1165-1186,1252-1261"
|
||||
|
||||
- name: PRAVETS8C.ROM
|
||||
required: false
|
||||
description: "Pravets 8C clone system ROM, supplied with --rom"
|
||||
min_size: 12288
|
||||
validation: [size]
|
||||
size: 16384
|
||||
md5: 1896d7b98dd940c89f7c8ea899b71006
|
||||
sha1: c976fe56e57706c161f513a82ba3e0d8cda83904
|
||||
source_ref: "CMakeLists.txt:82,91-95; src/apple2/Memory.cpp:102-103,1165-1186,1252-1261"
|
||||
note: >
|
||||
A //e-class type: mem_initialize takes the trailing 16384 bytes when the
|
||||
file is larger.
|
||||
|
||||
- name: TK3000e.rom
|
||||
required: false
|
||||
description: "Microdigital TK-3000 //e clone system ROM, supplied with --rom"
|
||||
min_size: 12288
|
||||
validation: [size]
|
||||
size: 16384
|
||||
md5: 8d84b614b545d4eec8799d3f325332cb
|
||||
sha1: f163e5753c18ff0e812a448e8da406f102600edf
|
||||
source_ref: "CMakeLists.txt:83,97-101; src/apple2/Memory.cpp:104-105,1165-1186,1252-1261"
|
||||
note: >
|
||||
A //e-class type: mem_initialize takes the trailing 16384 bytes when the
|
||||
file is larger.
|
||||
|
||||
analysis:
|
||||
embedded_roms:
|
||||
mechanism: "C string literals compiled into the binary, installed with memcpy"
|
||||
extraction: "hashes computed from the decoded hex-escape literals"
|
||||
mechanism: >
|
||||
res/roms/*.rom compiled into EmbeddedRoms.cpp by scripts/generate_roms.sh
|
||||
at build time, each behind an ENABLE_ROM_* macro
|
||||
source_ref: "CMakeLists.txt:43-148,280-297; scripts/generate_roms.sh"
|
||||
extraction: "hashes computed from the res/roms images the generator reads"
|
||||
|
||||
system_roms:
|
||||
- symbol: Apple2_rom
|
||||
- symbol: g_rom_apple2
|
||||
machine: "Apple ]["
|
||||
machine_type: A2TYPE_APPLE2
|
||||
source_ref: "inc/resource.h:3; Memory.cpp:1015-1018"
|
||||
image: res/roms/Apple2.rom
|
||||
cmake_option: ENABLE_ROM_APPLE2
|
||||
default: on
|
||||
source_ref: "src/apple2/Memory.cpp:1189-1193"
|
||||
size: 12288
|
||||
md5: 3c406514b9806a7c57ee65fb0b0c39b4
|
||||
sha1: 09288be705464b608ff190519ab008d3dfcd1b05
|
||||
|
||||
- symbol: Apple2plus_rom
|
||||
- symbol: g_rom_apple2_plus
|
||||
machine: "Apple ][+"
|
||||
machine_type: A2TYPE_APPLE2PLUS
|
||||
source_ref: "inc/resource.h:774; Memory.cpp:1019-1022"
|
||||
image: res/roms/Apple2_Plus.rom
|
||||
cmake_option: ENABLE_ROM_APPLE2PLUS
|
||||
default: on
|
||||
source_ref: "src/apple2/Memory.cpp:1195-1199"
|
||||
size: 12288
|
||||
md5: 572b3005a4fa49bc54917b069b82c1ab
|
||||
sha1: 33a24f5489ba9195b44be77d9afb2252594cb5c7
|
||||
|
||||
- symbol: Apple2e_rom
|
||||
machine: "Apple //e"
|
||||
- symbol: g_rom_apple2_jplus
|
||||
machine: "Apple ][ J-Plus"
|
||||
machine_type: A2TYPE_APPLE2JPLUS
|
||||
image: res/roms/Apple2_JPlus.rom
|
||||
cmake_option: ENABLE_ROM_APPLE2_JPLUS
|
||||
default: on
|
||||
source_ref: "src/apple2/Memory.cpp:1201-1205"
|
||||
size: 12288
|
||||
md5: f3e8237eca3809bec2a42b984a1332a8
|
||||
sha1: ad200b3263d08e7235d0871c8595963a07adc905
|
||||
|
||||
- symbol: g_rom_apple2e
|
||||
machine: "Apple //e Unenhanced"
|
||||
machine_type: A2TYPE_APPLE2E
|
||||
source_ref: "inc/resource.h:1545; Memory.cpp:1023-1026"
|
||||
image: res/roms/Apple2e.rom
|
||||
cmake_option: ENABLE_ROM_APPLE2E
|
||||
default: on
|
||||
source_ref: "src/apple2/Memory.cpp:1207-1211"
|
||||
size: 16384
|
||||
md5: 346bc782c6a08a531c460e33bc03daf4
|
||||
sha1: 61fa9254628e5bb7236fb474006116d67684d747
|
||||
note: "First 4 KB loaded as internal Cx ROM, remaining 12 KB at $D000"
|
||||
|
||||
- symbol: Apple2eEnhanced_rom
|
||||
machine: "Enhanced Apple //e"
|
||||
machine_type: A2TYPE_APPLE2EEHANCED
|
||||
source_ref: "inc/resource.h:2573; Memory.cpp:1027-1030"
|
||||
- symbol: g_rom_apple2e_enhanced
|
||||
machine: "Apple //e Enhanced"
|
||||
machine_type: A2TYPE_APPLE2EENHANCED
|
||||
image: res/roms/Apple2e_Enhanced.rom
|
||||
cmake_option: ENABLE_ROM_APPLE2ENHANCED
|
||||
default: on
|
||||
source_ref: "src/apple2/Memory.cpp:1213-1217"
|
||||
size: 16384
|
||||
md5: 38063e08c778503fc03ecebb979769e9
|
||||
sha1: b8ea90abe135a0031065e01697c4a3a20d51198b
|
||||
note: "First 4 KB loaded as internal Cx ROM, remaining 12 KB at $D000"
|
||||
|
||||
peripheral_firmware:
|
||||
- symbol: Parallel_bin
|
||||
device: "Parallel printer card"
|
||||
- device: "Parallel printer card"
|
||||
slot: 1
|
||||
source_ref: "src/ParallelPrinter.cpp:33,61-65"
|
||||
image: res/roms/Parallel.rom
|
||||
cmake_option: ENABLE_ROM_PRINTER
|
||||
default: on
|
||||
source_ref: "CMakeLists.txt:134,136-140"
|
||||
size: 256
|
||||
md5: 5902996f16dc78fc013f6e1db14805b3
|
||||
sha1: c75c751589cbcc1ad4ab4f63676af7abadd86f5b
|
||||
|
||||
- symbol: SSC_rom
|
||||
device: "Super Serial Card"
|
||||
- device: "Super Serial Card"
|
||||
slot: 2
|
||||
source_ref: "src/SerialComms.cpp:53,774-794"
|
||||
image: res/roms/SSC.rom
|
||||
cmake_option: ENABLE_ROM_SSC
|
||||
default: on
|
||||
source_ref: "CMakeLists.txt:105,112-116"
|
||||
size: 2048
|
||||
md5: 67c0d61ab0911183faf05270f881a97e
|
||||
sha1: 6dab633470c6bc4cb3e81d09fda46597caf8ee57
|
||||
note: "Slot firmware taken from offset 0x700, full 2 KB kept as expansion ROM"
|
||||
|
||||
- symbol: MouseInterface_rom
|
||||
device: "Mouse interface card"
|
||||
- device: "Mouse interface card"
|
||||
slot: 4
|
||||
source_ref: "src/MouseInterface.cpp:39,207-224"
|
||||
image: res/roms/MouseInterface.rom
|
||||
cmake_option: ENABLE_ROM_MOUSE
|
||||
default: on
|
||||
source_ref: "CMakeLists.txt:119,122-126"
|
||||
size: 2048
|
||||
md5: 22563ab338024dac7b03510371d49c57
|
||||
sha1: 3a9d881a8a8d30f55b9719aceebbcf717f829d6f
|
||||
note: "Installed only when g_Slot4 is CT_MouseInterface"
|
||||
|
||||
- symbol: Disk2_rom
|
||||
device: "Disk II controller, 16 sector"
|
||||
- device: "Disk II controller, 16 sector"
|
||||
slot: 6
|
||||
source_ref: "src/Disk.cpp:44,832-846"
|
||||
image: res/roms/DISK2.rom
|
||||
cmake_option: ENABLE_ROM_DISK2
|
||||
default: on
|
||||
source_ref: "CMakeLists.txt:104,107-111"
|
||||
size: 256
|
||||
md5: 2020aa1413ff77fe29353f3ee72dc295
|
||||
sha1: d4181c9f046aafc3fb326b381baac809d9e38d16
|
||||
note: "Three bytes at $C64C are patched after the copy to drop a wait routine"
|
||||
|
||||
- symbol: Hddrvr_dat
|
||||
device: "Hard disk controller"
|
||||
slot: 7
|
||||
source_ref: "src/Harddisk.cpp:108,279-288"
|
||||
size: 256
|
||||
md5: 9e5b56c2daf2a10bd8fd76db60273e08
|
||||
sha1: b2430836d5fedb11ae9a680f14dedef0d41ed92e
|
||||
note: "Installed only when the hard disk is enabled. Differs from the firmware carried by current AppleWin"
|
||||
|
||||
character_generators:
|
||||
mechanism: "PNG converted to XPM by the Makefile, included at Video.cpp:43-47"
|
||||
selection: "machine type, then g_KeyboardLanguage (Video.cpp:1264-1291)"
|
||||
mechanism: "PNG converted to XPM by CMake, included at src/apple2/Video.cpp:37-41"
|
||||
selection: "machine type, then keyboard language (src/apple2/Video.cpp:1242-1266)"
|
||||
accepted_geometry: "128x128, or 128x256 for the Euro ROMs carrying a second language"
|
||||
images:
|
||||
- filename: charset40.png
|
||||
@@ -206,8 +318,8 @@ analysis:
|
||||
sha1: f86bd5238604247e04d616850f244b489daef18d
|
||||
|
||||
symbol_tables:
|
||||
source_ref: "src/Debugger/Debugger_Symbols.cpp:48-58"
|
||||
lookup: "g_sProgramDir + filename, and g_sProgramDir is never assigned"
|
||||
source_ref: "src/Debugger/Debugger_Symbols.cpp:64-74"
|
||||
lookup: "g_state.program_dir + filename, and g_state.program_dir is never assigned"
|
||||
preloaded_at_init:
|
||||
- APPLE2E.SYM
|
||||
- A2_BASIC.SYM
|
||||
@@ -220,17 +332,8 @@ analysis:
|
||||
- A2_DOS33.SYM
|
||||
- A2_PRODOS.SYM
|
||||
note: >
|
||||
Only APPLE2E.SYM and A2_BASIC.SYM are distributed with the emulator and
|
||||
copied to the build output by the Makefile (:98-99,205-206). The user
|
||||
slots and the remaining tables have no shipped counterpart.
|
||||
|
||||
debugger_scripts:
|
||||
- filename: DebuggerAutoRun.txt
|
||||
source_ref: "src/Debugger/Debug.cpp:8745-8755"
|
||||
note: >
|
||||
Run once through CmdOutputRun when the debugger first initialises, with
|
||||
g_bReportMissingScripts cleared so absence is silent. Holds debugger
|
||||
commands written by the user and has no counterpart in the source tree.
|
||||
Only APPLE2E.SYM and A2_BASIC.SYM are distributed with the emulator, in
|
||||
res/. The user slots and the remaining tables have no shipped counterpart.
|
||||
|
||||
generated_files:
|
||||
written_only:
|
||||
@@ -248,8 +351,6 @@ analysis:
|
||||
|
||||
unused_resources:
|
||||
- filename: font.bmp
|
||||
reason: "Asset_LoadBMP (asset.cpp:37-51) has no call sites and is not declared in asset.h"
|
||||
- filename: icon.bmp
|
||||
reason: "Asset_LoadBMP (asset.cpp:37-51) has no call sites and is not declared in asset.h"
|
||||
reason: "shipped in res/ and named by no source file at this revision"
|
||||
- filename: fixedsys-excelsior-regular.ttf
|
||||
reason: "no TTF symbol in the tree and no SDL_ttf in the Makefile link line"
|
||||
reason: "shipped in res/ and named by no source file at this revision"
|
||||
Reference in new issue
Block a user