Why the best Newtons could die next year

There is a bad bug in the handing of time for Newton OS 2.1, which is used on most Newtons still around today. Details of the bug have been collected on the 40hz site. There is one ‘fix’ that doesn’t completely work. What is needed is a real system patch, and those are just not possible anymore, not without massive help from Apple itself.

Here is a posting back in 1999 from John Arkley, newton engineer about creating system patches. This collection was forwarded on the Newton Talk list by Jon Glass, who collected these.

I’ve edited for spelling…..

Q. What would I need to do to make my code an OS patch that others could apply?

Well i am not sure how you have been doing this development but i assume you did it with the Newton C++ Tools for Macintosh? or do you just have a prototype algorithm running on a desktop? or did you use NTK? I suggest you just ship a complete app and forget about trying to make a Newton OS “patch”. Why? A Newton System Update or “system patch” is a complex intermixed collection of MMU tables, 40-70 assembler “fixes” all packed together in a collection of ordered 4K RAM pages. Building and testing a System Update is complex and expensive process and no single engineer could do it. The Newton OS only supports ONE system patch, so ALL the existing “fixes” and any new ones have to be combined together to combined to create the “next” System Update. Newton OS is unusual in this reqard; it like only allowing ONE “init” in the MacOS instead of a whole folder full of “Extensions”. You can’t do this “as a system patch”; Apple is the only one who has the tools to build a new System Update and all the engineers who know how to do it don’t work for Apple any more (me for example) although _maybe_ there is one remaining employee who could eventually do a new one given enough time. A new NewtonScript GC is not very likely something you could complete and test without the ROM sources. The performance of MANY MANY things in the OS change if the GC is messed with and you probably wouldn’t find out just how sensitive the SYSTEM is to changes. Making GC “faster” probably would have negative side effects you couldn’t anticipate and it would thus break all kinds of stuff. Having GC happen at the wrong time can have just a bad an effect on the Newton OS as changing it speed would. If you can engineer a new GC for newton OS without documentation and source, i suggest you should be working as a programmer for someone who will pay you well for your effort.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.