Post Reply 
emu48 now for android-OS
04-02-2019, 06:29 PM
Post: #21
RE: emu48 now for android-OS
I just installed the app on my phone and I have to say it is amazing! It is noticeably faster on my phone (a year-old Samsung Galaxy running Android 9) than on my 2.6GHz Windows 7 PC!

I have run into one problem however. All of the settings related to Ports are grayed out, and any objects stored in Port 2 are lost when the app is closed. I use several libraries and I like to store them in ports so that they do not detract from main RAM. Is there (or will there be) a fix for this?
Find all posts by this user
Quote this message in a reply
04-04-2019, 07:53 AM (This post was last modified: 04-04-2019 08:24 AM by Lode.)
Post: #22
RE: emu48 now for android-OS
The previous version (before 14 march update I think) of the app had black background (or at least one that was not noticeable, which was good), now it's bright gray (there are now two thick bright gray borders left light and right on android, for all built in calculators/skins/kml files)

I liked it much better without the bright gray, is there a way to get rid of it again, for all built in ones? (preferably a global setting, no fiddling with all individual kml files an android please Smile)


Attached File(s) Thumbnail(s)
   
Find all posts by this user
Quote this message in a reply
04-04-2019, 12:16 PM (This post was last modified: 04-04-2019 12:24 PM by ijabbott.)
Post: #23
RE: emu48 now for android-OS
(03-27-2019 05:16 PM)Christoph Giesselink Wrote:  
(03-25-2019 09:25 AM)Marco Polo Wrote:  Installed on an Honor 7x (Android 8).
Works nicely as long as i don't try to open a state file from Emu48 for Windows.
In this case the emulator hangs and i have to kill it.
It happens regardless the model emulated

I recognized the same problem and meanwhile I think I know why. I fetched a state file from Andriod Emu48 1.2 and loaded this file into Emu48 v1.61 and debugged the loading process. The problem seem to be at

Code:

.\app\src\main\cpp\win32-layer.h

#ifndef __OBJC__
typedef signed char BOOL;   // deliberately same type as defined in objc
#endif

on MS-Windows BOOL is a 4 byte definition

Code:

typedef int BOOL;

and so the Chipset structure in the state file is wrong.

I wonder why BOOL was defined as signed char for the Android build? If it was for iOS I could maybe understand it.

EDIT: It looks like the problem is fixed in the GitHub master branch now thanks to compatibility patches from Christoph!

— Ian Abbott
Find all posts by this user
Quote this message in a reply
04-04-2019, 01:05 PM
Post: #24
RE: emu48 now for android-OS
(04-04-2019 12:16 PM)ijabbott Wrote:  I wonder why BOOL was defined as signed char for the Android build? If it was for iOS I could maybe understand it.

To save space? Using a 32-bit type of which you're only using one bit is rather wasteful. Using an 8-bit quantity is still wasteful, but a common compromise since it's usually the smallest addressable unit.

In early C, there was no dedicated Boolean type, so they used int instead, with the convention of saying 0 = false and 1 = true (or any nonzero value). This convention survived for a long time, because it took so long before C adopted bool -- I think bool only became an official part of C in the C99 standard.

In Free42 I used int for bool originally for that exact reason. When I changed the project from C to C++, I started using bool instead of int where appropriate, but mostly in new code, leaving old code alone. Replacing int with bool made data structures more compact, but it also caused compatibility headaches where data structures are persistent, i.e. in the state file.
Visit this user's website Find all posts by this user
Quote this message in a reply
04-04-2019, 01:39 PM
Post: #25
RE: emu48 now for android-OS
Amazing, thank you. I really like the HP 48S skin.
Visit this user's website Find all posts by this user
Quote this message in a reply
04-04-2019, 05:47 PM (This post was last modified: 04-04-2019 06:06 PM by Eric Rechlin.)
Post: #26
RE: emu48 now for android-OS
(04-04-2019 07:53 AM)Lode Wrote:  The previous version (before 14 march update I think) of the app had black background (or at least one that was not noticeable, which was good), now it's bright gray (there are now two thick bright gray borders left light and right on android, for all built in calculators/skins/kml files)

I liked it much better without the bright gray, is there a way to get rid of it again, for all built in ones? (preferably a global setting, no fiddling with all individual kml files an android please Smile)

Since 1.2 (I think) it now respects the Color attribute in the KML file, which is currently often the gray value that I set them to in my original scripts, which was good for their original intended desktop use, but admittedly is not ideal for the Android version.

The next version, 1.3, now lets you set Emu48 for Android to either use the KML's default color (gray in this case), or black, or the status bar color (which is a dark shade of gray, almost black, on my phone). I just verified this with the code currently in github (but not yet released) and it works as expected. So just wait for 1.3 and it should work better.
Visit this user's website Find all posts by this user
Quote this message in a reply
04-04-2019, 07:06 PM
Post: #27
RE: emu48 now for android-OS
An update also changed rom 2.15 into 2.10. Does that mean 2.10 is actually better? Smile
Find all posts by this user
Quote this message in a reply
04-04-2019, 07:19 PM (This post was last modified: 04-04-2019 07:20 PM by compsystems.)
Post: #28
RE: emu48 now for android-OS
For CG, request for emu48 source

