DM42 skin for the Free42 simulator

Discussion around the Swiss Micros DM42 calculator.
StreakyCobra
Posts: 16
Joined: Thu Jun 14, 2018 8:09 am

DM42 skin for the Free42 simulator

Post by StreakyCobra » Wed Dec 25, 2019 6:03 pm

Hi there :D

I have a small gift for you in this holidays season: a DM42 skin for the Free42 simulator:
  • Open source
  • Available in different sizes (up to 2903×5462)
  • The top row can be used to navigate menus, the second row functions are mapped directly and do not require "TOP.FCN", even when a menu is displayed (like the DM42)
  • :arrow: More information and download links at the end of this post
Image

Links:

Github: https://github.com/StreakyCobra/dm42-skin
Download: https://github.com/StreakyCobra/dm42-skin/releases
Last edited by StreakyCobra on Thu Dec 26, 2019 5:58 pm, edited 3 times in total.

Thomas Okken
Posts: 676
Joined: Tue May 02, 2017 3:48 pm
Contact:

Re: DM42 skin for the Free42 simulator

Post by Thomas Okken » Thu Dec 26, 2019 2:24 am

Nice!

One note: you can achieve the behavior of the DM42 keyboard by mapping the top row to keys 1 through 6, and using direct command mapping for the second row, like so:

Key: 101,102 <SensRect> <DispRect> <ActiveLoc>
Macro: 101 "Σ+"
Macro: 102 "Σ-"

...and similarly for the other five. Mapping the keys this way means they will execute the mapped functions regardless of whether a menu is active or not.

N.B. I don't have a computer handy right now so I can't see the actual layout file, but from what I see in GitHub it doesn't look like you're using direct command mapping — my fault since I don't think I ever documented it, apart from a brief mention in the 2.2 release notes.

keithdalby
Posts: 554
Joined: Mon Apr 24, 2017 6:38 pm

Re: DM42 skin for the Free42 simulator

Post by keithdalby » Thu Dec 26, 2019 5:23 am

I wonder if people will whine that the keys are too stiff

StreakyCobra
Posts: 16
Joined: Thu Jun 14, 2018 8:09 am

Re: DM42 skin for the Free42 simulator

Post by StreakyCobra » Thu Dec 26, 2019 9:39 am

Thomas Okken wrote:
Thu Dec 26, 2019 2:24 am
One note: you can achieve the behavior of the DM42 keyboard by mapping the top row to keys 1 through 6, and using direct command mapping for the second row, like so:

Key: 101,102 <SensRect> <DispRect> <ActiveLoc>
Macro: 101 "Σ+"
Macro: 102 "Σ-"
Thanks Thomas, I did not knew about this «direct command mapping» and that mimics better the DM42. I just released v1.1 with this change and a small fix for the battery indicator position.
Thomas Okken wrote:
Thu Dec 26, 2019 2:24 am
my fault since I don't think I ever documented it, apart from a brief mention in the 2.2 release notes.
No worries, the job you did on the simulator is amazing, someone should be a fool to complain about this ;-)

User avatar
wiljea
Posts: 14
Joined: Tue Sep 04, 2018 4:20 pm

Re: DM42 skin for the Free42 simulator

Post by wiljea » Thu Jan 02, 2020 12:31 pm

@ Mr StreakyCobra
Thanks a lot, your last update following Mr Okken's advice is a pure delight. A very nice gift indeed to start these 2020's on the right computing foot. Nice work !

@ Mr Thomas Okken
I suspect that some of the readers may have now the same idea(s)/interrogation(s) which come to my mind : is it too futuristic or unrealistic to ask Mr Thomas Okken the following questions, would it be possible to develop a somehow "Free42+ Special Version" where (let say by the use of some flag(s) for instance), one would 1) get access to and possibly see the entire RPN STACK (up to, X, Y, Z and T registers) ... and ... 2) why not, if it is possible or feasible, to see partly these variables together (or at least in alternance) with the ALPHA register ? (See images below). Thank you for your answer(s).
RPN_STACK.bmp
RPN_STACK.bmp (12.31 KiB) Viewed 1691 times
Attachments
STACK_Alpha.bmp
STACK_Alpha.bmp (12.31 KiB) Viewed 1691 times
DM42 SN: 03090
HP-29C, HP-41C, HP-15C, HP-33s, HP-35s, WP 34S, Free42, DM42
(Fortran, C++, Mathematica, Maple, Python, …) Physics aficionado

User avatar
H2X
Posts: 557
Joined: Tue Apr 25, 2017 6:00 am
Location: Norway

