emulator: "X Millennium" type: libretro source: "https://github.com/libretro/xmil-libretro" profiled_date: "2026-03-18" core_version: "0.60" display_name: "Sharp X1 (X Millennium)" cores: - x1 systems: - sharp-x1 # X Millennium (XMIL) is a Sharp X1 series emulator by yui. The libretro port # supports X1, X1 Turbo, and X1 TurboZ models via the "X1_ROMTYPE" core option # (values: X1, TURBO, TURBOZ; default: X1 = ROM_TYPE 1). # # All system files go under: /xmil/ # (libretro.c:597 builds the path as "/xmil") # # IPL ROM loading (memio.c:88-116): # ROM_TYPE 0: uses built-in default IPL (575 bytes, basic boot stub from defipl.res) # ROM_TYPE 1 (X1): loads xmil/IPLROM.X1 (32 KB) # ROM_TYPE 2 (Turbo): loads xmil/IPLROM.X1T (32 KB) # ROM_TYPE 3 (TurboZ): loads xmil/IPLROM.X1T (32 KB, same file as Turbo) # If the file is missing, the core falls back to the built-in default IPL. # # Font loading (font.c:90-127, fontx1.c:70-123): # font_load() calls x1fontread() which looks for font files using fontopen(). # fontopen() resolves paths relative to the working directory (file_getcd()), # which in libretro context is the xmil subdirectory. # Built-in defaults (defrom_ank, defrom_txt) are used for basic ASCII rendering. # External font ROMs add full Japanese character support. # # The .info file only lists IPLROM.X1 and IPLROM.X1T as required BIOS files. # Font ROMs are optional -- the core renders basic text without them but Japanese # kanji display requires the external font files. notes: | Place all files in: /xmil/ The core selects between IPLROM.X1 and IPLROM.X1T based on the "X1_ROMTYPE" core option. A built-in fallback IPL exists but lacks full boot functionality. Font files are optional; without them, kanji/JIS characters won't render. files: # -- IPL ROMs -- - name: IPLROM.X1 path: xmil/IPLROM.X1 size: 32768 md5: eeeea1cd29c6e0e8b094790ae969bfa7 required: true note: "X1 IPL ROM (32 KB). Loaded when ROM_TYPE=1 (X1 model). Listed in .info." source_ref: "io/memio.c:82,96-103" - name: IPLROM.X1T path: xmil/IPLROM.X1T size: 32768 md5: 851e4a5936f17d13f8c39a980cf00d77 required: true note: "X1 Turbo/TurboZ IPL ROM (32 KB). Loaded when ROM_TYPE=2 or 3. Listed in .info." source_ref: "io/memio.c:83,97-99" # -- Font ROMs (optional, for Japanese text rendering) -- - name: FNT0808.X1 path: xmil/FNT0808.X1 size: 2048 required: false note: "8x8 ANK font ROM (2 KB). Provides half-width ASCII/kana characters." source_ref: "font/fontdata.c:6, font/fontx1.c:79-87" - name: FNT0816.X1 path: xmil/FNT0816.X1 size: 4096 required: false note: "8x16 ANK font ROM (4 KB). Provides taller half-width characters for text mode." source_ref: "font/fontdata.c:7, font/fontx1.c:89-103" - name: FNT1616.X1 path: xmil/FNT1616.X1 size: 306176 required: false note: "16x16 Kanji font ROM (~299 KB). Full JIS kanji character set for Japanese text." source_ref: "font/fontdata.c:8, font/fontx1.c:105-120"