Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

3 question on the HP50G

301 views
Skip to first unread message

usenet1....@spamgourmet.com

unread,
Mar 24, 2007, 8:31:52 AM3/24/07
to
I have my new 50G since a few days, and I'm rather pleased... I think
it's a great advance since the 48GX I had. I also like its
"look'n'feel", the keyboard is OK though I miss some of the 48's keys
(and the labels over the arrow keys!)
I have some questions that bug me though...

1) If I have a very long integer (i.e. 100!) is there a way to display
it "fullscreen", sort of like an "auto-wrap"? Everything I tried only
shows just one line...
2) The expression "e^i*pi" only gives -1 if I'm in rad mode. Why is
that? That kind of math may be above my level, but I thought e and pi
were pure numbers, which should not depend on angle representation -
so why should the equation's result change?
3) When I try to factor a non-factorizable expression (i.e. x^3+x^2+2x
+5) the calc only displays the message "unable to factor" on the top
line for a (small) fraction of a second... I had to actually push
"factor" several times before realizing the calc was actually showing
a message, and tens of times before being able to read it!
4) About libs... On the 48 I could use LS-2 to enter the libs menu
where I found the ports list and commands, while with RS-2 I found the
softkeys to launch the installed libs. On the 50G everything seems
"mixed"... With RS-2 I find 3 softkeys to enter the ports 0,1,2, plus
the softkeys for "some" of the installed libs, not all. If I enter
port 0,1 or 2 I get the libs present in that port (the number, if you
push that button the lib is copied in the stack) and "some" other
installed libs (which are run if pushed). It's never clear what goes
where, or how to install and (quickly) launch a lib. I found no
explanations on the manuals. Sometimes an installed lib goes in the
"Apps" menu... Sometimes it goes to the "main" libs menu... Sometimes
to a specific port menu... Not really intuitive!

I thank you in advance for any help!

Cristian

ryan.edwards

unread,
Mar 24, 2007, 5:29:46 PM3/24/07
to
On Mar 24, 5:31 am, usenet1.20.qu...@spamgourmet.com wrote:

I too am a new HP 50 owner coming from a 48GX and I have noted exactly
the same things as you.

> 2) The expression "e^i*pi" only gives -1 if I'm in rad mode. Why is
> that? That kind of math may be above my level, but I thought e and pi
> were pure numbers, which should not depend on angle representation -
> so why should the equation's result change?

This one I do know. e^i*pi = -1 is Euler's Identity (pronounced
"Oiler"). You can read about at Wikipedia here http://en.wikipedia.org/wiki/Euler%27s_identity

The other concerns Christian has I would be very interested in hearing
solutions for, especially how to make the first line of the stack wrap
around in the same way MetaKernel on my 48GX did.

- Ryan

Virgil

unread,
Mar 24, 2007, 7:49:15 PM3/24/07
to
In article <1174771786.8...@e65g2000hsc.googlegroups.com>,
"ryan.edwards" <ryan.e...@shaw.ca> wrote:

> On Mar 24, 5:31 am, usenet1.20.qu...@spamgourmet.com wrote:
>
> I too am a new HP 50 owner coming from a 48GX and I have noted exactly
> the same things as you.
>
> > 2) The expression "e^i*pi" only gives -1 if I'm in rad mode. Why is
> > that? That kind of math may be above my level, but I thought e and pi
> > were pure numbers, which should not depend on angle representation -
> > so why should the equation's result change?
>
> This one I do know. e^i*pi = -1 is Euler's Identity (pronounced
> "Oiler"). You can read about at Wikipedia here
> http://en.wikipedia.org/wiki/Euler%27s_identity

e^i*pi is slightly ambiguous as you are using it.

I suspect you mean e^(i*pi), not (e^i)*pi. But as you have written it,
HPs parses it as (e^i)*pi.

On my HP49+, 'e^i*\pi, where \pi represents the pi symbol, evaluates to
'\pi*EXP(i)' or (1.549740975483,2.64355906408)

