Files
libretro/emulators/minivmac.yml
T
Abdessamad Derraz e7aa9e870b fix: state libretro core versions from their code
Each libretro profile records version_basis and core_version is read
there at its pin. snes9x states 1.63 in snes9x.h, nestopia 2.0.0, mgba
0.11.0, vice 3.10, atari800's libretro tree 7.0.0. Cores whose build
takes its version from git carry the nearest tag in describe form
(flycast v2.7-90-ge88b0ce, ppsspp, duckstation, gearcoleco), placeholders
copied from .info files (Git, SVN) are replaced by the code's statement,
and a code that states none is null with kind none.
2026-10-27 19:21:27 +01:00

74 lines
2.8 KiB
YAML

emulator: Mini vMac
type: libretro
core_classification: community_fork
source: "https://github.com/libretro/libretro-minivmac"
upstream: "https://www.gryphel.com/c/minivmac/"
profiled_date: "2026-03-24"
source_commit: "babdf7b53d361a7225858b68a8a64efe8b06f5e5"
core_version: "36.04"
version_basis:
kind: file
path: "minivmac/cfg/CNFGRAPI.h"
pattern: '#define\s+kAppVariationStr\s+"minivmac-([0-9.]+)-'
display_name: "Mac II (minivmac)"
cores: [minivmac]
systems: [macintosh-ii]
# Libretro port of Mini vMac 36.04, hardcoded for Mac II emulation
# (CurEmMd = kEmMd_II). 68020 CPU, FPU, ADB, VIA2, ASC. 640x480, 8-bit color.
# The VidROM is generated in memory by Vid_Init(), not loaded from a file.
# ROM loading order in LoadMacRom (OSGLUERETRO.c:774):
# 1. <system_dir>/MacIIx.ROM
# 2. <system_dir>/MacII.ROM
# 3. --rom command line arg
# 4. ~/.gryphel/mnvm_rom/MacII.ROM
# 5. app parent directory
# 6. current directory
# The libretro port does NOT call ROM_IsValid() (unlike upstream backends),
# so no checksum validation occurs. ROM_Init() patches the Mac's own boot
# ROM check (DisableRomCheck = 1, ROMEMDEV.c:279).
files:
- name: "MacII.ROM"
path: "MacII.ROM"
required: true
size: 262144
validation: [size]
source_ref: "minivmac/cfg/CNFGRAPI.h:32, minivmac/src/OSGLUERETRO.c:781"
note: >
Macintosh II ROM image (256 KB). Hardcoded as RomFileName. The core
reads exactly kROM_Size (262144) bytes via filestream_read.
- name: "MacIIx.ROM"
path: "MacIIx.ROM"
required: false
size: 262144
validation: [size]
source_ref: "minivmac/src/OSGLUERETRO.c:778"
note: >
Macintosh IIx ROM image (256 KB). Tried first in the loading sequence.
If present, takes priority over MacII.ROM.
- name: "MinivMacBootv2.dsk"
path: "macintosh/MinivMacBootv2.dsk"
required: false
source_ref: "libretro/libretro-core.c:181-195, libretro/libretro-core.c:396, minivmac/src/OSGLUERETRO.c:521-537, minivmac/src/OSGLUERETRO.c:1545-1547"
note: >
System boot disk. Content given as a .cmd file is read as a command
line, and every argument that is not an option is inserted as a disk,
opened read-write first. Recalbox 10.1.1 writes a .cmd naming
bios/macintosh/MinivMacBootv2.dsk ahead of the game disk. A missing
image raises an open-failure message and the machine starts without it.
ref: recalbox projects/configgen/configgen/recalboxFiles.py:174,
recalbox projects/configgen/configgen/generators/libretro/libretroGenerator.py:877-882
notes:
emulation_target: >
Configured for Macintosh II (kEmMd_II). 68020 CPU, FPU, ADB, VIA2, ASC
sound. Screen: 640x480, 8-bit color depth.
info_discrepancy: >
.info declares firmware_count=1 (MacII.ROM only). The code also tries
MacIIx.ROM first (OSGLUERETRO.c:778).