Git Product home page Git Product logo

pguyot / einstein Goto Github PK

View Code? Open in Web Editor NEW
407.0 407.0 57.0 167.23 MB

NewtonOS running on other operating systems

License: GNU General Public License v2.0

Makefile 2.07% C++ 39.36% Forth 0.42% C 35.24% Erlang 0.09% Perl 2.05% Objective-C 1.04% Objective-C++ 2.85% Fortran 0.01% Java 0.12% Shell 6.47% Assembly 8.39% Python 0.15% HTML 0.98% Batchfile 0.01% M4 0.01% CMake 0.67% Raku 0.07% Rez 0.01%

einstein's People

Contributors

chuma avatar ekoeppen avatar florin9doi avatar jake-b avatar jakemh avatar matthiaswm avatar morgant avatar panicsteve avatar pguyot avatar pnemonic78 avatar toxicgumbo avatar turbolent avatar zydeco avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

einstein's Issues

Install Einstein on Zaurus SL-5500 for noobs...

Guys, I'm sorry for OT, but can I ask you kindly for help with install Einstein on Zaurus SL-5500? I'm total noob. I don't know how to even start with this. Is there any system image file to just copy on Zaurus, or something like this?

Thank you,
Pawel

Android build instructions please?

Basic Information

  • Platform (Mac, iOS, Android, Linux, etc): Android
  • Built from source? (yes/no): I would like to
    • source branch/revision ID: master

Description of issue

I cannot for the life of me figure out how to use Android Studio to build Einstein.

Some basic instructions in the wiki would be appreciated, eg. how to open the project in Android Studio, what SDK package are required, how to "just build" an APK.

Expected behaviour

  • People can build Einstein for Android easily

Steps to reproduce issue

  1. Download Android Studio
  2. Check out Einstein code
  3. ???
  4. Profit!

MacOS package installs to /Users/matt/Applications, has no title

Basic Information

  • Platform (Mac, iOS, Android, Linux, etc): Mac OS 10.13.4.
  • Built from source? (yes/no): no
    • If no, release version: 2018.5.extr

Language & Region are set to English - Canada.

Description of issue

The app ends up installed to /Users/matt/Applications instead of the current user's Applications folder.

The installer never mentions the actual name of the application, it seems to not be set at all. This results in strange looking dialog messages such as "Do you want to move the '' installer to the Trash?"

Expected behaviour

The application is installed in the current user's Applications folder.
The installer uses the name of the application.

Steps to reproduce issue

Download 2018.5.extr Einstein.pkg from the releases section.

Double-click it from its download location to run the installer.

After installing, run Einstein (you might have to use Spotlight to find it in order to launch it), then open a terminal and run ps ax |grep Einstein and note the path to the Einstein application starts with /Users/matt

MSWindows 2018 Release

Port serial port emulation, ethernet card emulation, and user interface changes to the Microsoft Windows implementation.

If we stick with FLTK as the GUI, I could also port the Monitor.

Also, we should probably upgrade to the current Visual Studio release.

Audio truncation of various sounds

I've been looking into why the startup chime and other sounds get truncated. I haven't figured it out yet. So far, it seems like Einstein's the audio driver does not receive anything past 25600 bytes. I've confirmed this with the TCoreAudioSoundManager and a custom SoundManger class that logs the audio frames to disk.

Note that the issue doesn't occur only on boot-up. If you use NewtTest and play the boot up sound, it will truncate there as well.

Still poking but no progress yet.

Android 2018 release

Port new features to Android.

Possibly use Native Activity wrapper to remove all Java interfaces and simplify development (but lose GUI features).

iOS: making Einstein directory visible to browser

Should we have another go at getting Einstein into the App Store? Are there other emulators that we can use as a precedent? Can we modify the application that makes Einstein more palatable to the App Store? Anyone with experience out there?

Heck, I'd be willing to write a minimal default ROM with - say - a basic interpreter, and the ability to later upload the MessagePad ROM, if that helps.

