I've never had to build one of these but my idea would be to use a programmable filter.
As the slew rate is a property of the driver, it's can't directly be changed. However, we should consider that a squarewave is simply made up of a number of harmonics. These separate signals can progressively sum to form a squarer signal; each harmonic effectively decreasing ripple and rise. time.
Therefore, all you need to do is build a low pass filter at a significantly higher filter frequency than the actual signal.
Each additional harmonic has a diminishing effect of the rise/fall time. If you spend the time to determine what the actual effects are for each harmonic, you can build a hash table to program the filter frequency.
asd913