Files
LibretroAdmin de4aaaab0a tools/aica: the DSP, compiled against interpreted
The core has the sound chip's DSP twice - a compiler for x86-64 and
ARM64 and an interpreter for the rest - and nothing ran one against
the other.

tools/aica/run.sh builds dsp_test.cpp around each, with nothing else
of the core, and gives both the same 1000 made-up programs: 1 to 64
random steps, random coefficients and addresses, 64 samples of random
input. The 16 outputs after every sample and the registers and delay
memory at the end have to come out the same from both.

Every program is run a second time with a step added at the end of
the 128 that is not empty and does nothing, which makes the DSP run
the empty steps it otherwise leaves out. Both runs have to leave the
same behind, from the compiler and from the interpreter: that is
"aica dsp: the empty steps after the program's last are not run"
checked on both, where so far it had been checked on the compiler
with one game's program.

One difference between the two is known and is kept out of the
programs; run.sh says what it is. On a machine that is not x86-64 only
the interpreter's check of itself is run.

Before "aica dsp: two faults in the compiled code" this fails.
2026-10-06 17:27:48 +02:00
..