[NTLK] Einstein "Workshop" extension

Matthias Melcher 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 mailing list