Trying to run on iOS iPad Pro with Apple Pencil

Basic Information

I am trying to get Einstein to run on an iPad Pro with Apple Pencil. I have tried with both the unna debug files and my own ROM created from my MP 2100 and get the same results. On Mac OS X it works but on iOS the initial Newton startup screen is displayed and chime played but then it freezes.

  • Platform (Mac, iOS, Android, Linux, etc): iOS11.4.1
  • Built from source? (yes/no): Yes
    • If yes, source branch/revision ID:
    • If no, release version:

Description of issue

Freezes after displaying startup screen on iPad Pro. The last thing I see in Xcode is a message that it is checking the display size.

Expected behaviour

Steps to reproduce issue

Add historical releases?

The Google Code project used to have downloadable binaries for various releases, but the GitHub project doesn't seem to have any tags/releases and these older binaries are no longer linked or downloadable. I'm an archivist, so I feel there's worth in preserving these old binaries, if they still exist (you never know when someone will want to try running Einstein on older OSes/hardware).

Can't compile K lib on Fedora 25

I am getting this error when I attempt to build the K lib on Fedora 25:
C++ build.LINUX/TFileStream.cp.o
../../../K/Streams/TFileStream.cp: In member function ‘virtual void TFileStream::SetCursor(KSInt64, TRandomAccessStream::ECursorMode)’:
../../../K/Streams/TFileStream.cp:232:40: error: invalid cast from type ‘KSInt64 {aka TSInt64}’ to type ‘off_t {aka long int}’
int theErr = ::fseeko( mFile, (off_t) inPos, whence );

cc -c -o "build.LINUX/TFileStream.cp.o" -I/opt/local//include -DTARGET_OS_LINUX=1 -Wall -Wno-multichar -Wno-unknown-pragmas -W -Wfloat-equal -Wshadow -Wpointer-arith -Wwrite-strings -Wconversion -O -I"../../.." -I"../../../_Tests_" -I"../../../_Tests_/Tests" "../../../K/Streams/TFileStream.cp"

I suck at C and C++, so someone please help me. I don't understand why this is cast doesn't just work.

I've had to hack the Jamfile for K a bit because it is doing a terrible job of realizing I am not compiling for a Raspberry Pi :( Specifically I removed the -m32 flag from the compiler flags, because I am compiling on a 64-bit platform. With -m32 many more things are broken.

This is literally the only object in K lib that won't build for me.

My system versions:

Linux marceline 4.9.8-201.fc25.x86_64
gcc (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1)
glibc 2.24

Create a new OS X/macOS release?

Now that Issue #13 is resolved & closed, so we have an optimized OS X/macOS app that builds nicely, should we tag & release a version? Is there much other experimental code that we'd want to hold off doing that for?

It'd be nice to make a release and provide a downloadable binary (I'm happy to do that, or clearly @panicsteve or others can do this as well), so more people can use & test it. I don't think being signed is necessary at this point.

Adding related links and news mentions

Hello everyone.

I think it would be beneficial to have a list of links related to the Einstein project, along with mentions of the project on other sites. Where would be the best place to compile these links?

On one hand, I think adding a few relevant links to the README would provide visitors some additional context regarding the project right up front. Otherwise, we could add a page to the wiki specifically for external resources and related links.

What are your thoughts?

Android Q lacks App Menu

