Maximus Arcade is a commercial computer-based software that allows for seamless interaction with multiple arcade and console emulators while keeping the Windows environment hidden. Although best suited for use in arcade cabinets, it can be configured for use in a kiosk or simply running on a computer with a keyboard, trackball, or gamepad. Maximus is the only frontend that you have to pay for, but its features make it worth considering.
In Maximus Arcade Preferences, choose the 'Controller' tab, then 'Setup 1' subtab, and choose 'X-Arcade' (NOT 'X-Arcade Tankstick') from the drop-down list next to 'Controller Layout'. Do the same for Setup 2.
To enable Trackball; under the 'Controller' tab, 'Input' subtab, 'Mouse'subtab, put a check next to 'Capture Mouse/Trackball'.
Under the 'Configuration' tab, select 'MAME' from the drop-down list, and next to 'Executable" click the '...' button and navigate to C:\MAME Plus!\ and click on 'mamep.exe' to select it. Next to "Command Line" add "-ctrlr X-Arcade" without the quotes.
You will add ROMS to the MAME/roms directory as instructed in the MAME guide. When you add ROMs to MAME, you will need to open Maximus Arcade, right-click anywhere on the screen and choose "Refresh Game List".