Post Reply 
[WP 34S] Enhanced Y register display: fractions, bugfixes etc.
02-24-2014, 09:17 PM
Post: #41
RE: [WP 34S] Enhanced Y register display: fractions, bugfixes etc.
(02-21-2014 07:43 AM)Marcus von Cube Wrote:  I vote for code optimization over clock speed increase. I have no idea how bad battery life would be affected by increasing the clock frequency. It's still worthwhile to think about the latter if the device gets to sluggy despite all code improvements.
That's what I'd vote for, too.

(02-21-2014 07:43 AM)Marcus von Cube Wrote:  Ad 1: You'll need to test if all temporary displays and PSE still work as expected. The whole display update stuff is quite a mess, in parts introduced by me. Sad
My guess is that most, if not all, temporary displays already work fine. That said, lots of more testing would be needed before we can be reasonably sure, and I haven't specifically tested PSE.

(02-21-2014 07:43 AM)Marcus von Cube Wrote:  Ad 2: Don't forget to update the post processing code which is used during the build to replace 32 bit code addresses by 16 bit tokens. All function tables exist in two variants: The condensed version which goes to flash and the source version which is read by the post processor to update the condensed tables.
If I had already done what Pauli suggested (merging function tables), this would definitely be necessary, but I haven't touched the function tables yet. Do you think a change in the post processing code is needed anyway?

(02-21-2014 07:43 AM)Marcus von Cube Wrote:  Do you think your Y display code can be modified so that it is user selectable instead of a compile time option? We'll need to find a bit to store this. We could use flag Y or add another MODE option, maybe sacrificing some other arcane setting.
I specifically designed the new code so that it takes little effort to make features configurable at run time. Currently there's a compile time option for controlling Y register display using flag J. I added it so as to remain funcionally compatible with the original code but I don't think flag J is a good choice. It'd be a trivial change to use another flag or the unused bit in _ustate, for example.

The cost would be that the size of the machine code increases by approximately 170 bytes if Y register display is run time configurable because extra condition tests and both code paths (with and without Y register display) need to be included.

If Y register display is run time configurable (personally I think statically enabling it would be fine), then it should be easily discoverable in my opinion, e.g. in the mode menu.
Find all posts by this user
Quote this message in a reply
02-24-2014, 09:26 PM
Post: #42
RE: [WP 34S] Enhanced Y register display: fractions, bugfixes etc.
(02-22-2014 09:19 AM)RMollov Wrote:  I've installed this and it is BEAUTIFUL! Works perfectly.
Thanks Bit, great job!
I originally started working on it because I wanted good Y register display for myself even if nobody else cared about it, but I'm glad to see others find it useful as well.

Please test it thoroughly and report every issue you notice, whether it's clearly a bug or just some behavior that doesn't seem optimal.
Find all posts by this user
Quote this message in a reply
02-27-2014, 08:36 PM
Post: #43
RE: [WP 34S] Enhanced Y register display: fractions, bugfixes etc.
Is there an updated test version or patch file that I can try?

Thanks

-Jonathan
Visit this user's website Find all posts by this user
Quote this message in a reply
03-05-2014, 04:32 AM (This post was last modified: 03-05-2014 04:36 AM by Bit.)
Post: #44
RE: [WP 34S] Enhanced Y register display: fractions, bugfixes etc.
I've committed the following changes to SVN:
- enhanced Y register display
- optimization to use fewer iterations when calculating how many digits of the Y register can be displayed
- numeric contrast display

