mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-21 03:09:08 -05:00
Profiles that read two repositories, a libretro port and its upstream, now prefix each citation with source or upstream, decided by which tree carries the cited value at its pin. The emulator pages use the word to tell libretro glue, emulator code as the port carries it, and the upstream emulator apart.
587 lines
26 KiB
YAML
587 lines
26 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: "51893cab7e8a3d1298734848f4fd616f2e1831fb"
|
|
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
|
|
(source/frontends/mariani/MarianiFrame.cpp:156-232, source/frontends/mariani/AppDelegate.mm:1465-1469). LinuxFrame::GetResource
|
|
throws when the file it gets back does not have the size the call site asked
|
|
for (source/linux/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
|
|
(source/frontends/mariani/preferences/PreferencesViewController.mm:191-193, 741-751). MemInitializeROM picks the
|
|
system ROM from that setting (source/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
|
|
(source/CardManager.cpp:325-334), while 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 (source/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 (source/Memory.cpp:2163-2168, source/Utilities.cpp:188-189,
|
|
source/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
|
|
(source/linux/context.cpp:116). CmdDebugStartup preloads four symbol tables
|
|
(source/Debugger/Debug.cpp:9488-9516), each read first from
|
|
~/Library/Application Support/<bundle id>/ and then from the bundle
|
|
(source/Debugger/Debugger_Symbols.cpp:774, 814-817, source/frontends/mariani/MarianiFrame.cpp:36-37,
|
|
source/frontends/mariani/AppDelegate.mm:1471-1491).
|
|
|
|
--rom and --f8rom install a 12k/16k and a 2k image from any path over the ROM
|
|
already loaded (source/frontends/common2/argparser.cpp:205-206, source/frontends/common2/programoptions.cpp:82-102,
|
|
source/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 source/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 source/Memory.cpp:2054, source source/Memory.cpp:2065-2069, source 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 source/Memory.cpp:2055, 2065-2069, 2126-2137, source 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 source/Memory.cpp:2056, source source/Memory.cpp:2065-2069, source 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 source/Memory.cpp:2057, source source/Memory.cpp:2065-2069, source source/Memory.cpp:2100-2117, source 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 source/Memory.cpp:2058, source source/Memory.cpp:2065-2069, source source/Memory.cpp:2100-2117, source 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 source/Memory.cpp:2059, source source/Memory.cpp:2065-2069, source 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 source/Memory.cpp:2060, source source/Memory.cpp:2065-2069, source 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 source/Memory.cpp:2061, source source/Memory.cpp:2065-2069, source 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 source/Memory.cpp:2062, source source/Memory.cpp:2065-2069, source 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 source/Memory.cpp:2063, source source/Memory.cpp:2065-2069, source source/Memory.cpp:2114-2117, source 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 source/Memory.cpp:2163-2168, source source/Utilities.cpp:188-189, source source/Common.h:94, source 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 source/NTSC_CharSet.cpp:249-256, 296, source 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 source/NTSC_CharSet.cpp:258-266, 303, source 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 source/NTSC_CharSet.cpp:278-285, 297, 299-301, source 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 source/NTSC_CharSet.cpp:268-276, 304, source 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 source/NTSC_CharSet.cpp:291, source 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 source/NTSC_CharSet.cpp:292, source 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 source/NTSC_CharSet.cpp:293-294, source 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 source/Disk.cpp:2074-2082, source source/Disk.cpp:2104-2108, source 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 source/Disk.cpp:2074-2082, source source/Disk.cpp:2104-2106, source 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 source/SerialComms.cpp:957-970, source 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 source/ParallelPrinter.cpp:43-52, source 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 source/MouseInterface.cpp:163-176, source 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 source/Harddisk.cpp:222-241, source 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 source/Harddisk.cpp:227, source source/Harddisk.cpp:237, source source/Harddisk.cpp:1439-1441, source 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 source/Harddisk.cpp:228, source source/Harddisk.cpp:237, source source/Harddisk.cpp:1439-1443, source 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 source/ProDOS_Utils.cpp:832-836, source 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 source/ProDOS_Utils.cpp:792-796, source 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 source/ProDOS_Utils.cpp:774-778, source 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 source/ProDOS_Utils.cpp:595-599, source 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 source/ProDOS_Utils.cpp:509-513, source 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 source/ProDOS_Utils.cpp:552-556, source 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 source/ProDOS_Utils.cpp:467-471, source 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: "upstream source/Debugger/Debugger_Symbols.cpp:46, 774, 814-817, source source/Debugger/Debug.cpp:9495-9496"
|
|
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: "upstream source/Debugger/Debugger_Symbols.cpp:47, 774, 814-817, source source/Debugger/Debug.cpp:9498-9499"
|
|
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: "upstream source/Debugger/Debugger_Symbols.cpp:53, 774-806, source source/Debugger/Debug.cpp:9502-9503"
|
|
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 source/frontends/mariani/debugger/ConsoleViewController.mm:74, source source/frontends/mariani/debugger/InspectorOutlineViewController.mm:356, source source/frontends/mariani/debugger/CharacterMappings.mm:13-142, source 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, and 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, and 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:9436-9469"
|
|
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:205, source/frontends/common2/programoptions.cpp:82-92, source/Memory.cpp:2173-2213"
|
|
- option: "--f8rom"
|
|
accepts: "2 KB image at $F800, any path"
|
|
source_ref: "source/frontends/common2/argparser.cpp:206, source/frontends/common2/programoptions.cpp:93-102, 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"
|