[NTLK] Einstein Xcode project cleanup

Jake Bordens jake at allaboutjake.com
Wed Dec 3 13:14:59 EST 2014

>Same. I think Matthias's stated end goal is to get rid of MMU simulation 
>completely by writing native versions of the ROM functions that depend on 
>The main thing preventing me from making any meaningful contributions 
>toward that end is I'm not aware of any master list of those functions 
>that we could use as a to-do list. 

This is kind of what I tried to blunder together.  Looking at Symbols.txt 
and focusing on the executable areas in the 0x018400-0x3AE56C range, I ran 
each one through Matthias's cjit function.  Then I looked at Func_ calls 
and ManageedMemory calls to see which functions called other functions.

Unsurprisingly, of the 18978 symbols in this range which are likely 
functions, 18747 make calls out to managed memory. (~98%)

In this range, there are lots of functions that aren't identified by 
symbols ~383172.  I haven't investigated this but I suspect that these are 
really branch instructions to the middle of a longer function.  
Around 1900 functions can't be generated by the cjit command in the 
monitor because they use an instruction that hasn't been implanted by the 
decompiler. Biggest offenders seem to be those floating point instructions 
mentioned by Matthias and the SWI software interrupt instruction.

I was thinking that I could throw a web front end on this for people to 
walk through the ROM.  Maybe with some comments fields and such for 
developers to collaborate.  I dunno.

>(BTW -- All of the above should just be considered my opinion; I'm not 
>trying to hijack the project from anyone, just hoping to come to a 
>consensus on how best to move forward!)

Same here.  Also don't laugh at me for stating the obvious above like it 
is some sort of revelation.  It was just my way of trying to learn about 
the structure of the ROM-- and I may have made some fundamental mistakes 
that make the whole thing a complete waste of time.

More information about the NewtonTalk mailing list