mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-20 10:23:16 -05:00
fix: reprofile linapple at 86bee1c
Upstream moved the mouse card firmware into MouseRom.h behind ENABLE_PERIPHERAL_MOUSE, renamed the generated ROM symbols from g_rom_* to rom_*, added a hard disk controller with its own firmware and an XDG fallback for the data path. Every reference is re-read at the new pin, and Master.dsk carries the hashes the upstream build test pins.
This commit is contained in:
1 parent
7eb4a36711
commit
8edaca0925
1 file changed
+120
-96
+120
-96
@@ -3,8 +3,8 @@ type: standalone
|
||||
core_classification: community_fork
|
||||
source: "https://github.com/linappleii/linapple"
|
||||
upstream: "https://github.com/AppleWin/AppleWin"
|
||||
profiled_date: "2026-10-04"
|
||||
source_commit: "42e4321d60dc066470151f76c1cd3fe5e88a695c"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "86bee1c2b59bd4706185ceddddaf383b3416726f"
|
||||
core_version: "3.0.0"
|
||||
display_name: "Apple - Apple II (LinApple)"
|
||||
cores:
|
||||
@@ -16,76 +16,80 @@ mode: standalone
|
||||
notes: |
|
||||
SDL port of AppleWin for Linux. The SourceForge project was abandoned and
|
||||
its forks were gathered under the linappleii organization
|
||||
(README.md:166-173). Five frontends build from one core: sdl1, sdl2, sdl3,
|
||||
(README.md:202-209). Five frontends build from one core: sdl1, sdl2, sdl3,
|
||||
tui and headless (src/frontends/).
|
||||
|
||||
The ROMs the emulator runs are compiled into the binary.
|
||||
scripts/generate_roms.sh turns res/roms/*.rom into EmbeddedRoms.h and
|
||||
EmbeddedRoms.cpp, once at configure time and again at build time
|
||||
(CMakeLists.txt:301-338), each image behind an ENABLE_ROM_* macro
|
||||
(scripts/generate_roms.sh:97-118). Eighteen images go through the generator:
|
||||
ten system ROMs, four character generator ROMs and four card ROMs. The
|
||||
printer card, the Super Serial Card and the clock card carry their firmware
|
||||
as arrays in their own source files
|
||||
(src/apple2/peripherals/printer/Printer.cpp:30,
|
||||
(CMakeLists.txt:293-329), each image behind an ENABLE_ROM_* macro
|
||||
(scripts/generate_roms.sh:97-117). Seventeen images go through the
|
||||
generator: ten system ROMs, four character generator ROMs and the three
|
||||
Disk II ROMs. The mouse card, the printer card, the Super Serial Card, the
|
||||
clock card and the hard disk controller carry their firmware as arrays in
|
||||
their own source files (src/apple2/peripherals/mouse/MouseRom.h:19,
|
||||
src/apple2/peripherals/printer/Printer.cpp:30,
|
||||
src/apple2/peripherals/super_serial_card/SuperSerialRom.h:16,
|
||||
src/apple2/peripherals/clock/ClockCard.cpp:20), and the Mockingboard
|
||||
src/apple2/peripherals/clock/ClockCard.cpp:34,
|
||||
src/apple2/peripherals/harddisk/Harddisk.cpp:250), and the Mockingboard
|
||||
registers no ROM.
|
||||
|
||||
What a macro is set to decides whether a machine model runs at all.
|
||||
CMakeLists.txt:57-131 leaves the Apple ][, ][+, J-Plus, //e and Enhanced //e
|
||||
system ROMs ON, along with the Disk II and mouse firmware. The three clone options are OFF: ENABLE_ROM_CLONE_BASE64A,
|
||||
ENABLE_ROM_CLONE_PRAVETS and ENABLE_ROM_CLONE_TK3000E
|
||||
(CMakeLists.txt:95-97). 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:1124-1134). 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:77,186).
|
||||
CMakeLists.txt:57-124 leaves the Apple ][, ][+, J-Plus, //e and Enhanced //e
|
||||
system ROMs ON, along with the Disk II firmware. The three clone options are
|
||||
OFF: ENABLE_ROM_CLONE_BASE64A, ENABLE_ROM_CLONE_PRAVETS and
|
||||
ENABLE_ROM_CLONE_TK3000E (CMakeLists.txt:95-97). 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:1168-1178). 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:77,188-189).
|
||||
|
||||
A custom ROM takes precedence over anything embedded. load_custom_rom opens
|
||||
the path as given, then through Path::find_data_file, and refuses a file
|
||||
below 12288 or above 65536 bytes, which stops the start
|
||||
(src/frontends/common/AppController.cpp:127-171,251-253). mem_initialize
|
||||
(src/frontends/common/AppController.cpp:142-185,265-267). mem_initialize
|
||||
accepts the buffer 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:1038-1059). No hash or name is checked: the file is
|
||||
(src/apple2/Memory.cpp:1082-1103). No hash or name is checked: the file is
|
||||
whatever the user points at.
|
||||
|
||||
Character generators are res/charset40*.png, converted to XPM by CMake
|
||||
(CMakeLists.txt:270-299) and included at src/apple2/Video.cpp:39-43. One of
|
||||
(CMakeLists.txt:262-291) and included at src/apple2/Video.cpp:35-39. One of
|
||||
five is chosen from the machine type and the keyboard language
|
||||
(src/apple2/Video.cpp:1228-1252). The status font and the splash screen are
|
||||
(src/apple2/Video.cpp:1255-1279). The status font and the splash screen are
|
||||
XPM as well (src/core/Asset.cpp:15-16,57,63). The four *_Video.rom images
|
||||
are compiled in, and no source file reads their symbols.
|
||||
are compiled in, and nothing under src/ reads their symbols.
|
||||
|
||||
Master.dsk is inserted into slot 6 drive 1 at startup unless the command
|
||||
line names a disk or the configuration autoloads one
|
||||
(src/frontends/common/AppController.cpp:194-215). asset_find_master_disk
|
||||
(src/frontends/common/AppController.cpp:210-231). asset_find_master_disk
|
||||
resolves it through Path::find_data_file (src/core/Asset.cpp:25-39), which
|
||||
walks the user data and config directories, the executable directory and its
|
||||
res/ neighbours, the share and etc prefixes beside it, the compiled-in
|
||||
SOURCE_RES_DIR, /usr/local/share/linapple, /usr/share/linapple, every
|
||||
XDG_CONFIG_DIRS entry and /etc/linapple (src/core/Util_Path.h:116-179). The
|
||||
same search serves icon.bmp and a --rom path that does not open as given.
|
||||
XDG_CONFIG_DIRS entry or /etc/xdg/linapple when that variable is unset, and
|
||||
/etc/linapple (src/core/Util_Path.h:116-179). The same search serves
|
||||
icon.bmp and a --rom path that does not open as given.
|
||||
|
||||
The debugger reads its symbol tables through system_state.program_dir,
|
||||
declared at src/core/LinAppleCore.h:103 and read without ever being
|
||||
declared at src/core/LinAppleCore.h:102 and read without ever being
|
||||
assigned, so the names resolve against the working directory.
|
||||
g_file_name_symbols lists nine tables (src/Debugger/Debugger_Symbols.cpp:37-48).
|
||||
file_name_symbols lists nine tables (src/Debugger/Debugger_Symbols.cpp:37-49).
|
||||
CmdSymbolsLoad reads a table's default file when it receives no argument
|
||||
(src/Debugger/Debugger_Symbols.cpp:636-652). Its only caller is the LOAD
|
||||
parameter of the SYM commands (src/Debugger/Debugger_Symbols.cpp:817-819),
|
||||
and debug_initialize loads no table (src/Debugger/Debug.cpp:29-37).
|
||||
(src/Debugger/Debugger_Symbols.cpp:644-660). Its only caller is the LOAD
|
||||
parameter of the SYM commands (src/Debugger/Debugger_Symbols.cpp:823-825),
|
||||
and debug_initialize loads no table (src/Debugger/Debug.cpp:29-39).
|
||||
ParseSymbolTable opens the file with fopen and a missing one leaves the
|
||||
debugger running without its symbols (src/Debugger/Debugger_Symbols.cpp:495).
|
||||
debugger running without its symbols (src/Debugger/Debugger_Symbols.cpp:497).
|
||||
|
||||
Peripheral cards are linked into the executable by default. With
|
||||
Peripheral cards are linked into the executable by default. Each card has
|
||||
an ENABLE_PERIPHERAL_* option, ON (CMakeLists.txt:538). With
|
||||
BUILD_SHARED_PERIPHERALS, OFF at CMakeLists.txt:43, each card that
|
||||
add_peripheral does not force built-in builds as a shared object
|
||||
(CMakeLists.txt:554-555,662-666), and peripheral_plugins_init opens every *.so found in the
|
||||
plugin search paths in either build
|
||||
(src/apple2/peripherals/Peripheral_Internal.cpp:192-219,
|
||||
(CMakeLists.txt:548-550,653,663-669), and peripheral_plugins_init opens
|
||||
every *.so found in the plugin search paths in either build
|
||||
(src/apple2/peripherals/Peripheral_Internal.cpp:352-437,
|
||||
src/core/Util_Path.h:102-114).
|
||||
|
||||
linapple.conf carries preferences only (src/core/Registry.cpp,
|
||||
@@ -99,11 +103,16 @@ files:
|
||||
min_size: 143105
|
||||
max_size: 143364
|
||||
validation: [size]
|
||||
source_ref: "src/core/Asset.cpp:20,25-39,97-112; src/apple2/peripherals/disk/formats/SectorDiskImage.cpp:65-66,79-82"
|
||||
size: 143360
|
||||
md5: ee44560f34033efa3bb47b3e0aac1772
|
||||
sha1: 7b03befac4fbcef8c649048fa3ff5d095fd48dd3
|
||||
source_ref: "src/core/Asset.cpp:20,25-39,97-112; src/apple2/peripherals/disk/formats/SectorDiskImage.cpp:57-60,71-74; CMakeLists.txt:1324-1336"
|
||||
note: >
|
||||
asset_find_master_disk warns and returns false 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
|
||||
holds the file, and the emulator starts with an empty drive. The sector
|
||||
image driver also takes 143403 and 143488 bytes. No hash or content
|
||||
check is performed at run time. The hashes are those of res/Master.dsk,
|
||||
which a build test pins. LinApple and Batocera ship different images
|
||||
under this name, both 143360 bytes.
|
||||
|
||||
- name: icon.bmp
|
||||
@@ -122,7 +131,7 @@ files:
|
||||
- name: APPLE2E.SYM
|
||||
required: false
|
||||
description: "Debugger symbol table for the main ROM"
|
||||
source_ref: "src/Debugger/Debugger_Symbols.cpp:37-48,636-652"
|
||||
source_ref: "src/Debugger/Debugger_Symbols.cpp:37-49,644-660"
|
||||
note: >
|
||||
Read into the Main table when SYMMAIN LOAD is entered without a file
|
||||
name. Parsed as text lines of address and symbol name, with no size or
|
||||
@@ -131,7 +140,7 @@ files:
|
||||
- name: A2_BASIC.SYM
|
||||
required: false
|
||||
description: "Debugger symbol table for Applesoft BASIC"
|
||||
source_ref: "src/Debugger/Debugger_Symbols.cpp:37-48,636-652"
|
||||
source_ref: "src/Debugger/Debugger_Symbols.cpp:37-49,644-660"
|
||||
note: >
|
||||
Read into the Basic table when SYMBASIC LOAD is entered without a file
|
||||
name. Parsed as text lines of address and symbol name, with no size or
|
||||
@@ -151,7 +160,7 @@ files:
|
||||
size: 49152
|
||||
md5: 352fdbcae14c6a8c0398822c7a273309
|
||||
sha1: f1c779af480b5bda2bdd03950c1201a5c5143bea
|
||||
source_ref: "CMakeLists.txt:95,99-103; scripts/generate_roms.sh:107; src/frontends/common/AppController.cpp:148-159; src/apple2/Memory.cpp:99-100,1038-1059,1124-1134"
|
||||
source_ref: "CMakeLists.txt:95,99-103; scripts/generate_roms.sh:107; src/frontends/common/AppController.cpp:163-174; src/apple2/Memory.cpp:104-105,1082-1103,1168-1178"
|
||||
note: >
|
||||
Larger than a system ROM: mem_initialize takes the trailing 12288 bytes
|
||||
for this machine type.
|
||||
@@ -165,7 +174,7 @@ files:
|
||||
size: 12288
|
||||
md5: c619b7edfcf021f3b8fd20d9386676ba
|
||||
sha1: 8bd7ced83e209a15e9b19a05a5ef4b8e996dc1a5
|
||||
source_ref: "CMakeLists.txt:96,105-109; scripts/generate_roms.sh:109; src/frontends/common/AppController.cpp:148-159; src/apple2/Memory.cpp:101-102,1038-1059,1124-1134"
|
||||
source_ref: "CMakeLists.txt:96,105-109; scripts/generate_roms.sh:109; src/frontends/common/AppController.cpp:163-174; src/apple2/Memory.cpp:106-107,1082-1103,1168-1178"
|
||||
|
||||
- name: PRAVETS8M.ROM
|
||||
required: false
|
||||
@@ -176,7 +185,7 @@ files:
|
||||
size: 12288
|
||||
md5: 76c79535f7cf77973e2c711aa977a124
|
||||
sha1: f1b4ff018acf95f3355f0d575b66a188d728b687
|
||||
source_ref: "CMakeLists.txt:96,105-109; scripts/generate_roms.sh:111; src/frontends/common/AppController.cpp:148-159; src/apple2/Memory.cpp:103-104,1038-1059,1124-1134"
|
||||
source_ref: "CMakeLists.txt:96,105-109; scripts/generate_roms.sh:111; src/frontends/common/AppController.cpp:163-174; src/apple2/Memory.cpp:108-109,1082-1103,1168-1178"
|
||||
|
||||
- name: PRAVETS8C.ROM
|
||||
required: false
|
||||
@@ -187,7 +196,7 @@ files:
|
||||
size: 16384
|
||||
md5: 1896d7b98dd940c89f7c8ea899b71006
|
||||
sha1: c976fe56e57706c161f513a82ba3e0d8cda83904
|
||||
source_ref: "CMakeLists.txt:96,105-109; scripts/generate_roms.sh:110; src/frontends/common/AppController.cpp:148-159; src/apple2/Memory.cpp:105-106,1038-1059,1124-1134"
|
||||
source_ref: "CMakeLists.txt:96,105-109; scripts/generate_roms.sh:110; src/frontends/common/AppController.cpp:163-174; src/apple2/Memory.cpp:110-111,1082-1103,1168-1178"
|
||||
note: >
|
||||
A //e-class type: mem_initialize takes the trailing 16384 bytes when the
|
||||
file is larger.
|
||||
@@ -201,7 +210,7 @@ files:
|
||||
size: 16384
|
||||
md5: 8d84b614b545d4eec8799d3f325332cb
|
||||
sha1: f163e5753c18ff0e812a448e8da406f102600edf
|
||||
source_ref: "CMakeLists.txt:97,111-115; scripts/generate_roms.sh:112; src/frontends/common/AppController.cpp:148-159; src/apple2/Memory.cpp:107-108,1038-1059,1124-1134"
|
||||
source_ref: "CMakeLists.txt:97,111-115; scripts/generate_roms.sh:112; src/frontends/common/AppController.cpp:163-174; src/apple2/Memory.cpp:112-113,1082-1103,1168-1178"
|
||||
note: >
|
||||
A //e-class type: mem_initialize takes the trailing 16384 bytes when the
|
||||
file is larger.
|
||||
@@ -211,114 +220,114 @@ analysis:
|
||||
mechanism: >
|
||||
res/roms/*.rom compiled into EmbeddedRoms.cpp by scripts/generate_roms.sh
|
||||
at configure and build time, each behind an ENABLE_ROM_* macro
|
||||
source_ref: "CMakeLists.txt:57-131,301-338; scripts/generate_roms.sh:97-118"
|
||||
source_ref: "CMakeLists.txt:57-124,293-329; scripts/generate_roms.sh:97-117"
|
||||
extraction: "hashes computed from the res/roms images the generator reads"
|
||||
|
||||
system_roms:
|
||||
- symbol: g_rom_apple2
|
||||
- symbol: rom_apple2
|
||||
machine: "Apple ]["
|
||||
machine_type: A2TYPE_APPLE2
|
||||
image: res/roms/Apple2.rom
|
||||
cmake_option: ENABLE_ROM_APPLE2
|
||||
default: on
|
||||
source_ref: "src/apple2/Memory.cpp:1062-1066"
|
||||
source_ref: "src/apple2/Memory.cpp:1106-1111"
|
||||
size: 12288
|
||||
md5: 3c406514b9806a7c57ee65fb0b0c39b4
|
||||
sha1: 09288be705464b608ff190519ab008d3dfcd1b05
|
||||
|
||||
- symbol: g_rom_apple2_plus
|
||||
- symbol: rom_apple2_plus
|
||||
machine: "Apple ][+"
|
||||
machine_type: A2TYPE_APPLE2PLUS
|
||||
image: res/roms/Apple2_Plus.rom
|
||||
cmake_option: ENABLE_ROM_APPLE2PLUS
|
||||
default: on
|
||||
source_ref: "src/apple2/Memory.cpp:1068-1072"
|
||||
source_ref: "src/apple2/Memory.cpp:1112-1117"
|
||||
size: 12288
|
||||
md5: 572b3005a4fa49bc54917b069b82c1ab
|
||||
sha1: 33a24f5489ba9195b44be77d9afb2252594cb5c7
|
||||
|
||||
- symbol: g_rom_apple2_jplus
|
||||
- symbol: 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:1074-1078"
|
||||
source_ref: "src/apple2/Memory.cpp:1118-1123"
|
||||
size: 12288
|
||||
md5: f3e8237eca3809bec2a42b984a1332a8
|
||||
sha1: ad200b3263d08e7235d0871c8595963a07adc905
|
||||
|
||||
- symbol: g_rom_apple2e
|
||||
- symbol: rom_apple2e
|
||||
machine: "Apple //e Unenhanced"
|
||||
machine_type: A2TYPE_APPLE2E
|
||||
image: res/roms/Apple2e.rom
|
||||
cmake_option: ENABLE_ROM_APPLE2E
|
||||
default: on
|
||||
source_ref: "src/apple2/Memory.cpp:1080-1084"
|
||||
source_ref: "src/apple2/Memory.cpp:1124-1129"
|
||||
size: 16384
|
||||
md5: 346bc782c6a08a531c460e33bc03daf4
|
||||
sha1: 61fa9254628e5bb7236fb474006116d67684d747
|
||||
note: "First 4 KB loaded as internal Cx ROM, remaining 12 KB at $D000"
|
||||
|
||||
- symbol: g_rom_apple2e_enhanced
|
||||
- symbol: 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:1086-1090"
|
||||
source_ref: "src/apple2/Memory.cpp:1130-1135"
|
||||
size: 16384
|
||||
md5: 38063e08c778503fc03ecebb979769e9
|
||||
sha1: b8ea90abe135a0031065e01697c4a3a20d51198b
|
||||
note: "First 4 KB loaded as internal Cx ROM, remaining 12 KB at $D000"
|
||||
|
||||
- symbol: g_rom_clone_base64a
|
||||
- symbol: rom_clone_base64a
|
||||
machine: "Base64A"
|
||||
machine_type: A2TYPE_CLONE_BASE64A
|
||||
image: res/roms/Base64A.rom
|
||||
cmake_option: ENABLE_ROM_CLONE_BASE64A
|
||||
default: off
|
||||
source_ref: "src/apple2/Memory.cpp:1092-1098"
|
||||
source_ref: "src/apple2/Memory.cpp:1136-1142"
|
||||
note: "Trailing 12288 bytes of the image are used"
|
||||
|
||||
- symbol: g_rom_clone_pravets82
|
||||
- symbol: rom_clone_pravets82
|
||||
machine: "Pravets 82"
|
||||
machine_type: A2TYPE_CLONE_PRAVETS82
|
||||
image: res/roms/PRAVETS82.ROM
|
||||
cmake_option: ENABLE_ROM_CLONE_PRAVETS
|
||||
default: off
|
||||
source_ref: "src/apple2/Memory.cpp:1099-1103"
|
||||
source_ref: "src/apple2/Memory.cpp:1144-1147"
|
||||
|
||||
- symbol: g_rom_clone_pravets8m
|
||||
- symbol: rom_clone_pravets8m
|
||||
machine: "Pravets 8M"
|
||||
machine_type: A2TYPE_CLONE_PRAVETS8M
|
||||
image: res/roms/PRAVETS8M.ROM
|
||||
cmake_option: ENABLE_ROM_CLONE_PRAVETS
|
||||
default: off
|
||||
source_ref: "src/apple2/Memory.cpp:1104-1107"
|
||||
source_ref: "src/apple2/Memory.cpp:1148-1151"
|
||||
|
||||
- symbol: g_rom_clone_pravets8c
|
||||
- symbol: rom_clone_pravets8c
|
||||
machine: "Pravets 8C"
|
||||
machine_type: A2TYPE_CLONE_PRAVETS8C
|
||||
image: res/roms/PRAVETS8C.ROM
|
||||
cmake_option: ENABLE_ROM_CLONE_PRAVETS
|
||||
default: off
|
||||
source_ref: "src/apple2/Memory.cpp:1108-1112"
|
||||
source_ref: "src/apple2/Memory.cpp:1152-1155"
|
||||
|
||||
- symbol: g_rom_clone_tk3000e
|
||||
- symbol: rom_clone_tk3000e
|
||||
machine: "TK3000 //e"
|
||||
machine_type: A2TYPE_CLONE_TK3000E
|
||||
image: res/roms/TK3000e.rom
|
||||
cmake_option: ENABLE_ROM_CLONE_TK3000E
|
||||
default: off
|
||||
source_ref: "src/apple2/Memory.cpp:1113-1118"
|
||||
source_ref: "src/apple2/Memory.cpp:1157-1162"
|
||||
|
||||
video_roms:
|
||||
note: >
|
||||
Compiled in under the macro of their machine. No source file reads
|
||||
the symbols. The display uses the character_generators below.
|
||||
Compiled in under the macro of their machine. Nothing under src/
|
||||
reads the symbols. The display uses the character_generators below.
|
||||
images:
|
||||
- symbol: g_rom_apple2_video
|
||||
- symbol: rom_apple2_video
|
||||
image: res/roms/Apple2_Video.rom
|
||||
cmake_option: ENABLE_ROM_APPLE2
|
||||
default: on
|
||||
@@ -326,7 +335,7 @@ analysis:
|
||||
size: 2048
|
||||
md5: 9ac0dc8c4d0002eb45b0b84be0bde5ec
|
||||
sha1: f9d312f128c9557d9d6ac03bfad6c3ddf83e5659
|
||||
- symbol: g_rom_apple2_jplus_video
|
||||
- symbol: rom_apple2_jplus_video
|
||||
image: res/roms/Apple2_JPlus_Video.rom
|
||||
cmake_option: ENABLE_ROM_APPLE2_JPLUS
|
||||
default: on
|
||||
@@ -334,7 +343,7 @@ analysis:
|
||||
size: 2048
|
||||
md5: 271e2c9bf928b95e7baeff391db45495
|
||||
sha1: 0a382be58db5215c4a3de53b19a72fab660d5da2
|
||||
- symbol: g_rom_apple2e_enhanced_video
|
||||
- symbol: rom_apple2e_enhanced_video
|
||||
image: res/roms/Apple2e_Enhanced_Video.rom
|
||||
cmake_option: ENABLE_ROM_APPLE2ENHANCED
|
||||
default: on
|
||||
@@ -342,7 +351,7 @@ analysis:
|
||||
size: 4096
|
||||
md5: 9123fff3442c0e688cc6816be88dd4ab
|
||||
sha1: b2b5d87f52693817fc747df087a4aa1ddcdb1f10
|
||||
- symbol: g_rom_clone_base64a_german_video
|
||||
- symbol: rom_clone_base64a_german_video
|
||||
image: res/roms/Base64A_German_Video.rom
|
||||
cmake_option: ENABLE_ROM_CLONE_BASE64A
|
||||
default: off
|
||||
@@ -354,22 +363,22 @@ analysis:
|
||||
peripheral_firmware:
|
||||
- device: "Disk II controller, 16 sector boot ROM"
|
||||
slot: 6
|
||||
symbol: g_rom_disk2
|
||||
symbol: rom_disk2
|
||||
image: res/roms/DISK2.rom
|
||||
cmake_option: ENABLE_ROM_DISK2
|
||||
default: on
|
||||
source_ref: "CMakeLists.txt:118,120-124; scripts/generate_roms.sh:115; src/apple2/peripherals/disk/Disk.cpp:1125-1127"
|
||||
source_ref: "CMakeLists.txt:118,120-124; scripts/generate_roms.sh:115; src/apple2/peripherals/disk/Disk.cpp:1129-1131"
|
||||
size: 256
|
||||
md5: 2020aa1413ff77fe29353f3ee72dc295
|
||||
sha1: d4181c9f046aafc3fb326b381baac809d9e38d16
|
||||
|
||||
- device: "Disk II controller, P6 sequencer PROM"
|
||||
slot: 6
|
||||
symbol: g_rom_disk2_p6
|
||||
symbol: rom_disk2_p6
|
||||
image: res/roms/DISK2-P6.rom
|
||||
cmake_option: ENABLE_ROM_DISK2
|
||||
default: on
|
||||
source_ref: "scripts/generate_roms.sh:117; src/apple2/peripherals/disk/Disk.cpp:618-624; CMakeLists.txt:957-970"
|
||||
source_ref: "scripts/generate_roms.sh:117; src/apple2/peripherals/disk/Disk.cpp:621-627; CMakeLists.txt:1040-1055"
|
||||
size: 256
|
||||
md5: 5f1be0c1cdff26f5956eef9643911886
|
||||
sha1: bc39fbd5b9a8d2287ac5d0a42e639fc4d3c2f9d4
|
||||
@@ -379,7 +388,7 @@ analysis:
|
||||
sequencer returns a constant and the data register never moves.
|
||||
|
||||
- device: "Disk II controller, 13 sector boot ROM"
|
||||
symbol: g_rom_disk2_13sector
|
||||
symbol: rom_disk2_13sector
|
||||
image: res/roms/DISK2-13sector.rom
|
||||
cmake_option: ENABLE_ROM_DISK2
|
||||
default: on
|
||||
@@ -387,18 +396,18 @@ analysis:
|
||||
size: 256
|
||||
md5: 4f80448507cf43ab40c17ac08d89e278
|
||||
sha1: afd060e6f35faf3bb0146fa889fc787adf56330a
|
||||
note: "Compiled in. No source file reads the symbol"
|
||||
note: "Compiled in. Nothing under src/ reads the symbol"
|
||||
|
||||
- device: "Super Serial Card"
|
||||
slot: 2
|
||||
symbol: super_serial_rom
|
||||
image: res/roms/SSC.rom
|
||||
source_ref: "src/apple2/peripherals/super_serial_card/SuperSerialRom.h:8-16; src/apple2/peripherals/super_serial_card/SuperSerial.cpp:356-358; CMakeLists.txt:884-887"
|
||||
source_ref: "src/apple2/peripherals/super_serial_card/SuperSerialRom.h:8-16; src/apple2/peripherals/super_serial_card/SuperSerial.cpp:356-358; CMakeLists.txt:939-943"
|
||||
size: 2048
|
||||
md5: 67c0d61ab0911183faf05270f881a97e
|
||||
sha1: 6dab633470c6bc4cb3e81d09fda46597caf8ee57
|
||||
note: >
|
||||
Not generated and behind no cmake option: the card carries the 2048
|
||||
Not generated and behind no ROM option: the card carries the 2048
|
||||
bytes as an array in SuperSerialRom.h, the last page mapped at $Cn00
|
||||
and the whole image at $C800. The generator does not read
|
||||
res/roms/SSC.rom. A build test pins its SHA-1 as the reference of
|
||||
@@ -406,40 +415,55 @@ analysis:
|
||||
|
||||
- device: "Mouse interface card"
|
||||
slot: 4
|
||||
symbol: g_rom_mouse_interface
|
||||
symbol: mouse_rom
|
||||
image: res/roms/MouseInterface.rom
|
||||
cmake_option: ENABLE_ROM_MOUSE
|
||||
cmake_option: ENABLE_PERIPHERAL_MOUSE
|
||||
default: on
|
||||
source_ref: "CMakeLists.txt:126,128-132; scripts/generate_roms.sh:118; src/apple2/peripherals/mouse/Mouse.cpp:537-541"
|
||||
source_ref: "src/apple2/peripherals/mouse/MouseRom.h:8-19; src/apple2/peripherals/mouse/Mouse.cpp:261-267; CMakeLists.txt:538,664,986-990"
|
||||
size: 2048
|
||||
md5: 22563ab338024dac7b03510371d49c57
|
||||
sha1: 3a9d881a8a8d30f55b9719aceebbcf717f829d6f
|
||||
note: >
|
||||
Not generated and behind no ROM option: the card carries the 2048
|
||||
bytes as an array in MouseRom.h and maps one 256-byte bank at $Cn00,
|
||||
chosen by PIA port B bits 1-3. ENABLE_PERIPHERAL_MOUSE builds the
|
||||
card and its firmware together. The generator does not read
|
||||
res/roms/MouseInterface.rom. A build test pins its SHA-1 as the
|
||||
reference of that transcription.
|
||||
|
||||
- device: "Parallel printer card"
|
||||
slot: 1
|
||||
symbol: printer_rom
|
||||
image: res/roms/Parallel.rom
|
||||
source_ref: "src/apple2/peripherals/printer/Printer.cpp:30-53,215; CMakeLists.txt:872-874"
|
||||
source_ref: "src/apple2/peripherals/printer/Printer.cpp:30-55,217; CMakeLists.txt:920-926"
|
||||
size: 256
|
||||
md5: 5902996f16dc78fc013f6e1db14805b3
|
||||
sha1: c75c751589cbcc1ad4ab4f63676af7abadd86f5b
|
||||
note: >
|
||||
Not generated and behind no cmake option: the card carries the 256
|
||||
Not generated and behind no ROM option: the card carries the 256
|
||||
bytes as an array in Printer.cpp. The generator does not read
|
||||
res/roms/Parallel.rom. A build test pins its SHA-1 as the reference
|
||||
of that transcription.
|
||||
|
||||
- device: "Clock card"
|
||||
symbol: clock_rom
|
||||
source_ref: "src/apple2/peripherals/clock/ClockCard.cpp:19-29,158"
|
||||
source_ref: "src/apple2/peripherals/clock/ClockCard.cpp:19-20,34-45,174-176"
|
||||
note: >
|
||||
A 256-byte page written in ClockCard.cpp that answers the ProDOS
|
||||
ThunderClock identification and read entry points. No image under
|
||||
res/roms backs it.
|
||||
ThunderClock identification and read entry points. Each card patches
|
||||
its slot into the operand at $0D. No image under res/roms backs it.
|
||||
|
||||
- device: "ProDOS block device controller"
|
||||
symbol: harddisk_rom
|
||||
source_ref: "src/apple2/peripherals/harddisk/Harddisk.cpp:73-76,250-275,739-742"
|
||||
note: >
|
||||
A 256-byte page written in Harddisk.cpp from the ProDOS 8 Technical
|
||||
Reference Manual, serving two volumes. Each card patches its slot
|
||||
page into the operand at $09. No image under res/roms backs it.
|
||||
|
||||
character_generators:
|
||||
mechanism: "PNG converted to XPM by CMake, included at src/apple2/Video.cpp:39-43"
|
||||
selection: "machine type, then keyboard language (src/apple2/Video.cpp:1228-1252)"
|
||||
mechanism: "PNG converted to XPM by CMake, included at src/apple2/Video.cpp:35-39"
|
||||
selection: "machine type, then keyboard language (src/apple2/Video.cpp:1255-1279)"
|
||||
accepted_geometry: "128x128, or 128x256 for the Euro ROMs carrying a second language"
|
||||
images:
|
||||
- filename: charset40.png
|
||||
@@ -469,7 +493,7 @@ analysis:
|
||||
sha1: f86bd5238604247e04d616850f244b489daef18d
|
||||
|
||||
symbol_tables:
|
||||
source_ref: "src/Debugger/Debugger_Symbols.cpp:37-48"
|
||||
source_ref: "src/Debugger/Debugger_Symbols.cpp:37-49"
|
||||
lookup: "system_state.program_dir + filename, and system_state.program_dir is never assigned"
|
||||
loaded_on_command:
|
||||
- APPLE2E.SYM
|
||||
@@ -498,9 +522,9 @@ analysis:
|
||||
- "save states"
|
||||
- "FTP directory cache"
|
||||
note: >
|
||||
Produced by the emulator, none is user-supplied. CmdConfigSave builds
|
||||
the LinAppleDebugger.cfg path and passes it to no open call
|
||||
(src/Debugger/Debugger_Cmd_Config.cpp:218-221).
|
||||
Produced by the emulator, none is user-supplied. file_name_config
|
||||
names LinAppleDebugger.cfg and no open call takes it
|
||||
(src/Debugger/Debugger_Cmd_Config.cpp:40).
|
||||
|
||||
unused_resources:
|
||||
- filename: font.bmp
|
||||
|
||||
Reference in new issue
Block a user