Whereas 'e^(i*\pi)' evaluates to -1.

John H Meyers

unread,
Mar 24, 2007, 10:45:26 PM3/24/07
to
On Sat, 24 Mar 2007 07:31:52 -0500, Cristian wrote:

> If I have a very long integer (i.e. 100!) is there a way
> to display it "fullscreen", sort of like an "auto-wrap"?
> Everything I tried only shows just one line...

The program below displays *anything*
that could be edited in the command line,
in a full-screen "page by page" mode,
also in a "fit to width of screen" mode
(line-wrapping, just as you requested).

The display appears in the same font as the current
stack display, which is adjustable in the MODE DISP form
(choose a "system" font on the top line,
or check-mark "Stack:_Small" to select the "minifont"
instead of the "system" font).

While displaying, use these keys:

[+] next page
[-] previous page
[*] back to initial page

Important notes:

o Since this program uses lots of SYSEVAL commands,
any mistake in the program could cause loss of stored data
or programs, so please first make a memory backup!

o It is necessary to perform HOME 256 ATTACH
*before* entering or transfering this program.

Page viewer for HP49G[+]/50G/48Gii (in UserRPL with SYSEVAL)
(this is a downloadable Ascii file,
including comments preceded by "@")

%%HP: T(3)F(.); @ Ascii transfer header
\<< 1. FREEZE DEPTH RCLF { } LCD\-> SIZE NIP B\->R
-73. DUP 1. + FS? { SF 6. 33. }
{ CF #2623Dh SYSEVAL R~SB 22. }
IFTE UNROT / IP \-> d f h w n \<<
IFERR #2F034h SYSEVAL
DUP DUP TYPE 2. \=/ { #25ECEh SYSEVAL } IFT
1. DO CLLCD 1. n FOR i DUP2 DUP w + SUB 1. OVER
1. ALOG CHR POS DUP NOT w * + SUB DUP 1. ALOG CHR
"" SREPL DROP i #262F1h SYSEVAL #25FB3h SYSEVAL
SIZE + NEXT -55. CF 0. IFERR WAIT THEN END {
\<< DUP 'h' STO+ \>>
85. \<< DROP h TAIL DUP 'h' STO
SIZE { h HEAD } 1. IFTE \>>
75. \<< DROP 1. { } 'h' STO \>>
0. { DROP 7. ALOG }
101. { OFF DROP h SIZE { h HEAD } 1. IFTE } }
DUP ROT IP POS 1. + GET EVAL
UNTIL DUP2 SWAP SIZE > END DROP2
THEN 1. ELSE 0. END
f STOF #2F031h SYSEVAL #25EF4h SYSEVAL
{ DEPTH d - DROPN ERRN DOERR } IFT
\>> \>> 'PAGEV' STO @ Bytes: { 695. #ECE6h }

@ End of downloadable Ascii program file

John H Meyers

unread,
Mar 24, 2007, 11:04:27 PM3/24/07
to
On Sat, 24 Mar 2007 07:31:52 -0500, Cristian wrote:

> About libs... On the 48 I could use LS-2 to enter the libs menu
> where I found the ports list and commands, while with RS-2
> I found the softkeys to launch the installed libs.

That was the 48G, that was :)

http://en.wikipedia.org/wiki/That_Was_The_Week_That_Was

> On the 50G everything seems "mixed"...
> With RS-2 I find 3 softkeys to enter the ports 0,1,2, plus
> the softkeys for "some" of the installed libs, not all.

> If I enter port 0,1 or 2 I get the libs present in that port.

The 49G[+]/50G/48Gii simply combines two of the 48G menus
(library names menu, followed by port-number menu)
into one single menu; otherwise it really works quite the same
as in the Good Old Days.

BTW, on both series, only "attached" libraries having names
may be listed by name, while *all* objects in a port,
each of which can be either named or numbered[libs],
will appear in the port-number menus.

Pressing a key in a "port-number" menu evaluates what's stored,
just as if it were in the VAR menu; pressing a key in a menu
of library names displays the command menu for that library
(this was exactly the same in the 48G).

[r->] [OFF]

John H Meyers

unread,
Mar 25, 2007, 7:10:35 AM3/25/07
to
More about displaying library command menus:

If a library is number 1234, then 1234 MENU
will display the menu of its internal named commands,
whether or not it has been "attached" to any directory.

If you've entered a "port-number" menu, however,
and see label [1234], then that's where the
library as a whole is stored, and pressing that key
simply recalls the entire library object
to the stack, just like any other *data* object
(a library as a whole is not "executable";
only its individual internal commands can be executed).

Low "system" library numbers (e.g. built-in
"Development" library 256) are not valid arguments
for the MENU command, because low menu numbers
are reserved for other built-in menus,
but you can add 2048 to those library numbers
to see their command menus; e.g. since 256+2048=2304,
then 2304 MENU displays the "Development" library commands,
even if that library hasn't been attached.

> Sometimes an installed lib goes in the "Apps" menu...
> Sometimes it goes to the "main" libs menu...

Libraries can insert themselves into the new (49-series only)
APPS menu, as does the "Development" library, when attached;
internal "system" libraries are nameless and don't appear
in the menu which lists library names -- the 48G[X] also
had many such nameless internal libraries, but it also
had no APPS menu, so they remained "silently within,"
as it were.

> Sometimes to a specific port menu...

"Port-number" menus show exactly what's been stored
into that port number, just as the VAR menu shows
what you have stored into variables;
built-in libraries (like "Development" library 256)
are in ROM, not in a port, and that's why
you can not find them in "port" menus :)

> Not really intuitive!

Just logical, every step of the way, no?

Although the reasons weren't familiar to begin with,
hence appeared mysterious, does it all make sense now?

By the way, try 2219 MENU on a 48G[X] *or* 49 series
to see the menu of "invisible" ROM library 171, for example,
which contains many of the commands first introduced
in the 48G, which hadn't previously existed in the 48S[X];
since that library is in ROM, and all of these commands
are always automatically recognized anyway, there is no need
to ever display a stand-alone menu for that library.

There are several more internal "system" libraries in ROM,
which you can find listed in the "AUR" if interested.

Hope this has been of interest -- "familiarity breeds content[ment]" :)

