2d PPI implementation. Some unused asm code was removed