[NTLK] Einstein Xcode project cleanup
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