Re: [NTLK] Swapping ROMs?

From: Paul Guyot (pguyot_at_kallisys.net)
Date: Thu Oct 28 2004 - 02:24:16 PDT


Aux environs du 28/10/04 à 9:31 +0200, sous le titre "Re: [NTLK]
Swapping ROMs?", Johannes Wolf prit sa plus belle plume pour écrire
les mots suivants:
>I have done that several times, believe me.
>The process of deleting the COMPLETE Flash memory area, including the
>possibly installed system patches, takes place at the very beginning after
>switch-on (first time after the swap)and you do not see anything on the
>screen. This is scary because it takes quiet a while and you do not really
>know whether your Newt is alive or not.
>Finally you will (hopefully) see the welcome screen of your maiden-like Newt
>where you have to enter your personal data.
>I have not tried this with ROMs of the same language and/or version, but it
>has been reportet that this only happens in case of a difference between the
>ROM language/version.

What is slow is erasing the flash. The same thing happen when you
boot Einstein emulator.

The boot process is as follows: (simplified)

First, the NewtonOS powers every subsystem. This means powering
cards. This is why BlueTooth and WiFi cards blink during boot. It
looks for special test cards which it usually cannot find. Then it
powers them down.

Then, the OS checks if the boot is a cold boot or a warm boot. The
difference is that there are some globals in RAM that live accross
warm boots. If it cannot find these globals, it considers it is a
cold boot.

If the boot is a cold boot, the OS next checksums the ROM. This takes
a while on the Newton and on Einstein as well.

After it has checksummed the ROM, it looks if this ROM is the one
matching block 0 of the internal memory. On the Newton, it usually
is, so it continues with the boot process, powering the screen on
(this is why the screen isn't on immediatly, much later than the
blinking of cards).

If the checksum doesn't match, it looks at block 1 which is a backup
of block 0. These blocks also contain factory calibration data for
the clock, the temperature sensor and the tablet.

If block 0 and 1 don't contain valid data (I mean besides the
checksum), the Newton displays the alert saying that the Newton needs
repair. The one you can see in Einstein screen shots.

If the checksum doesn't match at all, the Newton erases everything on
the internal flash except the first two blocks. This is not a
complete erasal, but it is the deepest erasal the OS can perform.
Then it resumes the boot process, which means quickly powering the
screen.

This is why swapping the ROM boards (a German and a US one) leads to
a complete removal of the system patch and all the data on the
Newton. However, it doesn't yield to the removal of some data such as
factory-calibration data.

Paul

-- 
Ministre plénipotentiaire en disponibilité.
Baignoire à vendre.
http://www.kallisys.com/
http://newton.kallisys.net:8080/
-- 
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 : Thu Oct 28 2004 - 05:00:02 PDT