[r->] [OFF]

usenet1....@spamgourmet.com

unread,
Mar 25, 2007, 3:02:47 PM3/25/07
to
Hi Ryan,

> I suspect you mean e^(i*pi), not (e^i)*pi. But as you have written it,
> HPs parses it as (e^i)*pi.
>
> On my HP49+, 'e^i*\pi, where \pi represents the pi symbol, evaluates to
> '\pi*EXP(i)' or (1.549740975483,2.64355906408)
>
> Whereas 'e^(i*\pi)' evaluates to -1.

Yes I mean e^(i*pi), and when in Rad mode the calc correctly evals it
to -1.
If I switch to Deg though, and enter the very same expression, and
push "eval", it isn't evaluated. If I ->num it, I get a complex
number, where the real part is close to -1 and the imaginary part
close to 0, but I don't get the correct answer (-1).

Cristian

Virgil

unread,
Mar 25, 2007, 4:23:19 PM3/25/07
to
In article <1174849367.4...@y80g2000hsf.googlegroups.com>,
usenet1....@spamgourmet.com wrote:

'e^(ix)', for real x, evaluates as 'cos(x) + i*sin(x)', so that when you
change the angle mode, you get different evaluations of those trig
functions.

One way to avoid that in most instances is to give x the units of
radians.

Right sift 6 fir the units menu, NXT twice, then the ANGL softkey.

Then after entering x press the r softkey, and x will have a unit of
radians attached.

usenet1....@spamgourmet.com

unread,
Mar 27, 2007, 10:39:59 AM3/27/07
to
John,
Thank you, that program is great! Is there a way to make it "global" -
i.e. that it's run regardless of which directory I'm in?
By the way, what does the HOME 256 ATTACH command do?

