Droid48 Reader 1.7 has been released on Google Play. Click below to download it now: New Features: ‘Emu48 for Android’ emulator supported (can open *.e48 files) Open files via standard Android UI (Storage Access Framework) Bugs: Fixed bug that intermittently claimed file was corrupt (was incorrectly comparing real HP48 variables to temporary HP48 variables) News: [...]
Read MoreFAQ
This is the Droid48 Reader FAQ (Frequently Asked Questions).
When using Droid48 Reader with Emu48 for Android, it is important to first use the Save As… menu in Emu48 for Android. This saves its data using the standard Android UI. After doing this, return to Droid48 Reader, select Open File from the menu, and navigate to where the data was just saved to.
The reason for this is that Google is improving security through a feature called Scoped Storage. They have warned that apps will not be able to read other app’s data. This how Droid48 Reader reads Droid48 data. Google plans to enforce this in the next version of Android that comes after Android 10 (after Android Q). Overall, this is a good security improvement for users but it is unfortunate for Droid48 Reader‘s oldest features.
It is recommended that users switch to Emu48 for Android. If this is done before the version of Android that comes after Android 10, then users can use Droid48 Reader to help migrate their data from Droid48 to Emu48 for Android.
The reason for this is that Google is improving security through a feature called Scoped Storage. They warned that that old methods for accessing “External Storage” will be significantly restricted. This how the legacy versions of Open File and Save File work. Google plans to enforce this in the next version of Android that comes after Android 10 (after Android Q).
It is recommended that users switch to using the new Open File and Save File features. These are based on Android’s Storage Access Framework, which supports many providers such as Google Drive and more.
When using Droid48 Reader with Droid48, it is important to first use the Save memory/state menu in Droid48. This saves its data to the SD card. After doing this, return to Droid48 Reader and select Refresh Droid48 from the menu.
Droid48 Reader retrieves programs out of Droid48. It does not put programs back into Droid48.
The emulator Droid48 already provides a mechanism to load binary HP48 programs. HP48 programs can also be stored in text format which Droid48 does not natively support, but there is a work-around. To determine if a HP48 program is binary or text, open the file in any text editor. A binary HP48 program will start with “HPHP48-” followed by random data. A text HP48 program will start with something similar to “%%HP: T(3)A(D)F(.);” followed by other readable text.
Loading a binary HP48 program is easy:
- Launch Droid48 (no need for Droid48 Reader here)
- Press the Android menu button and select “Put program on stack”
- Navigate to the folder on your SD card and select the binary program
- Droid48 will display instructions for storing the program in a
VAR
menu or in port 0. Alternatively, you can just tap the emulator’sON
button make the program appear on the stack.
Loading a text HP48 program requires more steps:
- Install a program into the emulator that converts text HP48 programs in binary programs. There are many to choose from. One such program is ASCIIBIN.48 that you can download from http://www.hpcalc.org/details.php?id=3648. ASCIIBIN.48 is itself a binary HP48 program. Follow the above steps to install it into Droid48 first.
- Launch Droid48 (no need for Droid48 Reader here)
- Press the Android menu button and select “Put program on stack”
- Navigate to the folder on your SD card and select the binary program
- Click OK to dismiss the instructions. Do not worry if you do not see the program on the stack, it’s there. You can optionally tap the emulator’s
ON
button to make it visible. - Run ASCIIBIN.48 to transform the program into binary.
- Type the name of the program, surrounded by the ‘ character (ex: ‘MY.PROG’).
- Press the
STO
key
Sort of.
Droid48 Reader does not automatically read Droid48sx‘s data the way it does with Droid48. However, while Droid48 Reader can not read Droid48sx‘s RAM, it can read its port1 or port2 files if the user manually opens them.
If there is enough customer interest, full support for Droid48sx might be implemented in a future release of Droid48 Reader. Contact here.
To get data out of Droid48sx, it is a 3 step process.
- (one-time setup) Set Droid48sx to use 128KB cards in Port1 and/or Port2. Only one of these is required.
- In Droid48sx, tap the screen and then tap the gear icon to enter the Setting screen.
- Under “Port1 settings” and/or “Port2 settings”, select “128kB”
- Hit the back button
- Read the instructions on the screen. DO NOT press Ok.
- Tap the phone’s Recent Apps button to bring up the list of running apps.
- Kill Droid48sx (swipe left, swipe right, or tap the X button in the upper right)
- Relaunch Droid48sx
- Tap the
ON
button several times. The emulator’s screen will turn off then turn back on. - Save the state of the emulator by tapping the upper right corner of the emulator screen and select “Save Checkpoint”
- Save the data into either Port1 or Port2
- In Droid48sx, put the data to be saved onto the stack.
- Type in the port and name of where it will be stored. Level 1 of the stack will now be something like
:1:MYDATA
or:2:MYDATA
. The number in the name indicates whether to save the data into Port1 or Port2 with the name MYDATA. - Press the
STO
button. - Tap the screen and press the Save Checkpoint button.
- Open the port1 or port2 file.
- In Droid48 Reader, tap the 3 vertical dots in the upper right corner
- Select Open File
- Navigate into the following folders: Android, data, org.czo.droid48sx, files
- Select either the port1 or port2 file.
- Quick tap on the name of the data (ex: MYDATA) to open the contents of the backup object that contains your data.
- Long tap on the name of the data (ex: again, MYDATA). This is the actual data you are interested in.
Note on merged memory: If you have previously added the 128KB cards to both Port1 and Port2 and have merged both of them into user memory (i.e. used the MERGE command), then you need to unmerge at least one of them for this to work. To do this, execute {} 1 FREE
or {} 2 FREE
for unmerging Port1 or Port2. Further info on the FREE, MERGE, and related commands are discussed in Managing HP 48SX and 48GX Ports
No. Unlike Droid48sx, Droid48 in S mode does not support RAM cards.
If there is enough customer interest, support might be implemented in a future release of Droid48 Reader. Contact here.
PNG was implemented first because:
- PNG is widely supported across many operating systems, web browsers, and image software.
- PNG uses lossless compression to perfectly preserve the image. Most other formats are either not compressed or use lossy compression. Even when set for high quality, lossy compression tends to add a lot of artifical artifacts and noise to the typically small, two-color HP48 graphics. JPG is lossy and experimentation produced terrible looking HP48 graphics.
- PNG was easy to implement. Android has built-in support for PNG files.
Other formats might be added in the future.
Custom key assignments can be saved. Mainly, this just means using the RCLKEYS
and STOKEYS
commands.
Backing up the data
- Launch Droid48
- Type in
RCLKEYS
This puts a list of the current user keys on the stack. - Press Droid48‘s menu button and then “Save memory/state”
- Launch Droid48 Reader
- Press Droid48 Reader‘s menu button and then “Refresh Droid48″ to update the display
- Tap “System RAM” and then tap “Stack”
- Long-press on the List object at the top
- Save it as a file
Restoring the data
- Launch Droid48
- Press Droid48‘s menu button and then “Put program on stack”
- Select the file previously saved
- (optional) Tap the
ON
button to update the display - Type in
STOKEYS
HP48 files are shared as ZIP files. Microsoft Windows has built-in support for ZIP files, sometimes referred to as “Compressed Folders”. However, Windows does not implement proper support for international letters in file names that are inside of ZIP files, even though ZIP files have supported international letters since 2006. This is why some letters such as ½, √, ∑, and ≤ are converted to boxes, lines, or other incorrect letters.
To solve this issue, simply install alternative ZIP extractor programs such as PKZIP or WinRAR.
Please note that the ZIP file and its contents are fine. The problem is only how Microsoft Windows reads the ZIP file. There is no need to re-save or re-share the ZIP if you switch to using an alternative ZIP extractor program.
Technical details: ZIP files originally only supported the MS-DOS code page 437, which is the standard 128 ASCII characters with only 128 additional special characters of boxes, lines, some European characters, and a few math symbols. Later on, Unicode was invented to handle a huge number of characters invented by humans. ZIP files have supported Unicode since 2006.
Hotmail is known to change the name of attached files. Typically, just download the file, rename it to end with “.ZIP” (be sure to include the period), and the file should be able to be opened as a normal ZIP file.
Unsafe data is data that can cause an HP 48 calculator or emulator to behave strangely or crash if the data is used there. By default in Droid48 Reader, users can not save or share such data. However, since some advanced users may want this feature, saving and sharing of unsafe data can be enabled by going to the Settings menu.
Short answer: displaying x̄ is complicated. Since x-bar is used in statistics to represent a mathematical average and the word ‘average’ starts with the letter ‘a’ in English, the symbol ‘ā’ was chosen as an alternative.
Technical details: Unicode is used in modern computers to represent a huge number of the possible letters and symbols created by humans. Unfortunately, there is no single symbol in Unicode that represents x-bar. Theoretically, it is possible to construct something that visually looks like x-bar by using an ‘x’ and a symbol called an ‘overbar’. However, in practice this only works sometimes depending on the operating system, the font, and the software trying displaying the x-bar symbol. The alternative ‘ā’ was chosen since it always is consistently displayed.
Droid48Reader 1.6 Released
Droid48 Reader 1.6 has been released on Google Play. Click below to download it now: New Features: Android Pie (9.0) supported Bugs: none
Read MoreDroid48Reader 1.5 Released
Droid48 Reader 1.5 has been released on Google Play. Click below to download it now: New Features: Android 8.0 (Android O) supported via minor UI tweak. Bugs: Fixed: On Android 7.0 and up (Android Nougat and up), sharing files and images caused a crash.
Read More