- ...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.