mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-12 13:03:54 -06:00
ArkOS ran the GBA with gpsp_ezode_mod and dArkOS with mgba_rumble: no profile named them, so an install for the card's games kept every GBA core's files, FBNeo's 3,472 data files among them. Each rename proven from the OS build (same code base, same BIOS loading) joins its profile's cores. The resolver folds either separator, and falls back to the emulator column when the core names a mode, a machine or a plugin of that program, only where its profile declares the folder's system: MAME documents no GameKing ROM. 109 unresolved names are 56, each one recorded with why in tests/test_games_index.py.
89 lines
4.2 KiB
YAML
89 lines
4.2 KiB
YAML
emulator: Basilisk II
|
|
type: standalone
|
|
source: "https://github.com/cebix/macemu"
|
|
upstream: "https://github.com/cebix/macemu"
|
|
profiled_date: "2026-08-08"
|
|
source_commit: "96e512bd6376e78a2869f16dcc8a9028bce5ee72"
|
|
core_version: "1.0"
|
|
version_basis:
|
|
kind: file
|
|
path: "BasiliskII/src/include/version.h"
|
|
pattern: 'const int VERSION_MAJOR = (\d+);\s*\nconst int VERSION_MINOR = (\d+);'
|
|
format: "{1}.{2}"
|
|
display_name: "Apple - Macintosh 68k (Basilisk II)"
|
|
cores:
|
|
- basiliskii
|
|
- basilisk
|
|
- "basilisk2"
|
|
systems:
|
|
- apple-macintosh
|
|
- macintosh-ii
|
|
mode: standalone
|
|
|
|
notes: |
|
|
68k Macintosh emulator living in the macemu tree alongside SheepShaver.
|
|
Emulates a Mac Classic or a Mac II series machine depending on the ROM
|
|
supplied. Default model ID is 5 (Mac IIci) on a 68030
|
|
(prefs_items.cpp:88-89).
|
|
|
|
ROM loading (main_unix.cpp:681-702, main_windows.cpp:367,
|
|
main_macosx.mm:431): the path comes from the "rom" prefs item
|
|
(prefs_items.cpp:51) and falls back to a file named ROM in the working
|
|
directory (main_unix.cpp:109). A missing or unreadable file raises
|
|
STR_NO_ROM_FILE_ERR and calls QuitEmulator.
|
|
|
|
Two gates run on the image. main_unix.cpp:692 accepts only sizes of 64K,
|
|
128K, 256K, 512K or 1024K. CheckROM (rom_patches.cpp:830-842), called from
|
|
InitAll at main.cpp:67, then reads the version word at ROM offset 8 and
|
|
accepts 0x067c (32-bit clean Mac II, 512K/1MB) under real and direct
|
|
addressing, adding 0x0276 (SE/Classic, 256K/512K) under banks addressing.
|
|
configure.ac:61-68,1440-1477 defaults --enable-addressing to fastest,
|
|
which resolves to real or direct, so a stock build takes 32-bit clean ROMs
|
|
only. 0x0000 (Mac 128K), 0x0075 (Mac Plus) and 0x0178 (non 32-bit clean
|
|
Mac II) are refused by every addressing mode. PatchROM
|
|
(rom_patches.cpp:1834-1852) then rewrites the image in memory, injecting
|
|
replacement .Sony, .Disk, .AppleCD and serial drivers. Nothing is
|
|
checksummed: print_rom_info (rom_patches.cpp:298-310) prints the ROM header
|
|
checksum without comparing it against anything.
|
|
|
|
Mac OS itself and the games live in disk images referenced by the disk,
|
|
floppy and cdrom prefs items, supplied by the user.
|
|
|
|
Four files are installed by the emulator's own Makefile into
|
|
$(datadir)/BasiliskII (Makefile.in:25,155-157) and read from there:
|
|
keycodes X keycode to Mac keycode table, read only when the
|
|
keycodes prefs item is true, which defaults to false
|
|
(prefs_unix.cpp:119). Overridable with keycodefile.
|
|
video_sdl2.cpp:94-97,1231, video_x.cpp:1492
|
|
BasiliskII_keycodes tried when keycodes is absent (video_sdl2.cpp:98,
|
|
1232), shipped in src/MacOSX/
|
|
fbdevices frame buffer device table, read by the X11 backend
|
|
built with --enable-fbdev-dga. Overridable with
|
|
fbdevicefile. video_x.cpp:1152,1186
|
|
tunconfig script run to configure the tunN interface for
|
|
ethernet. Overridable with etherconfig.
|
|
ether_unix.cpp:108,381
|
|
|
|
The preferences file (.basilisk_ii_prefs, prefs_unix.cpp:50) and the PRAM
|
|
file (.basilisk_ii_xpram on Unix, BasiliskII_xpram.dat on Windows,
|
|
xpram_unix.cpp:32, xpram_windows.cpp:33) are written by the emulator when
|
|
absent.
|
|
|
|
files:
|
|
- name: ROM
|
|
required: true
|
|
min_size: 524288
|
|
max_size: 1048576
|
|
validation: [size]
|
|
description: "Macintosh ROM image, 512 KB SE/Classic or 512 KB / 1 MB 32-bit clean Mac II"
|
|
source_ref: "BasiliskII/src/Unix/main_unix.cpp:109,685,692, BasiliskII/src/rom_patches.cpp:830-842, BasiliskII/src/main.cpp:67,190, BasiliskII/src/rom_patches.cpp:1187-1832"
|
|
note: >-
|
|
Opened under the name the rom prefs item gives, ROM when it is unset.
|
|
The code accepts 64 KB to 1 MB, and the 512 KB floor here is the
|
|
smallest image with a version word CheckROM takes on a stock build. The
|
|
version word is not the last gate. patch_rom_32 searches the image for
|
|
the code it patches (UniversalInfo, InitMMU, ClkNoMem, the SCC and VIA2
|
|
setup, the interrupt enables, the PACK 4 resource) and returns false
|
|
when one is missing, which InitAll at main.cpp:190 turns into a failed
|
|
start. No hash is involved in either gate.
|