[NTLK] Newton ROM info (for Einstein)

Paul Guyot pguyot at kallisys.net
Sun Sep 19 07:06:20 EDT 2010


Le 19 sept. 2010 à 02:42, newtontalk-request at newtontalk.net a écrit :

> Anyway, all of my ROM images appear to have some junk header or legacy file format info in them--they are all too big. (A few of them were provided with Apple's developer tools, I believe.) But a ROM's a ROM, so I think the data must be in there if I can find right offsets and eliminate the junk.

[...]

> E1 A0 00 00 E1 A0 00 00 EB 00 00 0C 00 00 00 00 EF 00 00 11 00 71 A9 5C 00 00 52 F0 00 1C AD F0

Hello Mark,

What you have is an AIF file with proper endianness. Einstein is able to use such a file (along with the corresponding REX0 image), however the iPad port currently has a hard-coded dependency on a flat 8 MB ROM image.

You can either:

- build a flat 8 MB ROM image from your AIF file. This is pretty straightforward with a decent hex editor. AIF files have a 128 bytes header described in TAIFFile.h (and in ARM SDT doc), then a read-only area, a read-write area and a debugging area. The header will give you the size of each area. Just concatenate the read only area, the read-write area, the REX0 file and pad with zeroes to get a flat ROM image of exactly 8 MB. The REX0 file is usually called something like "Senior CirrusNoDebug high".

- modify iEinsteinViewController to use the AIF file and the REX0 file instead of a flat image. The relevant code is between lines 151 and 166. Instead of using TFlatROMImageWithREX class, you need to use TAIFImageWithREX class. Then modify the project in Xcode to put the two files (AIF and REX0) in the package.

HTH,

Paul
-- 
http://paul-guyot.com/




More information about the NewtonTalk mailing list