Display test ... not 100% correct?

Discussion around the SwissMicros DM41X calculator
toml_12953
Posts: 795
Joined: Wed May 03, 2017 7:46 pm
Location: Malone, NY USA

Re: Display test ... not 100% correct?

Post by toml_12953 »

Ángel Martin wrote:
Mon Nov 02, 2020 5:51 pm

I can understand that, but have you found an example where such compatibility is lost?
So far we're only discussing why the starburst don't show like starburst anymore...'
Well, if that's the ONLY incompatibility, it's not so bad but usually, when one incompatibility shows up, there are others lurking that may not be so benign.
Tom L

Some people call me inept but I'm as ept as anybody!
DM10L SN: 059/100
DM41X SN: 00023 (Beta)
DM41X SN: 00506 (Shipping)
DM42 SN: 00025 (Beta)
DM42 SN: 00221 (Shipping)
WP43 SN: 00025 (Prototype)
ecsfang
Posts: 51
Joined: Sun Jan 26, 2020 5:21 pm
Location: Lund/Sweden

Re: Display test ... not 100% correct?

Post by ecsfang »

Hi Ángel,

Now we are talking on the same level ... ;)
Sorry for stirring up this, but I'm eager to understand what is going on under the hood, hence all my questions ... :P
In binary, 127 = 01111111 but adding one more (128=10000000) requires bit(7) to be up, which is the trigger to the OS to show a colon next to the char,
When you say OS here, I suspect you mean the patched 41-roms (not the DM emulator).

Is there a reason to why display a colon next to the character, instead of a character from the upper table (128-255)?
I mean, if it instead displayed a character from the upper part it could be more useful? Or are there other system modules that make use of this "flag"?
Since it is not consistent, ie. the colon does not appear in program mode, or in the examples for CDE/DCD (in the OS/X manual) which also shows the upper hex-values as starburst (the text representation of the c-register).

I've tried to look through your manuals, but I have yet to find a byte-table compatible with the current roms (ie one that shows the extra characters like the "small delta", I've noticed some more which I don't think exists in the HP roms). The byte-table in eg. the OS/X manual is the same as for the HP41CX.

When the DM41x displays a "delta" for character 145, is that rendered by the rom (driving the segments) in the display, or is it the emulator in the DM that renders that code to a "delta"?

I agree that this is a useful extension to the roms, as it has no impact except visual, but if the display showed a real character (instead of character and a colon - or a starburst in the HP case) for all characters in the range 0x80-0xFF it could be useful.

Just as some programs for the HP41CX are not backwards compatible to a C/CV in the same sense - the DM41x has some added features.

