[NTLK] Reading a Newton Flash Card on a PC

From: Matthew Hudson (hexsane_at_gmail.com)
Date: Sun Mar 20 2005 - 21:45:11 PST


I made some headway today on this using Linux kernel 2.4.28 - now
Linux has decided to stop working with the cards (I have to upgrade to
the newest kernel - which means a reinstall of Linux on the machine in
question). For others who may be using Linux (or other OS that can do
raw reads on devices (Mac OS X?)) Here are a few details:

The first 4096 bytes of each card appears to be unimportant. This is
for both a 2MB card and a 4MB card. I may be wrong and it contains
stuff that I haven't been able to decipher yet. Due to my current
driver problem I can't check any other cards (the 2 cards I was using
don't work now either).

After 16 bytes beyond the 4096 byte mark we start getting data.

32bit 'tag' -usually begins with b0
examples:
b0 00 00 17
b0 00 00 33
b0 00 00 34

The 'b0' may be flags.

After this tag is a word that has the length of the data beyond the
next 2 bytes,
This seems very consistant at this point. So following the above 'tag' you get:
16bit 'length'
16bit 'unknown'
Data of 'length'
'tag'

More interesting things:
The C strings (NULL terminated strings) are stored with a preceeding
string byte count that includes the NULL. It usually is right before
the string but can be 2 bytes back and may include multiple NULL
terminated strings. I have not looked into the unicode strings yet.

For someone wanting to play with the 2MB flash file:
http://www.gamesavants.com/newton/testing
http://www.gamesavants.com/newton/test

The first file is a raw read from the card using:
dd if=/dev/mtd0 of=testing

The second file has the longs flipped (The Newton seems to write all
of its data in 32bits)
In Linux you can look at the 2 files using:
hexdump -C test |more

For those that can dd a card for themselves I will provide the
fliplongs source after I clean it up a bit (it is indeed a quick hack,
heh).

Kinda tired now :)
If anyone finds out anything more about this let us know. I'd like to
identify those tags.

-Matt

-- 
This is the NewtonTalk list - http://www.newtontalk.net/ for all inquiries
Official Newton FAQ: http://www.chuma.org/newton/faq/
WikiWikiNewt for all kinds of articles: http://tools.unna.org/wikiwikinewt/


This archive was generated by hypermail 2.1.5 : Sun Mar 20 2005 - 23:00:02 PST