Post Reply 
Complex Lock mode for WP-34s
05-06-2015, 07:13 AM
Post: #61
RE: Complex Lock mode for WP-34s
Thanks Nigel for pointing me that.

I've just downgraded the MinGW gcc compiler to the 4.7.2 version & it works as expected.
Find all posts by this user
Quote this message in a reply
02-18-2019, 02:54 PM
Post: #62
RE: Complex Lock mode for WP-34s
Hack: WP34C Entry RPN.

Firstly, thank you Nigel for reshaping the WP34S to an electrical engineering tool. And thank you Pauli, Walter and Marcus (and the other contributors) for making the 34S. It is small, powerful, and does the complex stuff well. My hacks below in no way attempt to even touch your amazing labour of love. I can't emphasize this enough and Nigel's instructions to get the branch to compile worked first time for me.

I discovered the WP34C branch recently and I love it. I like Entry RPN (from 28C years ago in grad school) and I dislike the automatic stack DUP upon entering of classic RPN. I do use classic RPN on the 35S, 42S, 32Sii and DM42, but my preference is without the DUP. I realise this is religious war arena, and I have no interest to argue to convince anyone otherwise. This simply is my choice for my own calculators and I'm sharing maybe for another engineer of my generation who may like it.

I decided to simply dive in and change the source code to roll my own "WP34C Entry RPN" model for my comfort. I don't particularly like the hidden menus of the 28C and I don't particularly care for the rest of its RPL, but I do like its Entry RPN. To me the WP34C provides me an opportunity to do it myself, so I hacked the code the way I like it.

Firstly, I am no programmer, and I am the kind of engineer that hacks stuff without proper understanding, and this is no exception. If there is interest out there to do this job properly, please do so, and fix the hacks. At this point the hack seems to work for me, but I am still testing, and the jury is still out.

Furthermore, the choices of the key label wording for my new tool did not appeal to me, and neither did the text below the keys, so I decided to roll my own vinyl stickers as well. I used Eric's old blue slant template from this forum as starting point (which I confirmed he does not sell anymore), and re-did all labels from scratch using my fonts, spacing, weights, characters, etc. in a way that pleases my eyes. Again, this is a mod for my calculators, and not an intention to start religious wars.

I intend to print a batch of vinyl stickers for the couple of new HP30S units that I bought, so if there is any interest, I would consider posting label sheets, and I would also consider input on improving my key texts. (Discussion point: I am wondering if it is worth trying to put the Greek characters in the grey boxes above the alphabetic characters, but I haven't thought that through yet).

To test my stickers and code hacks, I stuck my key label layout on a new WP34C Entry RPN Windows emulator, to try it out.

Current label text version: Sticker Layout CPJX-ii:

1. Version CPJX-i: I have printed the first round of stickers and stuck them on a real calculator, but there were several lessons learnt in the fonts and the sizing.

2. Version CPJX-ii is on the current emulator referred to here, for comment.

3. I will print version CPJX-iii next week and first try it onto the real calculator. It will likely need mods.

4. Version -iv will likely go onto my batch of calculators.

5. See http://www.cocoon-creations.com/download...medium.bmp for my layout text, png version attached.

6. See http://www.cocoon-creations.com/download..._ii_jm.zip for the Windows WP34C Entry RPN emulator, with a text file describing the hacks to the SVN source.

7. I plan to do a batch of labels towards the end of Feb 2019, depending progress.

8. If I need to increase quantities for anybody interested, do let me know.

9. If there are improvements to be made to the stickers, do let me know.

10. If I made a catastrophic error which will break something in the otherwise great WP34C, please let me know ;-)


Jaco

   

Jaco Mostert, Elec Eng
C47 on DM42, 42S, WP34C&S, 28C, 35S, 32Sii, had 11C; used 67, 85; iOS:42s, Free42, WP31S&34S, HCalc; OSX:WP34C.
Find all posts by this user
Quote this message in a reply
02-19-2019, 09:06 PM
Post: #63
RE: Complex Lock mode for WP-34s
I'm delighted that you like complex mode (and also that you've enabled SIGFIG_MODE when compiling)! I don't see any problems with your code changes in themselves, but programs written assuming the normal behaviour of ENTER might not work correctly. This could apply to some of the programs included as part of the "full" versions of the firmware, which wouldn't be a fundamental problem - the memory taken up by complex mode means that most users probably don't use these versions. A more serious problem is that some of the WP34S functions are coded in the WP34S programming language rather than in C, to save memory space. I don't know whether changing what ENTER does will affect this XROM code. Other people can answer this!

