…memory.
I pulled this off with one of the dirtiest technological tricks in my inky-black hacking career. There was no compiler for the Macintosh which generated 32 bit code, permitted data segments larger than 32K, or compiled in-line floating point instructions: all prerequisites for AutoCAD. But, I noted, at the very same time we were shipping AutoCAD on the Sun 3, which used the very same Motorola 68020 microprocessor as the Macintosh II. So, I simply compiled all of AutoCAD except for the display, keyboard, mouse, and file I/O drivers on the Sun, linking them into one huge relocatable file which I called “The Titanic”. Then, using LightSpeed (later Think) C, I wrote a small conventional Macintosh application which obtained a large chunk of memory, loaded the Titanic into this block of memory, dynamically relocating it and linking external references in it to “stubroutines” defined in the Macintosh program, and then launching it. The Macintosh program, “Tugboat,” thus nudged the Titanic into place on the Macintosh. Believe it or not, this all worked (though debugging it with a joke-debugger called TMON which couldn't disassemble the 68020 instructions generated by the Sun compiler is a memory still powerful enough to make me grind my teeth), and this is how we finally (after a lot more work by many other people) shipped Release 10 for the Macintosh.