Files
libretro/emulators/mariani.yml
T

587 lines
25 KiB
YAML

emulator: Mariani
type: standalone
core_classification: community_fork
source: "https://github.com/sh95014/AppleWin"
upstream: "https://github.com/AppleWin/AppleWin"
profiled_date: "2026-08-12"
source_commit: "492b017709fd67d3aff6b1d88d9971254e7214fa"
upstream_commit: "75bd90d16a2e4eb16026bf615685ee2a02dfc0d6"
core_version: "1.7"
display_name: "Apple - Apple II (Mariani)"
cores:
- mariani
systems:
- apple-ii
mode: standalone
notes: |
Cocoa frontend for AppleWin, macOS only, shipped as Mariani.app and carrying
AppleWin 1.31.0.5 (resource/version.h). ES-DE launches it with --d1 for the
floppy in slot 6 drive 1.
Resources are files inside the application bundle instead of Win32 resources
linked into the binary. MarianiFrame::GetResourceData maps each AppleWin
resource id to a file name, NSBundle resolves it against Contents/Resources,
and the file is read with open() then kept in a map for later requests
(MarianiFrame.cpp:156-232, AppDelegate.mm:1465-1469). LinuxFrame::GetResource
throws when the file it gets back does not have the size the call site asked
for (linuxframe.cpp:133-145), so each entry below carries the size the code
demands. A name that resolves to nothing raises a "Resource not found" alert
and returns a null pointer.
Machine types offered in preferences: Apple II, II Plus, II J-Plus, //e,
enhanced //e, Pravets 82, Pravets 8M, Pravets 8A, TK3000 //e and Base64A
(PreferencesViewController.mm:191-193, 741-751). MemInitializeROM picks the
system ROM from that setting (Memory.cpp:2052-2069). Default slots are the
printer card in 1, Super Serial Card in 2, Mockingboard in 4 and Disk II in 6
(CardManager.cpp:325-334); the hard disk and mouse cards are chosen by the
user.
Two names in the resource map have no file in the bundle: the Resources build
phase lists 49 items and neither appears (Mariani.xcodeproj/project.pbxproj).
Hddrvr-v2.bin is requested when a save state written with hard disk card
version 4 is loaded (Harddisk.cpp:228, 1439-1443), and
Freezes_Non-autostart_F8_Rom.rom when the configuration value "The Freeze's
F8 Rom" is set on an Apple II (Memory.cpp:2163-2168, Utilities.cpp:188-189,
Common.h:94). Contents/Resources is the only directory searched, so that is
where the two belong.
The debugger comes up with the emulator, not with its window
(context.cpp:116). CmdDebugStartup preloads four symbol tables
(Debug.cpp:9492-9520), each read first from
~/Library/Application Support/<bundle id>/ and then from the bundle
(Debugger_Symbols.cpp:774, 814-817, MarianiFrame.cpp:36-37,
AppDelegate.mm:1471-1491).
--rom and --f8rom install a 12k/16k and a 2k image from any path over the ROM
already loaded (argparser.cpp:197-198, programoptions.cpp:81-101,
Memory.cpp:2120-2213). AppleWin's -videorom and its hard disk firmware
switches are unreachable here: ParseCmdLine has no caller in this tree, and
UseHdcFirmwareV1/V2 are called only from Windows/AppleWin.cpp:783-785, which
the Xcode project does not compile.
files:
- name: Apple2.rom
description: "Apple II system ROM, $D000 to $FFFF"
required: true
bundled: true
size: 12288
md5: 3c406514b9806a7c57ee65fb0b0c39b4
sha1: 09288be705464b608ff190519ab008d3dfcd1b05
validation: [size]
source_ref: "source/Memory.cpp:2054, source/Memory.cpp:2065-2069, source/frontends/mariani/MarianiFrame.cpp:177"
note: "Loaded when the machine type is Apple II (original)."
- name: Apple2_Plus.rom
description: "Apple II Plus system ROM, $D000 to $FFFF"
required: true
bundled: true
size: 12288
md5: 572b3005a4fa49bc54917b069b82c1ab
sha1: 33a24f5489ba9195b44be77d9afb2252594cb5c7
validation: [size]
source_ref: "source/Memory.cpp:2055, 2065-2069, 2126-2137, source/frontends/mariani/MarianiFrame.cpp:178"
note: >
Also read on an original Apple II with a language card in slot 0, where
MemInitializeCustomF8ROM copies its last 2 KB over the autostart F8 area.
- name: Apple2_JPlus.rom
description: "Apple II J-Plus system ROM, $D000 to $FFFF"
required: true
bundled: true
size: 12288
md5: f3e8237eca3809bec2a42b984a1332a8
sha1: ad200b3263d08e7235d0871c8595963a07adc905
validation: [size]
source_ref: "source/Memory.cpp:2056, source/Memory.cpp:2065-2069, source/frontends/mariani/MarianiFrame.cpp:179"
note: "Loaded when the machine type is Apple II J-Plus."
- name: Apple2e.rom
description: "Apple //e system ROM, 4 KB internal Cx ROM then $D000 to $FFFF"
required: true
bundled: true
size: 16384
md5: 346bc782c6a08a531c460e33bc03daf4
sha1: 61fa9254628e5bb7236fb474006116d67684d747
validation: [size]
source_ref: "source/Memory.cpp:2057, source/Memory.cpp:2065-2069, source/Memory.cpp:2100-2117, source/frontends/mariani/MarianiFrame.cpp:180"
note: "Loaded when the machine type is Apple //e (original)."
- name: Apple2e_Enhanced.rom
description: "Enhanced Apple //e system ROM, 4 KB internal Cx ROM then $D000 to $FFFF"
required: true
bundled: true
size: 16384
md5: 38063e08c778503fc03ecebb979769e9
sha1: b8ea90abe135a0031065e01697c4a3a20d51198b
validation: [size]
source_ref: "source/Memory.cpp:2058, source/Memory.cpp:2065-2069, source/Memory.cpp:2100-2117, source/frontends/mariani/MarianiFrame.cpp:181"
note: "Default machine type."
- name: PRAVETS82.ROM
description: "Pravets 82 system ROM, $D000 to $FFFF"
required: true
bundled: true
size: 12288
md5: c619b7edfcf021f3b8fd20d9386676ba
sha1: 8bd7ced83e209a15e9b19a05a5ef4b8e996dc1a5
validation: [size]
source_ref: "source/Memory.cpp:2059, source/Memory.cpp:2065-2069, source/frontends/mariani/MarianiFrame.cpp:182"
note: "Loaded when the machine type is Pravets 82."
- name: PRAVETS8M.ROM
description: "Pravets 8M system ROM, $D000 to $FFFF"
required: true
bundled: true
size: 12288
md5: 76c79535f7cf77973e2c711aa977a124
sha1: f1b4ff018acf95f3355f0d575b66a188d728b687
validation: [size]
source_ref: "source/Memory.cpp:2060, source/Memory.cpp:2065-2069, source/frontends/mariani/MarianiFrame.cpp:183"
note: "Loaded when the machine type is Pravets 8M."
- name: PRAVETS8C.ROM
description: "Pravets 8A system ROM, 4 KB internal Cx ROM then $D000 to $FFFF"
required: true
bundled: true
size: 16384
md5: 1896d7b98dd940c89f7c8ea899b71006
sha1: c976fe56e57706c161f513a82ba3e0d8cda83904
validation: [size]
source_ref: "source/Memory.cpp:2061, source/Memory.cpp:2065-2069, source/frontends/mariani/MarianiFrame.cpp:184"
note: "Loaded when the machine type is Pravets 8A."
- name: TK3000e.rom
description: "TK3000 //e system ROM, 4 KB internal Cx ROM then $D000 to $FFFF"
required: true
bundled: true
size: 16384
md5: 8d84b614b545d4eec8799d3f325332cb
sha1: f163e5753c18ff0e812a448e8da406f102600edf
validation: [size]
source_ref: "source/Memory.cpp:2062, source/Memory.cpp:2065-2069, source/frontends/mariani/MarianiFrame.cpp:185"
note: "Loaded when the machine type is TK3000 //e."
- name: Base64A.rom
description: "Base64A system ROM, four 12 KB pages"
required: true
bundled: true
size: 49152
md5: 352fdbcae14c6a8c0398822c7a273309
sha1: f1c779af480b5bda2bdd03950c1201a5c5143bea
validation: [size]
source_ref: "source/Memory.cpp:2063, source/Memory.cpp:2065-2069, source/Memory.cpp:2114-2117, source/frontends/mariani/MarianiFrame.cpp:186"
note: "Loaded when the machine type is Base64A. Copied into memrom as MaxRomPages pages of 12 KB."
- name: Freezes_Non-autostart_F8_Rom.rom
description: "Non-autostart F8 monitor ROM"
required: false
size: 2048
md5: d0a61e95ed1e1dc37c8e4801326aa79e
sha1: 3180be6b555ee9ef1f59c4fc3f25c5aab8c39c81
validation: [size]
source_ref: "source/Memory.cpp:2163-2168, source/Utilities.cpp:188-189, source/Common.h:94, source/frontends/mariani/MarianiFrame.cpp:187"
note: >
MemInitializeCustomF8ROM copies it over $F800 to $FFFF when the
configuration value "The Freeze's F8 Rom" is set and the machine is an
Apple II. The application bundle does not ship it, so it has to be placed
in Contents/Resources, the only directory PathToResourceNamed searches.
- name: Apple2_Video.rom
description: "Apple II and II Plus character generator"
required: true
bundled: true
size: 2048
md5: 9ac0dc8c4d0002eb45b0b84be0bde5ec
sha1: f9d312f128c9557d9d6ac03bfad6c3ddf83e5659
validation: [size]
source_ref: "source/NTSC_CharSet.cpp:249-256, 296, source/frontends/mariani/MarianiFrame.cpp:189"
note: "make_csbits reads it on every start, whatever the machine type."
- name: Apple2_JPlus_Video.rom
description: "Apple II J-Plus character generator"
required: true
bundled: true
size: 2048
md5: 271e2c9bf928b95e7baeff391db45495
sha1: 0a382be58db5215c4a3de53b19a72fab660d5da2
validation: [size]
source_ref: "source/NTSC_CharSet.cpp:258-266, 303, source/frontends/mariani/MarianiFrame.cpp:190"
note: "Read on every start. Fills the two J-Plus character sets selected by AN2."
- name: Apple2e_Enhanced_Video.rom
description: "Apple //e character generator, US"
required: true
bundled: true
size: 4096
md5: 9123fff3442c0e688cc6816be88dd4ab
sha1: b2b5d87f52693817fc747df087a4aa1ddcdb1f10
validation: [size]
source_ref: "source/NTSC_CharSet.cpp:278-285, 297, 299-301, source/frontends/mariani/MarianiFrame.cpp:191"
note: >
Read on every start. The original //e set is derived from it by putting
the non-alt characters back over the 32 mousetext slots.
- name: Base64A_German_Video.rom
description: "Base64A character generator"
required: true
bundled: true
size: 4096
md5: 4b45852b369e2afd864a02d0d91f70dc
sha1: 87ca8135f7526ddf829f9c2c4f7dbe4d568818fc
validation: [size]
source_ref: "source/NTSC_CharSet.cpp:268-276, 304, source/frontends/mariani/MarianiFrame.cpp:192"
note: "Read on every start. Split in two 2 KB halves for the two character sets."
- name: CHARSET82.bmp
description: "Pravets 82 character generator bitmap"
required: true
bundled: true
size: 8254
md5: 5b4866713477fdb08bb2a78d2d86ceb0
sha1: 34718c242ccc539c54b456eca84286421ad24166
source_ref: "source/NTSC_CharSet.cpp:291, source/frontends/mariani/MarianiFrame.cpp:52-61"
note: >
Read through GetBitmap on every start, decoded with ImageIO and packed
eight pixels to the octet. No size check: the copy stops at the shorter of
the image and the requested buffer.
- name: CHARSET8M.bmp
description: "Pravets 8M character generator bitmap"
required: true
bundled: true
size: 8254
md5: f2720f70859026c76e07fc598fbe435f
sha1: cfbdbc1d76542f2a60dbbbdf9deb218ee197351e
source_ref: "source/NTSC_CharSet.cpp:292, source/frontends/mariani/MarianiFrame.cpp:52-61"
note: "Read through GetBitmap on every start."
- name: CHARSET8C.bmp
description: "Pravets 8A character generator bitmap, both character sets"
required: true
bundled: true
size: 16446
md5: 9248c1f19f3d3277a031f46a19b2e350
sha1: 0ec9ebe6542ca8f89ed4a7c417716b287a75b48e
source_ref: "source/NTSC_CharSet.cpp:293-294, source/frontends/mariani/MarianiFrame.cpp:52-61"
note: "Read twice, at row 0 for the alt character set off and at row 16 for on."
- name: DISK2.rom
description: "Disk II controller firmware, 16 sector"
required: true
bundled: true
size: 256
md5: 2020aa1413ff77fe29353f3ee72dc295
sha1: d4181c9f046aafc3fb326b381baac809d9e38d16
validation: [size]
source_ref: "source/Disk.cpp:2074-2082, source/Disk.cpp:2104-2108, source/frontends/mariani/MarianiFrame.cpp:166"
note: >
Read when the Disk II card initialises, which is slot 6 by default. Both
firmware images are read up front and the one installed at $C600 follows
the boot sector format of the inserted image.
- name: DISK2-13sector.rom
description: "Disk II controller firmware, 13 sector"
required: true
bundled: true
size: 256
md5: 4f80448507cf43ab40c17ac08d89e278
sha1: afd060e6f35faf3bb0146fa889fc787adf56330a
validation: [size]
source_ref: "source/Disk.cpp:2074-2082, source/Disk.cpp:2104-2106, source/frontends/mariani/MarianiFrame.cpp:165"
note: "Read alongside the 16 sector image when the Disk II card initialises."
- name: SSC.rom
description: "Super Serial Card firmware"
required: true
bundled: true
size: 2048
md5: 67c0d61ab0911183faf05270f881a97e
sha1: 6dab633470c6bc4cb3e81d09fda46597caf8ee57
validation: [size]
source_ref: "source/SerialComms.cpp:957-970, source/frontends/mariani/MarianiFrame.cpp:167"
note: >
Read when the card initialises, slot 2 by default. The 256 bytes at
offset 0x700 go to the slot ROM and the whole 2 KB stays as expansion ROM.
- name: Parallel.rom
description: "Parallel printer card firmware"
required: true
bundled: true
size: 256
md5: 5902996f16dc78fc013f6e1db14805b3
sha1: c75c751589cbcc1ad4ab4f63676af7abadd86f5b
validation: [size]
source_ref: "source/ParallelPrinter.cpp:43-52, source/frontends/mariani/MarianiFrame.cpp:171"
note: "Read when the printer card initialises, slot 1 by default."
- name: MouseInterface.rom
description: "Mouse interface card firmware"
required: false
bundled: true
size: 2048
md5: 22563ab338024dac7b03510371d49c57
sha1: 3a9d881a8a8d30f55b9719aceebbcf717f829d6f
validation: [size]
source_ref: "source/MouseInterface.cpp:163-176, source/frontends/mariani/MarianiFrame.cpp:173"
note: "Read only when the user puts the mouse card in a slot. No default slot holds it."
- name: HDC-SmartPort.bin
description: "Hard disk controller firmware, SmartPort"
required: false
bundled: true
size: 256
md5: 2592efa1d34ade55d490a1b39911c9b2
sha1: fd557998fd5823ad69a42ad1282e4fe47db02dca
validation: [size]
source_ref: "source/Harddisk.cpp:222-241, source/frontends/mariani/MarianiFrame.cpp:170"
note: >
Default firmware of the hard disk card, which no slot holds until the user
adds it. Block mode and drive count are patched into the copy afterwards.
- name: Hddrvr.bin
description: "Hard disk controller firmware, version 1"
required: false
bundled: true
size: 256
md5: e0a40e9166af27b16f60beb83c9233f0
sha1: 69667800c54da1d4466e7b2168c0e418a4cf586c
validation: [size]
source_ref: "source/Harddisk.cpp:227, source/Harddisk.cpp:237, source/Harddisk.cpp:1439-1441, source/frontends/mariani/MarianiFrame.cpp:168"
note: "Selected over the SmartPort firmware when a save state carries a hard disk card older than version 4."
- name: Hddrvr-v2.bin
description: "Hard disk controller firmware, version 2"
required: false
size: 256
md5: a49e45e7a6d4de23e0845a59c7e31e0c
sha1: 06115eebb4d58221b5c062a42bf3e41e137447ed
validation: [size]
source_ref: "source/Harddisk.cpp:228, source/Harddisk.cpp:237, source/Harddisk.cpp:1439-1443, source/frontends/mariani/MarianiFrame.cpp:169"
note: >
Selected when a save state carries hard disk card version 4. The
application bundle does not ship it, so it has to be placed in
Contents/Resources for that state to restore.
- name: bootsector.bin
description: "Boot sector written to a new DOS 3.3 disk image"
required: false
bundled: true
size: 256
md5: 6ab4d0a20071dad38154a7c0278beee6
sha1: 3b0d57ff9abb3302cc949f7e0cc71d38ea5a89ce
validation: [size]
source_ref: "source/ProDOS_Utils.cpp:832-836, source/frontends/mariani/MarianiFrame.cpp:194"
note: "Read by the Disk Maker window when it formats an image without copying DOS 3.3."
- name: bootsector_prodos243.bin
description: "Two boot sectors written to a new ProDOS disk image"
required: false
bundled: true
size: 1024
md5: 2695dc5458076eb747b9f245dd1a7ed9
sha1: e2f1b6342efff3a39fafd239f200707bc7494592
validation: [size]
source_ref: "source/ProDOS_Utils.cpp:792-796, source/frontends/mariani/MarianiFrame.cpp:195"
note: "Read by the Disk Maker window when it creates a ProDOS image."
- name: dos33c.bin
description: "DOS 3.3 image copied to the first three tracks of a new disk"
required: false
bundled: true
size: 12288
md5: 46a02fc4775b3d959f3f949a70eaa616
sha1: 52d1bbeed17f2a2240cb38249dba3663ad0b8a1f
validation: [size]
source_ref: "source/ProDOS_Utils.cpp:774-778, source/frontends/mariani/MarianiFrame.cpp:196"
note: "Read by the Disk Maker window when DOS 3.3 is copied onto the new image."
- name: prodos243.bin
description: "ProDOS 2.4.3 kernel written as PRODOS on a new ProDOS disk"
required: false
bundled: true
size: 17128
md5: 90644bd658fd0922d28eccb7cfb7cb76
sha1: 17c354249ddbfaf20b570d3c5e33b693e36646aa
validation: [size]
source_ref: "source/ProDOS_Utils.cpp:595-599, source/frontends/mariani/MarianiFrame.cpp:197"
note: "Read by the Disk Maker window when the ProDOS system file is copied."
- name: bitsy.boot.bin
description: "Bitsy Boot system file for a new ProDOS disk"
required: false
bundled: true
size: 365
md5: e6e8f7edc3ae48f827a97090cdca741c
sha1: 474c2b0c666239c76fce07e1c96471650431a2d6
validation: [size]
source_ref: "source/ProDOS_Utils.cpp:509-513, source/frontends/mariani/MarianiFrame.cpp:198"
note: "Read by the Disk Maker window when Bitsy Boot is copied."
- name: quit.system.bin
description: "Bitsy Bye quit system file for a new ProDOS disk"
required: false
bundled: true
size: 56
md5: 6a32c39d8ac24bd56a03d79299b0a8f1
sha1: dbda9a9fd882af929b17cd2de1a975e7f1b93361
validation: [size]
source_ref: "source/ProDOS_Utils.cpp:552-556, source/frontends/mariani/MarianiFrame.cpp:199"
note: "Read by the Disk Maker window when Bitsy Bye is copied."
- name: basic17.system.bin
description: "BASIC.SYSTEM 1.7 written to a new ProDOS disk"
required: false
bundled: true
size: 10240
md5: a8d8c08f5cb4a9480389477c6c2f2834
sha1: 6ba0571dee8da75f5c1736854e206eb9d2601fac
validation: [size]
source_ref: "source/ProDOS_Utils.cpp:467-471, source/frontends/mariani/MarianiFrame.cpp:200"
note: "Read by the Disk Maker window when BASIC.SYSTEM is copied."
- name: APPLE2E.SYM
description: "Debugger symbol table for the main ROM"
required: false
bundled: true
size: 13444
md5: 034527d42a96d0f39977cb85c6a8f2d8
sha1: fcfbbb25e06f58d13e762b02bfd468c834d98fc8
source_ref: "source/Debugger/Debugger_Symbols.cpp:46, 774, 814-817, source/Debugger/Debug.cpp:9499-9500"
note: >
Preloaded into the Main table when the emulator starts. Read from the
support directory first, then from the bundle. Parsed as lines of address
and name, with no size or hash check.
- name: A2_BASIC.SYM
description: "Debugger symbol table for Applesoft BASIC"
required: false
bundled: true
size: 15378
md5: 7253a9ba7d7ca807016f5adc0207dd7b
sha1: 496a0bd1af463fce81b362da9e4757a993e355d5
source_ref: "source/Debugger/Debugger_Symbols.cpp:47, 774, 814-817, source/Debugger/Debug.cpp:9502-9503"
note: "Preloaded into the Basic table when the emulator starts."
- name: A2_DOS33.SYM2
description: "Debugger symbol script for DOS 3.3"
required: false
size: 2380
md5: 88bd69906b4b3109b3f31472fb4b47f4
sha1: 51cc84e2cbd9bd61d50a0931cdae0a2ef0a57d6c
source_ref: "source/Debugger/Debugger_Symbols.cpp:53, 774-806, source/Debugger/Debug.cpp:9506-9507"
note: >
Preloaded into the DOS33 table when the emulator starts. The .SYM2
extension routes it through the debugger script reader instead of the
symbol parser, so it is only read from the support directory. The
application bundle does not ship it.
- name: PrintChar21.ttf
description: "Print Char 21 font used by the debugger console and inspector"
required: false
bundled: true
size: 501992
md5: 972ce55fa7b905a494de16a7e8ec1949
sha1: c66c1955dac84a253a661720a7947150c109f315
source_ref: "source/frontends/mariani/debugger/ConsoleViewController.mm:74, source/frontends/mariani/debugger/InspectorOutlineViewController.mm:356, source/frontends/mariani/debugger/CharacterMappings.mm:13-142, source/frontends/mariani/Mariani-Info.plist:5-6"
note: >
Registered from the resource folder by ATSApplicationFontsPath and asked
for by family name. CharacterMappings maps Apple II character values to
its codepoints.
analysis:
bundle_layout:
resource_folder: "Mariani.app/Contents/Resources"
lookup: "NSBundle pathForResource, no fallback directory"
reader: "open() and read(), cached per resource id in MarianiFrame::roms"
size_check: "LinuxFrame::GetResource throws when the size differs from the one the call site expects"
missing_file: "modal alert titled Resource not found, then a null pointer"
source_ref: "source/frontends/mariani/MarianiFrame.cpp:156-232, source/frontends/mariani/AppDelegate.mm:1465-1469, source/linux/linuxframe.cpp:133-145"
support_directory:
path: "~/Library/Application Support/<bundle id>/"
holds: "debugger symbol tables, debugger scripts, printer output, g_sProgramDir"
source_ref: "source/frontends/mariani/AppDelegate.mm:1471-1485, source/frontends/mariani/MarianiFrame.cpp:36"
unreachable_resources:
- filename: Mockingboard-D.rom
reason: "IDR_MOCKINGBOARD_D_FW appears only in the resource header and in the frontend's name table; nothing requests it"
source_ref: "resource/resource.h:38, source/frontends/mariani/MarianiFrame.cpp:172"
- filename: TKClock.rom
reason: "IDR_TKCLOCK_FW appears only in the resource header and in the frontend's name table; nothing requests it"
source_ref: "resource/resource.h:51, source/frontends/mariani/MarianiFrame.cpp:175"
- filename: ThunderClockPlus.rom
reason: >
Its only consumer, LoadRom_Clock_ThunderClockPlus, has no caller in the
tree, reads through the Win32 FindResource API and lives in a file the
Xcode project never compiles
source_ref: "source/Peripheral_Clock_ThunderClockPlus.cpp:200-215, resource/resource.h:40"
- filename: Debug_Font.bmp
reason: >
IDB_DEBUG_FONT_7_by_8 is fetched with Win32 LoadBitmap against the
Windows frame, and MarianiFrame::GetBitmap answers only the three
CHARSET ids. Mariani draws its debugger with AppKit
source_ref: "source/Debugger/Debugger_Display.cpp:595, source/frontends/mariani/MarianiFrame.cpp:52-65"
symbol_tables:
lookup: "g_sProgramDir then g_sBuiltinSymbolsDir, which is the folder holding the bundled .SYM files"
source_ref: "source/Debugger/Debugger_Symbols.cpp:45-55, 774, 814-817, source/frontends/mariani/AppDelegate.mm:1487-1491"
preloaded_at_init:
- APPLE2E.SYM
- A2_BASIC.SYM
- A2_DOS33.SYM2
- A2_USER1.SYM
loaded_on_command:
- A2_ASM.SYM
- A2_USER2.SYM
- A2_SRC1.SYM
- A2_SRC2.SYM
- A2_PRODOS.SYM
note: >
DebugInitialize runs from InitialiseEmulator, so the preload happens even
when the debugger window is never opened. Only APPLE2E.SYM and A2_BASIC.SYM
are in the bundle. The user slots and the source and assembler tables have
no distributed content and are written by whoever needs them; a missing
table leaves the debugger running without those names.
debugger_scripts:
- filename: DebuggerAutoRun.txt
source_ref: "source/Debugger/Debug.cpp:365, source/Debugger/Debug.cpp:9440-9473"
note: >
Run once at the first DebugInitialize, from the current directory and
then from the support directory. Holds debugger commands written by the
user; the copy in the source tree is empty.
user_supplied_roms:
options:
- option: "--rom"
accepts: "12 KB image at $D000 or 16 KB image at $C000, any path"
source_ref: "source/frontends/common2/argparser.cpp:197, source/frontends/common2/programoptions.cpp:81-91, source/Memory.cpp:2173-2213"
- option: "--f8rom"
accepts: "2 KB image at $F800, any path"
source_ref: "source/frontends/common2/argparser.cpp:198, source/frontends/common2/programoptions.cpp:92-101, source/Memory.cpp:2139-2161"
note: >
Both are installed over the ROM already loaded from the bundle and neither
has a fixed name. AppleWin's -videorom has no equivalent: ParseCmdLine is
never called in this tree.
generated_files:
written_only:
- AppleWin.log
- Trace.txt
- "save states"
- "screen recordings and screenshots"
- "printer spool file"
written_and_read_back:
- applewin.yaml
- AppleWinDebugger.cfg
note: >
applewin.yaml is the configuration registry, created under the settings
root and overridable with --conf and --registry. All of these are produced
by the emulator, none is user-supplied.
help_book:
filename: Mariani.help
reason: "Help bundle opened by AppKit through CFBundleHelpBookName, not by emulator code"
source_ref: "source/frontends/mariani/Mariani-Info.plist:42-45, source/frontends/mariani/Base.lproj/MainMenu.xib:264"