I've updated the compiled binary in post #13 in this thread. It has the following additional patches applied:
- optimized (fewer) display updates as explained in post #25, point 3 and post #34, point 1
- code size reduction as explained in post #34, point 2
I'm planning to commit these changes to SVN after some more testing has been done.
Find all posts by this user
Quote this message in a reply
03-05-2014, 08:53 AM
Post: #45
RE: [WP 34S] Enhanced Y register display: fractions, bugfixes etc.
I will install that latest one right away. Is it built upon the latest built of WP34s? The one that gives zero for dX when performing P-R for angle of 90 degrees?
I love the Y display for 2 reasons. P-R is the first and obvious, the second one is that on the top line numbers are a lot better visible, e.g. the small dot and comma on the bottom line are a bit ambiguos for my eyes and I catch myself often swapping X and Y just to make sure what is in the X register.
Also after using solver Y display is vital as well as the fact that scrolling the stack in this mode is heaps better to see and comprehend.
Again, great job, I think this should be the way WP34s works. I wish the brilliant Pascal Mehuts' iPhone port worked th way too...
Cheers,
Find all posts by this user
Quote this message in a reply
03-05-2014, 01:57 PM
Post: #46
RE: [WP 34S] Enhanced Y register display: fractions, bugfixes etc.
(03-05-2014 08:53 AM)RMollov Wrote:  I will install that latest one right away. Is it built upon the latest built of WP34s? The one that gives zero for dX when performing P-R for angle of 90 degrees?
Yes, it's the latest version.

(03-05-2014 08:53 AM)RMollov Wrote:  I love the Y display for 2 reasons. P-R is the first and obvious, the second one is that on the top line numbers are a lot better visible, e.g. the small dot and comma on the bottom line are a bit ambiguos for my eyes and I catch myself often swapping X and Y just to make sure what is in the X register.
I tend to disable the thousands separator for the same reason: Unfortunately the comma is barely distinguishable from the dot.

(03-05-2014 08:53 AM)RMollov Wrote:  Again, great job, I think this should be the way WP34s works. I wish the brilliant Pascal Mehuts' iPhone port worked th way too...
I don't have an iPhone development environment (or any experience with it) but I'm quite certain it'd be very easy to port the Y register display to the iPhone.
Find all posts by this user
Quote this message in a reply
03-06-2014, 10:30 AM
Post: #47
RE: [WP 34S] Enhanced Y register display: fractions, bugfixes etc.
Hi Bit,

I'm using your enhanced Y register display binary on my WP34S for the last few weeks and I'm very happy with it. It is a very useful addition to an already great calculator. Nice work!
I really hope your patch will end up in the main WP34S code becoming a runtime switchable option.
Also I'd love to see this functionality in the WP31S too.

Anyways, cheers for your efforts
Find all posts by this user
Quote this message in a reply
03-08-2014, 10:44 AM
Post: #48
RE: [WP 34S] Enhanced Y register display: fractions, bugfixes etc.
Hi Bit

I've just noticed this thread! (With the new forum layout I seem to miss a lot of things...). I wrote the original code patches and, as you've noticed, it was all a bit of a mess. Your newer version works really well - especially the speed-up in data entry.

One comment - I used Flag J to turn the y-register display on/off because "J" is on the x<->y key, so it was easy to remember what it did. The WP-34S has a lot of flags - maybe using something anonymous in the high 90s would be better, leaving the alpha flags for more important features. (Whoever uses that many flags in a program, anyway?!)

I look forward to seeing the new code!

Nigel (UK)
Find all posts by this user
Quote this message in a reply
03-08-2014, 10:55 AM
Post: #49
RE: [WP 34S] Enhanced Y register display: fractions, bugfixes etc.
(03-08-2014 10:44 AM)Nigel (UK) Wrote:  Whoever uses that many flags in a program, anyway?!

That amount of flags was Pauli's special wish. IIRC, he wanted to program a prime sieve just using flags ...

d:-)
Find all posts by this user
Quote this message in a reply
03-08-2014, 11:41 AM
Post: #50
RE: [WP 34S] Enhanced Y register display: fractions, bugfixes etc.
And I did program the flag only prime number sieve Smile

I really didn't want to use numeric flags for special purposes -- I could have lived with less than 100 numeric flags. The 100 numeric flags use twelve and a half bytes of RAM -- one and a half registers -- so the memory used isn't great but still precious.

