
This is the IDA loader for Newton MessagePad images. The Newton MessgePad PDA was produced by Apple and then abandoned in 1997. There are numerous debug image files for Newton MessagePad that can be found here: http://www.unna.org/unna/development/Debugger_Images/ (all archived with Aladdin StuffIt utility that).

The debug ROM image of MessagePad is basically an AIF file encoded in big-endian with linker only symbols and instruction set of StrongARM CPU. However, the default IDA loader does not work well with it because the code segment in the ROM image contains a number of MMU mapped areas for which there are debug symbols that cannot be set. This loader does take into account MMU mappings and create all the segments appropriately. This will work best with Newton MessagePad 2x00 US ROM image (http://www.unna.org/unna/development/Debugger_Images/MP2x00_US.sit), however this will also work with other images (not to the full extent). The loader also does symbol name demangling and it uses parts of GNU libiberty library covered by GPL version 2 license (source for all of them supplied).

Please, be warned that this loader does not do accurate ROM recognition and as such will generally pop-up in the IDA format window together with IDA AIF loader. So it's up to you to use it only with correct images.

It is also recommended to either disable the final autoanalysis pass (ida.cfg) or disable the "Create offset if data xref to seg32 exists" option in Kernel Options 1 in "Load new file" dialog to prevent autoanalysis to  wrongfully recognise some code as data and vice versa (and hence disable some of the symbols).

It is also recommended to copy the supplied idauser.cfg (or its contents if you already have this file) to your IDA home directory. This will allow to use full symbol names for C++ methods in functions which makes the listing more readable.

The MSVC 6 project files are supplied to build the loader. The loader was created with IDA SDK for IDA 4.6sp1 and was not tested on anything other than that. To build the loader, place it's directory in IDA_SDK_HOME/ldr directory and build it using MSVC and Release as build target. The built file will then be in IDA_SDK_HOME/bin/W32 directory.