Best regards,
Thomas
[35/45/55/65/67/97/21/25/29C/31E/33E/38E/41C|CV|CX/71B/10C/11C/15C/16C/32SII/42S/28S/48GX/49G/35S/DM41X(#00456)]
(7397)[134]
User avatar
akaTB
Posts: 794
Joined: Tue May 02, 2017 1:56 pm
Location: Milan, Italy

Re: Display test ... not 100% correct?

Post by akaTB »

I presume the font used is, or is based on, Luiz Vieira's 41charset_x.TTF (also featureing the delta symbol). The extended character set.
In this doc https://www.hpmuseum.org/guest/claudio/41chrset.pdf Luiz warned about the use of dot, comma and colons.

luiz_41_x.jpg
luiz_41_x.jpg (72.43 KiB) Viewed 3388 times
Last edited by akaTB on Tue Nov 03, 2020 8:45 am, edited 2 times in total.
Greetings,
    Massimo
ajcaton
-+×÷ left is right and right is wrong :twisted: Casted in gold
Ángel Martin
Posts: 145
Joined: Mon Apr 24, 2017 8:19 pm

Re: Display test ... not 100% correct?

Post by Ángel Martin »

ecsfang wrote:
Mon Nov 02, 2020 7:33 pm

Now we are talking on the same level ... ;)
Sorry for stirring up this, but I'm eager to understand what is going on under the hood, hence all my questions ... :P
In binary, 127 = 01111111 but adding one more (128=10000000) requires bit(7) to be up, which is the trigger to the OS to show a colon next to the char,
When you say OS here, I suspect you mean the patched 41-roms (not the DM emulator).
There are two things going one here at once, one is the patch and another is the multi-line display on the 41X. Let's try to tackle them one at a time and only use single-line display on the 41X for this discussion. In that mode the 41X shows exactly the same as V41 does with the same patch, and that's quite significant if you think about it.
ecsfang wrote:
Mon Nov 02, 2020 7:33 pm
Is there a reason to why display a colon next to the character, instead of a character from the upper table (128-255)?
I mean, if it instead displayed a character from the upper part it could be more useful? Or are there other system modules that make use of this "flag"?
Since it is not consistent, ie. the colon does not appear in program mode, or in the examples for CDE/DCD (in the OS/X manual) which also shows the upper hex-values as starburst (the text representation of the c-register).

I've tried to look through your manuals, but I have yet to find a byte-table compatible with the current roms (ie one that shows the extra characters like the "small delta", I've noticed some more which I don't think exists in the HP roms). The byte-table in eg. the OS/X manual is the same as for the HP41CX.
Ah but the the byte table shows characters rendered by the PRINTER for the upper half, and since the calculator display hardware cannot reproduce them it throws starbursts instead. This is a combination of the OS code and the LCD drivers, which are different in the Fullnut and Halfnut models as we all know.
ecsfang wrote:
Mon Nov 02, 2020 7:33 pm
When the DM41x displays a "delta" for character 145, is that rendered by the rom (driving the segments) in the display, or is it the emulator in the DM that renders that code to a "delta"?
The 41X emulator only does what it's told (well, in single-line mode that is), so the characters displayed are what the OS specified. Here's for instance a sequence of eight characters, from 145 to 152 displayed by a patched V41l do you see the "delta"as well as the others in there?

Capture.PNG
Capture.PNG (18.27 KiB) Viewed 3411 times

ecsfang wrote:
Mon Nov 02, 2020 7:33 pm
I agree that this is a useful extension to the roms, as it has no impact except visual, but if the display showed a real character (instead of character and a colon - or a starburst in the HP case) for all characters in the range 0x80-0xFF it could be useful.

Just as some programs for the HP41CX are not backwards compatible to a C/CV in the same sense - the DM41x has some added features.
For that to occur a set of new characters would have to be devised, one would assume copying those shown by the printer... but this is not how the LCD works by hardware, pls. remember that. The 41X is rendering with upmost fidelity what the REAL LCD does!

To end, here's the relevant question: for the example posted above (V41 screen) with those eight characters, who would prefer having eight identical startbursts shown instead? No way to tell them apart, no way to tell if they're all the same or different///

Cheers,
ÁM
Ángel Martin
Posts: 145
Joined: Mon Apr 24, 2017 8:19 pm

Re: Display test ... not 100% correct?

Post by Ángel Martin »

toml_12953 wrote:
Mon Nov 02, 2020 7:23 pm
Ángel Martin wrote:
Mon Nov 02, 2020 5:51 pm

I can understand that, but have you found an example where such compatibility is lost?
So far we're only discussing why the starburst don't show like starburst anymore...'
Well, if that's the ONLY incompatibility, it's not so bad but usually, when one incompatibility shows up, there are others lurking that may not be so benign.
This is not an incompatibility as much as it is additional resolution. When you look at a string with say eight starburst on the Fullnut there's no way to tell if they're all the same character or different ones, right? Well with this patch you can.
ecsfang
Posts: 51
Joined: Sun Jan 26, 2020 5:21 pm
Location: Lund/Sweden

Re: Display test ... not 100% correct?

Post by ecsfang »

Thanks a lot Ángel, makes much more sense now! :)

No, I was never thinking about the printed symbols of the upper part of the byte table, and I also like that the display is emulated to be an exact copy of the real thing!

