For the button mapping, from my old speccy days here's the most common used.
Keys )Q "up" ,A "down", O "left" ,P"right" Space "fire".
Kempston joystick. not sure what keys it maps but I think it's numbers and zero for fire.
Arrow keys (the top number row)
A virtual keyboard would be ace too...