Basic Information

  • Platform (Mac, iOS, Android, Linux, etc): Android Q (Pixel 3a 10 (QP1A.191105.003)
  • Built from source? (yes/no): yes
    • If yes, source branch/revision ID: Master

Description of issue

App menu cannot be invoked, because no App icon appears.
The app itself runs fine, but the application menu is not visible.

Expected behavior

Expected behavior documented here: https://rkixmiller.dudaone.com/old-hardware-emulated-einstein-emulating-the-apple-newton-part-3

Steps to reproduce issue

  • Build and install the app.
  • Observe that the app launches
  • Observe that no Newton icon appears in the Android system tray
  • Attempt to invoke the App menu by any other method

Screenshot_20191209-103549

Building on pi: can’t find gcc or g++

Basic Information

  • Platform (Mac, iOS, Android, Linux, etc): Raspberry Pi 3
  • Built from source? (yes/no): yes
    • If yes, source branch/revision ID: n/a
    • If no, release version: n/a

Description of issue

Trying to install preseason for building from source. Cannot location gcc or g++ when doing sudo apt install.

Expected behavior

gcc and g++ install nicely (or at all)

Steps to reproduce issue

Read issues (open and closed), tried Google, phoned a friend, opened this issue...

Still a helpless noob so thanks for any shoves in the right direction.

—ddtm

Blank screen iPad Pro 9.7" iOS 10.3.2

I've built Einstein under XCode and run both under emulation and on my physical iOS device. In both cases, despite having a working ROM, all I can get is a blank green/black screen.

screen shot 2017-08-15 at 9 52 54 pm

2017.1 and 2017.2.pr don't work in Mojave?

I've tried running the compiled binaries in Mojave of both 2017.1 and 2017.2pre and after the preferences where I select the ROM (717006.rex) the application just crashes.
Console shows nothing other than successful authorisation for contacts.

Android Build Instructions missing pre-req

Basic Information

  • MacOS / AndroidStudio 3
  • Built from source? Attempting...

Description of issue

The instructions at https://github.com/pguyot/Einstein/wiki/Einstein-On-Android do not work, because a dependency is missing.
Upon opening the project, Android Studio reports "External Native Build Issues" and "Error Configuring"
Project will not build or run.

Steps to reproduce issue

  • Follow the documented instructions, wait for project to load, observe error

Steps to resolve

  • Close Android Studio
  • From the OSX Command Line, run brew install ninja
  • Open Android Studio
  • Re-open Project

PMainSoundDriver::StartOutput

Running Einstein against an iOS emulator (iPhone 6 or iPhone 7) with the ROM installed in the indicated directory, I get as far as the start-up screen before it halts.

The debugger highlights this line:
OSStatus err = AudioOutputUnitStart( mOutputUnit );

With the message Thread 10: signal SIGABRT in an arrow next to it.

The console dumps:
2017-01-28 08:33:37.091921 iOSEinstein[1516:83336] [central] 54: ERROR: RPCTimeout.cpp:52: _ReportRPCTimeout: Start: Mach message timeout. Apparently deadlocked. Aborting now.

I can't Continue past it, or Step Over it.

Removal of Eclipse Android build option

Basic Information

Android developers used to write code in Eclipse. A few years ago, this IDE was officially replaced by AndroidStudio. The EinsteinStudio build option is now at least at the same level as Eclipse/

Description of issue

IMHO There is no need to have two build environments for a single platform (not considering command line build options)

Request for comment

Does anyone see any reason to keep the Eclipse project around? If not, I would like to remove it from the repo by the end of May.

Build fail: Two files mentioned in Linux Jamfile not in master branch

Two files mentioned in Einstein/_Build_/Jam/Jamfile don't exist in the master branch. These can be found on lines 245-246:

COMMON_CPP_SOURCES      += "$(BASE)Emulator/JIT/Generic/TJITGenericRetarget.cp" ;
COMMON_CPP_SOURCES      += "$(BASE)Emulator/JIT/Generic/TJITGenericRetargetMap.cpp" ;

Commented out, the Einstein binary will build successfully in Ubuntu 18.04.3 minimal install, 32-bit, in VirtualBox 6.0.14 on Mac OS 10.15.1.

The build instructions I followed:

https://github.com/pguyot/Einstein/wiki/Build-Instructions

Where does the REx source live?

I just realized I don't have it, and I don't think I've ever seen it.

Does it exist in a public repository anywhere? Should it be merged into the Einstein repository?

Hanging on ROM Boot on OS X 10.11.x

I built Einstein from a fresh clone of master on OS X 10.11.6 with Xcode 7.3.1, restored my old ~/Library/Application Support/Einstein Platform/ folder & prefs, but Einstein hangs at 2% of "Booting... ROM Boot". I see the following in /var/log/system.log:

Dec 13 06:22:07 host tccd[523]: SecTaskLoadEntitlements failed error=22
Dec 13 06:22:07 host tccd[523]: SecTaskLoadEntitlements failed error=22
Dec 13 06:22:07 --- last message repeated 1 time ---
Dec 13 06:22:07 host launchservicesd[75]: SecTaskLoadEntitlements failed error=22
Dec 13 06:22:08 --- last message repeated 1 time ---
Dec 13 06:22:08 host coreaudiod[143]: SecTaskLoadEntitlements failed error=22
Dec 13 06:22:08 host appleeventsd[49]: SecTaskLoadEntitlements failed error=22
Dec 13 06:22:08 hostsharedfilelistd[520]: SecTaskLoadEntitlements failed error=22
Dec 13 06:22:12 host launchservicesd[75]: SecTaskLoadEntitlements failed error=22
Dec 13 06:22:43 --- last message repeated 1 time ---

After a few minutes:

Dec 13 06:23:39 host kernel[0]: process Einstein[18507] thread 634774 caught burning CPU! It used more than 50% CPU (Actual recent usage: 98%) over 180 seconds. thread lifetime cpu usage 90.094707 seconds, (89.387735 user, 0.706972 system) ledger info: balance: 90006195249 credit: 90006195249 debit: 0 limit: 90000000000 (50%) period: 180000000000 time since last refill (ns): 91832129582 
Dec 13 06:23:39 host com.apple.xpc.launchd[1] (com.apple.ReportCrash[18511]): Endpoint has been activated through legacy launch(3) APIs. Please switch to XPC or bootstrap_check_in(): com.apple.ReportCrash
Dec 13 06:23:39 host ReportCrash[18511]: Invoking spindump for pid=18507 thread=634774 percent_cpu=98 duration=92 because of excessive cpu utilization
Dec 13 06:23:43 host spindump[221]: Saved cpu_resource.diag report for Einstein version ??? (2012.9) to /Library/Logs/DiagnosticReports/Einstein_2016-12-13-062343_host.cpu_resource.diag

I have tried trashing my prefs (knowing they were from a much older version), as well as trashing the newton.rom.img (leaving just the newton.rom file). I believe this ROM was generated from my MP2100, but it has been years.

Abysmal performance on an iPad mini 2

I've tried a couple of different screen resolutions, but the performance is dreadful! It is an older device, sure, but it ran fine on my iPhone 5 a couple of years ago.

Eliminate the MMU

On this page, Matthias outlines his overall plan for how the MMU emulation could be eliminated:

https://github.com/pguyot/Einstein/wiki/Development-Strategy

I'd love to help work on this, and have been studying how the MMU emulation works, but I'm still a newbie.

What would really help is if you could give me one concrete example of the process of:

  1. Identifying a code section that causes allocation of an MMU page
  2. Patching it so it doesn't

I know this is a lot of grunt work, but I'm good at grunt work once I know what it is I'm looking for, and what steps I need to follow. A specific beginning-to-end example would be so helpful to me.

(Unless your plan for retargeting all the ROM code eliminates the need for doing this? In which case walk me through a ROM retargeting example. :))

