DM42 skin for the Free42 simulator

Discussion around the Swiss Micros DM42 calculator.
User avatar
Jaymos
Posts: 590
Joined: Sun Nov 04, 2018 6:03 pm
Location: Cape Town

Re: DM42 skin for the Free42 simulator

Post by Jaymos » Sat Jan 04, 2020 1:08 am

I unzipped and pointed my Free42 on my iPhone 11 pro to https://www.cocoon-creations.com/downlo ... 42_12.gif and it worked.

The links to this article and the original gitlab location is in the readme file on the same location: https://www.cocoon-creations.com/downlo ... readme.txt.
Jaco Mostert
Elec Eng, South Africa
WP34C, HP42S, DM42 for complex math; 35S, 28C, 32Sii, WP34S, EL-506P, EL-W506, PB700; owned FX702P & 11C; used 67 & 85. iOS: 42s (Byron), Free42, WP31S/34S, HCalc.
WP43C running on DM42 sn. 03818 .

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

Re: DM42 skin for the Free42 simulator

Post by H2X » Sat Jan 04, 2020 9:21 am

StreakyCobra wrote:
Fri Jan 03, 2020 10:41 pm
I do not provide any landscape layout and I'm not planning to make one for now.
Perfectly fine! I agree that only the portrait skin makes sense.

The problem is that the portrait skin got shown when my iPad was in landscape orientation - and when my iPad was in its portrait orientation, a different layout was shown.

I did choose the highest resolution zip to unzip - maybe that was unnecessary - but should that be a problem?

PS: I used the same DM42_12 files as Jaymos has made available, and I have also reimported the skin from his files in case I got something wrong. I didn't - the problem remains. I have a 5th generation, plain iPad (not Air, not Pro).
DM42 #40 running WP43C | DM41X #50
The earth is flat. It just appears round because it is massive and curves spacetime.

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

Re: DM42 skin for the Free42 simulator

Post by Thomas Okken » Sat Jan 04, 2020 2:16 pm

H2X wrote:
Sat Jan 04, 2020 9:21 am
The problem is that the portrait skin got shown when my iPad was in landscape orientation - and when my iPad was in its portrait orientation, a different layout was shown.
Just be aware that the skin settings for portrait and landscape modes are separate and independent of each other. Selecting a skin while in portrait mode sets it only for portrait mode, and selecting a skin while in landscape mode sets it only for landscape mode.

Loading a skin, using the Load button in the Select Skin view, only adds it to the list of available skins, and that list is the same whether you're in portrait or landscape mode. Only the selection you make from that list is mode-dependent.

For example, to restore the skin selections to their defaults, perform these steps: hold the device vertically and wait for it to rotate the UI accordingly (make sure the orientation is not locked, neither in the OS settings nor in the Free42 preferences!); then Main Menu -> Select Skin -> Standard-4". Next, hold the device horizontally and wait for it to rotate the UI accordingly; then Main Menu -> Select Skin -> Landscape.
H2X wrote:
Sat Jan 04, 2020 9:21 am
I did choose the highest resolution zip to unzip - maybe that was unnecessary - but should that be a problem?
It shouldn't. Large skin bitmaps take up more space and take longer to load, but with the amounts of flash and RAM in modern devices, and given how fast they are, neither effect should be significant.

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

Re: DM42 skin for the Free42 simulator

Post by StreakyCobra » Sat Jan 04, 2020 2:21 pm

Thomas Okken wrote:
Fri Jan 03, 2020 11:26 pm
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. :) )
That's what I meant, but probably with the wrong wording :) Your explanations are better thanks

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

Re: DM42 skin for the Free42 simulator

Post by H2X » Sat Jan 04, 2020 3:24 pm

Thomas Okken wrote:
Sat Jan 04, 2020 2:16 pm
H2X wrote:
Sat Jan 04, 2020 9:21 am
The problem is that the portrait skin got shown when my iPad was in landscape orientation - and when my iPad was in its portrait orientation, a different layout was shown.
Just be aware that the skin settings for portrait and landscape modes are separate and independent of each other. Selecting a skin while in portrait mode sets it only for portrait mode, and selecting a skin while in landscape mode sets it only for landscape mode.
Thanks for the update!

Now I got StreakyCobra's dm42_12 skin in my iPad's portrait orientation, and tyge_nova_L_v2 in landscape.

Happy camping... :D
DM42 #40 running WP43C | DM41X #50
The earth is flat. It just appears round because it is massive and curves spacetime.

User avatar
Jaymos
Posts: 590
Joined: Sun Nov 04, 2018 6:03 pm
Location: Cape Town

Re: DM42 skin for the Free42 simulator

Post by Jaymos » Sat Jan 04, 2020 6:36 pm

wiljea wrote:
Thu Jan 02, 2020 12:31 pm
somehow "Free42+ Special Version"
wiljea,

+1 for wanting this. My impression after occasionally reading things Mr O writes, this won’t happen unless you jump into the code yourself.

I really love the DM42 skin and it’s on my phone permanently now. Utilising that blank space above register Y is really attractive...

Realistically, apart from the actual Free42 app, the best available Free42 modified version out there on iOS is Byron’s 42s, albeit based on a few years older Free42 without many of the new features. The much larger stack, optional 4 line display, eRPN and Double tap CLX Drop outweighs the new features though ;-). I once considered modifying a newer Free42, but after realising that I can’t push iOS code onto the iStore, I gave up before I even started, and just appreciated Thomas’ free Free42 on my phone even more.

See https://www.google.co.za/search?q=iphon ... ent=safari.
Jaco Mostert
Elec Eng, South Africa
WP34C, HP42S, DM42 for complex math; 35S, 28C, 32Sii, WP34S, EL-506P, EL-W506, PB700; owned FX702P & 11C; used 67 & 85. iOS: 42s (Byron), Free42, WP31S/34S, HCalc.
WP43C running on DM42 sn. 03818 .

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

