How have you been testing these controls? Notepad, WinIpac.
P4 directions don't work because they aren't mapped in mame as a default - start a game, press TAB and then check in Inputs (default) then check Player 4. They are probably all set to NONE. You should set up ctrlr file to suit your panel and this will force mame to recognize the settings you have chosen.
This could also be the problem with the p3up and p2b5 - they could be mapped to the same value.
So - run mame and check the default inputs for all 4 controllers including buttons - I recommend just writing these all down.
- open up Winipac and make sure each controller and button is assigned a value and test them. Move the joystick around and you will see the joystick graphic also move (hopefully in the same direction). The buttons will be highlighted when pressed.
- check the mame defaults against those in winipac - mark down on the paper the winipac mappings as these are the ones you want mame to read.
- set up ctrlr file - Some help can be found
here and
here and
here - but remember this last one is for ini formate and not xml (which was put in place around 0.85 if you're using older version you should be fine).
- depending on the version of mame you may need to run HowardC's converter which can be found in
here - set up the mame.ini file to use the ctrlr file
enable this line
ctrlr_directory ctrlr
and then further down
ctrlr mine
I have my ctrlr file called mine.cfg located in the ctrlr folder.
Good luck
-cdbrown