mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-20 10:23:16 -05:00
Each platform's own packages were read at the revision our data pins, for every emulator and core it ships: Batocera, Recalbox, RetroPie, ROCKNIX, Lakka, RetroDECK, RetroBat and EmuDeck. Files a package installs where the emulator reads them are recorded with installed_on, and files a release bundles but a package leaves out with not_bundled_on, so each platform's pack brings what its users lack and nothing they already have. The standalone profiles never checked before were held against their releases the same way. Batocera's imame4all is the mame2000 core. The primary neogeo.zip was a 7.7 KB placeholder no platform pins and no pack served: removed, the real dumps stay in .variants.
170 lines
8.5 KiB
YAML
170 lines
8.5 KiB
YAML
emulator: xemu
|
|
type: standalone + libretro
|
|
core_classification: community_fork
|
|
source:
|
|
standalone: "https://github.com/xemu-project/xemu"
|
|
libretro: "https://github.com/LibretroAdmin/xemu-libretro"
|
|
upstream: "https://github.com/xemu-project/xemu"
|
|
logo: "https://raw.githubusercontent.com/xemu-project/xemu/master/data/xemu_64x64.png"
|
|
profiled_date: "2026-09-17"
|
|
source_commit:
|
|
standalone: "f9b14039e5bb56ae2d8f028e31e7cc19f13f7e12"
|
|
libretro: "d9804db79f87f6a6a5548b14ca4a8d5164390338"
|
|
core_version:
|
|
standalone: "0.8.136-49-gf9b14039e5"
|
|
libretro: "libretro-experimental"
|
|
display_name: "Microsoft - Xbox (xemu)"
|
|
cores:
|
|
- xemu
|
|
systems:
|
|
- microsoft-xbox
|
|
|
|
notes: |
|
|
Full-system Xbox emulator built on QEMU. One tree builds the standalone
|
|
application and, with the libretro build option, a core in which a shim
|
|
replaces ui/xemu.c: the QEMU machine runs on its own thread, retro_run pumps
|
|
the RetroPads into the Duke controllers and blits the NV2A surface into the
|
|
frontend's framebuffer through an OpenGL 4.0 core context, and content is a
|
|
.iso or .xiso image that QEMU opens from its full path. Save states are not
|
|
implemented, and game saves live inside the hard disk image.
|
|
ref: meson_options.txt:52-53, ui/xemu-libretro.c:1-27,
|
|
ui/xemu-libretro.c:609-617, ui/xemu-libretro.c:680-697,
|
|
ui/xemu-libretro.c:874-876
|
|
|
|
Four files feed the machine through the sys.files block of the
|
|
configuration: the MCPX boot ROM, the flash ROM, the EEPROM and the hard disk
|
|
image. qemu_init turns them into machine arguments: bootrom= on the xbox
|
|
machine, -bios, a smbus-storage device and an IDE drive at index 0 with
|
|
locked=on. The standalone keeps them in xemu.toml, read from the SDL
|
|
preference directory or from the directory of the executable when a
|
|
xemu.toml already sits there, and the file pickers of the settings menu fill
|
|
the four paths. Nothing is searched by name and only the EEPROM has a
|
|
default location.
|
|
ref: config_spec.yml:353-367, system/vl.c:2983-3006, system/vl.c:3030-3074,
|
|
ui/xemu-settings.cc:70-133, ui/xemu.c:1382-1402,
|
|
ui/xui/main-menu.cc:1553-1575
|
|
|
|
The core reads the same four files from the frontend system directory, each
|
|
under a name picked by a core option that offers a default and a few
|
|
alternatives, and keeps its configuration as xemu-libretro.toml in that
|
|
directory. The boot ROM, the flash ROM and the disk image are opened before
|
|
the machine starts, and a missing one fails the load with a message naming
|
|
the file. The EEPROM is left to the machine, which generates one.
|
|
ref: ui/xemu-libretro.c:112-127, ui/xemu-libretro.c:139-145,
|
|
ui/xemu-libretro.c:178-236
|
|
|
|
The standalone boots whatever it can. An unreadable flash file or a
|
|
rejected EEPROM clears autostart and queues an error for the HUD, an
|
|
unreadable disk image only queues the error, and an empty boot ROM path
|
|
starts the flash without the overlay.
|
|
ref: system/vl.c:2983-3006, system/vl.c:3030-3039, system/vl.c:3041-3053,
|
|
system/vl.c:3060-3074, hw/xbox/xbox.c:143-165
|
|
|
|
files:
|
|
- name: mcpx_1.0.bin
|
|
path: mcpx_1.0.bin
|
|
required: true
|
|
size: 512
|
|
validation: [size]
|
|
config_key: sys.files.bootrom_path
|
|
description: "MCPX boot ROM"
|
|
note: >-
|
|
Passed as the bootrom machine property and read over the last 512 bytes
|
|
of the flash image, which the machine maps as a writable overlay at the
|
|
top of the address space. qemu_init drops the path with an error when
|
|
the file cannot be opened or is not 512 bytes, and the machine then runs
|
|
the flash alone. The core option xemu_bootrom names the file, default
|
|
mcpx_1.0.bin, with mcpx.bin, MCPX_1.0.bin and boot_rom.bin offered as
|
|
alternatives. The core refuses to load when the chosen file is absent.
|
|
source_ref:
|
|
standalone: "system/vl.c:2983-3006, hw/xbox/xbox.c:143-171, hw/xbox/xbox.c:468-470"
|
|
libretro: "ui/xemu-libretro.c:113-114, ui/xemu-libretro.c:192-193, ui/xemu-libretro.c:210-236"
|
|
|
|
- name: Complex_4627.bin
|
|
path: Complex_4627.bin
|
|
required: true
|
|
size: [262144, 524288, 1048576]
|
|
validation: [size]
|
|
size_note: "Any size that is a positive multiple of 64 KiB is mapped, and the image is mirrored across the 16 MB flash window"
|
|
config_key: sys.files.flashrom_path
|
|
description: "Xbox flash ROM image"
|
|
note: >-
|
|
Passed as -bios and opened through qemu_find_file. An image whose size
|
|
is not a multiple of 65536 bytes counts as a failed load, like a missing
|
|
file: the 256 KB region is filled with 0xFF and the machine starts
|
|
anyway. An unreadable path clears autostart in the standalone. The core
|
|
option xemu_flashrom names the file, default Complex_4627.bin, with
|
|
Complex_4627_v1.03.bin, complex_4627.bin, cerbios.bin, Cerbios.bin,
|
|
bios.bin, xbox_bios.bin and Complex.bin offered as alternatives. The
|
|
core refuses to load when the chosen file is absent.
|
|
source_ref:
|
|
standalone: "system/vl.c:3041-3053, hw/xbox/xbox.c:63-123"
|
|
libretro: "ui/xemu-libretro.c:115-118, ui/xemu-libretro.c:195-196, ui/xemu-libretro.c:210-236"
|
|
|
|
- name: xbox_eeprom.bin
|
|
path: xbox_eeprom.bin
|
|
standalone_path: eeprom.bin
|
|
aliases: [eeprom.bin]
|
|
required: false
|
|
has_builtin: true
|
|
size: 256
|
|
validation: [size]
|
|
config_key: sys.files.eeprom_path
|
|
description: "Xbox EEPROM image"
|
|
note: >-
|
|
Attached as the smbus-storage device at address 0x54, which reads the
|
|
whole file at realize and writes it back on every guest write. A missing
|
|
file is generated as a retail 1.0 image with a random serial, MAC, hard
|
|
disk key and online key, the North American region and the NTSC-M video
|
|
standard. A file of any size other than 256 bytes is rejected and
|
|
autostart is cleared. The standalone defaults to eeprom.bin next to
|
|
xemu.toml. The core option xemu_eeprom names the file, default
|
|
xbox_eeprom.bin, with eeprom.bin and EEPROM.bin offered as alternatives,
|
|
and does not check for it before the machine starts.
|
|
source_ref:
|
|
standalone: "system/vl.c:2909-2949, system/vl.c:3030-3039, ui/xemu-settings.cc:135-146, hw/xbox/smbus_storage.c:56-87, hw/xbox/smbus_storage.c:90-128, hw/xbox/smbus_storage.c:155-160, hw/xbox/eeprom_generation.c:93-140"
|
|
libretro: "ui/xemu-libretro.c:119-120, ui/xemu-libretro.c:198-199, ui/xemu-libretro.c:204-209"
|
|
|
|
- name: xbox_hdd.qcow2
|
|
path: xbox_hdd.qcow2
|
|
required: true
|
|
installed_on: [batocera, emudeck, recalbox, retrodeck, rocknix]
|
|
config_key: sys.files.hdd_path
|
|
description: "Xbox hard disk image, 8 GB with the retail partition layout"
|
|
note: >-
|
|
Attached as the IDE drive at index 0 with locked=on when the path is set
|
|
and the file opens. An unreadable file only queues an error and an empty
|
|
path attaches no drive. Snapshots are stored inside the image. The
|
|
project publishes a formatted image carrying its own unsigned dashboard
|
|
and empty TDATA and UDATA folders. The core option xemu_hdd names the
|
|
file, default xbox_hdd.qcow2, with xbox_hdd_8gb.qcow2, hdd.qcow2 and
|
|
xbox_hdd.img offered as alternatives. The core refuses to load when the
|
|
chosen file is absent.
|
|
The xemu release does not carry the image. Batocera and Recalbox
|
|
package the 1.0 xemu-hdd-image and copy it into the saves folder at
|
|
launch when none is there, RetroDECK copies its packaged copy into the
|
|
BIOS folder during setup, and EmuDeck downloads it while setting xemu
|
|
up. ROCKNIX packages the same image and unzips it at launch into
|
|
bios/xemu/hdd/, the path its xemu.toml gives hdd_path.
|
|
source_ref:
|
|
standalone: "system/vl.c:3060-3074, ui/xemu-snapshots.c:156"
|
|
libretro: "ui/xemu-libretro.c:121-123, ui/xemu-libretro.c:200-202, ui/xemu-libretro.c:210-236"
|
|
|
|
- name: wpcap.dll
|
|
required: false
|
|
description: "Npcap packet capture library"
|
|
note: >-
|
|
Loaded by name on Windows, with every entry point resolved individually,
|
|
when networking is enabled with the pcap backend, and the netdev is not
|
|
created when the library or one of its symbols is missing. Networking is
|
|
off by default and the backend defaults to NAT.
|
|
source_ref: "winpcap-loader/loader.c:79-113, ui/xemu-net.c:68-78, system/vl.c:2870-2875, config_spec.yml:327-335"
|
|
|
|
machine_properties:
|
|
bootrom: "MCPX boot ROM path"
|
|
avpack: "Video connector: scart, hdtv, vga, rfu, svideo, composite, none"
|
|
short-animation: "Skip the boot animation"
|
|
smc-version: "SMC version string, default P01"
|
|
video-encoder: "Encoder presented to the OS: conexant, focus, xcalibur"
|
|
source_ref: "hw/xbox/xbox.c:446-497"
|