Newton Year 2010 Solution

Patch

The Y2010 problem is fixed with the Patch 711000, Patch 73J186 and Patch 74J185.

Solution Outline

Solving the Newton Year 2010 Problem is achieved by applying these fixes:

  • Changing the time base for seconds based C++ functions
  • Changing the time base for NewtonScript functions
  • Replacing old C++ functions with new functions via a NewtonOS patch
  • Replacing old NewtonScript functions with new functions at startup via a NewtonOS patch
  • Ajdusting the time to fall always into a safe range
  • Fixing the entries in the system alarm soup
  • Putting safeguards in place to allow installation only on the matching OS version

Completed Steps

  • Patched C++ functions
    • FDateFromSeconds
    • FSetSysAlarm
    • FTimeInSeconds
  • Patched NewtonScript functions
    • TimeInSecondsToTime
    • TimeToTimeInSeconds
  • Registering NewtonScript functions in InitScriptGlobals
  • Time adjustment in InitScriptGlobals
  • Installation safeguard
  • Patches for MP2100D and eMate