but for 4 player games.... the player who sits in the opposite side will have a difficult time controlling his character ??.... since its the other way around....
Yea, it makes sence, and your right. All of the joystick directions would have to be encoded from the P1 point of view, or whoever is looking at the screen in the correct orientation for games like Gauntlet.
3
1 2
4
If that's the seating arangement, and player 1 is viewing the screen "normally", then both of player two's axis would be reversed for "single screen" games. Up towards the screen for P2 would actually need to input a P2 'down' command so the sprite travels the correct way in Gauntlet for example. Left to the second player, would actually need to be P2 'right'.
Now, for games with screen flipping, you'll have to completely change P2 again, because the screen flips to where the joystick is correct. Each game will have to be treated seperately. That's fine if your just running a couple of games, but each one you add will have to be configured independantly. Either that, or you'll need to run two seperate emus; one for screen flips, one for "single screen" games.
Driving games are a piece of cake, CCW makes the car turn left, CW makes the car turn right. Same thing with spinner games like Warlords.