• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

ARM - Newton

raoulduke

Well-known member
1) This isn't about Einstein...

2) Does anyone have any thoughts on possible compatibility of any ARM-based smartphone and NewtonOS?

- That's it.  I don't really know enough to ask any other questions.  However, at some point if I ever find a really cheap Galaxy or Note, I have seriously thought about the possibility of attempting to root it with a Newton ROM purely out of curiosity.  I'm not willing to extend that same curious spirit to my Note 3.

[i apologize for the thread title; I should have made it more informative.]

 
Last edited by a moderator:

morgant

Active member
Unfortunately, beyond the similarity of the ARM processor, which despite being descendent from the one used in the MessagePads is probably a slightly different instruction set, the MessagePads and eMates also used a significant amount of custom chips as well. The problem is that the whole architecture is different, so you wouldn't be able to run the NewtonOS directly in modern hardware.

That said, Einstein emulates all that custom hardware, including MMU (memory management unit), allowing it to run under other operating systems. I don't think it has been done yet--and I could be wrong about that--but I know one plan was to support passing ARM instructions through to the processor (I believe some of the funky MMU work had to be handled first) so as to reduce some layers of emulation to make it run faster. The Einstein developers are working in removing other layers, incl. much of the ROM, so it's getting better and better.

Ultimately, Einstein really is required to run NewtonOS on other platforms, regardless of OS. I'd love to see someone develop a minimal Linux/BSD based OS install with just enough to run Einstein on it, further reducing the overhead for running NewtonOS and making it feel more like a native installation.

 

raoulduke

Well-known member
Right.  This is why I don't want to risk any expensive or interesting tech.  So two things.  1) Have you ever seen WiFi working in Einstein?  I saw a reference to it being possible, but I've never gotten it to work.  [because Einstein at the moment is way less functional than my 2100]  2) Do you know what the most compatible 'modern' ARM chip would be?  That was going to be my next line of research when I have time.

 
Last edited by a moderator:

Gorgonops

Moderator
Staff member
The short answer on CPU compatibility proper is that the Newton devices used the ARMv3 family CPUs (you'll find some ignorant references claiming that the Newton was "ARM 6", but "ARM6" isn't the same as "ARMv6". "ARM6" was a family of ARMv3 CPU... confused yet?) whilst some ARMv6 CPUs, as used in some now quite old cell phones and tablets, can be configurable to run in an "ARMv5" compatibility mode which itself is mostly compatible with ARMv3... with the *very large* caveat being "configurable to run"; an OS kernel designed for an ARMv3 isn't just going to work out of the box. (Note that there are some things supported by ARMv3 that are *not* supported however, like "26 bit" code; I have no idea if the Newton uses that, but if it does you're flat out SOL, that was depreciated after ARMv4.) ARMv7 CPUs, which you'll find in most "modern" devices, dispense with some of the more arcane features of the older architecture and need software to either to be recompiled for them or to use some heavyweight "trap and emulate" techniques for handling older code. It's possible to write a "clean" binary that'll run on all of them but it entails some pretty strict restrictions and old compiled code that predates ARMv7 is is pretty much guaranteed to break the rules. So... the short answer is that something using an ARMv5 or ARMv6 is the best fit you're going to fine for directly running Newton code but it's not a very good fit. IF one had access to the Newton source code it could undoubtedly be made to work "reasonably trivially" on a newer CPU but without it, no. (Unless the original code used the "26 bit" mode, in which case there's likely to be some major architectural changes needed and the resulting OS would almost certainly be unable to run any third party software compiled against the original Newton libraries.)

But all that aside... are you under the impression that you can just wedge a Newton binary into a modern phone and have it just magically work, setting aside entirely the question of whether the CPU is capable of executing the compiled binary code? Every single hardware device is different, do you think that the Newton OS is going to be able to magically figure out the new framebuffer hardware, digitizer, networking devices, etc? If you think that's going to work, well... before you do that, why don't you try yanking the ROMs out of a Commodore 64 and stuffing them into an Apple IIgs and letting us know how well that works? They both use 6502-family CPUs so clearly it should fire right up, no problem.

 
Last edited by a moderator:

raoulduke

Well-known member
What would happen if you physically adapted a Commodore ROM for an Apple II board? It seems the digitizer would be a second-order problem. But no, I didn't think it's work out of the box

 
Last edited by a moderator:

Gorgonops

Moderator
Staff member
I think a better question is what do *you* think would happen if one were to stick a Commodore 64 ROM into an Apple II. The answer is essentially the same as what you could reasonably expect from plopping a Newton ROM onto a cell phone, after all. Would every issue you encountered doing this be a "second order problem"? What level of technical skill do you believe would be required to work around these problems? What tools and documentation would you need to fix them, and would such fixes be trivial in nature or would they entail partial or complete rewrites of the hardware drivers and OS kernel?

Honestly I'm genuinely curious how much you know about the Newton OS (or operating systems in general) at a low level, given your apparent confidence.

 

raoulduke

Well-known member
Honestly, I'm curious to see what happens, even if it costs me an arm.  Not if it costs me an arm and a leg, though.

 

Gorgonops

Moderator
Staff member
Then by all means just take whatever random Android phone you can bum off of eBay for $10 and try dragging-and-dropping a MessagePad ROM image to it. They're all going to work equally well for this particular experiment.

 

raoulduke

Well-known member
Where would I get a $10 phone? I haven't asserted any facts. (That second sentence is a non sequitur in relation to the first.)

 
Last edited by a moderator:

raoulduke

Well-known member
So the SA-110, which is ARMv4, seems to have its most 'modern' successor in the SA-1110.  So I think I'm going to get an iPAQ.

That presupposes one can actually root it.

 
Last edited by a moderator:

IPalindromeI

Well-known member
Windows CE isn't multiuser. You always have "root," because there is no concept of it.

As for just jumping a ROM: Yeah, no. There's hardware initiliazation, hardware differences, and the fact ARM CPU cross-generation compatibility isn't good, especially for ~20 year versions.

 

IPalindromeI

Well-known member
You can flash other ROMs (in fact, that's not really needed - you can start Linux from an .exe in CE) - but the fact absolutely nothing will work (memory mappings, chips, etc) makes the task pointless.

 

bigmessowires

Well-known member
Save your $10, it's not going to work. It's not even going to fail in an interesting way. It might be good for a laugh if it could at least partly boot up or something, but it won't - you'll get a black screen and a dead phone and that's it. Sorry.

 

raoulduke

Well-known member
I had already bought it by the time you posted.  Worst case scenario, I wind up with a bigmessowires... (a cha cha cha cha)

Honestly Gorgonops, I don't know that much about the stuff underlying NewtonOS. Obviously I 'solved' the CPU issue Kobeyashi Maru style. I think the screen resolution may be supported, but I might need to use my 120's ROM image if I've upgraded it. As to the digitizer and every other hardware issue... I really don't know. I'm willing to pay $20 to find out. I'm not being sarcastic. That's my actual thought process.

 
Last edited by a moderator:

Gorgonops

Moderator
Staff member
Sounds like you've got this all figured out then. With such a brilliantly deductive and fertile mind as yours it's a wonder you bother asking questions of us ignoramuses at all.

 
Top