Thanks again
Cristian

John H Meyers

unread,
Mar 28, 2007, 12:15:07 AM3/28/07
to
On Tue, 27 Mar 2007 09:39:59 -0500, wrote:

> Is there a way to make it "global" -
> i.e. that it's run regardless of which directory I'm in?

With a program named 'PAGEV' stored in the HOME directory,
typing PAGEV will always find it.

Of course, who wants to type a long name all the time?

Perhaps rename it shorter, e.g. 'XX'
(which doesn't even need the Alpha key :)

Assigning the program's name 'PAGEV' to a "user key"
definition is another way to make it always available.

Or, if you are not yet using any CUSTOM menu
(to which you could otherwise add it),
you could create one in HOME:

{ PAGEV } HOME MENU

The CUSTOM keyboard operation
now brings up this menu again at any time
(the menu list itself was stored into a variable named 'CST'
by the MENU command); you could of course add more things
to that menu, e.g. other frequently used program names,
commands, units, constants, etc.

Although you can find more about menus and "custom" menus
in the current User Guide, it's not quite polished up
(ignore the subject entirely in the current AUR :)

Variables in a "custom" menu can be accidentally stored into,
just as easily as in the VAR menu, and subsequent MENU commands
could also accidentally wipe out your existing "custom" menu, but
if you keep all your programs in HOME while *never* using HOME
as your "working directory," this strategy can help protect
all your programs and other valuables from accidental harm.

Some more advanced menu stuff (some 49G-specific) was posted in
http://groups.google.com/group/comp.sys.hp48/msg/f198502f517ec445
(sorry it wasn't written better, but I can almost begin to
understand it again after reading about three times through :)

> By the way, what does HOME 256 ATTACH do?

Doing that before even starting to type or transfer some other program
ensures that any commands in the built-in (but not normally
attached) "Development" library, which contains some
common functions formerly requiring OS-level SysRPL
(e.g. R~SB) will be properly recognized and compiled,
which is rather vital for that posted program.

Some people do things which may keep that library always attached,
but following the above instruction elevates this to a certainty
(at the expense of losing the thrill of playing "Russian roulette" :)

[r->] [OFF]

John H Meyers

unread,
Mar 28, 2007, 10:54:55 AM3/28/07
to
Revised since original posting:

o Includes HP50G/49G[+]/48Gii and HP48[S/G][X/+] versions.

o Shortened and improved.

The program below displays any object
that can normally be displayed in text form,
using the full screen (both height and width),
also "folding" any long lines,
to eliminate any need for horizontal scrolling.

The text can be "paged up/down" by one screenful
at a time, rather than one line at a time.

The display appears in the same font (height and width)
as the current stack display, which on HP50G/49G[+]/48Gii
is adjustable in the MODE DISP form:

Choose a "system" font height on the uppermost line,


or check-mark "Stack:_Small" to select the "minifont"

(33 characters per line) instead of the "system" font
(22 characters per line); the number of lines displayed
per screen is the screen height divided by the font height.

While displaying, use these keys:

[+] next page
[-] previous page
[*] back to initial page

OFF and CANCEL work as expected.

Important note:

o Since this program uses SYSEVAL commands,


any mistake in the program could cause loss of stored data
or programs, so please first make a memory backup!

"Paging" viewer for all HP48/49/50 (in UserRPL with SYSEVAL):

This is a downloadable Ascii file,


including comments preceded by "@"

The complete file, when downloaded and run on any calc,
will select and install the proper version for any model;
if you are hand-typing, or calc memory is too full,
then just enter what applies to your own model.


%%HP: T(3)F(.); @ Ascii transfer header

RCLF SIZE 3 > \<< @ Which calc series?

@ HP50G/49G[+]/48Gii


\<< 1. FREEZE DEPTH RCLF { } LCD\-> SIZE NIP B\->R
-73. DUP 1. + FS? { SF 6. 33. }

{ CF #2623Dh SYSEVAL #262F6h SYSEVAL 22. }
IFTE UNROT / IP \-> d f h w n \<< IFERR DUPDUP
TYPE 2. \=/ { #25ECEh SYSEVAL } IFT #2F034h SYSEVAL


1. DO CLLCD 1. n FOR i DUP2 DUP w + SUB 1. OVER
1. ALOG CHR POS DUP NOT w * + SUB DUP

i 1. #3F481h SYSEVAL #25EBCh SYSEVAL


SIZE + NEXT -55. CF 0. IFERR WAIT THEN END {
\<< DUP 'h' STO+ \>>
85. \<< DROP h TAIL DUP 'h' STO
SIZE { h HEAD } 1. IFTE \>>
75. \<< DROP 1. { } 'h' STO \>>
0. { DROP 7. ALOG }
101. { OFF DROP h SIZE { h HEAD } 1. IFTE } }
DUP ROT IP POS 1. + GET EVAL
UNTIL DUP2 SWAP SIZE > END DROP2
THEN 1. ELSE 0. END

f STOF @ #2F031h SYSEVAL #25EF4h SYSEVAL


{ DEPTH d - DROPN ERRN DOERR } IFT

\>> \>> @ Bytes: { 653.5 #B00Bh }

\>> \<< @ Which calc series?

@ HP48G[X/+]
\<< 1 FREEZE DEPTH RCLF { } 22 8
\-> d f h w n \<< IFERR DUP DUP
TYPE 2 \=/ { #15A0Eh SYSEVAL } IFT #4E2CFh SYSEVAL
1 DO CLLCD 1 n FOR i DUP2 DUP w + SUB 1 OVER
1 ALOG CHR POS DUP NOT w * + SUB DUP
i 1. #194F7h SYSEVAL #3A4CEh SYSEVAL
SIZE + NEXT 0 WAIT {
\<< DUP 'h' STO+ \>>
85 \<< DROP h TAIL DUP 'h' STO
SIZE { h HEAD } 1 IFTE \>>
75 \<< DROP 1 { } 'h' STO \>>
91 { OFF DROP h SIZE { h HEAD } 1 IFTE } }
DUP ROT IP POS 1 + GET EVAL


UNTIL DUP2 SWAP SIZE > END DROP2

THEN 1 ELSE 0 END
f STOF @ #4E347h SYSEVAL #130ACh SYSEVAL


{ DEPTH d - DROPN ERRN DOERR } IFT

\>> \>> @ Bytes: { 518.5 #6311h }

\>> IFTE 'PAGEV' STO @ Which calc series?

@ HP48S[X] detection and additional progs
-55 CF
\<< 1 GET \>> "{HEAD}" STR\-> 1 GET
IFERR STO THEN DROP2 END
\<< 2 OVER SIZE SUB \>> "{TAIL}" STR\-> 1 GET
IFERR STO THEN DROP2 END

John H Meyers

unread,
Apr 25, 2007, 6:15:03 AM4/25/07
to
On Sat, 24 Mar 2007 07:31:52 -0500, Cristian wrote:

> If I have a very long integer (i.e. 100!) is there a way
> to display it "fullscreen", sort of like an "auto-wrap"?
> Everything I tried only shows just one line...

Apparently it can be done more easily than earlier suggested,
thanks to another thread and posts by Bill Markwick & Tim Wessman:
http://groups.google.com/groups?selm=op.trbz6rernn735j%40w2kjhm.ia.mum.edu

Since the above link doesn't work yet,
below is another copy of one program,
which acts much like the built-in TOOL VIEW,
but "wraps" long words.

Please be sure to do HOME 256 ATTACH
before entering or transferring the program;
also be very careful, and make a memory backup first!

\<< QUOTE RCLF SWAP -73 SF DUPDUP
TYPE 2 \=/ { #25ECEh SYSEVAL } IFT
33 R~SB 7 ALOG R~SB #9B003h FLASHEVAL
DROP SCROLL SWAP STOF \>> 'VIEW' STO

[r->] [OFF]

0 new messages