The toolchanger on the 120 comes in two versions: early (4-slot, 4-hole) and late (8-slot). It uses a 24VDC motor and has 4 photosensors for feedback (also 24VDC). It works by ratcheting: it moves the turret past a station, then reverses into the station and holds the motor in reverse, keeping the turret securely backed up against a pawl. The repeatability and rigidity comes from this pawl mechanism, allowing crude position feedback sensing and a motor without position control.
The original control used the photosensors as well as motor current sensing as inputs and generated a PWM output to control the motor. This is probably the only control scheme that will work.
There is a board available that replicates the original control scheme: the Emco Toolchanger Controller. It takes requests for a toolchange via USB and sends a message back when the toolchange is complete. It comes with drivers for Mach and hides the sensor reading, current measurement and PWM generation from the user. It also has four relay drivers for coolant pumps, etc. It costs about as much as retrofitting an axis.Mach (or a PLC with PWM output) could maybe perform the basic logical function of this board but either approach would still need circuitry to read and filter the motor current, drive the motor from the PWM signal, level-shift the inputs, and perform isolation. It would also need some kind of two-way communication with Mach.
This isn't supposed to be an ad for the board; google it to find out more. It is the only known solution to the toolchange problem at the moment.
One approach that will likely not work is to use a relay to power the motor either forward or backward with a power resistor limiting current in reverse only. Reversing requires a totally different motor current than holding the turret against the pawl.