Re: DM42 skin for the Free42 simulator

Post by Thomas Okken » Sat Jan 04, 2020 10:14 pm

Jaymos wrote:
Sat Jan 04, 2020 6:36 pm
wiljea wrote:
Thu Jan 02, 2020 12:31 pm
somehow "Free42+ Special Version"
+1 for wanting this. My impression after occasionally reading things Mr O writes, this won’t happen unless you jump into the code yourself.
Yes. Apart from not finding the bigger display very interesting myself, one big problem is that because I maintain Free42 for five platforms, every change that isn't purely "core" has to be implemented five times, and the bigger display will require significant changes in the "shell" side of things. (The "core" changes to support that feature are nothing to sneeze at, either, but for that I could at least take advantage of the work that has already been done by Byron Foster and by SwissMicros.) That factor of five can be pretty brutal, as I experienced when I implemented the state file manager in 2.5; it's not a particularly large bit of UI work, but not-particularly-large times five turned out to be stressful and exhausting. I'm not looking forward to doing something like that again soon!

Having said that, I do intend to port Free42 to the Qt toolkit. This is mainly a learning exercise: I want to know more about Qt, and porting some real-world code to it is a great way to learn how to use it and what its strengths and weaknesses are. But the real benefit, if I do complete that port, is that Qt supports all five platforms that Free42 supports, so in theory I may be able to unify the code base to a large extent, and if that pans out, UI work in Free42 would become up to 80% less painful. :lol: But time will have to tell.

tycho
Posts: 35
Joined: Sun Nov 05, 2017 3:09 pm
Location: Norway

Re: DM42 skin for the Free42 simulator

Post by tycho » Mon Jan 13, 2020 8:38 pm

Thomas Okken wrote:
Sat Jan 04, 2020 10:14 pm
Having said that, I do intend to port Free42 to the Qt toolkit. This is mainly a learning exercise: I want to know more about Qt, and porting some real-world code to it is a great way to learn how to use it and what its strengths and weaknesses are. But the real benefit, if I do complete that port, is that Qt supports all five platforms that Free42 supports, so in theory I may be able to unify the code base to a large extent, and if that pans out, UI work in Free42 would become up to 80% less painful. :lol: But time will have to tell.
I did a Bluetooth mobile app project in Qt a few years ago, and must say it was a mixed experience. Yes, it creates native executables (no VM) and you can write in C++, but the QtCore, QtGui ++ libraries makes your app quite chunky, and I found it hard to create a nice consistent GUI experience.

Things may have changed, but today I would much rather write a new mobile app with the new hot Flutter framework from Google, which also creates speedy native executables. A drawback for you is probably that it uses a language called Dart, which is similar to javascript/like languages. However, you can call native C-APIs: https://flutter.dev/docs/development/pl ... /c-interop

This guy makes decent tutorials, this one for Flutter: https://youtu.be/1gDhl4leEzA
"The Answer to the Great Question... Of Life, the Universe and Everything... Is... DM42" ― Adam Douglas

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

Re: DM42 skin for the Free42 simulator

Post by Thomas Okken » Tue Jan 14, 2020 6:03 am

tycho wrote:
Mon Jan 13, 2020 8:38 pm
I did a Bluetooth mobile app project in Qt a few years ago, and must say it was a mixed experience. Yes, it creates native executables (no VM) and you can write in C++, but the QtCore, QtGui ++ libraries makes your app quite chunky, and I found it hard to create a nice consistent GUI experience.
Yes, I suppose that's hard to avoid on mobile, where the libraries would have to be statically linked. How chunky are we talking here? (Actually, I guess that would affect the Windows and MacOS versions, too. I wouldn't count on having Qt available as shared libraries anywhere other than on Linux or other desktop Unixes.)

Regarding the consistent user experience, I think all the Qt apps I've seen so far have been desktop apps, and they looked OK, but of course building desktop and mobile apps from the same codebase must be a challenge, since the small screen and the touch-based UI changes things a lot... but I'm hoping that for an app with a simple UI like Free42, that would be manageable.
tycho wrote:
Mon Jan 13, 2020 8:38 pm
Things may have changed, but today I would much rather write a new mobile app with the new hot Flutter framework from Google, which also creates speedy native executables. A drawback for you is probably that it uses a language called Dart, which is similar to javascript/like languages. However, you can call native C-APIs: https://flutter.dev/docs/development/pl ... /c-interop
A non-C++ language for the UI is does not have to be a problem — the Free42 UI on Android was written in Java — as long as it can link with a C++ library. Rewriting the Free42 core would be a deal-breaker for me (although even that has been done!). Do they support Android, iOS, Windows, MacOS, and Linux? And how much chunkiness do they add to the app?

User avatar
Jaymos
Posts: 590
Joined: Sun Nov 04, 2018 6:03 pm
Location: Cape Town

Re: DM42 skin for the Free42 simulator

Post by Jaymos » Tue Jan 14, 2020 6:57 am

The WP34S iPhone app seems to be done with Qt.

https://www.hpmuseum.org/forum/thread-5 ... l#pid49234

As this is another calculator simulator project which works on more than one platform, maybe Pascal Meheut can be contacted to comment on iOS issues he may have experienced, with this kind of app.
Jaco Mostert
Elec Eng, South Africa
WP34C, HP42S, DM42 for complex math; 35S, 28C, 32Sii, WP34S, EL-506P, EL-W506, PB700; owned FX702P & 11C; used 67 & 85. iOS: 42s (Byron), Free42, WP31S/34S, HCalc.
WP43C running on DM42 sn. 03818 .

Post Reply