Page 1 of 4

Bigger ALPHA register

Posted: Mon Jan 08, 2018 5:24 am
by mcc
Hi,

(hopefully I dont overlooked something substantial...)

for all of us, who are born too late and do not had the chance or dont want to buy a HP thermal printer all "print" functions of the DM42 are not really useful... ;)

Debugging programs "on the go" (that is without access to a computer...and even then...there is no DM42 emulator) only with BST, SST and a two liner of code and the stack is difficult

The alpha register of the HP42s is able to keep 44 characters.

With the DM42 we have a really really nice looking screen (didn't saw something THAT BLACK before!).
The PIXEL and AGRAPH functions are already updated to work to the whole screen, which is GREAT!

I want to suggest to increase the capacity of the ALPHA-register in a way that is can hold enough text to fill the whole
screen with the smallest font setting -- we have plenty of RAM!

Another idea would be to incorporate (or implement it back), what Thomas did with his Free42: Printing onto a grafik.
In case of the DM42 it would be: Printing onto the full screen. A virtual variable could handle the switch between IR-based
printing and onto-the-screen printing.

What do you think?

Cheers
Meino

Re: Bigger ALPHA register

Posted: Mon Jan 08, 2018 5:55 am
by Thomas Okken
mcc wrote:
Mon Jan 08, 2018 5:24 am
Debugging programs "on the go" (that is without access to a computer...and even then...there is no DM42 emulator) only with BST, SST and a two liner of code and the stack is difficult
I was debugging some code in Free42 today, and at one point it did occur to me that having "step over" and "step out" would be nice. SST is really "step into" and that's not always what you want.
Those wouldn't be hard to implement. But where to put on the keyboard? :D
mcc wrote:
Mon Jan 08, 2018 5:24 am
I want to suggest to increase the capacity of the ALPHA-register in a way that is can hold enough text to fill the whole screen with the smallest font setting -- we have plenty of RAM!
That would have to be an option, since there may be code that depends on the alpha register being 44 characters.

Re: Bigger ALPHA register

Posted: Mon Jan 08, 2018 6:40 am
by mcc
Moin Thomas, :)
(for all others: "Moin" is East Frisian/Frisian/Dutch(?) for "Have a good day!" -- Thomas knows that, aren't you Thomas ? :) ;) )

How should I call that...oh my "English"...a "one shot" function. That is: A certain key gets a certain function dependant to the current context.

Pseudocode:

IF ((previously pressed key is SST or BST) && (point in code reached is XEQ or GOTO))
IF(GOTO Linenumber is pressed) // or: GTO IND linenumber...
step to that line while executing everything in between but act on STOP nonetheless
ELSE
step into with the next SST/BST
FI
FI

That implies that one needs to press BST or SST twice while being stepped to a XEQ/GTO in the code.

===

ALPHA register: Could be easily switched between "compatible" mode and "enhanced mode" with a Virtual Variable. A full screen aware ALPHA register
would put the way programs could be written to the next level of user-interface useability/readability.

I would really appreciate if we could make use of this wonderful screen in all its glory (read: In full resolution) with the DM42.

What do you think?

Cheers
Meino

Re: Bigger ALPHA register

Posted: Mon Jan 08, 2018 6:26 pm
by revwillie
mcc wrote:
Mon Jan 08, 2018 5:24 am

Another idea would be to incorporate (or implement it back), what Thomas did with his Free42: Printing onto a grafik.
In case of the DM42 it would be: Printing onto the full screen. A virtual variable could handle the switch between IR-based
printing and onto-the-screen printing.

What do you think?

Cheers
Meino
I've been curious about this as well. I have to wonder how much of Thomas' virtual printer code is laying dormant an unused. Possibly none.

Now, considering that the IR interface works mostly the same as the HP 42S and that a virtual output defeats the purpose of a hard copy, I have trouble thinking of a real use for it apart from just another way to enjoy the amazing display.

Re: Bigger ALPHA register

Posted: Mon Jan 08, 2018 6:46 pm
by keithdalby
revwillie wrote:
Mon Jan 08, 2018 6:26 pm
I have trouble thinking of a real use for it apart from just another way to enjoy the amazing display.
Producing graphs, outputting them and using them in a document or a presentation?

Re: Bigger ALPHA register

Posted: Mon Jan 08, 2018 7:17 pm
by revwillie
keithdalby wrote:
Mon Jan 08, 2018 6:46 pm
revwillie wrote:
Mon Jan 08, 2018 6:26 pm
I have trouble thinking of a real use for it apart from just another way to enjoy the amazing display.
Producing graphs, outputting them and using them in a document or a presentation?
so, you are proposing taking screen shots that scroll down the virtual printer output? I'm intrigued.

Re: Bigger ALPHA register

Posted: Mon Jan 08, 2018 9:31 pm
by keithdalby
GIFs or even BMPs that grow. A virtual printer.

Re: Bigger ALPHA register

Posted: Mon Jan 08, 2018 9:57 pm
by Dave Britten
Thomas Okken wrote:
Mon Jan 08, 2018 5:55 am
mcc wrote:
Mon Jan 08, 2018 5:24 am
Debugging programs "on the go" (that is without access to a computer...and even then...there is no DM42 emulator) only with BST, SST and a two liner of code and the stack is difficult
I was debugging some code in Free42 today, and at one point it did occur to me that having "step over" and "step out" would be nice. SST is really "step into" and that's not always what you want.
Those wouldn't be hard to implement. But where to put on the keyboard? :D
"XEQ R/S" doesn't seem to do anything, and would even kind of line up semantically with "XEQ then STOP". It could be implemented as "run, then stop after the next RTN at this depth", leaving you back up one level on the call stack. So if you SST onto an XEQ that you want to skip, hit XEQ R/S, and you're back at the instruction just after the XEQ. It would essentially be "step over" and "step out" combined into one, since a true "step over" would require you to know you're about to SST onto an XEQ.

And while we're making a flow control wishlist, I would love to have RTN+1, SKIP, and BACK to go with my pony. :D

Re: Bigger ALPHA register

Posted: Tue Jan 09, 2018 6:26 pm
by etn
Thomas Okken wrote:
Mon Jan 08, 2018 5:55 am
I was debugging some code in Free42 today, and at one point it did occur to me that having "step over" and "step out" would be nice. SST is really "step into" and that's not always what you want.
Those wouldn't be hard to implement. But where to put on the keyboard? :D
Maybe
  • Down arrow (unshifted) = Step into
    Shift + Down arrow (i.e. SST as printed on the keyboard) = Step over
What do you think?

Another option would be to create a debug menu, for instance accessible from the PGM.FCN menu?

Thanks,
ETN

Re: Bigger ALPHA register

Posted: Tue Jan 09, 2018 9:15 pm
by keithdalby
etn wrote:
Tue Jan 09, 2018 6:26 pm
Another option would be to create a debug menu, for instance accessible from the PGM.FCN menu?
That'd be my preference. Don't want too many esoteric shift functions to remember