On the 34S, almost all the mode settings use internal flags rather than user flags & this was intentional. The few settings that do use the user flags are alpha flags not numeric ones. Even here, the flags used (originally) were B, C & D for overflow (big), carry and dangerous -- integer mode required the first two and the third was to improve the user experience without stopping numerical mathematics freaks from doing what they wanted. We did toy with separating these out for a while even though it would introduce a large number of extra commands to set, test and reset them.

It is likely obvious by now that I detest mysterious numeric flags controlling a device. What shall flag #88 do? Oh yes, that means that odd numbers are rounded up to even except on Tuesdays when even numbers are decremented to odd before 6pm but not after. Does anyone remember Fizzbin?


- Pauli
Find all posts by this user
Quote this message in a reply
03-08-2014, 03:24 PM
Post: #51
RE: [WP 34S] Enhanced Y register display: fractions, bugfixes etc.
(03-08-2014 11:41 AM)Paul Dale Wrote:  It is likely obvious by now that I detest mysterious numeric flags controlling a device. What shall flag #88 do? Oh yes, that means that odd numbers are rounded up to even except on Tuesdays when even numbers are decremented to odd before 6pm but not after.
Calm down! Wink

There is another flag in use: T for trace mode if the printer commands are enabled. I'd suggest flag Y for Y register display for obvious reasons.

Marcus von Cube
Wehrheim, Germany
http://www.mvcsys.de
http://wp34s.sf.net
http://mvcsys.de/doc/basic-compare.html
Find all posts by this user
Quote this message in a reply
03-09-2014, 07:13 PM
Post: #52
RE: [WP 34S] Enhanced Y register display: fractions, bugfixes etc.
(03-08-2014 10:44 AM)Nigel (UK) Wrote:  I look forward to seeing the new code!

Hi Nigel,

Your original Y register display code made it a lot easier for me to get started, especially as I wasn't at all familiar with the WP 34S codebase. The new Y register display code is already in the SVN and I've just committed the universal dispatch function patch. I'll commit the patch for the faster data entry once I'm a bit more confident it's doing the right thing.

Here's my take on the configurability of the Y register display in order of preference:
1  - Have it statically enabled (I see absolutely no downside and it saves firmware space).
2a - Configure it through the mode menu and the currently unused bit in _ustate. Since it's a purely UI feature and has no effect on calculations, it could make sense to use an internal flag.
2b - Configure it through the mode menu and the Y flag. The advantage compared to 2a would be that it'd be very quick to turn it on or off.
3  - Configure it through the Y flag only.
If it's configurable, then Y register display should be enabled by default because it'd be much easier for (some) advanced users who know exactly what they want to disable it than it'd be for beginners to discover the feature.
Find all posts by this user
Quote this message in a reply
03-11-2014, 03:34 AM
Post: #53
RE: [WP 34S] Enhanced Y register display: fractions, bugfixes etc.
Bit,

I'd sure like to try out your y-reg. display. But I can only find your source code not the compile on Sourceforge. Link? Thanks in advance.

Sikuq
Find all posts by this user
Quote this message in a reply
03-11-2014, 09:58 AM
Post: #54
RE: [WP 34S] Enhanced Y register display: fractions, bugfixes etc.
(03-09-2014 07:13 PM)Bit Wrote:  1  - Have it statically enabled (I see absolutely no downside and it saves firmware space).
2a - Configure it through the mode menu and the currently unused bit in _ustate. Since it's a purely UI feature and has no effect on calculations, it could make sense to use an internal flag.
2b - Configure it through the mode menu and the Y flag. The advantage compared to 2a would be that it'd be very quick to turn it on or off.
3  - Configure it through the Y flag only.
If it's configurable, then Y register display should be enabled by default because it'd be much easier for (some) advanced users who know exactly what they want to disable it than it'd be for beginners to discover the feature.

I favour 1. Now that the y-register code is bug-free (probably!) it's an excellent extension to the calculator's functionality. What's not to love about it? I'd still allow it to be turned off in the source code, but I see no reason to add yet another menu entry to the calculator!

