From 366b485b037b404a4a71f1caa77a4cacb83e17ef Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Mon, 2 Mar 2026 09:25:23 +1100 Subject: Allow recompiling CPU cores to define their own opcode descriptions. The base opcode description now only has the parts that are used by the base recompiler front-end. CPU cores are free to define their own extensions as they see fit without being limited to pre-defined fields. The base recompiler front-end is now a template, eliminating the virtual member functions. It no longer has any dependencies on libemu, which paves the way to decoupling the recompiler front-ends and allowing the instruction analysis to be tested without the rest of the emulator. Also added a compile-time option to disable ASTAT flag update elision in the SHARC recompiler, and fixed some recompiler front-end bugs. --- scripts/src/cpu.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'scripts/src/cpu.lua') diff --git a/scripts/src/cpu.lua b/scripts/src/cpu.lua index 121ec87a8a6..9bf32fcaf66 100644 --- a/scripts/src/cpu.lua +++ b/scripts/src/cpu.lua @@ -32,8 +32,8 @@ if CPU_INCLUDE_DRC then MAME_DIR .. "src/devices/cpu/drcbeut.h", MAME_DIR .. "src/devices/cpu/drccache.cpp", MAME_DIR .. "src/devices/cpu/drccache.h", - MAME_DIR .. "src/devices/cpu/drcfe.cpp", MAME_DIR .. "src/devices/cpu/drcfe.h", + MAME_DIR .. "src/devices/cpu/drcfe.ipp", MAME_DIR .. "src/devices/cpu/drcuml.cpp", MAME_DIR .. "src/devices/cpu/drcuml.h", MAME_DIR .. "src/devices/cpu/uml.cpp", @@ -879,11 +879,13 @@ end if CPUS["SH"] then files { MAME_DIR .. "src/devices/cpu/sh/sh_fe.cpp", + MAME_DIR .. "src/devices/cpu/sh/sh_fe.h", MAME_DIR .. "src/devices/cpu/sh/sh.cpp", MAME_DIR .. "src/devices/cpu/sh/sh.h", MAME_DIR .. "src/devices/cpu/sh/sh2.cpp", MAME_DIR .. "src/devices/cpu/sh/sh2.h", MAME_DIR .. "src/devices/cpu/sh/sh2fe.cpp", + MAME_DIR .. "src/devices/cpu/sh/sh2fe.h", MAME_DIR .. "src/devices/cpu/sh/sh3comn.cpp", MAME_DIR .. "src/devices/cpu/sh/sh3comn.h", MAME_DIR .. "src/devices/cpu/sh/sh4.cpp", @@ -893,6 +895,7 @@ if CPUS["SH"] then MAME_DIR .. "src/devices/cpu/sh/sh4dmac.cpp", MAME_DIR .. "src/devices/cpu/sh/sh4dmac.h", MAME_DIR .. "src/devices/cpu/sh/sh4fe.cpp", + MAME_DIR .. "src/devices/cpu/sh/sh4fe.h", MAME_DIR .. "src/devices/cpu/sh/sh4regs.h", MAME_DIR .. "src/devices/cpu/sh/sh4tmu.cpp", MAME_DIR .. "src/devices/cpu/sh/sh4tmu.h", -- cgit v1.2.3