[NTLK] Einstein news?
stevenf at panic.com
Wed May 25 12:25:30 EDT 2016
> On May 18, 2016, at 11:38 AM, Matthias Melcher <mm at matthiasm.com> wrote:
> Thanks for the nice words. No news from my side though: my job again keeps me really busy, which stalled my hardware and software experiments.
> My brain wants to attack the ROM code quite frequently, but I just can;t get the lever in to reverse all that ARM code to C++ again. The code is pretty much completely unoptimized and straight forward, it should not be so freaking difficult - until I hit the MMU restrictions again - aaaaaaaah! ;-)
I did a little spring cleaning of the Mac & iOS builds, since I still am not at a point at which I'm knowledgeable enough to meaningfully help with the deeper stuff.
- Removed unused Info.plists and libraries to prevent confusion for people new to the codebase
- Consolidate Info.plists for all targets under Resources/
- Rename "Xcode6" build folder to simply "Xcode", since Xcode is just going to keep getting new versions
- Applied Xcode 7's recommend build setting changes
- Remove TNativeCalls and ffi code from the Xcode projects since they are no longer being used by it
- Fixed a crash that would occur on launch of non-debug builds due to a null pointer to TSymbolList
Things I noticed:
- The NIBs version of the iOS build will crash on launch if the Newton ROM is not installed in the expected location on the device.
- The Storyboards version of the iOS build does not have this issue, so maybe this should become the "official" iOS build. It seems stable.
Items for discussion:
- Should we remove the Nokia / Maemo-related folders from the project, since it is a dead platform?
- Same question for OpenZaurus-related items?
I continue to read and study the code whenever I can. I have a slightly better understanding now of the JIT and MMU than I did earlier. It seems like most of the work that needs to be done is not in Einstein at this time, but in Matthias' static analysis / decompiler project "Albert". I simply do not have the ARM chops at this time to contribute much to it yet, but I will read and study the code.
It's really cool that we can re-assemble a working ROM from Albert's disassembly. I know the end goal is to have it produce compilable, relocatable C code. I'd love to help with this, but what I'd need the most is a complete step-by-step tutorial of decompiling and single ROM function to native code and patching it back in at runtime in Einstein. I just don't know what the process is, and I'm having trouble figuring it out from the existing documentation.
More information about the NewtonTalk