Turbo Pascal 3.3 for MSX apparently didn't didn't have graphics, sound or other useful functions to write games, however it allows inline machine code to be injected by using the reserved word "inline".
I am trying to write helper procedures and functions in order to surpass this limitation. However, I would like to follow good practices and make BIOS calls in order to maintain compatibility with as many machines as possible.
Regarding the keyboard, I have seen that I could read a matrix row as is, but then it would depend on the matrix implementation. The alternative is to use the BIOS function CHGET (009FH), which checks the input buffer and gets the first character. However this function is blocking and will wait for the user to make an input in order to continue the execution. This fact makes it unsuitable for writing games.
I am using this MSX 2 manual as a guide. Please, is there a way in which I could use that function or write a new one that works like Pascal's readkey from unit crtc?