There's also debouncing, which is probably important for an arcade system. Well, I'm assuming arcade, because the MAME I know about is the Multi Aracade Machine Emulator. Really cool thing for playing Galaga on my Linux box.
Yes, once the OP can read digital and analog signals, then he/she needs to think about debounce (particularly for the joysticks), but it sounded like he/she was at a more basic level. Of course the problem with doing debounce for 8 analog joysticks, is you don't want to do read, dobounce, read serially on each value, but instead you want do all of the initial reads, then the delay, and then the 2nd reads. And when you are dealing with 24 buttons, you need to start thinking of using things like arrays.