The LCD of the calculators, really have in a fixed state of contrast three colors, background, pixel off, and pixel on, the color of pixel off is not the same background color, for this reason you need to add a new parameter on Lcd-End block, color -1 R G B


PHP Code:
Lcd
    Zoom 2
    Offset  25  13

    
# background
    
Color -1 R G B

    
#pixel on
    
Color 0 96 112 96
    Color 1 96 112 96
    Color 2 96 112 96
    Color 3 96 112 96
    Color 4 96 112 96
    Color 5 96 112 96
    Color 6 96 112 96
    Color 7 96 112 96
    Color 8 96 112 96
    Color 9 96 112 96
    Color 10 80 96 80
    Color 11 63 72 63
    Color 12 48 56 48
    Color 13 32 40 32
    Color 14 0 0 0 
#Reset
    
Color 15 0 0 0

    Color 16 0 0 0
    Color 17 0 0 0
    Color 18 0 0 0
    Color 19 0 0 0
    Color 20 0 0 0
    Color 21 0 0 0
    Color 22 0 0 0
    Color 23 0 0 0
    Color 24 0 0 0
    Color 25 0 0 0
    Color 26 0 0 0
    Color 27 0 0 0
    Color 28 0 0 0
    Color 29 0 0 0
    Color 30 0 0 0
    Color 31 0 0 0

    
#pixel off
    
Color 32 155 163 155 #0
    
Color 33 155 163 155 #1
    
Color 34 155 163 155 #2
    
Color 35 155 163 155 #3
    
Color 36 155 163 155 #4
    
Color 37 155 163 155 #5
    
Color 38 155 163 155 #6
    
Color 39 155 163 155 #7
    
Color 40 155 163 155 #8
    
Color 41 155 163 155 #9
    
Color 42 155 163 155 #10
    
Color 43 155 163 155 #11
    
Color 44 153 163 153 #12
    
Color 45 150 163 150 #13
    
Color 46 147 163 147 #14 Reset
    
Color 47 117 134 117 #15

    
Color 48 111 128 111 #16
    
Color 49 105 128 105 #17
    
Color 50 100 128 100 #18
    
Color 51 96 120 96 #19
    
Color 52 95 104 95 #20
    
Color 53 79 88 79 #21
    
Color 54 63 72 63 #22
    
Color 55 48 56 48  #23
    
Color 56 49 56 49 #24
    
Color 57 31 40 31 #25
    
Color 58 30 40 30 #26
    
Color 59 29 40 29 #27
    
Color 60 28 40 28 #28
    
Color 61 27 40 27 #29
    
Color 62 26 40 26 #30
    
Color 63 25 40 25 #31
End 

Thanks
Find all posts by this user
Quote this message in a reply
04-04-2019, 07:51 PM
Post: #29
RE: emu48 now for android-OS
(04-04-2019 07:19 PM)compsystems Wrote:  For CG, request for emu48 source

The source for the Android version is on GitHub: https://github.com/dgis/emu48android

— Ian Abbott
Find all posts by this user
Quote this message in a reply
04-05-2019, 12:25 AM
Post: #30
RE: emu48 now for android-OS
My phone just updated to v1.3, so it's available now.

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
04-06-2019, 03:04 PM
Post: #31
RE: emu48 now for android-OS
Works great now, no more speed/display problems, and haptic feedback is great, congrats and thanks ! Smile

Only bug I could find, on the SX at least the calculator clock becomes quickly desynchronized with the Android clock... Anyway to readjust every time the app is back in the foreground ?
Find all posts by this user
Quote this message in a reply
04-08-2019, 11:01 AM
Post: #32
RE: emu48 now for android-OS
When emulating a 50g with 1.3 I'm not able to store something in port 2. Once I store something in port 2 and restart emu48 (even with explicit save state), the emulated calculator will perform a warmstart and everything in port 2 is lost (except for the default equation library and periodic table).
Visit this user's website Find all posts by this user
Quote this message in a reply
04-08-2019, 11:46 AM
Post: #33
RE: emu48 now for android-OS
(04-08-2019 11:01 AM)SammysHP Wrote:  When emulating a 50g with 1.3 I'm not able to store something in port 2. Once I store something in port 2 and restart emu48 (even with explicit save state), the emulated calculator will perform a warmstart and everything in port 2 is lost (except for the default equation library and periodic table).
Similar problem here.
I copied the state file and rom file (2.15) of my emulated 50g.
When i try to open it, the loaded rom is the one provided with the emulator (2.10) and of course with Port 2 empty except equation library and periodic table.
Apparently the emulator refuses to load roms not provided with the app.
Find all posts by this user
Quote this message in a reply
04-08-2019, 01:29 PM
Post: #34
RE: emu48 now for android-OS
I mentioned the Port 2 issue a few posts back. Hopefully it will be fixed soon. The ROM issue may be due to binary differences between Intel and ARM processors.
Find all posts by this user
Quote this message in a reply
04-08-2019, 03:07 PM
Post: #35
RE: emu48 now for android-OS
(04-08-2019 11:46 AM)Marco Polo Wrote:  
(04-08-2019 11:01 AM)SammysHP Wrote:  When emulating a 50g with 1.3 I'm not able to store something in port 2. Once I store something in port 2 and restart emu48 (even with explicit save state), the emulated calculator will perform a warmstart and everything in port 2 is lost (except for the default equation library and periodic table).
Similar problem here.
I copied the state file and rom file (2.15) of my emulated 50g.
When i try to open it, the loaded rom is the one provided with the emulator (2.10) and of course with Port 2 empty except equation library and periodic table.
Apparently the emulator refuses to load roms not provided with the app.

