I appreciate this is a very old thread but with old posts being so easily findable nowadays, I'll add this info anyway in case anyone bumps into it again...
The port above started as my port of Tailgunner to the gp32 - it was written in C and produced by a static binary translation of the original Cinematronics game. Later the C core was reused by Norbert Kehrer to produce a Java port for the web. I'm fairly sure that the GBA version above is the Java port somehow encapsulated with a java interpreter for the GBA. If it's slow it's because of the Java stage being involved. If he were to modify the original C port instead ( http://dl.openhandhelds.org/cgi-bin/gp32.cgi?0%252C0%252C0%252C0%252C38%252C428,0,0,0,30,203), it would likely run at full speed.
However these translated binaries are pretty large, and there is no way that they could port to the 6809-based Vectrex - also the vectrex can't display as many vectors and as quickly as the Cinematronics hardware, so a straight port of the original rom is out of the question. However at the moment I am writing a new clone of Tailgunner for the Vectrex from scratch, and although the performance requirements are rather tight, I think it will be possible... (although maybe not in time for the self-imposed Christmas 2017 deadline I set myself for getting it done - I'm having to learn a lot of new coding tricks to get acceptable performance on the hardware and development is progressing slowly...).
Graham