WP34S for the DM42

This is where developers can exchange ideas and ask questions relevant to the DM42 firmware.

Please note that Swiss Micros staff are unable to provide answers here as a general rule. This is intended as a community-driven forum.
dlachieze
Posts: 289
Joined: Thu May 04, 2017 12:20 pm
Location: France

Re: WP34S for the DM42

Post by dlachieze »

Nigel (UK) wrote:
Wed Mar 24, 2021 10:43 pm
dlachieze wrote:
Wed Mar 24, 2021 5:36 pm
[*]the RCL annunciator which is supposed to flash during a program execution is not visible
Fixed, I think.
Well, I don't see it flashing. Sometimes when running a program RCL is fully on, sometimes it's fully off. Previously it was always off.
Nigel (UK) wrote:
Wed Mar 24, 2021 10:43 pm
dlachieze wrote:
Wed Mar 24, 2021 5:36 pm
[*]while testing the maximum capacity of the Alpha register (30 characters) I faced what could be a WP34S bug:.....
I believe that I've fixed this now. It is a WP34s bug; it took a while to find. I need to upload it to the WP34s repository, once I can remember how to use svn!
It's almost fixed, I get something strange when going to the beginning of the string.
  • After entering the string "ABCDEFGHIJKLMNOPQRSTUVWXYZ/*-+" in the Alpha register, the display shows "NOPQRSTUVWXYZ/*-+" in small font, which is ok
  • Pressing Up-arrow the display shows "HIJKLMNOPQRSTUVWX" in small font, effectively moving to the beginning of the string by 6 characters
  • Pressing Up-arrow again, the display shows "BCDEFGHIJKLMNOPQR" still in small font, so far so good
  • But pressing again Up-arrow, the display shows "ABCDEFGHIJKL" in big font !
  • And finally pressing again Up-arrow, the display shows "ABCDEFGHIJKLMNOPQ" in small font, which is what I was expecting at the previous step
  • Pressing now Down-arrow to go to the end of the string we go through the same steps in reverse order
Note: I've not been able to take screenshots of the display at the different steps with Shift+DISP, because as soon as I press Shift a small f is added to the right of the display, at the end of the current string and the display shows exactly that: "NOPQRSTUVWXYZ/*-+f". If you move the bitmap annunciators to their own spot on a line above the Alpha register it will possible to take screenshots without disturbing the Alpha display.
DM42: 00425 - DM41X: β00066
dlachieze
Posts: 289
Joined: Thu May 04, 2017 12:20 pm
Location: France

Re: WP34S for the DM42

Post by dlachieze »

The more I use the WP34S for the DM42 the more I'm impressed by the work done to adapt the WP34S software to the DM42 keyboard layout. For example I was wondering why the "-->" prefix key is not displayed "g -->" as on the WP34S, and it's because all the conversion functions associated to "-->" are grouped in a menu displayed when pressing "-->" so the "g" prefix is not relevant here.

Regarding "-->" I've noticed something strange:
  • starting with the default blank menu (with only --> and CPX)
  • press f FLAGS to get the flags menu on the display (any other menu works here)
  • press --> you get the --> prefix displayed on the Alpha line and a menu of the functions associated with the --> prefix on the bottom of the display
  • press backspace (<-) you get back to the flags menu, so far so good
  • press again --> you get again the --> prefix displayed on the Alpha line and a menu of the functions associated with the --> prefix
    20210325-13241844.bmp
    20210325-13241844.bmp (12.31 KiB) Viewed 341 times
  • now press Exit, the --> prefix is no more displayed on the Alpha line but the menu of the functions associated with the --> prefix is still displayed instead of the flags menu
    20210325-13243770.bmp
    20210325-13243770.bmp (12.31 KiB) Viewed 341 times
  • press again --> you get the --> prefix displayed on the Alpha line and the default blank menu without the functions associated with the --> prefix, nor the flags menu.
    20210325-13245004.bmp
    20210325-13245004.bmp (12.31 KiB) Viewed 341 times
DM42: 00425 - DM41X: β00066
Nigel (UK)
Posts: 40
Joined: Fri Jul 21, 2017 11:08 pm

Re: WP34S for the DM42

Post by Nigel (UK) »

A quick update:
  • The strange arrow behaviour has been fixed.
  • Alpha scrolling should work correctly now. The problem was still with the original WP34s code.
  • Sadly, RCL is not going to flash :( It does, however, now turn on when a program is running and turn off when it stops. The problem is that the DM42 doesn't provide access to a "heartbeat". On the WP34s this causes a key to appear in the key buffer every 0.1s; this can be looked for, counted, and used to make RCL flash. I can simulate this on the DM42 and when a program isn't running the method I'm using works fine - for example, pauses in programs last the correct time. I can make it work when the program is running too, but this slows the program down - for a simple addition loop like LBL A ;1; +; GTO A; it slows by a factor of three. The flashing doesn't seem worth it. There may be another way to do it properly, but I can't see how at present.
I'm afraid that these bug fixes are on the long_disp branch only. Work continues here on the extra annunciator-only display, but it isn't working properly yet and I don't want to merge the changes back into the master branch. The file build/wp34s.pgm on the long_disp branch is the one to try if you are looking for the version with the smallest number of bugs at present!

Nigel (UK)
dlachieze
Posts: 289
Joined: Thu May 04, 2017 12:20 pm
Location: France

Re: WP34S for the DM42

Post by dlachieze »

Great, no more issues so far with the latest long_disp build. I'm eagerly waiting to see the extra annunciator-only display you're working on :)
DM42: 00425 - DM41X: β00066
Nigel (UK)
Posts: 40
Joined: Fri Jul 21, 2017 11:08 pm

