diff options
| author | 2026-02-13 03:55:20 +1100 | |
|---|---|---|
| committer | 2026-02-13 03:55:20 +1100 | |
| commit | b74aeac98f1a8a5d4e8adb5c4845f6b8829cc5ae (patch) | |
| tree | f4a1f8ba7c1458b13e064c903081df74efa31f98 /scripts/src/cpu.lua | |
| parent | 8b25ca0d40b2222a0f29ef2a58a1659122b46061 (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.lua | 8 |
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", } |
