[NTLK] Einstein "Workshop" extension
mm at matthiasm.com
Thu Mar 2 18:06:48 EST 2017
I want to make you all developers by making it as easy as possible to write and test NewtonScript code with Einstein and publish it to MessagePads and eMates.
For that, I am in the process of adding a NewtonScript developer environment into Einstein.
Once it is working, you press Command-3, choose some sample project, and off you go writing new Newton Apps.
I just commited a very first very rough layout of what I want to do to the Einstein code repository on GitHub: https://github.com/pguyot/Einstein.git , branch is called "Workshop". Target is named "macOS Einstein Workshop". Files are all inside the "Workshop/" directory including a git subtree to Newt/0. As always, code contributions are welcome.
To develop new software for the Newton requires quite a big setup. Using a
Classic MacOS emulator like BasiliskII confronts users with the particularities
of MacOS 8 and the hellish NTK and even hellisherer MPW. Using Eckhar köppens
"tntk" on OS X works well, but requires a steep command line learning curve.
The Einstein Workshop shall eventually provide a simple "it's just there"
interface to write and test small and medium size Newton apps without the need
to install any additional tools.
Even though I do know nothing about Cocoa or ObjectiveC, I managed to got a
somewhat decent basic layout for an IDE to run. Proof-of-concept style.
Newt/0 in a fork at https://github.com/MatthiasWM/NEWT0.git
compiles and runds in 64 bit mode
Newt/0 links and actually works inside Einstein. We will use Newt/0 to
compile Newton Script code and store it as a .pkg file.
I managed to move remove packages in the emulator, replace them with a new
version of that package, and run it. Basically everything required to
do little development iterations.
TODO: Newt/0 must clean up the long pointer hash on NewtCleanup()
TODO: create, load, and store a Newton project file
TODO: create, load, edit, and store Newton Script files inside the project
TODO: compile projects into packages
TODO: UI: the left field is supposed to hold a list of files in the project
TODO: UI: the top field should be a syntax highlighting editor
TODO: UI: the bottom field should output messages and allow for a Toolbox connection
TODO: write importer for NTK projects
TODO: write importer for packages and recreate the source code
TODO: add support for other package parts, fonts, books, etc.
TODO: maybe even integrate the ARM assembler and C compiler
More information about the NewtonTalk