|
![]() |
![]()
• Seahaven Towers
• Tome
• Editor
|
![]() Contessa, the Guildhall IDE
Contessa (named for Contessa Ada Lovelace, widely regarded as the first computer programmer) is a Guildhall Tools applet. It serves as the IDE (Integrated Development Environment) for Codex applets. Codex is the name I gave to Guildhall's built-in pseudo compiler. It parses a subset of the C++ programming language to produce machine independent pseudo code which Guildhall can interpret to drive various elements of the Guildhall environment, much as would any applet compiled from C++ into true object code. Codex is already reasonably functional. It can be launched from the Contessa console, whereupon functions can be declared and statements executed. The pseudo machine for Codex is built into Guildhall and has automatic access to a large portion of Guildhall's APIs (Applet Programming Interfaces). Extending that access is as simple as adding no-op macro defines to Guildhall's C++ headers and running a Contessa tool to rescan those macros and recreate the binding files. When those binding files are next compiled as part of Guildhall, Codex gains access to the additional API calls. Contessa will eventually provide a means to create Codex applets outside its console environment. The Tome applet will be used to create and modify a new applet's source, whereupon a Contessa console tool will gather project elements together and produce a special folder type called a parcel that will contain both the pseudo code to be interpreted as well as resources used in the applet's operation (similar to how bundles are used on Mac, but located in a Guildhall archive and not on the host file system). Hand-coded parcels already run all of the applets available within Guildhall, serving only to launch the document handler. But the same architecture can do a lot more. Contessa will enable that. Contessa also currently includes a 68K emulator. I built one many years ago but somehow lost the source to it. More recently I built another, the idea being to run original Mac applications without access to a Mac ROM by emulating the 68K's A-line traps, routing them instead to Guildhall's toolbox. The emulation part of that is working okay, but the ROM emulation part is daunting. No surprise there. But it would be awesomely cool to be able to just run some of those old applications on Guildhall's desktop. Heck, if I could get Apple's MPW running I could even create new apps. Note that this ambition did in fact help define the structure and function of Guildhall's archive file system, which file system manages resource forks just as Classic Mac did. So the architecture to satisfy the ambition is there. Some implmentation required. Next Steps
Notes According to Wikipedia [Ada Lovelace], the image of the Contessa is a public domain watercolor portrait of Ada Lovelace by Alfred Edward Chalon around 1838. Only a portion of that work is used herein. |