Jonathan Zdziarski has made available the first publicly available application for iPhone OS 1.2, a port of his popular NES emulator. The application, for which source code is available, can be built in Xcode and run on iPhone 1.2 devices. Currently iPhone OS 1.2 is only in the hands of developers accepted to Apple's iPhone Developer Program and holders of leaked copies.
The NES emulator uses modified headers to build applications harnessing the full breadth of lower-level iPhone objects rather than the restrictive subset offered by Apple's official software development kit. Official third-party applications run in a sandbox that limits their access to system components and places restrictions on background operation. They make use of a set of APIs overlaid upon the lower-level APIs, which have been hidden from access via the official SDK tools but can still be accessed by applications built with unofficial toolchains.
Zdziarski told us "Source code has been committed to CVS along with new Makefiles. As you'll see, only a very minimal number of code changes have been made that are specific to Aspen. The source code as a whole is largely unchanged."