With the sram fixed, I've made a bit of cleaning.   I've remove nearly all warnings. I also fix declarations of all function.   I think I've found a bug:   In the sqrt intruction, you're doing  : src=arm7reg.r[0]; arm7reg.r[0]= (u32) sqrt(src);   As far as I know, this sqrt is made on integer and not float. Am I right?? If yes, as math.h was not include, sqrt was returning a float, but was treated as an int. IF no, the code should work,but it's better to cast the register as a float before calling sqrt.   Hope it help   I've send you the patchs with darcs send command.   Crazyjul