From 51147d866b73cb690a0ad0d2e305a7540daa9f01 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Sat, 24 Oct 2026 00:56:58 +0200 Subject: [PATCH] refactor: fold ep128emu into ep128emu_core Both profiled libretro/ep128emu-core at 6af5d03. ep128emu becomes an alias; ep128emu_core keeps the refs that land on the code and takes the md5 of each ROM from the copy compiled into roms/roms.hpp, plus the RetroPie name ep128emu. Adds ide12.rom, which core.cpp:320 loads for hard disk content with no built-in copy. core_version follows main.cpp:656 (v1.2.13). --- emulators/ep128emu.yml | 327 +----------------------------------- emulators/ep128emu_core.yml | 201 +++++++++++++++++++--- tests/test_region_groups.py | 8 +- 3 files changed, 186 insertions(+), 350 deletions(-) diff --git a/emulators/ep128emu.yml b/emulators/ep128emu.yml index a5f4f1a3..6007549e 100644 --- a/emulators/ep128emu.yml +++ b/emulators/ep128emu.yml @@ -1,321 +1,10 @@ -emulator: ep128emu-core -type: libretro -source: "https://github.com/libretro/ep128emu-core" -profiled_date: "2026-03-18" -source_commit: "6af5d03de220e6effcd0ffcd99e0fb8e8c77cc9e" -core_version: "v1.2.10" +emulator: "ep128emu" +type: alias +alias_of: "ep128emu_core" +profiled_date: "2026-03-30" +core_version: "v1.2.13" display_name: "Enterprise - 64/128 (ep128emu)" cores: - - ep128emu_core -systems: - - enterprise-64 - - enterprise-128 - - videoton-tvc - - amstrad-cpc - - zx-spectrum - -# ep128emu-core emulates Enterprise 64/128, Videoton TVC, Amstrad CPC 464/664/6128, -# and ZX Spectrum 48/128. All ROMs are optional because the core ships built-in -# fallback ROMs compiled into roms.hpp. External ROM files override the built-ins -# and provide better accuracy for some systems. -# -# ROM path: /ep128emu/roms/ -# -# Machine selection (core/core.cpp:62-118): -# Content file extension determines machine type: -# .cas/.tap/.bas/.128/.com/.trn -> Enterprise -# .tvcwav/.cas(TVC) -> Videoton TVC -# .cdt/.tzx -> Amstrad CPC or ZX Spectrum (autodetect) -# .img/.dsk -> Enterprise disk (default) or CPC/TVC depending on content -# -# Enterprise ROM layout (core/core.cpp:195-307): -# EP128 (default): exos21.rom (segments 0-1) + basic21.rom (segment 4/5) -# EP64: exos20.rom (segments 0-1) + basic20.rom (segment 4/5) -# EP128 enhanced: exos24uk.rom (segments 0-3, 64K) -# Disk mode: exdos13.rom (segments 0x20-0x21) -# IS-DOS mode: exdos14isdos10uk.rom (segments 0x20-0x21) -# File I/O mode: epfileio.rom (segment 0x10) -# DTF mode: zt19uk.rom (segments 0x40-0x41) -# Hungarian locale: hun.rom + epdos16f.rom -# German locale: brd.rom -# -# Built-in fallbacks (roms/roms.hpp:46516-46538): -# All 22 ROMs have compiled-in defaults. The core prepends "_default_" to -# the filename and looks up the builtin_rom map when no external file is found. -# This means the core works out of the box without any user-supplied ROMs. -# -# TOSEC alternate names (core/core.hpp:80-118): -# The core tries TOSEC naming conventions as fallback before using built-in ROMs. -# For example exos21.rom -> "Expandible OS v2.1 (1985)(Intelligent Software).bin" -# CPC ROMs can also be split into page-sized files (OS.ROM + BASIC.ROM). - -notes: | - All ROMs go under /ep128emu/roms/. The core has built-in ROM - fallbacks for every file, so it works without any user-supplied ROMs. - External ROMs provide byte-exact originals vs the built-in copies. - - Enterprise EP128 is the default machine. EP64 is selected when content - requires it. Machine type can also be forced via core options. - - Hungarian and German locale ROMs are loaded automatically when content - metadata indicates the locale. The IS-DOS disk system is an alternative - to the standard EXDOS disk controller. - -files: - # ============================================================ - # Enterprise 64/128 - EXOS (Expandible OS) - # ============================================================ - - - name: exos21.rom - path: ep128emu/roms/exos21.rom - md5: f36f24cbb87745fbd2714e4df881db09 - required: false - hle_fallback: true - system: enterprise-128 - has_builtin: true - note: "Enterprise 128 EXOS 2.1. Default OS for EP128 machines." - source_ref: "core/core.cpp:237-240" - - - name: exos20.rom - path: ep128emu/roms/exos20.rom - md5: 5ad3baaad3b5156d6b60b34229a676fb - required: false - hle_fallback: true - system: enterprise-64 - has_builtin: true - note: "Enterprise 64 EXOS 2.0. Used when EP64 machine type is selected." - source_ref: "core/core.cpp:229-232" - - - name: exos24uk.rom - path: ep128emu/roms/exos24uk.rom - md5: 55af78f877a21ca45eb2df68a74fcc60 - required: false - hle_fallback: true - system: enterprise-128 - has_builtin: true - note: "Enterprise 128 EXOS 2.4 (UK). Used when enhanced ROM mode is enabled. 64K, loaded across segments 0-3." - source_ref: "core/core.cpp:217-224" - - # ============================================================ - # Enterprise 64/128 - BASIC interpreter - # ============================================================ - - - name: basic21.rom - path: ep128emu/roms/basic21.rom - md5: e972fe42b398c9ff1d93ff014786aec6 - required: false - hle_fallback: true - system: enterprise-128 - has_builtin: true - note: "Enterprise 128 BASIC 2.1. Loaded when cartridge mode is active (default)." - source_ref: "core/core.cpp:251, core/core.cpp:279" - - - name: basic20.rom - path: ep128emu/roms/basic20.rom - md5: 8e18edce4a7acb2c33cc0ab18f988482 - required: false - hle_fallback: true - system: enterprise-64 - has_builtin: true - note: "Enterprise 64 BASIC 2.0. Used with EP64 machine type." - source_ref: "core/core.cpp:249, core/core.cpp:267, core/core.cpp:277" - - # ============================================================ - # Enterprise 64/128 - disk controllers - # ============================================================ - - - name: exdos13.rom - path: ep128emu/roms/exdos13.rom - md5: ddff70c014d1958dc75378b6c9aab6f8 - required: false - hle_fallback: true - system: enterprise-128 - has_builtin: true - note: "EXDOS 1.3 disk controller. Loaded for EP128_DISK and EP64_DISK modes. 32K across segments 0x20-0x21." - source_ref: "core/core.cpp:306-323" - - - name: exdos14isdos10uk.rom - path: ep128emu/roms/exdos14isdos10uk.rom - md5: f91c4a507cc6895bdd9c43df4f021df3 - required: false - hle_fallback: true - system: enterprise-128 - has_builtin: true - size: 32768 - note: "EXDOS 1.4 + IS-DOS 1.0 (UK). Used for IS-DOS disk mode instead of exdos13.rom." - source_ref: "core/core.cpp:294-298, roms/roms.hpp:30104 (built-in data, MD5 verified)" - - # ============================================================ - # Enterprise 64/128 - file I/O and extensions - # ============================================================ - - - name: epfileio.rom - path: ep128emu/roms/epfileio.rom - md5: a68ebcbc73a4d2178d755b7755bf18fe - required: false - hle_fallback: true - system: enterprise-128 - has_builtin: true - note: "Direct file I/O extension. Loaded for EP128_FILE and EP64_FILE modes. The ROM sits in the source tree, but the core zip holds the library only." - source_ref: "core/core.cpp:286-287" - - - name: zt19uk.rom - path: ep128emu/roms/zt19uk.rom - md5: 228540b6be83ae2acd7569c8ff0f91d0 - required: false - hle_fallback: true - system: enterprise-128 - has_builtin: true - note: "ZozoTools 1.9 (UK). Loaded for DTF (direct tape file) mode. 32K across segments 0x40-0x41." - source_ref: "core/core.cpp:290-293" - - # ============================================================ - # Enterprise 64/128 - locale extensions - # ============================================================ - - - name: hun.rom - path: ep128emu/roms/hun.rom - md5: 22167938f142c222f40992839aa21a06 - required: false - hle_fallback: true - system: enterprise-128 - has_builtin: true - note: "Hungarian language extension. Loaded into segment 4 when the content name carries the TOSEC tag [req zrom]." - source_ref: "core/core.cpp:240-244, core/core.hpp:221-226, core/main.cpp:890-898" - - - name: epdos16f.rom - path: ep128emu/roms/epdos16f.rom - md5: 6593dff00ab32a4b1fc084674ededf2b - required: false - hle_fallback: true - system: enterprise-128 - has_builtin: true - size: 32768 - note: "EP-DOS 1.6f. Provides HFONT and CLKOFF for Hungarian locale. 32K across segments 0x06-0x07." - source_ref: "core/core.cpp:252-256, roms/roms.hpp:43780 (built-in data, MD5 verified)" - - - name: brd.rom - path: ep128emu/roms/brd.rom - md5: 6af0402906944fd134004b85097c8524 - required: false - hle_fallback: true - system: enterprise-128 - has_builtin: true - note: "German (BRD) language extension. Loaded into segment 4 when the content name carries the TOSEC tag [req brd-rom]." - source_ref: "core/core.cpp:258-262, core/core.hpp:221-226, core/main.cpp:890-898" - - # epd19hft.rom and zt19hfnt.rom: listed in .info (firmware8, firmware9) but - # NOT referenced in core source code and NOT in builtin_rom map (roms.hpp:46516-46538). - # The core never loads these files, so the profile does not list them. - - # ============================================================ - # Videoton TVC - # ============================================================ - - - name: tvc22_sys.rom - path: ep128emu/roms/tvc22_sys.rom - md5: 8c54285f541930cde766069942bad0f2 - required: false - hle_fallback: true - system: videoton-tvc - has_builtin: true - note: "TVC system ROM v2.2. Main BIOS for all TVC modes." - source_ref: "core/core.cpp:328-329" - - - name: tvc22_ext.rom - path: ep128emu/roms/tvc22_ext.rom - md5: 5ce95a26ceed5bec73995d83568da9cf - required: false - hle_fallback: true - system: videoton-tvc - has_builtin: true - note: "TVC extension ROM v2.2. Loaded alongside tvc22_sys.rom." - source_ref: "core/core.cpp:330" - - - name: tvcfileio.rom - path: ep128emu/roms/tvcfileio.rom - md5: a2cf86ba8e7fc58b242137fe59036832 - required: false - hle_fallback: true - system: videoton-tvc - has_builtin: true - note: "TVC direct file I/O extension. Used for TVC64_FILE mode. The ROM sits in the source tree, but the core zip holds the library only." - source_ref: "core/core.cpp:334" - - - name: tvc_dos12d.rom - path: ep128emu/roms/tvc_dos12d.rom - md5: 88dc7876d584f90e4106f91444ab23b7 - required: false - hle_fallback: true - system: videoton-tvc - has_builtin: true - note: "TVC DOS 1.2d. Loaded for TVC64_DISK mode." - source_ref: "core/core.cpp:339" - - # ============================================================ - # Amstrad CPC - # ============================================================ - - - name: cpc464.rom - path: ep128emu/roms/cpc464.rom - md5: a993f85b88ac4350cf4d41554e87fe4f - required: false - hle_fallback: true - system: amstrad-cpc - has_builtin: true - note: "CPC 464 combined ROM (OS + BASIC). 32K loaded at segments 0x10 (OS) and 0x00 (BASIC) with offset." - source_ref: "core/core.cpp:353-356" - - - name: cpc664.rom - path: ep128emu/roms/cpc664.rom - md5: 5a384a2310f472c7857888371c00ed66 - required: false - hle_fallback: true - system: amstrad-cpc - has_builtin: true - note: "CPC 664 combined ROM (OS + BASIC). Used for CPC_664_DISK mode." - source_ref: "core/core.cpp:361-364" - - - name: cpc6128.rom - path: ep128emu/roms/cpc6128.rom - md5: b96280dc6c95a48857b4b8eb931533ae - required: false - hle_fallback: true - system: amstrad-cpc - has_builtin: true - note: "CPC 6128 combined ROM (OS + BASIC). Default CPC machine when no specific model requested." - source_ref: "core/core.cpp:370-373" - - - name: cpc_amsdos.rom - path: ep128emu/roms/cpc_amsdos.rom - md5: 25629dfe870d097469c217b95fdc1c95 - required: false - hle_fallback: true - system: amstrad-cpc - has_builtin: true - note: "AMSDOS disk controller ROM. Loaded for CPC_DISK and CPC_664_DISK modes." - source_ref: "core/core.cpp:377" - - # ============================================================ - # ZX Spectrum - # ============================================================ - - - name: zx128.rom - path: ep128emu/roms/zx128.rom - md5: 85fede415f4294cc777517d7eada482e - required: false - hle_fallback: true - system: zx-spectrum - has_builtin: true - note: "ZX Spectrum 128K ROM. 32K loaded at segments 0x00-0x01." - source_ref: "core/core.cpp:400-403" - - - name: zx48.rom - path: ep128emu/roms/zx48.rom - md5: 4c42a2f075212361c3117015b107ff68 - required: false - hle_fallback: true - system: zx-spectrum - has_builtin: true - note: "ZX Spectrum 48K ROM. Used for ZX16 and ZX48 modes." - source_ref: "core/core.cpp:407-408" + - ep128emu +note: "This core uses the same BIOS/firmware as ep128emu_core. See emulators/ep128emu_core.yml for details." +files: [] diff --git a/emulators/ep128emu_core.yml b/emulators/ep128emu_core.yml index 88182699..13a04426 100644 --- a/emulators/ep128emu_core.yml +++ b/emulators/ep128emu_core.yml @@ -6,11 +6,12 @@ source: https://github.com/libretro/ep128emu-core upstream: https://github.com/istvan-v/ep128emu profiled_date: "2026-03-30" source_commit: "6af5d03de220e6effcd0ffcd99e0fb8e8c77cc9e" -core_version: "1.2.10" +core_version: "v1.2.13" cores: - ep128emu_core - ep128emu-core + - ep128emu systems: - enterprise-64 @@ -21,10 +22,16 @@ systems: notes: >- Emulates Enterprise 64/128, Videoton TVC, Amstrad CPC 464/664/6128, - and ZX Spectrum 16/48/128. All ROMs are embedded in the binary since - v1.1.0, and external files override built-in data. Content type is - auto-detected and determines machine configuration and ROM selection. - Custom ROM mappings are possible via .ep128cfg config files placed in + and ZX Spectrum 16/48/128. ROMs are read from /ep128emu/roms/ + (core/core.cpp:59). The content type is detected from the extension and + header (core/main.cpp) and selects the machine and the ROM layout + (core/core.cpp:195-412). For each ROM slot the core opens the file by + name, then the alternative names of rom_names_ep128emu_tosec + (core/core.hpp:81-119, TOSEC names and split OS/BASIC halves for the + CPC), then the copy compiled into roms/roms.hpp under "_default_" + (core/core.cpp:513-548). Every ROM has a built-in copy except + ide12.rom. The md5 values are those of the built-in copies. Custom ROM + mappings are possible via .ep128cfg config files placed in ep128emu/config/ or next to content. The .info declares epd19hft.rom and zt19hfnt.rom, and no code path in the core opens either file. The .info does not list epdos16f.rom and exdos14isdos10uk.rom, which the @@ -35,147 +42,287 @@ files: - name: exos21.rom description: Enterprise 128 Expandible OS 2.1 path: ep128emu/roms/exos21.rom + system: enterprise-128 + md5: f36f24cbb87745fbd2714e4df881db09 + size: 32768 required: false - source_ref: "source core/core.cpp:235-238, source roms/roms.hpp:18472-21205" + hle_fallback: true + has_builtin: true + note: "Default OS for EP128 machines." + source_ref: "source core/core.cpp:235-238, source roms/roms.hpp:18473-21206" aliases: - EXOS21.ROM - name: exos20.rom description: Enterprise 64 Expandible OS 2.0 path: ep128emu/roms/exos20.rom + system: enterprise-64 + md5: 5ad3baaad3b5156d6b60b34229a676fb + size: 32768 required: false - source_ref: "source core/core.cpp:227-230, source roms/roms.hpp:15738-18471" + hle_fallback: true + has_builtin: true + note: "OS for the EP64 machine types." + source_ref: "source core/core.cpp:227-230, source roms/roms.hpp:15739-18472" aliases: - EXOS20.ROM - name: exos24uk.rom description: Enterprise 128 Expandible OS 2.4 (enhanced, fast memory test) path: ep128emu/roms/exos24uk.rom + system: enterprise-128 + md5: 55af78f877a21ca45eb2df68a74fcc60 + size: 65536 required: false - source_ref: "source core/core.cpp:215-222, source roms/roms.hpp:32838-38302" + hle_fallback: true + has_builtin: true + note: "Loaded across segments 0-3 when the ep128emu_romv option is Enhanced, and for hard disk content." + source_ref: "source core/core.cpp:212-223, source core/core.cpp:309-322, source core/main.cpp:260-265, source roms/roms.hpp:32839-38303" - name: basic21.rom description: Enterprise 128 BASIC Interpreter v2.1 path: ep128emu/roms/basic21.rom + system: enterprise-128 + md5: e972fe42b398c9ff1d93ff014786aec6 + size: 16384 required: false - source_ref: "source core/core.cpp:249, source core/core.cpp:267, source core/core.cpp:277, source roms/roms.hpp:3433-4801" + hle_fallback: true + has_builtin: true + note: "Loaded as the cartridge on EP128 machine types, except the NOCART ones." + source_ref: "source core/core.cpp:249, source core/core.cpp:267, source core/core.cpp:277, source roms/roms.hpp:3434-4802" - name: basic20.rom description: Enterprise 64 BASIC Interpreter v2.0 path: ep128emu/roms/basic20.rom + system: enterprise-64 + md5: 8e18edce4a7acb2c33cc0ab18f988482 + size: 16384 required: false - source_ref: "source core/core.cpp:247, source core/core.cpp:265, source core/core.cpp:275, source roms/roms.hpp:2064-3432" + hle_fallback: true + has_builtin: true + note: "Loaded as the cartridge on EP64 machine types, except the NOCART ones." + source_ref: "source core/core.cpp:247, source core/core.cpp:265, source core/core.cpp:275, source roms/roms.hpp:2065-3433" - name: exdos13.rom description: Enterprise 128 Disk Controller v1.3 path: ep128emu/roms/exdos13.rom + system: enterprise-128 + md5: ddff70c014d1958dc75378b6c9aab6f8 + size: 32768 required: false - source_ref: "source core/core.cpp:304-307, source roms/roms.hpp:13004-15737" + hle_fallback: true + has_builtin: true + note: "Loaded across segments 0x20-0x21 for file, disk and hard disk content, except on the IS-DOS machine types." + source_ref: "source core/core.cpp:302-308, source roms/roms.hpp:13005-15738" aliases: - EXDOS14.ROM - name: exdos14isdos10uk.rom description: Enterprise 128 IS-DOS (CP/M compatible disk system) path: ep128emu/roms/exdos14isdos10uk.rom + system: enterprise-128 + md5: f91c4a507cc6895bdd9c43df4f021df3 + size: 32768 required: false - source_ref: "source core/core.cpp:296-299, source roms/roms.hpp:30103-32836" + hle_fallback: true + has_builtin: true + note: "Loaded across segments 0x20-0x21 in place of exdos13.rom for the IS-DOS disk machine types." + source_ref: "source core/core.cpp:294-300, source roms/roms.hpp:30104-32837" - name: epfileio.rom description: Enterprise 128 Direct File I/O path: ep128emu/roms/epfileio.rom + system: enterprise-128 + md5: a68ebcbc73a4d2178d755b7755bf18fe + size: 16384 required: false - source_ref: "source core/core.cpp:284-285, source roms/roms.hpp:9-1377" + hle_fallback: true + has_builtin: true + note: "Loaded into segment 0x10 for file and DTF content. The ROM sits in the source tree, but the core zip holds the library only." + source_ref: "source core/core.cpp:282-285, source roms/roms.hpp:10-1378" - name: epdos16f.rom description: Enterprise 128 EP-DOS v1.6f (Hungarian font and CLKOFF) path: ep128emu/roms/epdos16f.rom + system: enterprise-128 + md5: 6593dff00ab32a4b1fc084674ededf2b + size: 32768 required: false - source_ref: "source core/core.cpp:253-256, source roms/roms.hpp:43779-46512" + hle_fallback: true + has_builtin: true + note: "Loaded across segments 0x06-0x07 with hun.rom for the Hungarian locale." + source_ref: "source core/core.cpp:251-256, source roms/roms.hpp:43780-46513" - name: hun.rom description: Enterprise 128 Hungarian language extension path: ep128emu/roms/hun.rom + system: enterprise-128 + md5: 22167938f142c222f40992839aa21a06 + size: 16384 required: false - source_ref: "source core/core.cpp:243, source roms/roms.hpp:41039-42407" + hle_fallback: true + has_builtin: true + note: "Loaded into segment 4 when the content name carries the TOSEC tag [req zrom]." + source_ref: "source core/core.cpp:240-244, source core/core.hpp:221-226, source core/main.cpp:890-898, source roms/roms.hpp:41040-42408" - name: brd.rom description: Enterprise 128 German language extension path: ep128emu/roms/brd.rom + system: enterprise-128 + md5: 6af0402906944fd134004b85097c8524 + size: 16384 required: false - source_ref: "source core/core.cpp:261, source roms/roms.hpp:42409-43777" + hle_fallback: true + has_builtin: true + note: "Loaded into segment 4 when the content name carries the TOSEC tag [req brd-rom]." + source_ref: "source core/core.cpp:258-262, source core/core.hpp:221-226, source core/main.cpp:890-898, source roms/roms.hpp:42410-43778" - name: zt19uk.rom description: Enterprise 128 ZozoTools extension (DTF file loading) path: ep128emu/roms/zt19uk.rom + system: enterprise-128 + md5: 228540b6be83ae2acd7569c8ff0f91d0 + size: 32768 required: false - source_ref: "source core/core.cpp:288-291, source roms/roms.hpp:38304-41037" + hle_fallback: true + has_builtin: true + note: "Loaded across segments 0x40-0x41 for DTF content." + source_ref: "source core/core.cpp:286-292, source roms/roms.hpp:38305-41038" + + - name: ide12.rom + description: Enterprise IDE controller ROM v1.2 + path: ep128emu/roms/ide12.rom + system: enterprise-128 + required: false + note: "Loaded into segment 0x42 for hard disk content (.vhd, or a disk image whose header marks a hard disk). roms.hpp holds no built-in copy, so without the file the core throws \"ROM file not found!\" and that content does not start." + source_ref: "source core/core.cpp:309-322, source core/core.cpp:537-546, source core/main.cpp:1055-1062, source core/main.cpp:1081-1084" - name: tvc22_sys.rom description: Videoton TVC system ROM v2.2 path: ep128emu/roms/tvc22_sys.rom + system: videoton-tvc + md5: 8c54285f541930cde766069942bad0f2 + size: 16384 required: false - source_ref: "source core/core.cpp:328-329, source roms/roms.hpp:21206-22574" + hle_fallback: true + has_builtin: true + note: "System ROM for every TVC machine type." + source_ref: "source core/core.cpp:328-329, source roms/roms.hpp:21207-22575" aliases: - TVC22_D6_D4.64K - name: tvc22_ext.rom description: Videoton TVC extension ROM v2.2 path: ep128emu/roms/tvc22_ext.rom + system: videoton-tvc + md5: 5ce95a26ceed5bec73995d83568da9cf + size: 8192 required: false - source_ref: "source core/core.cpp:330-331, source roms/roms.hpp:22575-23260" + hle_fallback: true + has_builtin: true + note: "Loaded with tvc22_sys.rom on every TVC machine type." + source_ref: "source core/core.cpp:330-331, source roms/roms.hpp:22576-23261" aliases: - TVC22_D7.64K - name: tvcfileio.rom description: Videoton TVC Direct File I/O path: ep128emu/roms/tvcfileio.rom + system: videoton-tvc + md5: a2cf86ba8e7fc58b242137fe59036832 + size: 8192 required: false - source_ref: "source core/core.cpp:334-335, source roms/roms.hpp:1378-2063" + hle_fallback: true + has_builtin: true + note: "Loaded for the TVC64_FILE machine type. The ROM sits in the source tree, but the core zip holds the library only." + source_ref: "source core/core.cpp:332-336, source roms/roms.hpp:1379-2064" - name: tvc_dos12d.rom description: Videoton TVC disk BIOS v1.2d path: ep128emu/roms/tvc_dos12d.rom + system: videoton-tvc + md5: 88dc7876d584f90e4106f91444ab23b7 + size: 16384 required: false - source_ref: "source core/core.cpp:339-340, source roms/roms.hpp:23261-24629" + hle_fallback: true + has_builtin: true + note: "Loaded for the TVC64_DISK machine type." + source_ref: "source core/core.cpp:337-341, source roms/roms.hpp:23262-24630" aliases: - VT-DOS12-DISK.ROM - name: cpc464.rom description: Amstrad CPC 464 OS + BASIC path: ep128emu/roms/cpc464.rom + system: amstrad-cpc + md5: a993f85b88ac4350cf4d41554e87fe4f + size: 32768 required: false - source_ref: "source core/core.cpp:353-356, source roms/roms.hpp:4802-7535" + hle_fallback: true + has_builtin: true + note: "OS half into segment 0x10, BASIC half into segment 0x00, for the CPC_464_TAPE machine type." + source_ref: "source core/core.cpp:350-357, source roms/roms.hpp:4803-7536" - name: cpc664.rom description: Amstrad CPC 664 OS + BASIC path: ep128emu/roms/cpc664.rom + system: amstrad-cpc + md5: 5a384a2310f472c7857888371c00ed66 + size: 32768 required: false - source_ref: "source core/core.cpp:361-364, source roms/roms.hpp:7536-10269" + hle_fallback: true + has_builtin: true + note: "Loaded for the CPC_664_DISK machine type." + source_ref: "source core/core.cpp:358-365, source roms/roms.hpp:7537-10270" - name: cpc6128.rom description: Amstrad CPC 6128 OS + BASIC path: ep128emu/roms/cpc6128.rom + system: amstrad-cpc + md5: b96280dc6c95a48857b4b8eb931533ae + size: 32768 required: false - source_ref: "source core/core.cpp:370-373, source roms/roms.hpp:10270-13003" + hle_fallback: true + has_builtin: true + note: "Default CPC machine, used for every CPC type other than 464 tape and 664 disk." + source_ref: "source core/core.cpp:366-374, source roms/roms.hpp:10271-13004" - name: cpc_amsdos.rom description: Amstrad CPC AMSDOS disk BIOS path: ep128emu/roms/cpc_amsdos.rom + system: amstrad-cpc + md5: 25629dfe870d097469c217b95fdc1c95 + size: 16384 required: false - source_ref: "source core/core.cpp:377-378, source roms/roms.hpp:24630-25998" + hle_fallback: true + has_builtin: true + note: "Loaded into segment 0x07 for the CPC_DISK and CPC_664_DISK machine types." + source_ref: "source core/core.cpp:375-379, source roms/roms.hpp:24631-25999" aliases: - AMSDOS_0.5.ROM - name: zx128.rom description: ZX Spectrum 128 ROM path: ep128emu/roms/zx128.rom + system: zx-spectrum + md5: 85fede415f4294cc777517d7eada482e + size: 32768 required: false - source_ref: "source core/core.cpp:400-403, source roms/roms.hpp:27368-30101" + hle_fallback: true + has_builtin: true + note: "Loaded across segments 0x00-0x01 for the ZX128 machine types." + source_ref: "source core/core.cpp:398-404, source roms/roms.hpp:27369-30102" - name: zx48.rom description: ZX Spectrum 48 ROM path: ep128emu/roms/zx48.rom + system: zx-spectrum + md5: 4c42a2f075212361c3117015b107ff68 + size: 16384 required: false - source_ref: "source core/core.cpp:407-408, source roms/roms.hpp:25999-27367" + hle_fallback: true + has_builtin: true + note: "Loaded into segment 0x00 for the ZX16 and ZX48 machine types." + source_ref: "source core/core.cpp:405-409, source roms/roms.hpp:26000-27368" aliases: - 48.rom diff --git a/tests/test_region_groups.py b/tests/test_region_groups.py index 4c2fd580..6330b1ac 100644 --- a/tests/test_region_groups.py +++ b/tests/test_region_groups.py @@ -68,10 +68,10 @@ class TheEnterpriseKeepsItsRom(unittest.TestCase): from common import load_emulator_profiles profiles = load_emulator_profiles(str(REPO_ROOT / "emulators")) - for name in ("ep128emu", "ep128emu_core"): - entry = next(f for f in profiles[name]["files"] if f["name"] == "brd.rom") - with self.subTest(profile=name): - self.assertFalse(entry.get("region")) + entry = next( + f for f in profiles["ep128emu_core"]["files"] if f["name"] == "brd.rom" + ) + self.assertFalse(entry.get("region")) class TheGroupTakesThePlatformSpelling(unittest.TestCase):