IIRC, the current iOS app rules don’t prohibit emulation, just downloadable code. There are games running Lua scripts inside, right? Or am I confused? (That happens.) But that does make the ROM a conundrum.
I can’t think of any theoretical reason you can’t make a new native version of Newton OS that runs old apps — it’s more or less like making a new browser that runs websites. Of course, you’d need to reimplement some fairly hard things in the undocumented native part of the toolkit, like handwriting recognition.
One nice thing about working on the ARM4 to ARM6 was how clean the assembly code is. We didn’t have a source-level debugger, so I spent many many hours debugging C code in an assembly view, and it really wasn’t too bad.
It uses a m68k CPU emulator and implements a bunch of Classic traps, just enough to run most (all) the Newton tools like they were a regular command line app.
I love the seamless integration of the HWR into the OS. And the ability to draw and write anywhere. Todays devices all go a different path.
Yeah, the C code translates quite well back and forth to the ARM code. I have tried to understand optimized Intel assembler, but failed miserably ;-D
As a novelty, I like to have Einstein running NewtonOS on my Samsung Note 10 which is now really fast and quite impressive for a machine from the 90's.
Apple has refused Einstein for iOS at least once. They don't allow emulators, especially not Apple product emulators, and they don't like the idea of downloading ROMs. Do you have any suggestion on how we could get EInstein into the app store nevertheless? Or how to get around the ROM issue?
Maybe related, I wish we could bring NewtonScript into the 64bit world, surrounded by an updated NewtonOS. There is already half of the ROM rewritten as newton-framework on GitHub. Do you think it is possible to rewrite the rest? To get a truly native framework going? How would we do that?
Anyway, I wanted to thank you for creating this huge Sudoku puzzle for us. I have a great time tracing your steps and understanding NewtonScript and how it works inside NewtonOS. I have manually disassembled thousands of lines of ROM code, and it's just great fun to see smart code.