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.minor | OS revision (1.3+) | Original device | Size (bytes) | SHA1 Hash |
|---|---|---|---|---|
| 2.1 | 717006 | MessagePad 2x00? | 8388608 | cecc066e82e42ea697199f6fa603fdf45d9ae08e |
| 2.2 | 737041 | eMate 300? | 8388608 | c89279bfb241d91dc6eaaa5fd43e9a60279f8543 |
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.