I'd certainly be interested in a complex mode sticker set. My current complex mode calculator is coming to the end of its life (the keyboard is dying) and I'll be making a new one soon, so your timing is good!

By coincidence, I was looking at the complex mode code just a few weeks ago. Not all of the updates that have gone into the main branch have gone into the complex branch, so I need to bring this up to date. It would be straightforward to include your Entry RPN and other changes as compile-time options when I do this.

Nigel (UK)
Find all posts by this user
Quote this message in a reply
02-19-2019, 10:46 PM
Post: #64
RE: Complex Lock mode for WP-34s
(02-19-2019 09:06 PM)Nigel (UK) Wrote:  A more serious problem is that some of the WP34S functions are coded in the WP34S programming language rather than in C, to save memory space. I don't know whether changing what ENTER does will affect this XROM code.

They will almost certainly break. Some of the simpler ones could still work but I'd be surprised if solve and integrate did.


Pauli
Find all posts by this user
Quote this message in a reply
02-19-2019, 11:23 PM
Post: #65
RE: Complex Lock mode for WP-34s
To protect the XROM code, maybe I should rather call it "Interactive Entry RPN" to limit the hack to keyboard ENTER's only, and bypassing the hack for ENTERs during running XROM and normal programs. I'm not sure if there is flag to indicate that a keystroke came from the real keyboard only - I would have to study the code for that.

Pauli, would this method protect the XROM routines that you mentioned from breaking?

Nigel, I will gladly send you a sticker set for your new calculator once I have it properly sized and successfully fitted to mine.

I would like for the Branch to be updated and this included, even if labelled experimental.

Jaco

Jaco Mostert, Elec Eng
C47 on DM42, 42S, WP34C&S, 28C, 35S, 32Sii, had 11C; used 67, 85; iOS:42s, Free42, WP31S&34S, HCalc; OSX:WP34C.
Find all posts by this user
Quote this message in a reply
02-19-2019, 11:49 PM
Post: #66
RE: Complex Lock mode for WP-34s
There are flags for checking if a program is executing: Running & XromRunning.
Having ENTER do what it normally does while either is set should work.

I think we'd be better off with a new branch for this -- like for the 31S and complex mode. There is enough mess in the main code already and as time progresses, all of us remember it less well.


Pauli
Find all posts by this user
Quote this message in a reply
02-20-2019, 09:59 AM
Post: #67
RE: Complex Lock mode for WP-34s
(02-19-2019 11:49 PM)Paul Dale Wrote:  There are flags for checking if a program is executing: Running & XromRunning.
Having ENTER do what it normally does while either is set should work.

I think we'd be better off with a new branch for this -- like for the 31S and complex mode. There is enough mess in the main code already and as time progresses, all of us remember it less well.


Pauli

Fair enough. I'll bring the current complex mode branch up-to-date and then create a branch from that, to which I'll add Jaco's code changes. This means that Entry RPN won't be available to non-complex mode users, but that shouldn't be a problem!

Nigel
Find all posts by this user
Quote this message in a reply
02-20-2019, 10:20 AM
Post: #68
RE: Complex Lock mode for WP-34s
Thank you Pauli for the tip on the running flags. It was a simple change and now it works as follows:

