Re: [NTLK] Interesting platform, maybe

From: matthiasm <mm_at_matthiasm.com>
Date: Mon Aug 25 2008 - 11:15:23 EDT

On 24.08.2008, at 20:48, Steven Frank wrote:
>
> On Aug 24, 2008, at 11:10 AM, Simon Stapleton wrote:
>
>> I'd be very interested in a port of Einstein that uses a stripped
>> down
>> Linux kernel and DirectFB. Yeah, I know, I should get to it...
>
> That reminds me! After getting a defective board replaced, my Gumstix
> LCD system now boots:
>
> http://www.flickr.com/photos/stevenf/2792813949
> http://www.flickr.com/photos/stevenf/2792813969
>
> You can flash it with a root fs that supports DirectFB. Now all we
> need is the Einstein port. Any volunteers? :)

Very cool!

There are a few ways to get NewtonOS running on any or all of these
devices:

- Emulation: Einstein is great because it works. We can accelerate it
x2 without problems, but it will remain an emulator. Even replacing
often used function with native code will give us no more than another
factor of two, because MMU emulation is as expensive as CPU emulation.
This will bring us down to approximately 25:1 instructions. So running
at full MP2100 speed requires a 160MHZ * 50 = 4GHz CPU - and it will
be using at least 25 times the battery power. The device would behave
like a Newton in all aspects and even run applications containing
machine code.

- Rewrite: we do know the complete NewtonOS API (the names and
parameters of all calls, many of them documented). We could rewrite
the entire ROM from scratch. The result could be a replacement for
WindowsCE by reflashing the ROM, or a user mode program. However the
current ROM has about 1.5 Mio instructions. It would likely take two
years if we had ten fulltime developers ;-). Still only pure
NewtonScript applications would run. Everything containing machine
code will (most likely) not. On the plus side though, we would own
everything, and the OS would be extremely efficent on todays hardware
(1:1 or even better).

Simon Bell has done exactly this for large amounts of the Newton OS
already with an amazign success, but he has spent years on it, and he
still has rewritten code for only a fraction of the API.

Newt/0 is a similar project, reimplementing the compiler and
interpreter.

- Recompile: now we are entering lawyer's territory. The Newton ROM is
still copyrighted and contains Apple trade secrets. Taking the ROM,
disassembling it and reassembling it and calling it our own is illegal
for sure. But there is a connection between emulation, just-in-time
compilation, and translation. It could be argued that a translated ROM
is leagl as long as the user of the translation still needs the
original ROM with it to run. On the plus side is a NewtonOS emulator
that runs at 5:1 or better on any machine. Users would still have to
legally own and provide access to an original ROM (which I can happily
live with). But we would have to come up with a program that
automatically translates the ROM into "C" or "C++" which can then be
translated back into a running application or OS.

- I should mention that all of the above can happily be mixed if
organized correctly. It would be imaginable to run Einstein with some
function machine translated while other functions are replaced with
hand-written code for best performance. At the point where we replace
all MMU interaction with new code, the MMU emulation can be thrown
out, again doubleing the speed of the emulation.

Any input greatly appreciated. Because I do need new hardware ;-)

  Matthias

----
http://robowerk.com/
==================================================================== 
The NewtonTalk Mailing List - http://www.newtontalk.net/
The Official Newton FAQ     - http://www.splorp.com/newton/faq/
The Newton Glossary         - http://www.splorp.com/newton/glossary/
WikiWikiNewt                - http://tools.unna.org/wikiwikinewt/
====================================================================
Received on Mon Aug 25 11:46:16 2008

This archive was generated by hypermail 2.1.8 : Mon Aug 25 2008 - 12:30:01 EDT