Newton Bowels Project
One of the major problems of NewtonOS is that Apple documentation isn't complete. The first reason is that
the C++ tools were published lately and they are derived from the system sources. Consequently, many APIs that
are required for some software, are unavailable.
Another reason is that, as usual, there is a non documented part reserved for future versions of the OS.
Before Apple releases NewtonOS 3, it seems useful to document everything we find and to show how the
system works.
This idea is the root of the Newton Bowels project (so called because of the
BowelsOfTheMemoryMgr).
It is about sharing sample codes, tools, documenting system functions, explain some mechanisms.
I host, besides the papers and the tools I wrote, everything I've been sent for that project.
Don't hesitate to send me papers to add them to the list below.
|
How To Build a Newton Font on MacOS X
|
|
This document explains how to build a font for NewtonOS on MacOS X. On the contrary to other documents of this page, it doesn't require any particular technical skill.
|
|
Archive for MacOS X
|
|
|
PDF only
|
|
|
Events and NewtWorld
|
|
This document explains how to communicate with the NewtWorld task (where NewtonScript code is executed) by the means of events.
It also describe the subtleties of virtual methods on NewtonOS 2.0. The archive includes a sample code.
|
|
MacOS archive
|
|
|
Text only
|
|
|
Drawing directly on the screen
|
|
This document was written by Brian Parker. It explains how to draw directly in the screen's
memory buffer on the MP2x00 for very fast graphic operations.
|
|
HTML Page
|
|
|
Getting the pen's position
|
|
This document was written by Brian Parker. It explains how to use the PenPos function
to get the position of the stylus in NewtonScript and in C++.
|
|
HTML Page
|
|
|
Using The Name Server
|
|
This tech note explains how to use the name server, especially to share global data between tasks.
The MacOS archive includes a sample code (GetCardInfo).
|
|
MacOS Archive
|
|
|
Text only
|
|
|
Virtual Functions and Page Fault Mechanism
|
|
This technote explains how to have virtual methods with the -autoCopy option of the Packer Tool.
The MacOS archive includes source code for the assembly function to use and its C++ declaration.
|
|
MacOS Archive
|
|
|
Text only
|
|
|
Structure of the Newton Package File Header
|
|
This paper has been written by Victor Rehorst. It describes the first bytes of the Newton package files.
It has been written from the Newton Formats manual but it is based on an offset approach instead of a C-structure approach.
|
|
Text only
|
|
|
Docking Protocol
|
|
This paper describes the protocol used between the dock (OS 2.1) or connection (OS 2.0)
application and the desktop computer. Author is unknown and it has been sent to me by Sascha
Bendinger
|
|
MacOS Archive
|
|
|
Zip Archive
|
|
|
Text only
|
|
|
Forks in NewtonScript
|
|
This paper explains how to have cooperative multitasking with NewtonScript using the Forks
functions. The MacOS archive includes a sample code (NTK Project).
|
|
MacOS Archive
|
|
|
Text only
|
|
|
Storage on NewtonOS
|
|
This paper explains how the storage works at the lowest level. It especially analyzes the TStore interface.
|
|
Text only
|
|
|
Dictionary Parts
|
|
This article explains how to build a dictionary part in a package. It also discusses the advantages of this
method over the documented way to add a dictionary. The MacOS archive includes a library to handle DictInfo structures
and the source for DictFr as a sample code.
|
|
MacOS Archive
|
|
|
Text only
|
|
|
Rough Disarm
|
|
This MPW Tool allows to disassemble ARM code like the NewtonOS ROM. The MacOS archive includes both the source and
the binaries.
|
|
MacOS Archive
|
|
|
Source only
|
|