Since not everyone have access to arcade ST, the best alternatives are dreamcast, HD classic and pc emulator.
Among these the best so far as agreed by many players is
(Download Shmupmame v4.2 Qt GUI + Command line 32 or 64 bits depending on your system)
If paired with a lagless display (CRT VGA Monitor or iiyama B2206 / E2201W / 2210), it can replicate the arcade experience.
I recorded a round in feilong's stage using a supergun (US turbo 2) and the elapsed time is around 52.93 seconds
The emulator still runs a bit faster than arcade. With the stock emulator, the elapsed time is around 52.6 seconds
You can adjust the speed in the game property dialog
Using a game speed of 99%, the elapsed time is around 53.1 seconds
And if you set the game speed to 97%, the elapsed time is around 54.0 seconds.
Setting the speed slower is good if you don't have a lagless display.
Once you start the game, hit [tab] to get into menu.
use arrow keys to navigate the menu, [enter] to select an item, [esc] to go back one level
select Input (this game)
press [enter] once on each input that you need to reassign, then press the button on your joystick once.
wait a second before navigating away to another input otherwise mame will record two input sequence for the same item.
Changing CPS2 settings
press [F2] to get into ST system menu and system configuration
if you are using JP version (grand master challenge), change it to turbo 3, otherwise use turbo 2
You can use cheat to practice combo if you want to get used to the timing for a tournament
put cheat.zip in the same folder as Shmupmame.exe
and enable cheat in game > misc tab
once you're in the game, [tab] to get into the menu and navigate to cheat
turn on infinite PL2 & infinite time
the infinite energy cheat isn't perfect, sometimes the dummy's hit stun will be all screwed up, if that annoys you, you can bind an extra button on your joystick to toggle cheat on/off.
if you can't get everything working, try /povpqngwrov5 on sendmyway.com
I have done the nki input lag test with shmupmame using a 60 fps camera / lagless display. Results are below.