Re: DM42 skin for the Free42 simulator

Post by H2X » Fri Jan 03, 2020 10:24 am

StreakyCobra wrote:
Wed Dec 25, 2019 6:03 pm
Hi there :D

I have a small gift for you in this holidays season: a DM42 skin for the Free42 simulator:
  • Open source
  • Available in different sizes (up to 2903×5462)
  • The top row can be used to navigate menus, the second row functions are mapped directly and do not require "TOP.FCN", even when a menu is displayed (like the DM42)
  • :arrow: More information and download links at the end of this post
Links:

Github: https://github.com/StreakyCobra/dm42-skin
Download: https://github.com/StreakyCobra/dm42-skin/releases
Interesting! Is it supposed to work to open the download link from within the IOS app? I tried, the internal browser in the DM42 found the web page, but clicking on the desired zip file does not seem to accomplish anything...
DM42 #40 running WP43C | DM41X #50
The earth is flat. It just appears round because it is massive and curves spacetime.

Thomas Okken
Posts: 676
Joined: Tue May 02, 2017 3:48 pm
Contact:

Re: DM42 skin for the Free42 simulator

Post by Thomas Okken » Fri Jan 03, 2020 12:22 pm

H2X wrote:
Fri Jan 03, 2020 10:24 am
Interesting! Is it supposed to work to open the download link from within the IOS app? I tried, the internal browser in the DM42 found the web page, but clicking on the desired zip file does not seem to accomplish anything...
The skin loader in Free42 does not handle zip files, but if StreakyCobra were to put unzipped gif and layout files up on GitHub, it should be able to load those.

N.B. The skin loader is a fairly new feature, present in the iOS, MacOS, and Android versions. In the iOS version, the steps required to load a skin from an arbitrary URL would be: Main menu (tap in the top of the display) -> Select Skin -> Load...; then paste the URL into the text field at the top of the screen, replacing what's already there; then tap Go. With the gif or layout file showing, tap Load. You should get a message box telling you that the skin was loaded. Finally, tap OK to dismiss the message box, and tap Done to dismiss the browser. The newly loaded skin will then show up in the list of available skins.

User avatar
H2X
Posts: 557
Joined: Tue Apr 25, 2017 6:00 am
Location: Norway

Re: DM42 skin for the Free42 simulator

Post by H2X » Fri Jan 03, 2020 7:55 pm

Thomas Okken wrote:
Fri Jan 03, 2020 12:22 pm
H2X wrote:
Fri Jan 03, 2020 10:24 am
Interesting! Is it supposed to work to open the download link from within the IOS app? I tried, the internal browser in the DM42 found the web page, but clicking on the desired zip file does not seem to accomplish anything...
The skin loader in Free42 does not handle zip files, but if StreakyCobra were to put unzipped gif and layout files up on GitHub, it should be able to load those.
I made a quick and dirty test by forking the original project, and it seemed to almost work. I managed to get the gif and layout files (separately), but changing orientation did not work well on my ipad. I am not sure if it should. But...

@StreakyCobra: Is Thomas' suggestion something you might look into?
DM42 #40 running WP43C | DM41X #50
The earth is flat. It just appears round because it is massive and curves spacetime.

StreakyCobra
Posts: 16
Joined: Thu Jun 14, 2018 8:09 am

Re: DM42 skin for the Free42 simulator

Post by StreakyCobra » Fri Jan 03, 2020 10:41 pm

Yes I can provide the gif and layout files directly on github. Maybe it does not make sense to provide a zip for 2 files anyway :) I'm on holidays right now, will do that next week.

As far as I understood you have to define one layout for landscape and one layout for portrait. I do not provide any landscape layout and I'm not planning to make one for now. Either you can find another skin you like for landscape mode, or you can lock the orientation in the settings to avoid accidental screen rotation.

Thomas Okken
Posts: 676
Joined: Tue May 02, 2017 3:48 pm
Contact:

Re: DM42 skin for the Free42 simulator

Post by Thomas Okken » Fri Jan 03, 2020 11:26 pm

StreakyCobra wrote:
Fri Jan 03, 2020 10:41 pm
As far as I understood you have to define one layout for landscape and one layout for portrait. I do not provide any landscape layout and I'm not planning to make one for now.
No, the landscape and portrait skin settings are entirely separate. If someone loads the DM42 skin and then selects it for portrait mode, the landscape skin will still be whatever it was before. (Selecting a vertical skin in landscape mode, or selecting a horizontal skin in portrait mode, is possible, but not recommended. :) )

Post Reply