Ah ha, enhancements ...

Small problem though ...
getbuf: is a Subroutine.

Jumping out of a subroutine to the main loop with ...
Code:
      goto display
is going to cause some stack problems.

Try using RETURN at each of those goto's.