[NTLK] Newton Ux
Matthias Melcher
mm at matthiasm.com
Mon Mar 13 16:59:19 EDT 2017
Hah, yes. I flagged this message because I wanted to give a complete answer, but forgot about it. So here is the technical POV about color.
Einstein is an emulator. It creates an environment that makes the original NewtonOS ROMs feel right at home. It does not modify the ROMs (apart from a few minor fixes). It does add drivers, but it does not modify existing code. Adding color is a major change that would require a partial rewrite of the NewtonOS. And although we have pretty complete disassembly files of the ROM, we do not have access to the source code - original or re-engineered.
We would not only have to change the ROM, but also improve the developer environment. With close to zero apps written for NewtonOS these days, I am afraid that adding color would only raise the bar by adding complexity, and by making apps run on Einstein only, but no longer on the original hardware.
There is an entirely different approach to an emulator. Simon Bell has been typing away at recreating NewtonOS to amazing detail. This makes it possible to run parts of NewtonOS directly on new hardware without going through time consuming emulation, increasing speed probably a thousand-fold (and reducing battery usage on mobile devices). The big advantage: the source code of his work is available on GitHub. We can make changes, improvements, or help him with the porting.
But there is a huge disadvantage: it is not possible for a single person to rewrite the entire NewtonOS from scratch. The source code will never be complete and never implement everything that is going on in the original.
https://github.com/newtonresearch/newton-framework
To get an idea of the task at hand: The NewtonROM is 8MBytes in size. Half of that roughly is machine code. One instruction is 4 bytes, which gives us one million instructions that want to be recreated into meaningful bug-free C code. Let's assume we want to finish the job in four years, then we would need to understand and translate 2 instructions per minute, assuming a 40 hour work week and no vacation. If we were to pay a software engineer to do this job, we'd have to pay about $400k to get a complete working ROM source code. That would still leave the same amount of NewtonScript code in the ROM that can be machine translated, but would then still not be copyright free... .
Funny thoughts ;-)
More information about the NewtonTalk
mailing list