Programming: Menus and Display - Hewlett Packard

This is a discussion on Programming: Menus and Display - Hewlett Packard ; I need to know how to 1) change a menu while a program is running. I want it to tell the functions associated with active keys (top row). The "hard way" is to park a graphics object that looks like ...

+ Reply to Thread
Results 1 to 10 of 10

Thread: Programming: Menus and Display

  1. Programming: Menus and Display

    I need to know how to

    1) change a menu while a program is running. I want it to tell the
    functions associated with active keys (top row). The "hard way" is to
    park a graphics object that looks like the menu at the bottom of the
    lcd. If I say 'menu' TMENU, the menu will change after the program
    terminates.

    2) Highlight text that's displayed. I'm putting up text via (for
    example)
    "Sample Text"
    1
    DISP.

    How do I highlight it? Again, the hard way is to isolate that part of
    the graphics object and reverse the pixels.

    3) Use the 12th line of the display via commands given in item (2),
    above. If I use 12 DISP, nothing happens - the bottom line remains
    blank.


  2. Re: Programming: Menus and Display

    On Mon, 11 Jun 2007 12:56:37 -0500:

    > I need to know how to


    > 1) change a menu while a program is running.


    > 2) Highlight text that's displayed.
    > I'm putting up text via (for example) "Sample Text"
    > 1 DISP. How do I highlight it?


    Did you see the replies already posted?
    http://groups.google.com/group/comp....0e81e04b188506

    > 3) Use the 12th line of the display via commands
    > given in item (2), above. If I use 12 DISP, nothing happens -
    > the bottom line remains blank.


    Did you see the reply about this?
    http://groups.google.com/group/comp....29d22d8d36ea8b

    [r->] [OFF]

  3. Re: Programming: Menus and Display

    On Jun 11, 5:32 pm, "John H Meyers" wrote:
    > On Mon, 11 Jun 2007 12:56:37 -0500:
    >
    > > I need to know how to
    > > 1) change a menu while a program is running.
    > > 2) Highlight text that's displayed.
    > > I'm putting up text via (for example) "Sample Text"
    > > 1 DISP. How do I highlight it?

    >
    > Did you see the replies already posted?http://groups.google.com/group/comp....ead/thread/fd0...
    >
    > > 3) Use the 12th line of the display via commands
    > > given in item (2), above. If I use 12 DISP, nothing happens -
    > > the bottom line remains blank.

    >
    > Did you see the reply about this?http://groups.google.com/group/comp....29d22d8d36ea8b
    >
    > [r->] [OFF]


    No, that thread somehow was dropped from my listing. I didn't see
    it.

    In response to a question from that thread, what I see (from bottom
    up) is the menu, a blank line (12th from the top), then the 11 other
    lines.



  4. Re: Programming: Menus and Display

    More about the desire to
    "change [menu and/or stack display] while a program is running"

    So long as a program is actually *running*
    (not waiting for user input),
    there is no opportunity for the user
    to interact with the calculator.

    Aside from commands which do immediate,
    direct writing to the display (e.g. CLLCD, DISP),
    the display remains exactly as it was when the user
    last directly interacted with the system
    (in particular, the stack is *not* continuously displayed,
    so one does not see the program operate upon the stack
    in "real-time").

    When any program exits or halts, then the "SysDisplay"
    internal function is automatically invoked; this function
    re-draws every element of the screen (including the menu)
    for any area which has not meanwhile been marked as "frozen."

    If the user program waits for a key to be pressed using WAIT,
    then using the argument -1 WAIT (or any negative number)
    also tells the system to re-draw just the menu,
    which takes care of most user programs which want to
    show a menu of top-row functions and wait for a keypress.

    If you otherwise want to force immediate re-drawing of the
    menu (or entire display), you can yourself call system
    function DispMenu.1 (or SysDisplay); if you don't have
    the "extable" library (containing command GETADR
    to look up the address of an internal function by name),
    then you can look up system function addresses in a document,
    and use any direct address with SYSEVAL in a user program,
    to invoke the internal function.

    Here's a document listing internal functions,
    with ROM addresses for each calc series (old 48 vs new 48/49/50)
    http://www.hpcalc.org/search.php?query=xref

    Since DispMenu.1 and SysDisplay require no stack arguments,
    you can't go wrong calling them whenever you want
    (unless you use the wrong address with SYSEVAL),
    although in general, most internal functions
    are a bit dangerous to use with wrong (or missing)
    stack arguments, or using any wrong ROM address,
    which is why it's prudent to make a memory backup
    before plunging into calling internal "system" functions.

    Hope this provides some useful input.

    [r->] [OFF]

  5. Re: Programming: Menus and Display

    On Mon, 11 Jun 2007 17:59:09 -0500:

    > In response to a question from that thread, what I see
    > (from bottom up) is the menu, a blank line (12th from the top),
    > then the 11 other lines.


    I gather that you are using the system font with height of 6,
    which is the only way to get 12 lines, in addition to the menu,
    on the HP49G+/50G screen.

    I see that 12 DISP (expecting to write on the line
    displaying stack level 1) is ignored in this case,
    which I guess is what you are reporting.

    Halloo, anyone at HP -- is there a reason
    why the system treats display line 11, rather than 12,
    as the last displayable line for font size 6?
    (even for system function DISPLASTROW, as it happens).

    If there are 80 pixel rows on the screen, and if the
    last 8 pixel rows are reserved for the menu, that
    would appear to leave 72 pixel rows for the menu+stack
    area, and that would seem to fit 12 rows at font height 6,
    just as it does when the stack is displayed, no?
    ("descenders" occupy the lowest pixel row in the font,
    while all characters otherwise fit in the upper five
    pixel rows of the font, and are written, for display line 1,
    to be flush with the top pixel row of the entire screen).

    If you want to suggest that DISP (and DISPLASTROW)
    therefore have a bug when used with system font height 6,
    and think that HP will ever update ROM again,
    and if this wasn't already reported,
    you could add a bug report at http://bugs.hpcalc.org

    If you meanwhile do CLLCD before you start to write to the screen,
    hardly anyone will notice that you don't use line 12

    I can get the 12th row to display using Disp5x7 (system function),
    but I also got a memory wipe out a bit later, so perhaps
    this may not be good to recommend at the moment.

    [r->] [OFF]

  6. Re: Programming: Menus and Display

    John H Meyers wrote:

    > Halloo, anyone at HP -- is there a reason
    > why the system treats display line 11, rather than 12,

    isn't this fixed in 2.10?

    JY

  7. Re: Programming: Menus and Display

    X-No-Archive: Yes

    On Tue, 12 Jun 2007 01:03:48 -0500:

    > isn't [line 11 is last line for font6] fixed in 2.10?


    What's 2.10?

    Oh, isn't that odd -- the calc which I tested says:

    "Version HP49-B
    Revision #2.10-7"

    If it was last flashed from the SD card in it
    (of which I can't be positive)
    the file info from that card is:

    G:\hp49g-ws.bin
    09/18/06 02:40a 1294336 --a------
    MD5: 8a94db76f4ce8e99a613c297f493fa25 hp49g-ws.bin

    Is there a place to look in Nosy, say,
    for some particular updated code?

    [r->] [OFF]

  8. Re: Programming: Menus and Display


    "John H Meyers" wrote in message
    newsp.ttsut7q8nn735j@w2kjhm.ia.mum.edu...
    > X-No-Archive: Yes
    >
    > On Tue, 12 Jun 2007 01:03:48 -0500:
    >
    >> isn't [line 11 is last line for font6] fixed in 2.10?

    >
    > What's 2.10?
    >
    > Oh, isn't that odd -- the calc which I tested says:
    >
    > "Version HP49-B
    > Revision #2.10-7"


    Hmmm, what 2.10 and WHERE!
    Does it include the EMU ROM ??
    Parisse version or something else?
    [<-l] [CONT]



  9. Re: Programming: Menus and Display

    On Mar 28, 2:23*pm, "Veli-Pekka Nousiainen"
    wrote:
    > "John H Meyers" wrote in messagenewsp.ttsut7q8nn735j@w2kjhm.ia.mum.edu...
    >
    > > X-No-Archive: Yes

    >
    > > On Tue, 12 Jun 2007 01:03:48 -0500:

    >
    > >> isn't [line 11 is last line for font6] fixed in 2.10?

    >
    > > What's 2.10?

    >
    > > Oh, isn't that odd -- the calc which I tested says:

    >
    > > "Version HP49-B
    > > Revision #2.10-7"

    >
    > Hmmm, what 2.10 and WHERE!
    > Does it include the EMU ROM ??
    > Parisse version or something else?
    > [<-l] [CONT]


    AFAIK, The only publicly available 2.10 is BP's 2.10, which is
    available at his web site. You should be able to tell that the rom
    running is a beta of version 2.10-7. The only such beta is BPs. Other
    2.10 ROMs do exist, and I would not be surprised if JYA had some, but
    AFAICT nobody but HP and apparently BP have the authority to release
    ROMs. And HP seems to have an official policy to not release any new
    ROMs. Unless somebody can convince HP to let them take over software
    development responsibilities for the system (which would also probably
    require providing full support for the calculators), it seems quite
    likely that no new official ROMs will over be seen. However more
    unofficial ROMs might one day be made once all the relevant copyrights
    expire, if anybody still cares that far into the future.

  10. Re: Programming: Menus and Display

    On Sun, 30 Mar 2008 12:47:02 -0500:

    > AFAIK, The only publicly available 2.10 is BP's 2.10, which is
    > available at his web site. You should be able to tell that the rom
    > running is a beta of version 2.10-7. The only such beta is BPs. Other
    > 2.10 ROMs do exist, and I would not be surprised if JYA had some, but
    > AFAICT nobody but HP and apparently BP have the authority to release
    > ROMs. And HP seems to have an official policy to not release any new
    > ROMs. Unless somebody can convince HP to let them take over software
    > development responsibilities for the system (which would also probably
    > require providing full support for the calculators), it seems quite
    > likely that no new official ROMs will over be seen. However more
    > unofficial ROMs might one day be made once all the relevant copyrights
    > expire, if anybody still cares that far into the future.


    I have no idea who authorizes whom to do what,
    but I would guess that the special version (with Geometry and spreadsheet),
    made for French teachers, might have led to additional sales,
    which might suit HP very well.

    The "Unsupported Beta ROM 1.19-6" for HP49G (original),
    available at www.hpcalc.org, was never offered through HP itself,
    but was a significant improvement over version 1.18,
    which is the last version HP offers (still available, BTW),
    and likewise may have improved the "bottom line."

    Of course, you can also actually install "50G" version 2.09 or 2.10
    into an HP49G, albeit indirectly, via "ROMUPLOAD" from Emu48/49,
    thru a serial port, when using an emulator ROM file.

    -[ ]-

+ Reply to Thread