[sdiy] How does the MIDIVerb's adder work?
BrightBoy
jdec at mindspring.com
Sat Jul 27 16:09:57 CEST 2024
I don't think Paul visits this outpost anymore....
Jeff
-----Original Message-----
From: Gordonjcp <gordonjcp at gjcp.net>
Sent: Jul 27, 2024 8:33 AM
To: <synth-diy at synth-diy.org>
Subject: [sdiy] How does the MIDIVerb's adder work?
Hi folks,
I recently got interested in a post on Reddit where someone was trying to disassemble the original MIDIVerb and MIDIFex DSP ROMs, following Paul Schreiber's videos on Youtube about reverse-engineering one. I had a crack at writing my own emulator, based on the circuit diagrams in the video, and while I've got it working there are some things I'm not totally clear about.
There are four basic operations, which are various combinations of add or load the accumulator with half the value in RAM, or store the accumulator to RAM and add the accumulator to half its current value, or this but with the accumulator inverted.
Halving the accumulator is accomplished by wiring D1 of the "input" to D0 of the adder, and so on, with D15 wired to both D14 and D15 at the top. But there's an oddity here - the Carry In of the adder chain is also wired to D15, which means that if the value is negative the output has 1 added to it. This sounds awfully like two's complement arithmetic, except that you'd add 1 only if you were subtracting. As it is, it's just going to generate an off-by-one error.
It clearly works the way it's drawn, although I haven't tried leaving this funny carry in thing out to see if it makes much of a difference. I don't know if it makes a difference but because of the way the DAC is wired, that's shifted left one bit with the lowest bit always set to 1 and the remaining high bits sign-extended.
Paul, you drew it, can you wade in and explain why I'm wrong? ;-)
--
Gordonjcp
________________________________________________________
This is the Synth-diy mailing list
Submit email to: Synth-diy at synth-diy.org
View archive at: https://synth-diy.org/pipermail/synth-diy/
Check your settings at: https://synth-diy.org/mailman/listinfo/synth-diy
Selling or trading? Use marketplace at synth-diy.org
More information about the Synth-diy
mailing list