Newton Year 2010 Solution

Patch

The Y2010 problem is fixed with the [Patch 711000](/Pages/Patch 711000), [Patch 73J186](/Pages/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