mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-18 09:23:26 -05:00
System.dat pins the 2 KiB X1 font as xmil/IPLROM.X1T, where xmil reads a 32 KiB Turbo IPL. A held copy of the exact size a profile declares now proves its claim against a file of another size, so the existence packs ship the IPL. The font's duplicate under the IPL name is removed.
96 lines
3.7 KiB
YAML
96 lines
3.7 KiB
YAML
emulator: "X Millennium"
|
|
type: libretro
|
|
core_classification: community_fork
|
|
source: "https://github.com/libretro/xmil-libretro"
|
|
upstream: "http://amethyst.yui.ne.jp/svn/x1/xmil/trunk/"
|
|
profiled_date: "2026-03-25"
|
|
source_commit: "3106aa54ffb244cca4019a6e95dacaa698781bc3"
|
|
core_version: "0.60a"
|
|
display_name: "Sharp X1 (X Millennium)"
|
|
cores:
|
|
- x1
|
|
- xmil
|
|
systems:
|
|
- sharp-x1
|
|
|
|
# X Millennium (XMIL) is a Sharp X1 series emulator by yui, ported to libretro
|
|
# by r-type. Supports X1, X1 Turbo, and X1 TurboZ models via the "X1_ROMTYPE"
|
|
# core option (X1 = ROM_TYPE 1, TURBO = 2, TURBOZ = 3).
|
|
#
|
|
# SUPPORT_TURBOZ is not compiled in the libretro build (compiler.h), so TurboZ
|
|
# extended color modes are unavailable. ROM_TYPE 3 still selects IPLROM.X1T.
|
|
#
|
|
# All system files go under: <system_dir>/xmil/
|
|
# retro_init() builds: retro_system_conf = "<system_dir>/xmil" (libretro.c:597)
|
|
#
|
|
# IPL ROM loading (memio.c:87-121):
|
|
# biosmem is initialized with defaultiplrom (575-byte boot stub from defipl.res).
|
|
# ROM_TYPE >= 1: loads external IPL ROM into biosmem, overwriting the stub.
|
|
# ROM_TYPE 1 (X1): xmil/IPLROM.X1
|
|
# ROM_TYPE >= 2 (Turbo/TurboZ): xmil/IPLROM.X1T
|
|
# Path built explicitly: sprintf(rtmp, "%s%c%s", retro_system_conf, slash, iplfile)
|
|
# If file missing, the 575-byte stub remains (limited boot capability).
|
|
#
|
|
# Font loading (fontx1.c:69-122, font.c:89-127):
|
|
# font_load(NULL, TRUE) called from pccore_initialize() (pccore.c:67).
|
|
# Built-in defaults (defrom_ank, defrom_txt from fontdata.c) provide basic ASCII.
|
|
# x1fontread() tries to load external font files via fontopen().
|
|
# Font path resolution uses file_getcd() which defaults to "./" in the libretro
|
|
# port (file_setcd() is never called). Upstream win9x/sdl2 calls file_setcd()
|
|
# to set the working dir. Fonts may not be found from xmil/ in practice.
|
|
#
|
|
# .info declares firmware_count=2 (IPL ROMs only). Font files are not declared.
|
|
# .info firmware1_desc incorrectly says "8x8 Font ROM" (actually Turbo IPL ROM).
|
|
|
|
notes: |
|
|
Place all files in: <system_dir>/xmil/
|
|
The core selects between IPLROM.X1 and IPLROM.X1T based on the "X1_ROMTYPE"
|
|
core option. A 575-byte built-in IPL stub provides limited boot without the
|
|
real ROMs. Font files add Japanese character support; the libretro port has a
|
|
path resolution quirk where fonts are searched in "./" instead of "xmil/"
|
|
(missing file_setcd call).
|
|
|
|
files:
|
|
- name: IPLROM.X1
|
|
path: xmil/IPLROM.X1
|
|
size: 4096
|
|
required: false
|
|
hle_fallback: true
|
|
description: "X1 IPL ROM. Loaded when ROM_TYPE=1 (X1 model)."
|
|
note: "file_read copies up to 0x8000 bytes into biosmem, unchecked; the X1 IPL dump is 4 KiB."
|
|
source_ref: "io/memio.c:82,96-108"
|
|
|
|
- name: IPLROM.X1T
|
|
path: xmil/IPLROM.X1T
|
|
size: 32768
|
|
required: false
|
|
hle_fallback: true
|
|
description: "X1 Turbo/TurboZ IPL ROM. Loaded when ROM_TYPE=2 or 3."
|
|
source_ref: "io/memio.c:83,97-108"
|
|
|
|
- name: FNT0808.X1
|
|
path: xmil/FNT0808.X1
|
|
size: 2048
|
|
validation: [size]
|
|
required: false
|
|
hle_fallback: true
|
|
description: "8x8 ANK font ROM. Built-in defrom_ank fallback provides basic ASCII."
|
|
source_ref: "font/fontdata.c:6, font/fontx1.c:79-87"
|
|
|
|
- name: FNT0816.X1
|
|
path: xmil/FNT0816.X1
|
|
size: 4096
|
|
validation: [size]
|
|
required: false
|
|
hle_fallback: true
|
|
description: "8x16 ANK font ROM. Built-in fallback derived from defrom_ank/defrom_txt."
|
|
source_ref: "font/fontdata.c:7, font/fontx1.c:89-103"
|
|
|
|
- name: FNT1616.X1
|
|
path: xmil/FNT1616.X1
|
|
size: 306176
|
|
validation: [size]
|
|
required: false
|
|
description: "16x16 Kanji font ROM. No built-in kanji data (zeroed). Required for Japanese text."
|
|
source_ref: "font/fontdata.c:8, font/fontx1.c:105-120"
|