Algunos juegos no responden a Select / Start con esta modificación. He averiguado el motivo, es debido a que comprueban que únicamente se encuentren pulsados éstos, incompatible a priori con la modificación. Lo he solucionado así:
assign joystick1 = {~P_R & P_L, ~P_L & P_R, ~P_D & P_U, ~P_U & P_D, ~p_start | (~P_R & ~P_L), ~p_sel | (~P_D & ~P_U), ~P_tr, ~P_A};
Adjunto nuevo core para que aquel que disponga de este tipo mando lo pueda aprovechar adecuadamente.