I am converting my program HPlanetarium in order to make it work with
HP38 and HP39/HP40 calc. I haven't tried to write an aplet yet, because
it seems not that easy. In fact, the only difficulty with library
conversions is that some entries are "missing" in the HP3x ROM.
There is no real problems with entries like 4ROLLDROP, or %1/. I ran
into troubles with other entries, such as TOD>t$, Date>d$, and TIMESTR.
But a quick workaround is to replace those entries by DO>STR.
For some other entries, I haven't managed to find any replacement. For
example, how could I set the Degrees (or Radians) mode on the HP38/39?
The SysRPL entry SETDEG is absent. The only entry I could find in
SUPROM39.a that is related to degree mode is ~xxDEG, but it doesn't
work.
Does anyone know more about HP39 and sysrpl programming?
Thank you in advance for your help,
Khanh-Dang
> [....] I ran into troubles with other entries, such as TOD>t$, Date>d$ [...]
TOD>t$ [38] 0CDFE, [39] 4:503A9 (flash ptr 4)
Date>d$ [38] 0CD6D, [39] 4:50318 (flash ptr 4)
They're used in the ticking clock library
(http://www.hpcc.org/datafile/V22N1/CLK-V1.ZIP )
> [...] The SysRPL entry SETDEG is absent. [...].
The following '39 entries have been found hurriedly -- take them cum
grano salis :-)
SETDEG [38] 2279F, [39] 1B40D.
SETRAD [38] 227C7, [39] 1B435.
HTH & HPN!
Jordi
onlyf...@tv3mail.com wrote:
> TOD>t$ [38] 0CDFE, [39] 4:503A9 (flash ptr 4)
> Date>d$ [38] 0CD6D, [39] 4:50318 (flash ptr 4)
Do you know whether these entries are safe? I mean, was there several
versions of HP38's ROM, or HP39's ROM?
> The following '39 entries have been found hurriedly -- take them cum
> grano salis :-)
>
> SETDEG [38] 2279F, [39] 1B40D.
> SETRAD [38] 227C7, [39] 1B435.
Hmmm.. Then, I'd rather seting the angle mode with something like:
SEVENTEEN ClrSysFlag EIGHTEEN ClrSysFlag ( SETDEG )
That's what I am finally using in my program. Even if I loose 15
nibbles, I feel more secure when using supported entrie ;-)
> Jordi
By the way, I guess you are the one who wrote all these programs:
<http://www.hpcalc.org/search.php?query=jordi+hidalgo&author=1>
Perhaps you can tell me more about aplet programming. I haven't figured
out why my aplet crashes when I use xSTOF. I know you cannot use
routines such as STO in an aplet (see
<http://groups.google.fr/group/comp.sys.hp48/msg/86d708bc1ebdbe04>).
But why is using xSTOF likely forbidden?
In fact, I am wondering how the system flags are handled with HP38/39.
Which flags are really used by the system?
Thank you for having read me.
Regards,
Khanh-Dang
If you do what you suggest, it will only switch the settings
temporarily, if you ever suspend your aplet to run a calculation in the
HOME screen for example, your settings will be lost.
When you change your flag, you need to change the settings as you
describe (playing with the system flags) or using the supported entry
SetSysAngle but you also need to set it up in your aplet structure. If
you check the aplet skeleton, you'll see that one of the variable of the
aplets containt the current mode. Store 1 for Degree.
The system aplet do it that way:
NULLNAME AngleSto2
::
CONTEXT@ SWAP SETaplCXT
DUP SetSysAngle ( Set Angle System Flag as well )
Angle@ ?ReDrREPL#
CONTEXT!
;
You are right, but in fact, I only converted my program so that it can
work on HP38/39 calcs. I haven't converted it (yet?) so that it is
really integrated to the system. For example, I am still using the Par
Outer Loop instead of the Topic Outer Loop. As the POL is modal, setting
the flag at the beginning only is still good. I'd rather really switch
to TOL, because I like well-done work, but I have no documentation.
I am only discovering the fabulous environnement of these calcs. And is
is really powerful (really!). It is a shame that there is not much
documentation.
To illustrate this, a good example is the one you wrote:
>::
> CONTEXT@ SWAP SETaplCXT
> DUP SetSysAngle ( Set Angle System Flag as well )
> Angle@ ?ReDrREPL#
> CONTEXT!
> ;
I really don't know what SETaplCXT and ?ReDrREPL# are. And I have no way
to learn more about them, as there is no available documentation.
> I am only discovering the fabulous environnement of these calcs. And is
> is really powerful (really!). It is a shame that there is not much
> documentation.
Yes, it is unfortunate that those calcs haven't raised more interest,
they are in my opinion the best machine HP ever produced from a software
point of view. The OS is amazing and extremely powerful. It allows all
application to run in a similar way all accross the board.
It also allow to switch in and out of an application, to suspend it .
The 39/40 OS is years ahead of the 49g... But this come at the cost
where it's more complicated to develop application.
> I really don't know what SETaplCXT and ?ReDrREPL# are. And I have no way
> to learn more about them, as there is no available documentation.
Okay. that's simple.
An aplet on the calculator is stored as a directory of files. Each
directory/aplet contains files containing things like flag settings,
default graph settings, state of the aplet etc.. All of this being
transparent to the user.
So what you have to do to change Rad to Deg for example, is fetch the
variable inside the directory containing the angle settings, change its
content and save it again in place.
Looking at the previous code that's all it does:
CONTEXT@ recall on the stack the current context (directory) SETaplCXT
set the context of the aplet you want to modify, ?ReDrREPL# replace the
Angle variable with the new content
CONTEXT! set again the context you were originally working with.
To be honnest, I have never used those entries before, I just paste
source code.
Usually you do not have to set up the flags like you do on the 49G.
In your aplet skeleton, simply set the default angle mode you wish to
use, those settings will be automatically loaded when the application start.
And later on, all you have to do is something like:
ONE SetSysAngle ( change the current mode to Degree )
ONE Angle@ ( recall the saved angle mode ) ?ReDrREPL# ( update with
the new value )
JY
and that is an advantage?
or perhaps the "long" variable names?
user mode tayloring of keys
vectored ENTER
user units
equation library
etc...
BUT wait...the last *and biggest( nail into the coffin
directly through vampires hearth
* * * RPN * * *
JY
Rather than trying to shut me up
admit that the system lacks many things
----
What does the 49 OS lack then?
split display mode in all those nice stat & functions plottings
and two-level CHOOSE boxes etc...
Naturally adding Aplets would be marvellous
> What does the 49 OS lack then?
> split display mode in all those nice stat & functions plottings
I've looked into this while preparing for a new plotter app, and I
simply do not find it usable with this low resolution display. I've
also checked it out on the TIs of course, and I find it an unusable
gimmick on the TI89, and first usable on the TI92/V200 series.
> and two-level CHOOSE boxes etc...
This is very easy to program with the built-in CHOOSE, aslso in UserRPL.
Regards
Steen
"Steen Schmidt" <ssch...@nospam.dk> schrieb im Newsbeitrag
news:xn0egx36...@news.tele.dk...
> Frčre-Pierre wrote:
>
> [..]
>
>> and two-level CHOOSE boxes etc...
>
> This is very easy to program with the built-in CHOOSE, aslso in UserRPL.
>
The HP-38G Master-Detail CHOOSE engine is an extension
of the CHOOSE functionality in the HP-48G series.
It internally stores two sets of properties,
those of the left and those of the right side,
and provides interaction mechanics between
the master (category) and detail (item) parts.
I wouldn't like to do that in UserRPL;-)
BTW: Like many of the HP-48G/HP-38G user interface engines,
the Master-Detail CHOOSE and the TopicOuterLoop engine
were written by Ted W. Beers from the original HP Corvallis team.
From this perspective, even the HP-38G OS is years ahead the 49g OS.
However, as another poster indicated, the programming overhead
for user applications is at least noteworthy.
Regards
Raymond
What about the the lacking variable names
Not even 8.3 of DOS??
and
the worse ever missing feature:
* * * RPL * * *
Why are you so angry? This calculator wasn't meant for you. It was
meant for high school students who really don't have much interest in a
calculator beyond ease of use and games. For what it was *designed*
for, it is an exceptional calculator. For price/performance, it
probably beats any other high school calculator out there. The new
40GS beats anything.
TW
> Rather than trying to shut me up
> admit that the system lacks many things
Admit that God does a lackluster job of administering the universe,
for after all, there's a hell of a mess down here.
Who's her boss, anyway?
[r->] [OFF]
Are you referring to Jean-Yves?
I'm sure it's fine machine and
certainly beats crap out of anything the rivals have
I'm just saying that the OS it not so wonderfull
without RPN & long names
Why are you all defending it so favoriously¨?
I don't get it?
Have you all suddenly turned into the Dark Side of the Force?
then there is no hope....
So the only thing needed for a fine Operating System is RPN and long
file names? Oh wow! I guess I have the skill to make an incredible
operating system. I should call up M$ and let them know where they
have gone wrong.
Seriously though, you seem to not have any knowledge about the
INTERNAL system, or even much of the surface of the 39 series
calculator and yet are saying that it is no good? I fail to understand
your implied expertise.
> Why are you all defending it so favoriously¨?
> I don't get it?
Because some of us DO understand it a little more and know that it is a
very nice design.
> Have you all suddenly turned into the Dark Side of the Force?
> then there is no hope....
Not at all. I would be the first to get excited should an RPN option
be inlcuded on the 39 series. I do recognize that there were reasons
it was left out and I think that was the correct decision. I just
don't like people that talk about something with autority while lacking
it.
Note I am not trying to personally attack you; nor discourage you from
posting. However when your initial post was esentially "what a peice
of crap calculator" some may react with hostility.
I would appreciate more documentation on the internal 39 system to aid
in programming. I have lots of things planned for it when I get done
with my current project (which has been going on for almost 2 years now
)
TW
> So the only thing needed for a fine Operating System is RPN and long
> file names? Oh wow! I guess I have the skill to make an incredible
> operating system. I should call up M$ and let them know where they
> have gone wrong.
Don't twist my words
i really hate this Tim, but you're going to my kill file
I don't understand you at all !!!
If you want apology, write personally
over&out
F-P
Now from an application stand point it's a different story. The 49g
branched off and received much more attention unfortunately.
JY
As for system variables, it's so much better conceived. You can use the
same variable to restore and to store. No need for ->var var->
FIX ENTER -> return the FIX value
3 STO> FIX used to change the settings etc..
JY
JY
>
> Why are you all defending it so favoriously¨?
because it's a fantastic machine
> I don't get it?
that doesn't surprise me :)
JY
> i really hate this Tim, but you're going to my kill file
Good and you're going into mine too so don't have to bother with your
eternal useless postings.
Tim didn't twist your word, you have obviously no clue on what you're
talking about both from a user level as well as a developer one.
JY
All the internals of the 39/40 are superior to the 49, there's just no
doubt about that.
Everything the 49g does, the 39/40 can do it internally. Now everything
may not be available to the user but it's purely from a teaching
perspective.
The 38/39/40 introduces real context switching on the fly. You can go
from one application to another and back again.
Using system variables is easier no need for hundreds of variables in
the user space.
Each application can have its own settings and context. When you
transfer an aplet between 39g the whole context is transfered with it so
no need to play with flag settings. One aplet once transfered will
behave the exact same way as on the sender's machine.
Modifying code is extremely simple on the 39/40, no need to bother about
moving entry points due to the original architecture.
I've worked on the 48 and 49 probably longer than anybody else around
here, and I'm telling you: working on the 39g is a much better system.
To add the existing CAS on the 49g took over 1 year as the code is such
a mess
It took me less than 3 weeks to port on the 40 and to include it in all
existing system entries.
I can only congratulate the people who designed the original 38, they've
done a fantastic work and it's a pleasure to work with it.
and IMO, the best HP calculator is the HP40, it has the best value for
money, a complete CAS system just as powerful as the 49 (but easier to
use). A pity that HP never distributed it in so many countries: it rocks
JY
What does it lack? RPN yes, but it wasn't targeted at people who use
RPN. Internally it is much better designed. Functions can be defined
in different ways to give different actions dependiong on where you are
(or is that in the 49 also?)
TW
Why are you so angry. This calculator wasn't meant for you. It was
meant for high school students who really don't have much interest in a
calculator beyond ease of use and games. For what it was *designed*
for, it is an exceptional calculator. For price/performance, it
probably beats any other high school calculator out there. The new
40GS beats anything.
TW
Useless to you? OK
> Tim didn't twist your word, you have obviously no clue on what you're
> talking about both from a user level as well as a developer one.
Yes he did
All the above is true and I believe it
My POW is just different
>> I don't get it?
> that doesn't surprise me :)
That's your [attitude] problem
> Soon will get suggestion on what CPU it should have used based on the last
> marketing announcement from a manufacturer.
nope
Because *you* said that QOnos can't be done because Intel has
abandoned a certain model, I tried to help
by suggesting a new solution, a new CPU provider
By your nature it's very diffucult for you to take any advice or help
Ask your wife
Ask you friends
Ask your parents
Ask your collegues
AND that is the *very* problem
The user can not use these features at all
> As for system variables, it's so much better conceived. You can use the
> same variable to restore and to store. No need for ->var var->
> FIX ENTER -> return the FIX value
> 3 STO> FIX used to change the settings etc..
Yes, I'm aware that the OS is wonderful
Why do you think it doesn't sell well?
In Finland is not sold at all !!!!
I now understand why you are so angry
Look, this wonderfull, almost multitasking OS
has nothin to do with features
AND
*THAT IS THE PROBLEM*
=====================
OS * inside* - yes, but not so for the user
> What does it lack? RPN yes, but it wasn't targeted at people who use
> RPN. Internally it is much better designed. Functions can be defined
> in different ways to give different actions dependiong on where you are
> (or is that in the 49 also?)
>
I will read you, Tim
> Are you referring to Jean-Yves?
No, evidently something got irretrievably lost in translation.
[r->] [OFF]
> Functions can be defined in different ways
> to give different actions depending on where you are
> (or is that in the 49 also?)
It's possible in 48/49 to put common functions in HOME,
create sub-directories with their own flag settings, data and progs,
but of course such a framework is not built in to start with,
so it would be a free-for-all without standards.
It's also possible to test for a KEY press (interruption),
and/or use a common function to cache the current stack etc.
in the current sub-directory, then switch directories
and resume other "apps" -- most anything can be done,
though there is no pre-defined framework for doing it.
As an example in 49G[+], the editor and filer can each
be HALTed and resumed later, offering an opportunity
for you do do something else meanwhile; although this
provides only a LIFO "stack" of temporary app environments,
nothing says that you can't do something similar
in each of a set of permanent sub-directories, preserving
the stack, flags and any private data (even the graphics screen)
in each sub-directory, so that you could
jump around at will between them
(maybe a common function in HOME to be the "switcher")
Without a standard framework, however, no one has been
developing any such system of standard apps,
but there have in the past been various add-ins
or even OS replacements for the 48/49
(even something called "Metakernel"? GCC?)
which have attracted some attention and a following.
Where has WR been, anyway -- maybe he would like
to create a new library to accomplish all of this,
probably would just take him a couple of evenings :)
[r->] [OFF]
> As for system variables, [39G etc. is] so much better conceived.
> You can use the same variable to restore and to store.
> FIX ENTER -> return the FIX value
> 3 STO> FIX used to change the settings etc.
> No need for ->var var->
Do you mean like:
\->MINIFONT vs. MINIFONT\->
\->LANGUAGE vs. LANGUAGE\->
\->KEYTIME vs. KEYTIME\->
\->HEADER vs. HEADER\->
\->FONT vs. FONT\->
Well, I don't recall any of those being in the original HP48 series,
so what group conceived those new command pairs
(with hidden system-wide variables), anyway?
Why couldn't those all be more like TOFF, for example?
(an independent 'TOFF' variable can exist in every 49G[+] directory)
Still, it is possible to create a framework in which
every directory could have all of its own private variables like this,
and a common "switcher" could swap the environments at will in the 48/49;
all that's necessary is enough interest and at least one volunteer
to referee the fight between all who'd want to define it their own way :)
[r->] [OFF]
Where is Nick the Greek ?
There are also some others who don't seem to write so often
Werner??
> Where is Nick the Greek ?
Haven't he posted recently? I wouldn't know, he has been in my killfile
for several years...
Regards
Steen
I would have commented some of his writings anyway...
F-P
PS: Your system is very stable
> I would have commented some of his writings anyway...
I didn't want to waste my time on him anymore. Extremely rude and
constantly OT.
> PS: Your system is very stable
It is, but my killfile of course survive a system update/restore.
Regards
Steen
> > I didn't want to waste my time on him anymore. Extremely rude and
> > constantly OT.
> I'm lucky to be OT and annoying only 50% of time
> and I mainly seem to piss of Avenard
> Strange enough - that has not been my intention....
It's not easy to end up in my killfile - only a handful of "ordinary"
people are there (and Nick is the only one from this group still
there). I write "ordinary", because there are a bunch of trolls too,
but they don't count I think, as I'm not too sure about their true
identities for instance.
I've been a hothead myself on many occasions, and that makes it easy
for me to forgive people their flaws. I don't pretend to be a template
on correct behaviour. Somewhere out there is a line though, but it has
to be personal and repeated attacks. Sort of like those I often
experience on the TI newsgroups (someone there enjoys calling me a nazi
and joyful things like that). Unfortunetaly most people there post
anonymously.
Nick landed in my killfile after a lot of very harsh personal attacks
on me. You may not remember it, but I (and deja) do. He crossed my line
big time and on many many occassions. If he's gone from this forum or
not, I couldn't care less.
Regards
Steen
That isn't what I meant. The 39 lets you compile functions
(internally, no user accesable of course) that behave differently in
different locations (such as in the numeric section, plotter, home,
etc.) At least if I remember correctly. . .
TW
Jordi
It would be quite a change to add this on the 4x series
Jean-Yves
Yeah! That is what I was thinking of.
TW
Jordi
Ok... I stress that this has simply been *my* experience. As far as I
know there have not been any proper comparative studies done on
achievement levels of students using RPN vs algebraic so that's all it
can be - an opinion. Anyone know of any HARD DATA? As opposed to rants
I mean?
As an aside, I've been using the 38G, 39G & 39g+ in my classroom since
they were first released in the nineties. IMHO they are absolutely
brilliant calculators despite the keyboard problems that have plagued
them since the 39G. One of their major pluses is the way that you can
swap from aplet to aplet and environment to environment with no loss of
data and no need to ascend and descent through complex menus.