This code works to some extent, but tends to cause system hangs. Also includes some DSI implementation fixes.