Вопрос решён, попутно разобрался с Кейлом, который ещё и отлично работает в wine

Синхронизацию обмена по параллельному порту сделал через сигнал переполнения таймера 0, как и требовалось

А с генерацией внешнего прерывания в Пинейкле всё проще -- эмулируем срез импульса на порту P3 путем снятия 2го бита и тем самым генерируем внешнее EX0 прерывание.
Тему можно закрыть