I believe the ROM file used is tied to the KML file. If you want to use a custom ROM, then use a custom KML file that points to that ROM and put both in the same directory. I haven't tried this myself, though.

You should probably use 2.10, not 2.15, with the emulator, FYI, because the only difference between the two is some ARM-specific code added for the StreamSmart, which won't work in the emulator.
Visit this user's website Find all posts by this user
Quote this message in a reply
04-08-2019, 06:07 PM (This post was last modified: 04-08-2019 06:09 PM by SammysHP.)
Post: #36
RE: emu48 now for android-OS
I opened an issue on GitHub to keep the development process more central: https://github.com/dgis/emu48android/issues/3

Btw: Is there a way to donate via Google Play (paid donation app)?
Visit this user's website Find all posts by this user
Quote this message in a reply
04-09-2019, 05:32 AM
Post: #37
RE: emu48 now for android-OS
(04-08-2019 06:07 PM)SammysHP Wrote:  I opened an issue on GitHub to keep the development process more central: https://github.com/dgis/emu48android/issues/3

Thanks for reminding me that GitHub has a place to enter issues. I'll add mine there.
Visit this user's website Find all posts by this user
Quote this message in a reply
04-09-2019, 05:41 AM (This post was last modified: 04-09-2019 07:03 AM by Chris Dreher.)
Post: #38
RE: emu48 now for android-OS
My hope is to see Emu48 at a point where I can mostly retire Droid48 Reader. Android Q is coming and the new security features will prevent Droid48 Reader from reading Droid48's files... unless updates are made to Droid48, which hasn't happened in a few years.

I've been expecting the end-of-life of my app to eventually happen given how Google has been tightening security over the past several OS releases. The last several versions of Droid48 Reader only came out to support security updates in Android.

If Droid48 and Droid48 Reader can not made compatible again for Android Q, it would be good to have an alternative I can point my users to (i.e. Emu48).

My brief initial test drive of Emu48 looked good but I'll need to poke at it a little more.
Visit this user's website Find all posts by this user
Quote this message in a reply
04-15-2019, 12:53 PM
Post: #39
RE: emu48 now for android-OS
Hello,

This is my first post here in the forum, I'm Régis Cosnier, the author of this port to Android. I'm glad to see this app so well received.

Thanks a lot to Eric Rechlin for all the faceplates, ROMs, bug reports and his amazing web site,
and to Christoph Giesselink to have found the compatibility issue with the Windows version and above all, its fantastic Emu48 that I use almost every day.

Christoph can correct me if I'm wrong, but for the port 2 issue with HP49/50, the flash is written in the ROM file (i.e.: "rom.49g").

By default when you create a new HP49/50 with the embedded readonly file "rom.49g", everything that you store in port 2 is lost just because the file "rom.49g" is READONLY.
But it works exactly like with Windows. If you can write in the ROM file, it should save the content of port 2 in the ROM file with Android too.

To save the port 2 in the HP49/50 with Emu48 for Android (it works with version 1.3):
* copy "real50g-lc.kml", "real50g-lc.png", "keyb4950.kmi", "rom.49g" in a FOLDER of your Android device,
* in the menu:
** touch "New..." to create a new device
** or touch "Change KML Script..." to change the current KML script and ROM location
* select "[Custom KML script...]"
* select the FOLDER
* pick the calculator (which should be "Eric's Real 50g (Large Cropped)")!

And because, the file "FOLDER/rom.49g" is not readonly anymore, you can save your port 2.

I hope it help.

Regards,
Régis
Find all posts by this user
Quote this message in a reply
04-15-2019, 02:29 PM
Post: #40
RE: emu48 now for android-OS
Hi Régis,

Emu48 for Android is very useful, but I have a couple of questions:

  1. What is the legal status of the ROMs included in Emu48 for Android?
  2. Would there be much work involved in porting Emu42 to Android?


Thanks!

— Ian Abbott
Find all posts by this user
Quote this message in a reply
Post Reply 




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