Star Trek project

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Star Trek was the code name given to a prototype project at Apple Computer and Novell from February/March 1992[1] to 1993. The project was named after the Star Trek science fiction franchise with the slogan "To boldly go where no Mac has gone before."

Star Trek was to be a version of the Macintosh operating system running as a GUI on Intel-compatible x86 personal computers on top of Novell's next in-development version of the DR DOS operating system in a similar fashion as Microsoft Windows 3.x would run on top of DOS (including DR DOS). (At that time, the Mac OS ran only on Apple's own computers based on the Motorola 68000 architecture.)

The system was based on the successor of Digital Research's DR DOS 6.0 (BDOS level 6.7 and 7.1) and NetWare PalmDOS 1.0 (code named "Merlin", BDOS level 7.0), Novell's DR DOS "Panther" (coincidentally at BDOS level 7.0/7.1[2] at this time—and not to be mixed up with Apple's much later "Panther" project) as a fully PC DOS compatible 16-bit disk operating system (with genuinely DOS compatible internal data structures) for bootstrapping, media access, device drivers and file system support. The system would utilize DR DOS' new "Vladivar" Extended DOS component with flat memory support, which had been under development at least since 1991. "Vladivar" (DEVICE=KRNL386.SYS[3] aka DEVICE=EMM386.EXE /MULTI + TASKMGR)[4] was a dynamically loadable 32-bit protected mode system core for advanced memory management, hardware virtualization, scheduling and domain management for pre-emptive multithreading within applications as well as multitasking of independent applications running in different virtual DOS machines (comparable to Windows 386 Enhanced Mode but without a GUI).[4] Thereby, the previously loaded DOS environment including all its device drivers became part of the system domain under the multitasker[4] and unless specific protected mode virtual device drivers were loaded, hardware access got tunneled through this 16-bit sub-system by default. For maximum speed at minimum resource footprint the DR DOS BIOS, BDOS kernel, device drivers, memory managers and the multitasker were written in pure x86 assembly language. Apple's port of System 7.1 would run on top of this high-performance yet light-weight hybrid 32-bit/16-bit protected mode multitasking environment as a graphical system and shell in user space. Macintosh resource forks and long filenames were mapped onto the FAT12 and FAT16 file systems.

The developers eventually reached a point where they could boot an Intel 486 PC (with very specific hardware) into System 7.1, and on-screen it was indistinguishable from a Mac. However, every program needed to be ported to the new x86 architecture in order to run. Supposedly programs could be ported with little effort because Apple developed equivalent headers for x86.

The project was a joint development with Novell (although Apple provided the majority of engineers). Novell at the time was one of the leaders of cross-platform file-servers, and the plan was that Novell would market the resulting OS as a challenge to Microsoft Windows. However, the project was cancelled in mid-1993 because of political infighting, personnel issues, and the questionable marketability of such a project.

Contents

[edit] Legacies

While the joint effort failed, Novell published the long awaited "DR DOS 7.0" as Novell DOS 7 (BDOS 7.2) in 1994. Besides many other additions in the areas of advanced memory and disk management and networking, Novell DOS 7 provided all of Novell's underlying "STDOS" components of the DR DOS "Panther" and "Vladivar" projects except for the graphical "Star Trek" component itself, which had been jointly developed by Apple and Novell. Instead, TASKMGR provided a text mode interface to the underlying multitasker in EMM386, but the system also provided an API to allow third-party GUIs to take over control. Microsoft Windows, ViewMAX/2 & 3 and PC/GEOS / New Deal are known to utilize this interface, when run on Novell DOS 7 (or its successors OpenDOS 7.01 or DR-DOS 7.02 and higher), and "Star Trek" would have been yet another one. In fact, some additional hooks had been implemented specifically for the "Star Trek" GUI for frame buffer access. These hooks have never been stripped out of EMM386 but just left undocumented.

Although a direct x86 port of Mac OS was never released to the public, one could run the classic Mac OS on non-Mac computers through emulation and the development of these was spurred by the failure of the Star Trek project.[citation needed] Two of the more popular Macintosh emulators are vMac and Basilisk II, both written by third parties.

Ten years after Project Star Trek, it became possible to natively run Darwin, the Unix-based core of Mac OS X, on the x86 platform by virtue of its NeXTstep foundation. This port was widely available because Darwin was open source under the Apple Public Source License. However, the OS X graphical user interface, named Aqua, was proprietary. It was not included with Darwin, which depended on other window managers running on X11 for graphical interfaces.

Apple ran a similar project to Star Trek for Mac OS X, called Marklar. This project was to keep Mac OS X and all supporting applications (including iLife and Xcode) running on the x86 architecture as well as that of the PowerPC. Marklar was revealed by Apple's CEO Steve Jobs in June 2005, when he announced the Macintosh transition to Intel processors starting in 2006.

[edit] See also

[edit] References

  1. ^ Caldera. Caldera's consolidated response to Microsoft's motions for partial summary judgement on plaintiff's claims of "predisclosure," "perceived incompatibilities," and "intentional incompatibilities". 1999-04-19 [1]: "Caldera admits paragraph 27, except as follows: Discussions with Apple regarding the "Star Trek" project began in February or March 1992. Deposition of Toby Corey ("Corey Dep.") at 44, Record Support, v.3 to Consolidated Statement of Facts. "
  2. ^ Ralf Brown (2002-12-29). "The x86 Interrupt List". Ralf Brown's Interrupt List. http://www.cs.cmu.edu/~ralf/files.html. Retrieved 2012-01-14.  See also: Ralf Brown's Interrupt List
  3. ^ Andrew Schulman, Ralf Brown, David Maxey, Raymond J. Michels, Jim Kyle (1994). Undocumented DOS. Addison Wesley, second edition. ISBN 0-201-63287-X, ISBN 9-780201-632873.
  4. ^ a b c Caldera, Inc. (1997). OpenDOS Developer's Reference Series — Multitasking API — Programmer's Guide. Printed in the UK, August 1997. Caldera Part No. 200-DODG-004 ([2]).

[edit] External links

Personal tools
Namespaces
Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages