  another INPUT-command (was, re: progr. ALPHA)

I was just about to write a question about a programmable ALPHA (using in an
own INPUT-command) when I read the following mail, which represents ABSOLUTELY
that, what I wanted to post by myself:


     First let me say that, in responding to Mr. Wickes' timely and
helpful answer to my question concerning the lack of a programmable
alpha-on in the 48, it is most definitely *NOT* my intention to start a
flame war or a round of HP-bashing, nor to second-guess the 48 design
team. What I *do* wish to do is to initiate a round of constructive user
feedback so that HP might better meet users' needs in future products.
(...)
     I have recently tried to write a work-around for this problem, but
with little success. Using "0 WAIT" to catch keypresses while displaying
the graphics screen works, but is too slow when key location numbers must
be converted to alpha characters using user commands (as opposed to
(...)

I have the same problem: I want an input-command, which can control the whole
screen AND which doesn't erase it when invoking it. The main-reason is, that I
have a lot of games (*shame*) programmed on the 28, which I wanted to port to
the 48. The PROMPT and INPUT command don't fit exactly the behavior of the
IN-command (a program of my own for the 28), so I converted my IN-program
to the 48.
But I'm not happy with its speed. Also I have problems with the type-ahead-
buffer, which works not properly. Sometimes some keys are not recognized.
I would be very happy, if someone posts a better and flexible input-program.

Nevertheless, here is my version:


IN is a program for interactive input, like INPUT in BASIC or readln in 
Pascal. It returns the input-string to the stack. If you press the ALPHA-key,
the program is HALTed and you can do other things, like visit variables, and 
then CONTinue the program.

use:   2:        <prompt-string>
       1:  <display-line-number>
       IN


e.g.:  2:                "Value"
       1:                      3
       IN

or    << CLLCD "Value" 3 IN 'VALUE' STO >>

==>    +----------------------+
       |                      |
       |Value:_               |
       |                      |
       |                      |
       +----------------------+

#----------------------------------------------------------------------------#
    this mail came from Framstag!      |   asta@dulruu51.bitnet
 (sometimes known as Ulli Horlacher)   |   asta@rz.uni-ulm.dbp.de
 University of Ulm/Danube  W-Germany   |   asta@main01.rz.uni-ulm.de
 "Waiting for the prompt" -Marillion   |   framstag@dtupev5a.bitnet
#----------------------------------------------------------------------------#
