[NTLK] Einstein Xcode project cleanup
jake at allaboutjake.com
Wed Dec 3 07:07:31 EST 2014
>Hooray! Maybe someday I can contribute some actually useful code. :)
Maybe I will too, someday. I spent the Thanksgiving weekend playing with
the ROM trying to learn a bit more. I loaded all the symbols into a
database and then built a dependency table to find which ROM functions
called other ROM functions. Then I did an analysis to find out which ROM
functions were pretty stand alone "neighborhoods", and obvious targets for
Matthias's simulation (Eliminate the functions that use unimplemented
instructions, MMU, and their dependents) Anyway, when I was done
(assuming what I did was correct in the least), there wasn't much left.
On the order of 100, likely seldom used ROM functions. All this work to
find out what was already known... That being able to simulate the MMU is
going to be key, and that's beyond my understanding.
>Not sure about GitHub etiquette -- Jake, do you want me to push these
>changes to your repo myself, or would you rather receive a pull request
>so you can review first?
I'm not sure about GitHub etiquette either. I'm fine with whatever. I'll
probably clone your repo the next time I need to make some changes. My
repo wasn't meant to be a true fork, only a place to put some
improvements that maybe one of the official google code contributors might
be interested in merging someday (or not). The fixes for rotation on iOS
are probably the most useful part. The official branch seems to value
backwards compatibility to XCode2 and iOS 3.2 if I recall. I'm not sure
how much of that should be maintained anymore.
Also, with the storyboards, I didn't break compatibility with he old NIBs.
The whole #ifdef USE_STORYBOARDS thing could probably be taken out if the
agreement to use storyboards was the way things should move forward. I
wanted to be easily add more chrome and other views to Einstein and the
original NIBs were very "one view" centric.
There's a feature in Einstein that lets a emulated Newton app call a
"OpenEinsteinMenu" using some sort of native instruction that I don't
fully understand. I don't think anyone's written a pkg that triggers this
code. With the newer SDKs it would probably be easier to trigger something
like that with a gesture recognizer of some sort.
I had my eye on a few little things that could be done on the iOS version,
such as setting up "CFBundleDocumentTypes" to accept packages (or even the
ROM file for initial setup) eliminating the need for iTunes file
management. I haven't gotten around to looking at that, as I've gotten
side tracked with other things.
More information about the NewtonTalk