mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-14 05:53:47 -06:00
feat: follow the xemu core on git.libretro.com
This commit is contained in:
1 parent
daae431dd3
commit
5242177225
1 file changed
+146
-49
+146
-49
@@ -3,16 +3,16 @@ type: standalone + libretro
|
||||
core_classification: community_fork
|
||||
source:
|
||||
standalone: "https://github.com/xemu-project/xemu"
|
||||
libretro: "https://github.com/LibretroAdmin/xemu-libretro"
|
||||
libretro: "https://git.libretro.com/libretro/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"
|
||||
profiled_date: "2026-11-09"
|
||||
source_commit:
|
||||
standalone: "25e1ee2fd59a451f2ab57e825b4f8a5414220c8b"
|
||||
libretro: "d9804db79f87f6a6a5548b14ca4a8d5164390338"
|
||||
libretro: "50fc538657f44704e0d1d0906bdc9ef6e435dffe"
|
||||
core_version:
|
||||
standalone: "v0.8.139-2-g25e1ee2"
|
||||
libretro: "libretro-experimental"
|
||||
libretro: "0.8.136-53"
|
||||
version_basis:
|
||||
standalone:
|
||||
kind: tag
|
||||
@@ -21,14 +21,15 @@ version_basis:
|
||||
distance: 2
|
||||
libretro:
|
||||
kind: file
|
||||
path: "ui/xemu-libretro.c"
|
||||
pattern: 'info->library_version\s*=\s*"([^"]+)"'
|
||||
display_name: "Microsoft - Xbox (xemu)"
|
||||
path: "upstream.version"
|
||||
pattern: '^(\S+)'
|
||||
display_name: "Microsoft - Xbox / Sega Chihiro (xemu)"
|
||||
cores:
|
||||
- xemu
|
||||
- "xemu-sa"
|
||||
systems:
|
||||
- microsoft-xbox
|
||||
- sega-chihiro
|
||||
|
||||
data_root:
|
||||
windows:
|
||||
@@ -45,16 +46,14 @@ data_root:
|
||||
note: "xemu.toml beside the executable makes its folder the root"
|
||||
|
||||
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
|
||||
Full-system Xbox emulator built on QEMU. The libretro core is built from
|
||||
libretro's xemu-libretro tree on its libretro branch, which merges
|
||||
Tovarichtch's xemu fork (xemu master with Chihiro support) and keeps the
|
||||
core alone: the standalone UI and packaging are removed. upstream.version
|
||||
names the upstream version merged. Content is an Xbox disc image (.iso,
|
||||
.xiso) or a Chihiro netboot image (.bin), opened from its full path. An
|
||||
Xbox disc boots an Xbox, any other image a Chihiro.
|
||||
ref: ui/libretro.c:3117-3123, ui/libretro.c:3312-3320
|
||||
|
||||
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
|
||||
@@ -69,14 +68,27 @@ notes: |
|
||||
ui/xemu-settings.cc:70-133, ui/xemu.c:1373-1393,
|
||||
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 core has no option for these paths. It looks for each file in
|
||||
system/xemu/, then at the root of the system directory, and keeps the
|
||||
first it opens; when none is there the path stays in system/xemu/. The
|
||||
flash ROM is tried as Complex_4627v1.03.bin, then Complex_4627.bin. A
|
||||
missing boot ROM or flash ROM fails the load. A missing hard disk image
|
||||
is written there from the formatted image the core carries
|
||||
(data/xbox_hdd.qcow2), and the EEPROM is left to the machine, which
|
||||
generates one. Shader caches and patches live in system/xemu/ too.
|
||||
ref: ui/libretro.c:3044-3049, ui/libretro.c:3370-3449,
|
||||
ui/libretro.c:2088-2105, ui/libretro.c:3361-3367,
|
||||
ui/libretro.c:2485
|
||||
|
||||
A Chihiro boots only its own BIOS, system/xemu/Chihiro/chihiro_xbox_bios.bin,
|
||||
which has to be MAME's 512 KiB image (sha1 b700b004). The media board
|
||||
flash and the three EEPROMs are read beside it by their MAME names, and a
|
||||
missing one, or a BIOS that is not that image, leaves the machine paused
|
||||
with a message naming it. The network firmware ver1305.bin is read from
|
||||
the same folder when it is there, and only a linked cabinet needs it.
|
||||
ref: ui/libretro.c:1782-1795, hw/xbox/chihiro/chihiro.c:2280-2292,
|
||||
hw/xbox/chihiro/chihiro.c:2294-2334, hw/xbox/chihiro/chihiro.c:2376-2402,
|
||||
hw/xbox/chihiro/chihiro.c:365-380, hw/xbox/chihiro/chihiro.c:490-505
|
||||
|
||||
The standalone boots whatever it can. An unreadable flash file or a
|
||||
rejected EEPROM clears autostart and queues an error for the HUD, an
|
||||
@@ -87,7 +99,8 @@ notes: |
|
||||
|
||||
files:
|
||||
- name: mcpx_1.0.bin
|
||||
path: mcpx_1.0.bin
|
||||
path: "xemu/mcpx_1.0.bin"
|
||||
standalone_path: mcpx_1.0.bin
|
||||
required: true
|
||||
size: 512
|
||||
validation: [size]
|
||||
@@ -98,16 +111,17 @@ files:
|
||||
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.
|
||||
the flash alone. The core reads system/xemu/mcpx_1.0.bin, else
|
||||
mcpx_1.0.bin at the root of the system directory, and refuses to load
|
||||
when neither is there.
|
||||
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"
|
||||
libretro: "ui/libretro.c:3370-3415, ui/libretro.c:3418-3427"
|
||||
|
||||
- name: Complex_4627.bin
|
||||
path: Complex_4627.bin
|
||||
aliases: [Complex.bin, cerbios.bin]
|
||||
path: "xemu/Complex_4627.bin"
|
||||
standalone_path: Complex_4627.bin
|
||||
aliases: [Complex_4627v1.03.bin]
|
||||
required: true
|
||||
size: [262144, 524288, 1048576]
|
||||
validation: [size]
|
||||
@@ -118,17 +132,17 @@ files:
|
||||
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.
|
||||
anyway. An unreadable path clears autostart in the standalone, which
|
||||
takes any file the settings name. The core tries
|
||||
Complex_4627v1.03.bin, then Complex_4627.bin, in system/xemu/ and
|
||||
then at the root of the system directory, and refuses to load when
|
||||
none is there.
|
||||
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"
|
||||
libretro: "ui/libretro.c:3370-3415, ui/libretro.c:3429-3436"
|
||||
|
||||
- name: xbox_eeprom.bin
|
||||
path: xbox_eeprom.bin
|
||||
path: "xemu/xbox_eeprom.bin"
|
||||
standalone_path: eeprom.bin
|
||||
aliases: [eeprom.bin]
|
||||
required: false
|
||||
@@ -144,14 +158,15 @@ files:
|
||||
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.
|
||||
xemu.toml. The core reads system/xemu/xbox_eeprom.bin, else
|
||||
xbox_eeprom.bin at the root of the system directory, and leaves the
|
||||
machine to generate system/xemu/xbox_eeprom.bin when neither is there.
|
||||
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"
|
||||
libretro: "ui/libretro.c:3370-3415, ui/libretro.c:1778-1780"
|
||||
|
||||
- name: xbox_hdd.qcow2
|
||||
mode: standalone
|
||||
path: xbox_hdd.qcow2
|
||||
required: true
|
||||
installed_on: [batocera, emudeck, recalbox, retrodeck, rocknix]
|
||||
@@ -162,19 +177,101 @@ files:
|
||||
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.
|
||||
and empty TDATA and UDATA folders.
|
||||
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: "system/vl.c:3060-3074, ui/xemu-snapshots.c:156"
|
||||
|
||||
- name: xbox_hdd.qcow2
|
||||
mode: libretro
|
||||
path: "xemu/xbox_hdd.qcow2"
|
||||
required: false
|
||||
has_builtin: true
|
||||
description: "Xbox hard disk image, 8 GB with the retail partition layout"
|
||||
note: >-
|
||||
Read from system/xemu/, else from the root of the system directory.
|
||||
When neither holds one, the core writes the formatted xemu-dashboard
|
||||
image it carries to system/xemu/xbox_hdd.qcow2. Game saves live in
|
||||
the image.
|
||||
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"
|
||||
libretro: "ui/libretro.c:3370-3415, ui/libretro.c:3438-3448, ui/libretro.c:2088-2105"
|
||||
|
||||
# Sega Chihiro, libretro build: system/xemu/Chihiro/, MAME's names.
|
||||
- name: "chihiro_xbox_bios.bin"
|
||||
mode: libretro
|
||||
system: sega-chihiro
|
||||
path: "xemu/Chihiro/chihiro_xbox_bios.bin"
|
||||
required: true
|
||||
size: 524288
|
||||
sha1: "b700b0041af8f84835e45d1d1250247bf7077188"
|
||||
validation: [size, sha1]
|
||||
description: "Chihiro BIOS"
|
||||
note: "The only flash image a Chihiro boots. Any other file, or none, leaves the machine paused with a message."
|
||||
source_ref:
|
||||
libretro: "ui/libretro.c:1785-1789, hw/xbox/chihiro/chihiro.c:2280-2292, system/vl.c:3325-3398"
|
||||
|
||||
- name: "fpr21042_m29w160et.bin"
|
||||
mode: libretro
|
||||
system: sega-chihiro
|
||||
path: "xemu/Chihiro/fpr21042_m29w160et.bin"
|
||||
aliases: ["fpr-23887_29lv160te.ic4", "fpr-23887.bin"]
|
||||
required: true
|
||||
max_size: 4194304
|
||||
validation: [size]
|
||||
description: "Chihiro media board flash"
|
||||
note: "Read beside the BIOS, then in its parent folder, under these three names in turn. Up to 4 MiB is accepted. Without it the machine stays paused."
|
||||
source_ref:
|
||||
libretro: "hw/xbox/chihiro/chihiro.c:2259-2278, hw/xbox/chihiro/chihiro.c:2294-2334, system/vl.c:3325-3398"
|
||||
|
||||
- name: "ic10_g24lc64.bin"
|
||||
mode: libretro
|
||||
system: sega-chihiro
|
||||
path: "xemu/Chihiro/ic10_g24lc64.bin"
|
||||
required: true
|
||||
size: 8192
|
||||
validation: [size]
|
||||
description: "Chihiro QC EEPROM"
|
||||
note: "Read beside the BIOS and refused at any other size. Without it the machine stays paused."
|
||||
source_ref:
|
||||
libretro: "hw/xbox/chihiro/chihiro.c:2376-2402, system/vl.c:3325-3398"
|
||||
|
||||
- name: "ic11_24lc024.bin"
|
||||
mode: libretro
|
||||
system: sega-chihiro
|
||||
path: "xemu/Chihiro/ic11_24lc024.bin"
|
||||
required: true
|
||||
size: 128
|
||||
validation: [size]
|
||||
description: "Chihiro baseboard EEPROM"
|
||||
note: "Read beside the BIOS and refused at any other size. Without it the machine stays paused."
|
||||
source_ref:
|
||||
libretro: "hw/xbox/chihiro/chihiro.c:2376-2402, system/vl.c:3325-3398"
|
||||
|
||||
- name: "pc20_g24lc64.bin"
|
||||
mode: libretro
|
||||
system: sega-chihiro
|
||||
path: "xemu/Chihiro/pc20_g24lc64.bin"
|
||||
required: true
|
||||
size: 8192
|
||||
validation: [size]
|
||||
description: "Chihiro SC EEPROM"
|
||||
note: "Read beside the BIOS and refused at any other size. Without it the machine stays paused."
|
||||
source_ref:
|
||||
libretro: "hw/xbox/chihiro/chihiro.c:2376-2402, system/vl.c:3325-3398"
|
||||
|
||||
- name: "ver1305.bin"
|
||||
mode: libretro
|
||||
system: sega-chihiro
|
||||
path: "xemu/Chihiro/ver1305.bin"
|
||||
required: false
|
||||
description: "Chihiro network board firmware 13.05"
|
||||
note: "Read when present. The media board reports its version from it, and a linked cabinet runs it on the network board, which cannot start without it."
|
||||
source_ref:
|
||||
libretro: "ui/libretro.c:1790-1794, hw/xbox/chihiro/chihiro.c:365-380, hw/xbox/chihiro/chihiro.c:490-505"
|
||||
|
||||
- name: wpcap.dll
|
||||
required: false
|
||||
|
||||
Reference in new issue
Block a user