From bc8bd5b8212856024b45a084dc76c0c364efe541 Mon Sep 17 00:00:00 2001 From: dgis Date: Fri, 19 Aug 2022 17:18:15 +0200 Subject: [PATCH] =?UTF-8?q?Version=202.6=20(2022-08-19)=20-=20Updated=20so?= =?UTF-8?q?urce=20code=20from=20Eric=20Rechlin's=20Emu48=20version=201.64+?= =?UTF-8?q?=20that=20was=20merged=20from=20Christoph=20Gie=C3=9Felink's=20?= =?UTF-8?q?Emu48=20version=201.65.=20This=20new=20version=20improve=20the?= =?UTF-8?q?=20serial=20communication.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ReadMe.txt | 7 +- app/build.gradle | 14 +- app/src/main/assets/Emu48.htm | 170 ++++---- app/src/main/assets/ReadMe.txt | 5 + app/src/main/cpp/core/Emu48.c | 27 +- app/src/main/cpp/core/Emu48.h | 5 +- app/src/main/cpp/core/engine.c | 9 +- app/src/main/cpp/core/files.c | 52 +-- app/src/main/cpp/core/lodepng.c | 405 ++++++++++++------ app/src/main/cpp/core/lodepng.h | 108 ++++- app/src/main/cpp/core/mops.c | 11 +- app/src/main/cpp/core/mru.c | 45 +- app/src/main/cpp/core/pch.h | 1 + app/src/main/cpp/core/serial.c | 7 +- app/src/main/cpp/emu-jni.c | 14 +- app/src/main/cpp/win32-layer.c | 9 +- app/src/main/cpp/win32-layer.h | 4 + .../org/emulator/calculator/NativeLib.java | 1 + .../emulator/forty/eight/MainActivity.java | 16 +- .../main/res/menu/activity_main_drawer.xml | 4 + app/src/main/res/values/strings.xml | 2 + app/src/main/res/xml/pref_general.xml | 8 +- build.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- 24 files changed, 633 insertions(+), 295 deletions(-) diff --git a/ReadMe.txt b/ReadMe.txt index 55b7098..28d7fc5 100644 --- a/ReadMe.txt +++ b/ReadMe.txt @@ -58,6 +58,11 @@ LINKS CHANGES +Version 2.6 (2022-08-19) + +- Updated source code from Eric Rechlin's Emu48 version 1.64+ that was merged from Christoph Gießelink's Emu48 version 1.65. This new version improve the serial communication. + + Version 2.5 (2022-03-03) - Allow to load RLE4, RLE8 and monochrome BMP images. @@ -262,7 +267,7 @@ TODO BUILD -Emu48 for Android is built with Android Studio 2020.3.1 (2021). +Emu48 for Android is built with Android Studio 2021.1.1 (2022). And to generate an installable APK file with a real Android device, it MUST be signed. Either use Android Studio: diff --git a/app/build.gradle b/app/build.gradle index aed1951..622eb4d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -28,13 +28,13 @@ if (keystorePropertiesFile.exists()) { } android { - compileSdkVersion 31 + compileSdkVersion 32 defaultConfig { applicationId "org.emulator.forty.eight" minSdkVersion 19 - targetSdkVersion 31 - versionCode 24 - versionName "2.5" + targetSdkVersion 32 + versionCode 25 + versionName "2.6" setProperty("archivesBaseName", "Emu48-v$versionName") testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" externalNativeBuild { @@ -84,10 +84,10 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation 'androidx.appcompat:appcompat:1.4.1' - implementation 'androidx.constraintlayout:constraintlayout:2.1.3' + implementation 'androidx.appcompat:appcompat:1.4.2' + implementation 'androidx.constraintlayout:constraintlayout:2.1.4' implementation 'androidx.preference:preference:1.2.0' - implementation 'com.google.android.material:material:1.5.0' + implementation 'com.google.android.material:material:1.6.1' implementation 'androidx.documentfile:documentfile:1.0.1' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test:runner:1.4.0' diff --git a/app/src/main/assets/Emu48.htm b/app/src/main/assets/Emu48.htm index 685c7a4..b8d0a3f 100644 --- a/app/src/main/assets/Emu48.htm +++ b/app/src/main/assets/Emu48.htm @@ -34,7 +34,8 @@ h3 { color:red; font-size:1.1em; }

1. General

-

Emu48 is an +

Emu48 is an emulator for the Hewlett Packard HP38G, HP39G, HP40G, HP48SX, HP48GX and HP49G calculator hardware. These calculators are based on the 1LT8 Clarke (HP48SX) and on the Yorke chip.

@@ -127,73 +127,97 @@ h3 { color:red; font-size:1.1em; } in the destination file with zeros. Final notice, the convert utility shows the CRC result after the file convert and a passed ROM CRC test does not imply, that the source file - is in an Emu48 suitable format! + is in an Emu48 suitable format! To create a ROM image in a suitable + format, call the convert utility with the 2nd file argument.

- +

The general syntax of the convert utility is:

+
Convert [-p] <old-rom-dump> [<new-rom-dump>]
+

where:

+
Convert <old-rom-dump>
+

check if <old-rom-dump> is in a known source format and + report the ROM Model, the ROM Version and the result of the CRC + check. +

+

where:

+
Convert <old-rom-dump> <new-rom-dump>
+

convert the file <old-rom-dump> into the unpacked + ROM image file <new-rom-dump> valid for use in Emu48. +

+

where:

+
Convert -p <old-rom-dump> <new-rom-dump>
+

convert the file <old-rom-dump> into the packed + ROM image file <new-rom-dump> valid for use in Emu48. +

+

3.1 Creation examples

+

4. Installation

To install Emu48 you may use the installer package which contain, among the binaries, some HP48 KML scripts or just unzip the emulator @@ -239,7 +263,7 @@ h3 { color:red; font-size:1.1em; }

If you want other great scripts, visit Rechlin's great HP archive

If you are interested in writing new scripts, get the KML 2.0 - documentation from the + documentation from the authors Emu48 page.

Having selected a script, press OK to start the emulator. In most cases, when Emu48 crash after pressing the OK button, you are using @@ -462,7 +486,7 @@ h3 { color:red; font-size:1.1em; } simulation. The data transfer to the printer simulator is done over UDP. In this section you can the define the IPv4 address and the port the printer simulator is listening. A suitable HP82240B printer simulation can - be found here.

+ be found here.

8.6.3.3 Section Serial Ports