|Column Tag:||Pascal Activists
MacApp Pascal Rides Again
Volunteers convert MacApp Pascal to generate native PowerPC code
By Brian Arnold and Guy McCarthy
In 1992, Apple stunned Macintosh developers by announcing that it was dropping MPW Pascal support from its compiler suite and from MacApp, their premier application framework. This was a shock, given that Apple had been advising developers for years to program in Object Pascal with MacApp for maximum compatibility with future technology.
MacApp developers split into two camps: those able to make the arduous transition to C++, and those who could not justify the expense or were unwilling to abandon Object Pascal. The latter group faced an uncertain future, and hopes of porting existing MacApp applications to run native on the new platform were slim.
Before the fateful announcement, Apple and Language Systems had been collaborating on the next generation of Pascal compilers for the RISC-based Macintosh. That project, however, was ultimately scrapped when Apple decided to drop multi-language support from its RISC compiler architecture. In December of 1993, development of LS Object Pascal began again, this time using source code from Apples MPW Pascal compiler as the base. It was a long and difficult task to merge the aging MPW Pascal source code with Language Systems FORTRAN technology and update it for the PowerMacintosh.
In May of 1994, the first native Pascal sample program was shown to an enthusiastic crowd of Pascal supporters at the World Wide Developers Conference. Shortly after, a grass-roots cooperative of Pascal MacApp developers was formed to investigate the possibility of porting MacApp native with the Language Systems compiler. The MacApp2PPC co-op (as it has come to be known) was organized by Brian Arnold of Lumina Decision Systems. This group of volunteers proceeded to accomplish what the corporations could not.
Over the next several months, contributors on three continents began the lengthy process of converting the entire body of MacApp 2.0.1 source code. In October, an FTP site and Web page were operational with a preliminary version of the scripts and documentation (see below). In November, key changes to the compilers runtime architecture were implemented to satisfy requirements of the group. By December 1994, all of the converted source code was compiling successfully with Language Systems beta LS Object Pascal compiler. Only runtime issues remained.
In February, the target release date of May 1995 was set to coincide with the Worldwide Developer Conference in San Jose, California. Final technical issues were addressed during a 48 hour Hack Session on March 17-19 in nearby Menlo Park. Language Systems sent two compiler engineers with Power Macintosh CPUs to aid the effort.
The Hack Session was a success. Participants (some of them operating remotely) included: Masahiro Abe, Brian Arnold, Colleen Barton, Per Bergland, Greg Branche, Larry Hamel, Steven Hopkins, Eric Jackson, David Johnston, Steve Lavagnino, Cheryl Lins, Kurt Schmucker, and Larry Tesler. Although the first native execution of a complete MacApp application was still weeks away, important technical issues, such as exception handling, were resolved. In addition, new technology such as floating palettes and other enhancements were merged into the Pascal framework.
In the weeks following the Hack Session, the co-op mounted an incredible effort to get PowerPC native MacApp 2.0.1 up to beta quality in time for the Developer Conference. Support for the Metrowerks Pascal compiler was added. Several key managers at Apple joined in and arranged a distribution license so that Language Systems and Metrowerks could include the PowerPC native MacApp 2.0.1 on their CDs. (Special thanks to Kurt Schmucker for rallying this effort!) The first developer release of MacApp2PPC shipped on CodeWarrior DR6 in May. An improved version shipped on DR7, but owing to a CD pressing glitch, the project files and documentation are wrong; the correct material is available online (see below).
About a dozen developers have already partially or completely ported their applications to PowerPC, and a few of them have already started shipping their native applications. Brian Arnold ported his own application, Analytica, in under two weeks, and expects to ship by the end of the year.
It is hoped that by January 1996, two versions will be ready: the final, stable MacApp2PPC, and a developer release of an improved version. MacTech hopes to report further details in upcoming issues. In the mean time, developers who have LS Pascal can use the netborne release of MacApp2PPC. For more information see the MacApp2PPC web pages at:
Or, for anonymous ftp:
To get on the mailing list, write to: