summaryrefslogtreecommitdiffstatshomepage
path: root/scripts/src/cpu.lua
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2026-02-13 03:55:20 +1100
committer Vas Crabb <vas@vastheman.com>2026-02-13 03:55:20 +1100
commitb74aeac98f1a8a5d4e8adb5c4845f6b8829cc5ae (patch)
treef4a1f8ba7c1458b13e064c903081df74efa31f98 /scripts/src/cpu.lua
parent8b25ca0d40b2222a0f29ef2a58a1659122b46061 (diff)
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.
Diffstat (limited to 'scripts/src/cpu.lua')
-rw-r--r--scripts/src/cpu.lua8
1 files changed, 4 insertions, 4 deletions
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",
}