Well, I can't find any simple 8 bit, tri-state buffers on a single chip, but I can find 8 bit tranceivers, but they all are enabled on low, not high. So, I'm thinking a single 74HCT138 to decode the three line bank select. Each one of the output pins (that were being used in that controller) would go to a single 74HCT245 that controls that bank. That takes care of part C in Raz's diagram. I can throw something together in Eagle if anyone thinks it'll help, but I'm not sure if there's a need.
Does every game poll all 8 banks? With what kind of frequency? I'm assuming once per vblank, but wanted to be sure. I also wanted to be sure that a normal game using just the stick and four buttons would still work fine if it only answered to bank 011. If it always polls all eight banks each frame, that also gives me a known good time to reset the trackball counter between checks.
Can you give me any idea what values IR Maze is considering? Very slow up, very slow down, very fast up, very fast right, etc. The way the arcade trackballs seem to work, it would seem that it probably sends an signed value, not an unsigned one, since the connector has one line horizontal direction, one for vertical direction, and one each horizontal and vertical speed (the ticks of the wheel). Hardware to adjust the 'sensitivity' of the trackball would be rough, so if I can match what the machine is expecting, it'd be easiest. Same information for spinner speed would be cool, but I assume it is the same ranges as the trackball.