How to build proper iPad version?

Guys!

I'm not programmer and compilation is dark magic for me, but I would like to have Newton OS on my iPad Mini (1g). How can I do this?

Cheers,
Pawel

Instant Launch

Feature

On launch, Einstein should (optionally?) continue the emulation where it was interrupted when Einstein previously quit. All platforms!

Reasoning

Einstein, particularly on mobile devices, is hard to use regularly, because launching Einstein triggers the somewhat lengthy restart/boot sequence of NewtonOS. If NewtonOS would instantly continue where it left off, it could be used much more easily.

Implementation

Even though Einstein does have functions to make a snapshot of the current emulation state, they don't seem to work anymore. Finding the bugs may be quite time consuming, an it is still not sure if that would enable this feature.

I suggest that we extend the function that quits emulation power off the emulator first and then saves, next to the Flash memory, the RAM contents and basic current state. When Einstein launches the next time, it verifies that the saved state is plausible, restores the state, then powers the emulator back on.

Also, there should be an option in the preferences to disable this feature.

There should be an EInstein menu item to trigger a reset at any time during emulation.

Lastly, if any settings are changed that require a reboot, the feature should be disabled for the next launch.

Issue with compiling for Android

I tried compiling Einstein for Android and I ran into some issues of "TSymbolList.h" not existing. I've included the Terminal output below:

