CleanROMImages

A list of known **clean** ROM dumps from Newton OS devices.

ROM dumps created from running Newton OS devices perform reads through the MMU. This is true regardless of the method used: NewtsBug, Hammer or purpose-built packages. The MMU can mask pages of the ROM address space with RAM pages, meaning the data is not a true representation of what is contained on the hardware ROM chips.

For the purposes of emulation with Einstein, a ROM image obtained from a running device will work perfectly.

This page is for pedantic preservation purposes :)

Known Clean ROM Images

This is a list of **clean** ROM dumps; they have been made by reading the ROM chips directly, using NewtonROMReader?.

OS major.minorOS revision (1.3+)Original deviceSize (bytes)SHA1 Hash
2.1717006MessagePad 2x00?8388608cecc066e82e42ea697199f6fa603fdf45d9ae08e
2.2737041eMate 300?8388608c89279bfb241d91dc6eaaa5fd43e9a60279f8543

Unclean ROM Image differences

On a Newton OS 2.1 device, a RAM page is always mapped by the MMU over 0x1000-0x13FF. The 4-byte word at the end of this page (0x13FC-0x13FF) is all 0 values in ROM, but the MMU-mapped memory page has different values here. Some bits in this word are debugging flags that can be set and cleared through Hammer or Newtsbug.

Zeroing out this word in an unclean ROM image should "convert" it to a clean image; that is, its SHA1 hash should then match one of the above values.