Re: WP34S for the DM42

Post by Nigel (UK) »

The latest long_disp branch commit has a separate annunciator row that, at first glance, seems to be working. (Note that there is no y-register display for int mode, irrespective of the setting of YDON. I'll have to code this, because it would be nice.) Let me know as soon as you break it!

If you bring up the STATS menu, press and release shift, and then press and hold CPX, all the dots on the display light up (or go dark, in fact). This helps to show the layout of the display elements. Releasing CPX restores the display.

Nigel (UK)
dlachieze
Posts: 289
Joined: Thu May 04, 2017 12:20 pm
Location: France

Re: WP34S for the DM42

Post by dlachieze »

I've started to test the latest long_disp build. I can see that you have implemented the y-register display in integer mode.

The new separate Alpha area for the annunciators is a nice idea, keeping the WP34S annunciators style (and minimizing I suppose the code changes).
The trick with the STAT menu to visualize the display elements is cool.

My very first observations :
  • On the WP34S there are two types of f,g,h prefixes: big and small. The big ones are displayed when you simply press f, g or h, the smaller ones are displayed if you have pressed CPX first. In the latest build it's also like that with YDON, but it's the reverse with YDOFF: big f,g are displayed with CPX, small ones without CPX, and the complex annunciator "c" is moved to the right.
    EDIT: I retested the WP 34S and with YDOFF you always get big f,g,h, with or without CPX, and the "c" annunciator is also moved to the right, something I never noticed as I always have YDON.
  • Pressing --> with YDON hides the y-register display which is not necessary as --> is now displayed in the new annunciators area.
  • HYP and HYP-1 are not yet moved to new annunciator area
  • in Alpha mode the prefix f,g,h are still displayed at the right of the latest character
Also I started to test the file functions. I was able to successfully load with LdLib the WP34S library file after changing the file extension from .dat to .lib, however I cannot save a program with SvCPRG.
DM42: 00425 - DM41X: β00066
Nigel (UK)
Posts: 40
Joined: Fri Jul 21, 2017 11:08 pm

Re: WP34S for the DM42

Post by Nigel (UK) »

Thank you for these observations. I'm still working on how to split the display between the two rows and I'll bear what you have noticed in mind as I do this. Like you, I always have YDON but of course the code should work correctly for YDOFF as well. Maybe I don't test YDOFF as much as I should!

I like having the f/g/h in the alpha area, and I wasn't intending to move it. It doesn't seem to get in the way of anything.

About the saving: if it fails, there should be an error message. If there wasn't it might be that what I've done to the display has prevented the display of error messages; I'll check. One possible cause of error is that the current program being saved must start with a global alpha label - something like LBL "TRI", and not just LBL A. The current program is wherever the program step counter is. The saving should work - it does for me. If it still doesn't, post a program that you can't save and I'll try to find the problem.

Nigel (UK)
dlachieze
Posts: 289
Joined: Thu May 04, 2017 12:20 pm
Location: France

Re: WP34S for the DM42

Post by dlachieze »

Nigel (UK) wrote:
Sat Mar 27, 2021 1:03 pm
I like having the f/g/h in the alpha area, and I wasn't intending to move it. It doesn't seem to get in the way of anything.
It does: it interfers with the DMCP screenshot function, as I experienced when testing the Alpha scrolling above:
Note: I've not been able to take screenshots of the display at the different steps with Shift+DISP, because as soon as I press Shift a small f is added to the right of the display, at the end of the current string and the display shows exactly that: "NOPQRSTUVWXYZ/*-+f".
About the saving there is no error message, it just does nothing but you nailed it:
Nigel (UK) wrote:
Sat Mar 27, 2021 1:03 pm
One possible cause of error is that the current program being saved must start with a global alpha label - something like LBL "TRI", and not just LBL A.
That's it: I was trying to save a program starting with LBL A, expecting to get a dialog screen where to provide the file name. I'll check again with a global alpha label.
EDIT: I can confirm saving works with a global label. And loading back the program works also.
DM42: 00425 - DM41X: β00066
Nigel (UK)
Posts: 40
Joined: Fri Jul 21, 2017 11:08 pm

Re: WP34S for the DM42

Post by Nigel (UK) »

The latest version implements the top row more fully. Things like STO__, Sure? (Y/N), and catalogues now appear there rather than overwriting the y-register display. When writing a program this doesn't happen; this is deliberate. Having STO_01 appearing on the top row and then moving to the middle looked odd.

Here's a picture showing the idea.
Image

At present, YDOFF leaves the annunciators (etc.) in the top row. I may change this!

Other points:
  • I've left the fgh shift where they are in alpha mode. They don't interfere with screenshots; the screenshot function cancels f-shift before taking the picture. This has been in place for a few "release" now. This screenshot was taken in alpha mode:
    Image
  • I've also left the variously-sized annunciators as they are for now, since that's what the real calculator does.
  • Error messages from the file operations had indeed stopped working; I think that they are working again now.
Have fun!

Nigel (UK)
Nigel (UK)
Posts: 40
Joined: Fri Jul 21, 2017 11:08 pm

Re: WP34S for the DM42

Post by Nigel (UK) »

One more point: it's easy to change the names of the annunciators handed down to us from the HP-30b display.

My suggestions:
  • INPUT to ALPHA
  • RPN to KEY
  • RCL to RUN
  • STO to WRT
  • 360 to DEG
Does anyone have any thoughts on this?

Nigel (UK)
Post Reply