Last login: Sat Oct 3 17:22:38 on ttys000
eisnerguy1s-MacBook-Pro:~ eisnerguy1$ cd /Users/eisnerguy1/Applications/Einstein/Einstein-master/Build/EclipseAndroid
eisnerguy1s-MacBook-Pro:EclipseAndroid eisnerguy1$ /Users/eisnerguy1/Downloads/Updates/android-ndk-r10e/ndk-build
[armeabi] Compile++ arm : einstein <= AndroidGlue.cp
jni/../../../app/AndroidGlue.cp: In function 'void Java_com_newtonforever_einstein_jni_Native_setNewtonID(JNIEnv
, jobject, jstring)':
jni/../../../app/AndroidGlue.cp:281:37: warning: format '%x' expects argument of type 'unsigned int_', but argument 3 has type 'KUInt32* {aka long unsigned int_}' [-Wformat=]
sscanf(cID, "%08x%08x", &id0, &id1);
^
jni/../../../app/AndroidGlue.cp:281:37: warning: format '%x' expects argument of type 'unsigned int_', but argument 4 has type 'KUInt32* {aka long unsigned int_}' [-Wformat=]
[armeabi] Compile++ arm : einstein <= TAndroidApp.cp
[armeabi] Compile++ arm : einstein <= TAndroidScreenManager.cp
[armeabi] Compile++ arm : einstein <= TARMProcessor.cp
jni/../../../Emulator/TARMProcessor.cp:43:25: fatal error: TSymbolList.h: No such file or directory
#include "TSymbolList.h"
^
compilation terminated.
make: *_* [obj/local/armeabi/objs/einstein/Emulator/TARMProcessor.o] Error 1
eisnerguy1s-MacBook-Pro:EclipseAndroid eisnerguy1$

Can we pre-patch the Year 2010 bug?

This would make Einstein more usable out-of-the-box. Since the existing fix is a ROM patch, I assume we could do something similar at runtime? I have no idea how the patch works but I bet one of you does. :)

First byte is eaten in user mode networking

The first byte of the first packet, if sent immediatly after the connection is established, is eaten somewhere in the network stack.

This screen shot shows the test procedure. The Newton is running Tool Time-2 sample code, configured in echo mode and connecting to nc(1) running as a server on the host.

inetechobug

The Newton should echo the P in Please echo the echo. When trying with a physical MP2100 with a wifi card over an unencrypted network, the Newton displays the full series of bytes and echoes back the full sentence. I do not have a physical NE2000 to test, so I am not ruling out a bug in the NE2K driver.

Should we use the issue tracker as a forum?

Event though the Newton Mailing List is pretty forgiving about geek talk, would we bore readers by publishing and discussing Einstein inward on that list?

Steven, Grant, and Paul started this discussion via private mail. Grant suggested that we use the issue tracker as a make-shift forum. Sp I decided to test the feasibility right here and now.

So here is my first entry. I will publish a direct link to the group, and everyone can test himself if this makes sense.

icon

Y2026 and beyond

There are additional Newton date bugs on the horizon...

