OPENSTEP Enterprise 4.1

From DisNCord Community Wiki
Revision as of 16:41, 24 January 2023 by Bridgetr (talk | contribs) (some caps fix here, some punctuation changes there)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

OPENSTEP Enterprise 4.1 is a port of the OpenStep APIs, Adobe's Display PostScript engine, the NeXT/GNU Objective-C toolchain, and graphical application development tools to Windows NT (3.51/4.0, x86), Solaris (SPARC), and HP-UX (HP-PA).

ToDo - Elaborate on this topic, further, based on Discord discussion, from a while ago. Need to investigate compatible Windows versions, build numbers, introduction date, and other info, at some point, too...

Windows NT Version

The Windows port is based on a modified version of Cygwin, Congruent ToolBuster, and newly-developed adaptation layer code, by NeXT, and has additional functionality, to support interoperability with OLE, and Visual BASIC/COM.

This version was codenamed Bastion4R1, according to the "About NeXT Software" dialogue/tool.

UNIX Commands

Many of the UNIX/POSIX commands are based on the Congruent ToolBuster distribution of various GNU projects, including GNU FileUtils 3.1.

NeXT Mach Emulation Daemon v2.0

This is kept in ./NextLibrary/System/machd.exe, relative to the installation directory of OPENSTEP Enterprise, and implements a thin veneer of Mach's messaging APIs on top of a Windows MailSlot (\\.\mailslot\NeXT\)-consuming message pump. It is intended to be ran as a Windows Service, and the main installation process will attempt to configure this, but it is also possible to run the daemon's executable with the -install, or -remove arguments, to install or uninstall the service, or with the -d argument, to keep it running as a foreground process that prints debugging information on the standard output.

WindowServer, and Display PostScript

The WindowServer implementation is located in ./NextLibrary/System/WindowServer.exe, relative to the installation directory of OPENSTEP Enterprise, and is a 1.6MB binary that implements ASCII85, CCITT fax codecs, JPEG, LZW compression, the PostScript engine/font rendering, GDI contexts, Mach port communication, mapping the cursor location, alpha channels, and binding Win32/OpenStep widgets/window drawing.

A config file, written in PostScript, is used to configure BubbleJet and laser printers, and ./NextLibrary/System/PS.VM.le (which seems to be in an undocumented format), contains implementations of PostScript drawing commands (for things like shapes and colours), and handling mouse events.

Teflon v0.01 (Network Message Server)

This is implemented in ./NextLibrary/System/nmserver.exe, relative to the OPENSTEP Enterprise installation directory, and communicates with the Mach Emulation Daemon to handle with port right arbitration, naming services, and TCP socket binding.

Strings in this binary mention "Teflon v0.01", "Network Server", "/usr/mach/etc/old_netmsgserver", and cthread.

NeXT Object Request Broker (ORB)

ToDo - Elaborate on implementation of this

The ORB is a component that integrates Windows's OLE/ActiveX runtime environment and the COM Automation framework, with APIs for network transparency over TCP/IP. It is used by some examples, included with OPENSTEP Enterprise, to demonstrate populating an Excel spreadsheet with cells from an OpenStep application via a network, as well as interfacing with OpenStep APIs from MS VisualBASIC applications, such as a calculator application.

GDB 4.15.3

The gdb --version command reports the following:

GDB 4.15.3 (i386-next-cygwin32), Copyright 1996 Free Software Foundation. Inc.

GCC 2.7.2

The gcc -v command reports the following:

Reading specs from C:/NeXT/NextDeveloper/Libraries/gcc-lib/1386-nextpdo-winnt3.5\2.7.2\specs
gcc version 2.7.2 for NeXT PDO

Solaris, and HP-UX Versions

The Solaris and HP-UX ports use HP and GNU components, and NeXT-developed code, to provide an OS abstraction in place of Mach.

Note - sparc-nextpdo-solaris2, and hppa1.1-nextpdo-hpux tuples, for toolchain