From: Han on
> I was floored to see Jazz updated for the hp50g! I know MK is good but
> I believe Jazz to be by far the best development tools for on-calc
> programming ever created. The fact that you ported it from the beloved
> 48 to the 50 is simply wonderful! I loaded it this morning when I
> discovered it and have barely put my calc down all day.
>
> It may not mean much in the long run but if I can do anything to help
> you with completing your project, please let me know.
>
> Wow, I remember sitting up until the wee hours of the morning
> discussing Jazz with Mika on IRC. Good times.
>
> -Al Arduengo
> (exAL)

I am glad to see that others enjoy using Jazz despite all these years.
The port started out as a need for an on-calc programming tool. I
merely wanted to change the minifont but found all the ones on
hpcalc.org either not updated for ROM 2.15 or plain inadequate. The
idea was to write my own minifont editor. However, instead of learning
MASD syntax (which, while I understand its usefulness, does not appeal
to me), I took the more difficult approach -- porting my favorite
development suite by Mika Heiskanen. The minifont editor is part of
Jazz, now, since Jazz no longer uses UFL -- hopefully people will
appreciate being able to adjust the font that ED and EC use.

It's interesting to look at the code; you can definitely tell whose
code is whose (e.g. Jan Brittenson contributed the ML debugger). I
must admit that these two wrote some beautiful code. It's very clean,
with good commenting / documentation. At the same time, you can also
tell when someone else (besides myself) hacked in some new features
based purely on how they name their labels!

What I will eventually need is an accurate cycle counter for the
machine code debugger. =) However, this probably will not be updated
until much later. The only thing that is on my main todo list is to
finish overhauling EC so that it uses extable (everything else already
does at this point). Once this is done, there will be a new feature
that allows you to also use the SDIAG files for each token (see the
emacs package on hpcalc.org) So in the next release, Jazz should be
completely freed of its dependency on hptab. I will also release some
"light" versions.
From: John H Meyers on
On 7/26/2010 12:04 PM, Han wrote:

> The only thing that is on my main todo list is to finish overhauling EC
> so that it uses extable (everything else already does at this point).

I always appreciated that EC enabled case-insensitive searching
for entry point names, and always didn't appreciate that the
Extable functions (esp. GETNEAR) are completely case-sensitive,
which can be very frustrating if you can remember only
that an entry point name contains "case"
but not whether that was "case" or "CASE" or "Case";
hence you need to try GETNEAR at least three separate times
to get all names matching "case" without being case-sensitive :)

Given that the built-in HP49/50 series editor can already do
case-insensitive matching, there must be some internal ROM functions
for that, but I've never seen any documented, hence I had to port
case-changing ML functions from old 48G programs
(also adapt them to include all accented characters for general use,
even though no ROM entry point names use them).

I hope that your version of EC will also preserve
that valuable ability to do case-insensitive matching,
as well as "match beginning with" and "match containing,"
all of which the original EC can do.

[r->] [OFF]
From: Han on
On Jul 26, 4:57 pm, John H Meyers <jhmey...(a)nomail.invalid> wrote:
> On 7/26/2010 12:04 PM, Han wrote:
>
> > The only thing that is on my main todo list is to finish overhauling EC
> > so that it uses extable (everything else already does at this point).
>
> I always appreciated that EC enabled case-insensitive searching
> for entry point names, and always didn't appreciate that the
> Extable functions (esp. GETNEAR) are completely case-sensitive,
> which can be very frustrating if you can remember only
> that an entry point name contains "case"
> but not whether that was "case" or "CASE" or "Case";
> hence you need to try GETNEAR at least three separate times
> to get all names matching "case" without being case-sensitive :)
>
> Given that the built-in HP49/50 series editor can already do
> case-insensitive matching, there must be some internal ROM functions
> for that, but I've never seen any documented, hence I had to port
> case-changing ML functions from old 48G programs
> (also adapt them to include all accented characters for general use,
> even though no ROM entry point names use them).
>
> I hope that your version of EC will also preserve
> that valuable ability to do case-insensitive matching,
> as well as "match beginning with" and "match containing,"
> all of which the original EC can do.
>
> [r->] [OFF]

Grep mode ("match containing") will definitely be preserved, as well
as case insensitive searches. I too find case insensitive searches to
be more useful than what GETNEAR provides.

As for the search tools, perhaps you might be referring to FPTR 4 6A,
which is called by the entry DOFIND (?)
From: John H Meyers on
On 7/26/2010 4:19 PM, Han wrote:

JHM:
>> Given that the built-in HP49/50 series editor can already do
>> case-insensitive matching, there must be some internal ROM functions
>> for that, but I've never seen any documented, hence I had to port
>> case-changing ML functions from old 48G programs
>> (also adapt them to include all accented characters for general use,
>> even though no ROM entry point names use them).
>>
>> I hope that your version of EC will also preserve
>> that valuable ability to do case-insensitive matching,
>> as well as "match beginning with" and "match containing,"
>> all of which the original EC can do.

> Grep mode ("match containing") will definitely be preserved, as well
> as case insensitive searches. I too find case insensitive searches to
> be more useful than what GETNEAR provides.
>
> As for the search tools, perhaps you might be referring to FPTR 4 6A,
> which is called by the entry DOFIND (?)

I've never found out about DOFIND (or what it calls);
is it (and its internal stuff) documented somewhere?

Thanks.

[r->] [OFF]




From: Han on
> I've never found out about DOFIND (or what it calls);
> is it (and its internal stuff) documented somewhere?
>
> Thanks.
>
> [r->] [OFF]

Unfortunately, that seems to be the case with pretty all the new entry
points. DOFIND does not take any arguments, but requires that an
editline exists. It then loads up the interactive search application.
It gets called by the SEARCH menu item when you press the tools key.

LABEL DOFIND
CON(5) 11111 * points to #60185h

LABEL 60185
::
CK0NOLASTWD

( interactive app for search string )
TRUE ' FPTR 4 6A RunInNewCntxt

( if we have valid search string, do search )
( based on the case sensitivity )
case :: ITE SetCaseSens ClrCaseSens PTR 604C2 ;
;

LABEL 604C2
::
0LASTOWDOB!
FindPattern? NOTcase PTR 60409 ( error if no pattern )

FindPattern@ PTR 6050D ( get pattern and search it )

NOTcasedrop PTR 60427 ( search string not found )

DUP PTR 5AC6F PTR 59D0C ( found; adjust cursor/screen )
;

I suppose you can just run it through Jazz's SDB to figure out what it
does at the machine code level.