Eckhart mentions one occurring in 2026: http://40hz.org/Pages/Mottek:%202016-02-14

And I could've sworn I read a post on NTLK that there was a trickier one (32-bit overflow?) in 203X.

Are these patchable the same way as 2010 was, by moving the epoch date forward (at the possible risk of corrupting data prior to the change) or are the future date bugs more complicated? Anyone know?

Don't want them sneaking up on us!

Standardize application identifier across platforms

Basic Information

  • Platform (Mac, iOS, Android, Linux, etc): All
  • Built from source? (yes/no): yes
    • If yes, source branch/revision ID: Any

Description of issue

Einstein builds do not use a consistent application identifier across target platforms. The current state of affairs as far as I can tell is:

  • Android: com.newtonforever.Einstein
  • OS X: com.kallisys.einstein
  • iOS: com.stevenf.einstein
  • Windows: no clue if there is such a thing
  • Linux:
    • Currently, FLTK preferences are stored with vendor = "robowerk.com", appName = "einstein"
    • In my Linux-FLTK branch I have changed this to vendor = "kallisys.net", appName = "einstein"
    • In my Flatpak packages (being tested) I have been using net.kallisys.Einstein as the app-id

Expected behaviour

That the application's identifier be consistent across platforms as much as possible, within the identifier guidelines for each platform.

Recommendation

That we pick one domain name to act as the "vendor", and one word to act as the "product", and use those to create consistent app identifiers.

eg, if vendor = exampledomain.com and product = Einstein then com.exampledomain.Einstein would be the three-part app identifier for Android, OS X / iOS, and Linux.

Compilation fails for Linux and Android

Basic Information

  • Platform: Android, Linux (maybe also others)
  • Built from source?: yes, fee2cb3

Description of issue

Builds for both Linux and Android fail due to missing TVoyagerSerialPort.cp:

Linux:

jam  -starget=linux -sjittarget=generic -sC++FLAGS="-I../../libffi-linux/include -L../../libffi-linux/lib" -sCCFLAGS="-L../../libffi-linux/lib"                        1 ↵
don't know how to make ../../Emulator/Serial/TVoyagerSerialPort.cp
...found 522 target(s)...
...using 73 temp target(s)...
...can't find 1 target(s)...
...can't make 4 target(s)...
...skipped TVoyagerSerialPort.cp.o for lack of ../../Emulator/Serial/TVoyagerSerialPort.cp...
...skipped libeinstein.a for lack of libeinstein.a(TVoyagerSerialPort.cp.o)...
...skipped EinsteinTests for lack of libeinstein.a...
...skipped einstein for lack of libeinstein.a...
...skipped 4 target(s)...

Android:

Build command failed.

Error while executing process /home/bastian/Android/Sdk/cmake/3.6.4111459/bin/cmake with arguments {-H/home/bastian/Downloads/Einstein/_Build_/AndroidStudio/app -B/home/bastian/Downloads/Einstein/_Build_/AndroidStudio/app/.externalNativeBuild/cmake/release/armeabi-v7a -GAndroid Gradle - Ninja -DANDROID_ABI=armeabi-v7a -DANDROID_NDK=/home/bastian/Android/Sdk/ndk-bundle -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/home/bastian/Downloads/Einstein/_Build_/AndroidStudio/app/build/intermediates/cmake/release/obj/armeabi-v7a -DCMAKE_BUILD_TYPE=Release -DCMAKE_MAKE_PROGRAM=/home/bastian/Android/Sdk/cmake/3.6.4111459/bin/ninja -DCMAKE_TOOLCHAIN_FILE=/home/bastian/Android/Sdk/ndk-bundle/build/cmake/android.toolchain.cmake -DANDROID_PLATFORM=android-15 -DCMAKE_C_FLAGS=-fexceptions -Wno-multichar -DTARGET_OS_ANDROID=1 -O3 -DCMAKE_CXX_FLAGS=-fexceptions -Wno-multichar -DTARGET_OS_ANDROID=1 -O3}
 (PROJECT) 