Nigel (UK)
Find all posts by this user
Quote this message in a reply
03-11-2014, 03:37 PM
Post: #55
RE: [WP 34S] Enhanced Y register display: fractions, bugfixes etc.
Bit,

Which flags in features.h do you use on your test builds?

-Jonathan
Visit this user's website Find all posts by this user
Quote this message in a reply
03-11-2014, 04:30 PM
Post: #56
RE: [WP 34S] Enhanced Y register display: fractions, bugfixes etc.
(03-11-2014 03:37 PM)Jonathan Cameron Wrote:  Which flags in features.h do you use on your test builds?

Hi Jonathan,

I enabled the following flags in addition to the default ones:
UNIVERSAL_DISPATCH
INCLUDE_DOUBLEDOT_FRACTIONS (This has nothing to do with Y register display.)
INCLUDE_YREG_CODE
RP_PREFIX
SHOW_STACK_SIZE

The following flags are also relevant but they're already enabled by default because they only take effect if Y register display is also enabled:
INCLUDE_YREG_FRACT
ANGLES_NOT_SHOWN_AS_FRACTIONS
INCLUDE_YREG_HMS
SHOW_GRADIAN_PREFIX

Additionally, I applied the patch that speeds up data entry, but that isn't in SVN yet.
Find all posts by this user
Quote this message in a reply
03-11-2014, 04:32 PM
Post: #57
RE: [WP 34S] Enhanced Y register display: fractions, bugfixes etc.
(03-11-2014 03:34 AM)Sikuq Wrote:  I'd sure like to try out your y-reg. display. But I can only find your source code not the compile on Sourceforge. Link? Thanks in advance.

A compiled binary is attached to post #13 in this thread.
Find all posts by this user
Quote this message in a reply
03-11-2014, 06:30 PM
Post: #58
RE: [WP 34S] Enhanced Y register display: fractions, bugfixes etc.
(03-11-2014 04:30 PM)Bit Wrote:  Hi Jonathan,

I enabled the following flags in addition to the default ones:
UNIVERSAL_DISPATCH
INCLUDE_DOUBLEDOT_FRACTIONS (This has nothing to do with Y register display.)
INCLUDE_YREG_CODE
RP_PREFIX
SHOW_STACK_SIZE

The following flags are also relevant but they're already enabled by default because they only take effect if Y register display is also enabled:
INCLUDE_YREG_FRACT
ANGLES_NOT_SHOWN_AS_FRACTIONS
INCLUDE_YREG_HMS
SHOW_GRADIAN_PREFIX

Additionally, I applied the patch that speeds up data entry, but that isn't in SVN yet.

Perfect! Thanks.

-Jonathan
Visit this user's website Find all posts by this user
Quote this message in a reply
03-11-2014, 07:14 PM (This post was last modified: 03-11-2014 07:16 PM by Bit.)
Post: #59
RE: [WP 34S] Enhanced Y register display: fractions, bugfixes etc.
(03-11-2014 05:42 PM)fhub Wrote:  Any chance for a Windows emulator version with these new features?

I only have access to Linux development environments, so I cannot produce a Windows build. However, the code is in the SVN now and the Linux/Qt emulator works correctly with it (that's what I use for testing), so I'm confident it'll either work as is in the Windows emulator or only relatively minor changes will be needed. Anyone who can create a Windows build should be able to create one with Y register display, and I'm happy to help if something needs to be sorted out in the code.
Find all posts by this user
Quote this message in a reply
03-11-2014, 08:07 PM
Post: #60
RE: [WP 34S] Enhanced Y register display: fractions, bugfixes etc.
(03-11-2014 05:42 PM)fhub Wrote:  Any chance for a Windows emulator version with these new features?

I think I can help you out but it will probably not be tonight. Wink

Marcus von Cube
Wehrheim, Germany
http://www.mvcsys.de
http://wp34s.sf.net
http://mvcsys.de/doc/basic-compare.html
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)