From b74aeac98f1a8a5d4e8adb5c4845f6b8829cc5ae Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Fri, 13 Feb 2026 03:55:20 +1100 Subject: cpu/sharc: Allow multiple loops to end on the same instruction. This is required by Last Bronx, which has code that de-duplicates the common part of multiple successive loops. It reduces the performance of do-nothing spin loops a bit but not too much - the DRC still has substantially better performance than the interpreter. Unfortunately, this exposes a pre-existing issue with how ASTAT conditions are handled in the SHARC front-end which causes the Midnight Run and Racing Jam DSP programs to crash. Fixing it will require major changes. Use -nodrc for now, I'll probably have to disable to recompiler before the next release until this can be fixed. --- scripts/src/cpu.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'scripts/src/cpu.lua') diff --git a/scripts/src/cpu.lua b/scripts/src/cpu.lua index 6bffe28edf2..397d57b8eae 100644 --- a/scripts/src/cpu.lua +++ b/scripts/src/cpu.lua @@ -263,11 +263,11 @@ if opt_tool(CPUS, "ADSP21XX") then end -------------------------------------------------- --- Analog Devices "Sharc" ADSP21062 ---@src/devices/cpu/sharc/sharc.h,CPUS["ADSP21062"] = true +-- Analog Devices "SHARC" ADSP2106x +--@src/devices/cpu/sharc/sharc.h,CPUS["ADSP2106X"] = true -------------------------------------------------- -if CPUS["ADSP21062"] then +if CPUS["ADSP2106X"] then files { MAME_DIR .. "src/devices/cpu/sharc/compute.hxx", MAME_DIR .. "src/devices/cpu/sharc/sharc.cpp", @@ -276,7 +276,7 @@ if CPUS["ADSP21062"] then MAME_DIR .. "src/devices/cpu/sharc/sharcdrc.cpp", MAME_DIR .. "src/devices/cpu/sharc/sharcfe.cpp", MAME_DIR .. "src/devices/cpu/sharc/sharcfe.h", - MAME_DIR .. "src/devices/cpu/sharc/sharcmem.hxx", + MAME_DIR .. "src/devices/cpu/sharc/sharcinternal.ipp", MAME_DIR .. "src/devices/cpu/sharc/sharcops.hxx", MAME_DIR .. "src/devices/cpu/sharc/sharcops_table.cpp", } -- cgit v1.2.3