Ну, на Спектруме (Z80) условные call и ret довольно распространенная практика. Таблицы там тоже юзают, тут просто суть задачи была максимально сократить код.
Любые таблицы это дополнительные байты, плюс 16 байт - это лишь кнопки направлений, без кнопок "огонь1" и "огонь2" (или как их принято называть на Векторе).
Про совмещенную обработку клавы+джойстика - да, в идеале так и делается. metamorpho, полагаю, учтет это в будущем =)
Его код опроса напоминает обработку бейсик-программы компилятором, но ему простительно, он только учится. Главное - подсказывать, как и что.