32x: drc: new smc handling, some bugfixes + refactoring