XEQ.C:
case OP_ENTER:
if (CmdLineLength && !(XromRunning || Running) ) {
//exclude stack lift if there is something in the input line AND if NOT running code i.e. Xrom or program


XEQ.C:
void cpx_enter(enum nilop op) {
if( State2.state_lift || (XromRunning || Running) ) {
//Only duplicate if needed, otherwise ignore. CPX LOCK mode cannot run code, but the same exception as with non-cpx lock enter is added to make sure Xrom code does not break.


Operation:

1. In interactive mode, in both complex lock mode and not, entering a value into X does not lift the stack. [ENTER] on its own duplicates X, and lifts the stack.

Example:

[0] [ENTER] [7] [ENTER] [*] gives 0.

2. While running a program, it duplicates the stack.

Example:

Executing [LBL 07] [0] [ENTER] [7] [ENTER] [*] [RET] gives 49.

3. I verified that Xrom code works, testing the SLV and SLVQ routines and there is no interference.

4. I verified in CPX LOCK mode that a few complex Xrom routines are also working, i.e. ACOS, LOG & LOGXY.

I am happy with the modification for my own calculators and will keep on testing as I go along.

As said in my earlier mail, my intention is not to try convince anyone, so I'm good to use this hack in the few calculators that I make for friends. I will publish the code changes with the emulator binary and calculator binary on my web site, so I comply with GPL.

I will update my files in a few days when I commit my key labels for printing and cutting. I will also include the update to the emulator graphic accordingly.

Pauli, I don't think the 6 line hack warrants a branch of its own. I will just keep my mods on my web site. If Nigel decides to include it in the complex branch, I would be ok with that and will then remove my files from my site.

Jaco

Jaco Mostert, Elec Eng
C47 on DM42, 42S, WP34C&S, 28C, 35S, 32Sii, had 11C; used 67, 85; iOS:42s, Free42, WP31S&34S, HCalc; OSX:WP34C.
Find all posts by this user
Quote this message in a reply
02-21-2019, 01:58 AM
Post: #69
RE: Complex Lock mode for WP-34s
Six lines? Perhaps it is worth including in the main code and features.h
How many others want an oddly behaved ENTER key?

Pauli
Find all posts by this user
Quote this message in a reply
02-21-2019, 03:41 AM
Post: #70
RE: Complex Lock mode for WP-34s
(02-21-2019 01:58 AM)Paul Dale Wrote:  How many others want an oddly behaved ENTER key?

And thus, another religious war began.... and like many before it, it was a small act, well-intentioned, which lit the initial flames...

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
02-21-2019, 05:54 AM
Post: #71
RE: Complex Lock mode for WP-34s
(02-21-2019 03:41 AM)rprosperi Wrote:  And thus, another religious war began.... and like many before it, it was a small act, well-intentioned, which lit the initial flames...

Shhh, now grab those marshmallows and sticks....


The issue I see here is that the ENTER key behaviour isn't consistent after this change -- it does one thing in run mode and a reasonably different one in programme mode.


Pauli
Find all posts by this user
Quote this message in a reply
02-21-2019, 06:56 AM
Post: #72
RE: Complex Lock mode for WP-34s
(02-21-2019 03:41 AM)rprosperi Wrote:  And thus, another religious war began....

It's interesting what you find when searching for "stack lift" in this forum:

(08-28-2014 08:07 PM)Marcus von Cube Wrote:  We were discussing this here for the 34S ad nauseam. The majority of the forum members participating in the discussion wanted the "classic" behavior of ENTER, not the command line variant implemented by the 20b/30b and the RPL machines. I feel the latter to be more intuitive than the former.

(08-31-2014 07:25 AM)Paul Dale Wrote:  
(08-29-2014 12:55 PM)walter b Wrote:  Hmmmh, what would be the benefit over classic RPN?

Quite a bit. It is more consistent to not have stack lift.

(11-09-2015 10:02 AM)Paul Dale Wrote:  Have I ever mentioned how painful stack lift is to support?

Cheers
Thomas
Find all posts by this user
Quote this message in a reply
02-21-2019, 07:53 AM
Post: #73
RE: Complex Lock mode for WP-34s
I've made my desire pretty clear over the years.

This suggestion is a hybrid......


Pauli
Find all posts by this user
Quote this message in a reply
02-21-2019, 07:55 AM
Post: #74
RE: Complex Lock mode for WP-34s
Just why couldn't Marcus, Walter and myself have voted three ways on this topic.....

Pauli
Find all posts by this user
Quote this message in a reply
02-21-2019, 02:18 PM
Post: #75
RE: Complex Lock mode for WP-34s
While there can be no doubt that command-line entry is far more consistent and predictable (and therefore easier to teach and learn), it's hard to shake 30+ year old habits, even if there is a 'better' system...

What I find most interesting about this is that classic-RPN users can in fact use it reliably with almost no thinking, despite it's (relative to command line entry) odd and inconsistent behavior.

I'd say making the proposed hybrid (with differing manual and program mode behavior) should not be adopted as the default behavior; interested users can download and explore it as it appears Jaco plans to make his build available. Should overwhelming approval and demand dictate so, this could always change, but I think classic-RPN is one of the core attractions of the 34S, so would not expect that.

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
02-23-2019, 01:26 AM
Post: #76
RE: Complex Lock mode for WP-34s
(02-18-2019 02:54 PM)Jaco@cocoon-creations.com Wrote:  Hack: WP34C Entry RPN.

Firstly, thank you Nigel for reshaping the WP34S to an electrical engineering tool. ...
Jaco

Wow, I was certainly surprised to see this topic pop up after nearly 4 years. Glad to know that it can still bring pleasure to new users.

Dave - My mind is going - I can feel it.
Find all posts by this user
Quote this message in a reply
02-23-2019, 06:30 PM
Post: #77
RE: Complex Lock mode for WP-34s
I've brought the Complex Mode branch up-to-date and added Jaco's code for Entry RPN and for complex mode defaults. I haven't committed this change yet; the attached file contains a copy of the emulator compiled with Entry RPN, default "j" (rather than "i"), default complex mode enabled and turned on. There's also a patch file with the code changes in; to be clear, this is only going to affect the complex branch.

It's a .7z file because compressed as a .zip file it exceeded the 1MB file size limit! 7-zip is an excellent free program that will uncompress it; I'm sure there are others. (1MB? Luxury! When I were a lad I used to write global climate simulations in only 50 steps! ...etc,)

If this works all right, let me know and I'll commit the changes (with Entry RPN turned off by default, as Jaco and I can compile the firmware with it turned on ourselves if we wish). If there is a wider desire for Entry RPN on the Complex Mode firmware I'm sure that something can be arranged, but I'm not expecting to be trampled in the rush!

Nigel (UK)


Attached File(s)
.zip  WP34C_erpn_ii_jm_nd.7z.zip (Size: 850.24 KB / Downloads: 16)
Find all posts by this user
Quote this message in a reply
02-27-2019, 09:03 PM
Post: #78
RE: Complex Lock mode for WP-34s
Thank you Nigel for taking over the changes as I do not know how to prep a patch file. I tried the emulator and I found no issues. I looked at the log file and it looks correct.

I made a new graphic file which corresponds with my latest vinyl prototype order which I will receive back from the print shop soon. I added the somewhat compressed text for FIXSIG to indicate the SIG mode. I am not sure FIXSIG will fit on the real label - I will see soon. If it does not fit I will abbreviate it to FXSG, which will fit.

I missed the SIG mode, which I wanted to test again. I will compile and check. I quite like the new complex mode defaults, thank you.

I must still build my programming cable to test in a real calculator - I have just received all the components of the cable, and after building it will then try all on the real machine. This will have to wait two weeks as I am going on a business trip.

I would like to see what you have added to the features.h file, in case it has something which can be added to my new key texts. I will check when you commit the changes.

I attach the new graphic which works better. The old one in your 7z file had some pixels going missing at the 360 and RPN and this one works fine.


Regards
Jaco


Attached File(s)
.zip  wp34c_erpn_V3_medium.bmp.zip (Size: 232.76 KB / Downloads: 18)

Jaco Mostert, Elec Eng
C47 on DM42, 42S, WP34C&S, 28C, 35S, 32Sii, had 11C; used 67, 85; iOS:42s, Free42, WP31S&34S, HCalc; OSX:WP34C.
Find all posts by this user
Quote this message in a reply
03-20-2019, 02:00 PM
Post: #79
RE: Complex Lock mode for WP-34s
My USB-serial dongle eventually arrived in Cape Town and I built a flashing cable according to Katie Wasserman's instructions in the archive. I did not have berillium copper, I only had 99.99% copper strip in my store, so the metal is not springy but it still grips the calculator aperture and does work.

I flashed two of my HP30B units to become WP34C's and included SIGFIG mode and eRPN. I really like that.

Also, my new blue slanted, above key vinyl stickers I made for these units came out ok, see my prototype WP34C photo attached.

At first I thought making a set would be easy, but it turned out to be a big job and a journey to find and make suitable fonts, learning graphics programs, etc.

   


Nigel,

1. Could you please update the emulator graphic linked here for the eRPN skin. I updated the file only, so please just check that you don't download a cached copy by checking version "CPXJ-V" in the bottom right hand corner.

2. I have used your updated emulator sent on 23-02-2019, also with no problems.

- Could you please commit your updates and changes to the Complex branch, as I want to compile and flash to your latest branch updates.

- I did check out svn.code.sf.net/p/wp34s/code and found no new updates. Maybe I'm looking at the wrong URL, am I?

3. Could you please email or pm me your postal address, so I can send you a set of stickers by snailmail.

Regards
Jaco

Jaco Mostert, Elec Eng
C47 on DM42, 42S, WP34C&S, 28C, 35S, 32Sii, had 11C; used 67, 85; iOS:42s, Free42, WP31S&34S, HCalc; OSX:WP34C.
Find all posts by this user
Quote this message in a reply
03-25-2019, 11:53 AM
Post: #80
RE: Complex Lock mode for WP-34s
Sorry - just spotted this. I have been busy at work for some time now - I probably won't be able to update the repository until tomorrow evening. (I know it's a short job, but it's a while since I've done it and I want to do it carefully!)

Thank you so much for your feedback. I'm glad that things seem to be working well.

PM sent with my address.

Nigel (UK)
Find all posts by this user
Quote this message in a reply
Post Reply 




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