-- Check for working C compiler: /home/bastian/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/clang
-- Check for working C compiler: /home/bastian/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /home/bastian/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++
-- Check for working CXX compiler: /home/bastian/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
CMake Error at CMakeLists.txt:110 (add_library):
    ../../../Emulator/Serial/TVoyagerSerialPort.cp
  Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp
  .hxx .in .txx
CMake Error: CMake can not determine linker language for target: native-lib
-- Generating done
-- Build files have been written to: /home/bastian/Downloads/Einstein/_Build_/AndroidStudio/app/.externalNativeBuild/cmake/release/armeabi-v7a
Build command failed.

Expected behaviour

The build commands succeed

Steps to reproduce issue

Follow the Build Instructions

Android: app runs, but service is crashing

Compiling using Android Studio, Einstein runs, but the Service that is needed to access the menu and settings and to keep Einstein alive in the background, crashes. This gives an unexpected dialog box "Einstein crashed" while the app is actually starting just fine.

crash affecting only Release build

This crash occurs consistently when clicking Start in the Release build on OS X 10.11, while the Debug build works fine.

Process:               Einstein [14864]
Path:                  /Users/USER/Library/Developer/Xcode/DerivedData/Einstein-hknfkwjtvxhgkneceihskikdkfuj/Build/Products/Release/Einstein.app/Contents/MacOS/Einstein
Identifier:            com.kallisys.einstein
Version:               2012.9
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           Einstein [14864]
User ID:               502

Date/Time:             2016-01-01 11:10:53.219 -0500
OS Version:            Mac OS X 10.11.2 (15C50)
Report Version:        11
Anonymous UUID:        B945AFE5-745D-0629-D82F-9BAC5A94F631

Sleep/Wake UUID:       DCAB53A7-2A66-4EF7-A545-F4E1EAB38451

Time Awake Since Boot: 19000 seconds
Time Since Wake:       1100 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000008
Exception Note:        EXC_CORPSE_NOTIFY

VM Regions Near 0x8:
--> 
    __TEXT                 000000010d12d000-000000010dbb3000 [ 10.5M] r-x/rwx SM=COW  /Users/USER/Library/Developer/Xcode/DerivedData/Einstein-hknfkwjtvxhgkneceihskikdkfuj/Build/Products/Release/Einstein.app/Contents/MacOS/Einstein

Application Specific Information:
Performing @selector(saveOrStart:) from sender NSButton 0x7faa68f13960

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.kallisys.einstein           0x000000010d132385 TSymbolList::GetSymbol(unsigned int, char*, char*, int*) + 51 (TSymbolList.cp:677)
1   com.kallisys.einstein           0x000000010d9592c7 TMacMonitor::GetSymbol() + 71 (TMacMonitor.mm:144)
2   com.kallisys.einstein           0x000000010d95d0b1 -[TMacMonitorView updateWithMonitor:] + 816 (TMacMonitorView.mm:550)
3   com.kallisys.einstein           0x000000010d958d78 -[TCocoaMonitorController update] + 45 (TCocoaMonitorController.mm:127)
4   com.kallisys.einstein           0x000000010d138b71 -[TCocoaAppController startEmulator] + 1949 (TCocoaAppController.mm:457)
5   libsystem_trace.dylib           0x00007fff9524f07a _os_activity_initiate + 75
6   com.apple.AppKit                0x00007fff8da2051d -[NSApplication sendAction:to:from:] + 460
7   com.apple.AppKit                0x00007fff8da35486 -[NSControl sendAction:to:] + 86
8   com.apple.AppKit                0x00007fff8da353b0 __26-[NSCell _sendActionFrom:]_block_invoke + 131
9   libsystem_trace.dylib           0x00007fff9524f07a _os_activity_initiate + 75
10  com.apple.AppKit                0x00007fff8da3530d -[NSCell _sendActionFrom:] + 144
11  libsystem_trace.dylib           0x00007fff9524f07a _os_activity_initiate + 75
12  com.apple.AppKit                0x00007fff8da33932 -[NSCell trackMouse:inRect:ofView:untilMouseUp:] + 2693
13  com.apple.AppKit                0x00007fff8da88d58 -[NSButtonCell trackMouse:inRect:ofView:untilMouseUp:] + 744
14  com.apple.AppKit                0x00007fff8da3205c -[NSControl mouseDown:] + 669
15  com.apple.AppKit                0x00007fff8dfdfd1d -[NSWindow _handleMouseDownEvent:isDelayedEvent:] + 6322
16  com.apple.AppKit                0x00007fff8dfe0fad -[NSWindow _reallySendEvent:isDelayedEvent:] + 212
17  com.apple.AppKit                0x00007fff8d939735 -[NSWindow sendEvent:] + 517
18  com.apple.AppKit                0x00007fff8d935e49 -[NSApplication sendEvent:] + 2540
19  com.apple.AppKit                0x00007fff8d86903a -[NSApplication run] + 796
20  com.apple.AppKit                0x00007fff8d7eb520 NSApplicationMain + 1176
21  libdyld.dylib                   0x00007fff97c485ad start + 1

