[NTLK] Einstein Xcode project cleanup

Jake Bordens 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 mailing list