Since I now know (thanks to Massimo) that the font is based on the TTF font, which makes use of some new characters (eg. the ones shown in the previous post), then I would assume that if someone replaced that font with one that used new characters (all based on the 41 segment character that Didier described earlier), we could have +120 new characters to use (like the ones below), which could all be different from the lower 128 characters, and use them without the colon?
new_chars.bmp
new_chars.bmp (4.98 KiB) Viewed 3397 times
We could then enhance the appearance and display usage - any program would still run on the HP41's but with starburst instead. I.e. we don't have the possibility with graphics as on the DM42, but we have a lot of creative minds hanging around here ... ;)
Here's for instance a sequence of eight characters, from 145 to 152 displayed by a patched V41l do you see the "delta"as well as the others in there?
Since this looks the same on the go41's (by Olivier), then I assume that he also uses the patched rom (except that in his case he can show the alpha reg separately - and there the characters are the same as on the HP41 (a bit confusing ... :P). In the picture below, the same string is placed in both alpha reg and x-reg:
go41cx.png
go41cx.png (13.15 KiB) Viewed 3397 times
When you look at a string with say eight starburst on the Fullnut there's no way to tell if they're all the same character or different ones, right? Well with this patch you can.
Note that this comment is only valid for the alpha reg - it doesn't apply to a character in a textline in prgm mode. Eg. character 0x01 and 0x81 will always show up as a "full man", but 0x81 as a starburst on the HP41 - so in that sense the HP41 differs between the characters (even if you can't say which character it is ... ;)).

Sorry for all "chattering" - thanks to Ángel I now know why the DT program doesn't work (my original question) ... the rest is just my thoughts!

Best regards,
Thomas
[35/45/55/65/67/97/21/25/29C/31E/33E/38E/41C|CV|CX/71B/10C/11C/15C/16C/32SII/42S/28S/48GX/49G/35S/DM41X(#00456)]
(7397)[134]
Ángel Martin
Posts: 145
Joined: Mon Apr 24, 2017 8:19 pm

Re: Display test ... not 100% correct?

Post by Ángel Martin »

Hi Thomas,

you know I'm not even sure that the fonts used are based on that TTF set (Luiz Vieira's); it's possible but I don't really know.

FWIW here's how the output of DT (PPC ROM) and DTST (OS/X Module) look like on V41 with the patched ROM:
Capture1.PNG
Capture1.PNG (11.15 KiB) Viewed 3393 times
Capture2.PNG
Capture2.PNG (9.02 KiB) Viewed 3393 times
I'm sure you can tell which one is which ;-)

Cheers,
ÁM


P.S.- Did you try the "blank-comma" bug yet?
1. Type nine chars in ALPHA as follows: ", , , , ," (not ",,,,,")
2. without turning ALPHA off, use the back-arrow three times. How many chars are left?
3. Are you sure? Turn ALPHA off and On again. How many now?
Last edited by Ángel Martin on Tue Nov 03, 2020 8:52 am, edited 1 time in total.
User avatar
akaTB
Posts: 794
Joined: Tue May 02, 2017 1:56 pm
Location: Milan, Italy

Re: Display test ... not 100% correct?

Post by akaTB »

Ángel Martin wrote:
Tue Nov 03, 2020 8:43 am

you know I'm not even sure that the fonts used are based on that TTF set (Luiz Vieira's); it's possible but I don't really know.
I am not sure, either, just a guess.
Greetings,
    Massimo
ajcaton
-+×÷ left is right and right is wrong :twisted: Casted in gold
ecsfang
Posts: 51
Joined: Sun Jan 26, 2020 5:21 pm
Location: Lund/Sweden

Re: Display test ... not 100% correct?

Post by ecsfang »

Haha, yes indeed, and this is the output of go41cx running DT:
go41cx_dt.png
go41cx_dt.png (37.59 KiB) Viewed 3384 times
Have not tried DTDT there yet, but I think I know what to expect ;)

Cheers,
Thomas
[35/45/55/65/67/97/21/25/29C/31E/33E/38E/41C|CV|CX/71B/10C/11C/15C/16C/32SII/42S/28S/48GX/49G/35S/DM41X(#00456)]
(7397)[134]
ecsfang
Posts: 51
Joined: Sun Jan 26, 2020 5:21 pm
Location: Lund/Sweden

Re: Display test ... not 100% correct?

Post by ecsfang »

Hi Massimo,
I am not sure, either, just a guess.
As far as I can see, the same characters are there (all of them), but I can't match the character code with the table you sent, so for me it looks like the same character set - but with different character codes (eg. the characters are reused in the range 128-255 but not in the same order as in the table).

Anyhow - thanks for the info!

Cheers,
Thomas
[35/45/55/65/67/97/21/25/29C/31E/33E/38E/41C|CV|CX/71B/10C/11C/15C/16C/32SII/42S/28S/48GX/49G/35S/DM41X(#00456)]
(7397)[134]
Post Reply