Android: app permissions mess

When launching Einstein after a fresh install, it just dies without an error message. What seems to be happening - at least in the emulator - is no support for reading or writing the Android drive. Also, after fixing this in the Android app settings, Einstein complains about a missing ROM and Rex, even tells you where it is expecting those files, but does not tell us what the filenames are supposed to be (717006.rom, Einstein.rex).

Hanging at end of startup sound on iOS simulator

Basic Information

Boots to Newton logo splash screen, then hangs playing end of startup chime.

Description of issue

Boots to the Newton logo splash screen and plays the startup chime, but hangs at (what I guess is) the last output buffer of the sound, repeatedly logging PMainSoundDriver::OutputIntHandler to the Xcode console.

The simulator continues to emit a low buzzing/droning sound through the audio output, which I'm guessing is the last buffer of the startup chime playing on a loop.

Expected behaviour

Startup sound should finish playing, boot should continue to backdrop / setup assistant.

Steps to reproduce issue

I pulled the current master (5714557) and built for iOS, ran on iPhone X simulator.

This worked until fairly recently, so I wonder if it was one of the recent commits related to sound. If necessary, I can try rolling back to earlier commits to see if it starts working again.

Shift exponent 32 is too large for 32-bit type 'KUInt32'

This may not be an actual problem in the real world (it seems to run fine on all our supported platforms), but I'm reporting it since it was flagged by the Undefined Behavior Sanitizer on macOS.

In line 413 of Emulator/JIT/Generic/TJITGeneric_Macros.h, when amount has the value 32, it attempts to shift the 32-bit KUInt32 theResult right by 32 bits.

The sanitizer flags this as "Invalid shift exponent" with the explanation "Shift exponent 32 is too large for 32-bit type 'KUInt32'".

There's a similar situation in line 389 of Monitor/UDisasm.cp where a 32-bit value is shifted left by 32 bits, when rotate has the value 0, but this line of code is only generating text for the monitor, and is not part of the emulation.

REx Driver 2018 release

Reinstate the build process for the ROM Extension (REx) that contains the drivers that link NewtonOS to Einstein. Recompiling the REx would allow us to integrate the network drivers and possibly another NewtonScript app that allows setting Einstein preferences from within NewtonOS (so mobile versions don't need to provide a native UI).

Ios11.1

Einstein won’t launch under iOS 11.1. Can someone fix it?

Linux 2018 release

Porting the GUI code from MSWindows to Linux as well (the command line version must remain). Port serial and network emulation.

Using NewtTest 1.1i outside of the Einstein REX

Does anyone know if the updated version of Frank’s NewtTest package currently installed as part of the Einstein REX will work on a normal Newton device.

(I guess I could download it and give it a try.)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.