Uno interfacing to system with scanned keypad

This is a situation where you need to use interrupts to good effect. Whilst the FPGA approach would be in a sense, optimal, I agree that I have yet to see an inexpensive development system for these, the programming software is virtually always encumbered and expensive, even if the hardware appears to be relatively cheap.

The advantage you have is that the ATMega is so much faster than the SC/MP, so that you can - with an interrupt - set up the appropriate response to the keyboard scan while the SC/MP is getting around to reading it.

As you have the source code, you would know how it performed key debouncing - presumably the key is read many times before it is accepted as valid. It is on this account important that the emulation code responds accurately, though I would not be surprised if the initial keypress actually stops the keyboard scanning until the debounce (and release) is completed.