Chapter 1

Introduction

1.1 About this FAQ

These are the frequently asked questions concerning NeXT, NeXTSTEP or any other NeXT related topics.

This compilation is meant primarily as a service to the (comp.sys.next and

de.comp.sys.next) community.

NeXT Software,Inc. is a privately hold company, heading towards software business. It sells NEXTSTEP its award winning OS and several other software packages (most included with NEXTSTEP): EOF, NEXTSTEP Developer, WebObjects, NetInfo, ...

With the coming ’open’ version of NEXTSTEP, which is named OpenStep and will run not only on top of Mach (as NEXTSTEP does) but also on Solaris, Windows NT, Windows 95, HP-UX. The user of NeXT’s software is confronted with a wide range of different software and hardware.

To help in the unaware user, this FAQ was founded. But also professional users might find some interesting information, which they didn’t knew already.

Note the NEXTSTEP and OpenStep questions often concern related topics like Objective-C, UNIX, administration tasks, etc. for which already separate FAQs do exist. See the new.answers newsgroup for additional FAQs, if your problem isn’t covered by this FAQ.

1.2 Submissions

As with all FAQs the quality of the information provided here is mostly depending on the Usenet community, which in most cases serves for the information resource. Feel free to e-mail the FAQ author to contribute, or send error reports.

If you contact the author, use the following subject for submissions: FAQ submission. To report errors use: FAQ error. Additionally you might want to add the chapter where the submission/error report belongs to.

1.3 Availability

This FAQ is published monthly in the comp.sys.next.* newsgroups and in the

near future news.answer.
   It may be downloaded via FTP from ftp://peanuts.leo.org/pub/comp/platforms/next/Documents/faq/.

Special additions for redistributors and homeusers do exist.

This FAQ may be accessed only through Peanuts as well: http://peanuts.leo.org/

In the near future we want to implement an e-mail service for those who don’t have access to news. You may add yourself to the mailinglist by sending an e-mail with subject: FAQ mailme. Note that this service isn’t available, yet, and will only beco me available if there is enough request and not before June 1996.

1.4 Copyright

This FAQ is copyrighted by Bernhard Scholz. (Internet e-mails: scholz@informatik.tu-muenchen.de) Mentioned trademarks belong to their holder and are not explicitly listened. We do not collect any royalties, charge any fees, or compensate anyone in

connection with this endeavor, but of course we would be happy about each e-mail commenting on the FAQ, about pizzas (lasagne is accepted, too :-) ), postcards, ...

Anyway we reserve a copyright on the the published information in this FAQ. Any questions concerning other redistribution should be send to the authors of the FAQ.

Reprinting of this FAQ, even in parts, is prohibited without permission by the author except for printings for private use.

Newsletter editors wishing to excerpt from this work for publication should consider using local electronic bulletin boards to disseminate this information rather than preparing hardcopies. This allows for readers to access the most recent information, and perhaps save a couple of trees.

1.5 Disclaimer

Of course there is no warranty in any case using the information provided here. We haven’t tested the information to be correct.

We are not affiliated with any of the companies mentioned in this FAQ.

1.6 Thanks

Especially we want to thank the Usenet community for contributing to the FAQ and all the people who have written us.

We want to say ”thank you” to Nathan, who did a great job on first FAQs. Best wishes to you and your family!!!

We want to thank Maximilian Goedel, who did the first reword on the FAQs after Nathan gave up.

Thanks also to Karl Ewald, who contributed his latex2html Perl script which replaced the non working original latex2html version.

General information

2.1 Where to get answers?

If you run into a problem, first read the FAQ of course :-) Second you might consider asking NeXT directly through the electronic service: nextanswers@next.com. Send an e-mail with subject: ascii help index to start.

If all fails, post to the newsgroups concerning NeXT related topics: comp.sys.next.*,

de.comp.sys.next.

2.2 How may I contact NeXT, Inc.?

NeXT, Inc. can be reached under the following addresses.

USA: NeXT, Inc.
900 Chesapeake Drive
Redwood City, CA 94063
Voice: 800-848-NeXT (Redwood City #)
Voice: (415)-366-0900
Japan: NeXT marketing div. of Canon - Japan
Phone:  (81)-44-549-5295
Fax:  (81)-44-549-5462
EUROPE: Munich:
Phone:  (49)-89-996-5310
        UK:     Technology House
Meadowbank
Furlong Road

Bourne End
Bucks
SL8 5AJ
Phone: (44)-1628 535222
Fax:   (44)-1628 535200

Note: numbers abroad are listed with the country codes first. You will need to dial the international access number of your long distance carrier before proceeding to dialing the country code, area code and phone number.

2.3 FTP servers

The FAQ mentions a lot of software packages which you might find useful. In general there are two big sites serving Europe and the US. These sites keep most of the software available and do mirror themselves to keep up to date (although the structure of the archive differ). If the software isn’t on one of these sites, the appr

opriate site is listed in the text.

If you get slow connections you might want to consider contacting a mirror of the both sites. For the Peanuts archive (Europe) the WWW pages http://peanuts.leo.org give you links to an updated list of mirrors and other FTP sites.

The addresses are:

next-ftp.peak.org (formerly the ftp.cs.orst.edu archive) peanuts.leo.org (Peanuts archive in Europe)

2.4 Software on CD

There are currently two CD (sets) which serve you with NEXTSTEP/OpenStep software:

Nebula. Nebula is published by Walnut Creek and mostly contains actual recompiled software for all supported hardware platforms. It might be the best choice for those who don’t own a compiler. A big font collection and a developer section complete t

he disk.

Peanuts Archive Disks. The Peanuts FTP Archive in Munich distributes their complete NEXTSTEP/OpenStep archive on CD. This currently brings you 3CDs full with software. Although the software isn’t compiled for each hardware (it is provided ’as

uploaded’) it is the most complete software and information resource available on CD. (It includes the NeXTanswers published by NeXT).

Fatted Calf CD-ROM. The Fatted Calf CD-ROM is published by Ensuing Technologies, LasVegas, Nevada. Currently I don’t know it’s special contents.

2.5 What is the current status of NEXTSTEP/OpenStep?

The third production version 3.3, has been released for Intel Processors (i486 and higher) as well as for NeXT hardware (not manufactured any longer but still supported), HP workstations and Sun workstations.

OpenStep versions are announced and will be available this year (1996) for Windows NT, Windows 95, Mach, Solaris and hopefully HP-UX. The status for DEC machines and their OS (OSF/1, OpenVMS) is unknown. At least it is uncertain that there will be a port to OSF/1 or even OpenVMS, because DEC is doing the port alone. At least you can run OpenStep on DEC machines running Windows NT in the near future. For Sun’s Solaris systems OpenStep will probably be part of the NeoDesktop.

There will be no NEXTSTEP 4.0, because NeXT changed the naming conventions. NEXTSTEP 4.0 (also sometimes referenced as ’Mecca’) is now named ’OpenStep for Mach’

2.6 Will there be a public implementation of OpenStep?

Yes, there is a project by GNU. The so named GNUStep is available in prealpha state from the archive sites. Be aware that it is not fully functional and currently requires Motif.

In its current state, GNUStep is on it’s way to port the FoundationKit completely. This alone makes it worth to give it a try.

2.7 Are there differences between Openstep for Mach and other implementations?

Yes there are. OpenStep for Mach will include all the well known features from NEXTSTEP (Services, Filters, SoundKit, ...) which the other implementations will lack, due to the underlying OS.

To get all the benefits which is offered in NEXTSTEP today, you need to go for OpenStep for Mach.

2.8 What information is available by NeXT

NeXT, Inc. now operates an automatic e-mail response system. Send e-mail to ”nextanswers@next.com” with the subject

"ascii help index"

to start.

If you do have access to the world wide web, you even want to try the

following URL: http://www.next.com/NeXTanswers/.

2.9 What is the correct spelling?

NeXT did (and probably will) change their naming conventions a lot. E.g. NEXTSTEP is the current correct spelling for their operating system. With the shipping of OpenStep, there will be no more NEXTSTEP, but OpenStep for Mach/Solaris/HP-UX/Windows95/Wind

owsNT.

Incorrect spellings are: NeXTSTEP, NeXTstep, NeXTStep.

A common shortcut used in the newsgroups is: NS for NEXTSTEP.

2.10 How do I start an official NeXT User Group?

To start a user group, just send e-mail to user groups@next.com.

2.11 Are there differences in the NEXTSTEP implementations?

No, there are no differences beside the DSP, which is a hardware feature of NeXT computers. On other hardware platforms you have to buy additional hardware.

2.12 What are the names of the ftp sites that have NeXT-related files?

There are too many to list them all, so are here are just a few.

NEXTSTEP: cs.orst.edu
ftp.informatik.tu-muenchen.de (peanuts)
nova.cc.purdue.edu
sonata.cc.purdue.edu

umd5.umd.edu
ftp.cs.tu-berlin.de
MIT GNU: aeneas.mit.edu
MIT X: export.lcs.mit.edu
music: princeton.edu

2.13 Additional information sources

Every NeXT machine owner has access to manuals to a degree. Network and System Administration (NSA), for example contains answers to many of the questions asked to comp.sys.next. Some of the important man pages are reproduced in the NSA as appendices.

User manuals were shipped with every NeXT. Additional copies available from NeXT (N6002/N6003/N6014/N6026) $25.

The following books are available directly from NeXT:

• Operating System Software

• NeXTstep Concepts

• NeXTstep Reference, v. 1

• NeXTstep Reference, v. 2

• Development Tools

• Sound, Music, and Signal Processing: Concepts

• Sound, Music, and Signal Processing: Reference

• Writing Loadable Kernel Servers

• Technical Summaries

• Supplemental Documentation

Unix man pages, which are included in the online docs. BSD unix documentation (MISC, PS1, PS2, SMM, USD). Available from to

USENIX site members. A lot of this has been integrated into the NeXT documentation. Some of this is sorely missing. The SMM Unix System Manager’s Manual is really useful!

USENIX Association
2560 Ninth Street, Suite 215
Berkeley, CA  94710
USA +1 510 528 8649
fax +1 510 548 5738
office@usenix.org

• PS1 = Programmer’s Supplementary Documents, Volume 1

• PS2 = Programmer’s Supplementary Documents, Volume 2

• SMM = System Manager’s Manual

• USD = User’s Supplementary Documents

The SMM and the rest of the berkeley documentation are also available directly and for free via anon ftp e.g. from

ftp.uu.net /packages/bsd-sources/share/doc.

To format them properly for viewing and printing on the NeXT use nroff with the package indicated by the file suffix (e.g. to format the documentation file

0.t use nroff -mt 0.t).

Adobe documentation. Available machine-readable by e-mail from ps-file-server@adobe.com. Hardcopy available from Adobe Developer Support Line +1 415 961-4111 for a nominal charge. NeXT last shipped these as part of the 1.0a release; hardcopies appeared in 0.9 Technical Documentation, were omitted in 1.0, and have returned in updated form in Supplemental Documentation of the 2.0 Tech Docs (which is not available on-line).

Get NextAnswers for Digital Librarian from NeXT. The current versions are actually on ftp.next.com or available via the mailserver at nextanswers@next.com.

Get NeXT Support Bulletin from the archives. It is meant for support centers.

Another good source of information is the archives of previously posted notes from the comp.sys.next.* newsgroups. Note that since the split of

comp.sys.next, there is a group archive maintained at peanuts.leo.org:/pub/comp/sys/next/.

NeXTstep Advantage book is available electronically from the archive servers.

The file name is NeXTstepAdvantage.tar.Z; (its compressed size is about 1.3 megabytes; uncompressed, it’s about 9.5 megabytes). It is a good introduction to the NeXT programming environment.

2.14 How to get FTP files via e-mail.

Some ftp sites are configured as an e-mail archive server. This means you can upload and download files via e-mail.

       Send mail to:     archive-server@cc.purdue.edu
       -------------     mail-server@cs.tu-berlin.de

(with the subject line help and you will get a complete description of this service)

Submissions: Mail should be sent to archive-server@cc.purdue.edu with the subject of ’submission’ (no ticks) if a person is submitting material to the archives. They need to include a 1-2 sentence description of the submission, the OS release the product runs on, and if it is source, binary, newsletter, etc.

2.15 References on Objective C

Objective-C and other useful Object-oriented programming references:

Budd, Timothy, An Introduction to Object-Oriented Programming (Addison-Wesley) [It discusses Smalltalk, Object Pascal, C++ and Objective-C]

Cox, Brad J., Object Oriented Programming: An Evolutionary Approach ISBN 0-201-10393-1. (Addison-Wesley) [Note: 2nd edition - ISBN is 0-201-54834-8 and has coauthor A.J. Novobilski]

Huizenga, Gerrit, Slides from a short course on Objective-C available via

anonymous ftp from: sonata.cc.purdue.edu:/pub/next/docs/ObjC.frame.Z,
ObjC.ps.Z, or OldObjC.wn.tar.Z

Meyer, Bertrand, Object-Oriented Software Construction (Prentice-Hall).

NeXT Technical Documentation

Pinson and Weiner, Objective-C: Object-Oriented Programming Techniques (Addison-Wesley). 350 pages, ISBN 0 201 50828 1, paperback.

User Reference Manual for Objective-C which is available from Stepstone Corporation. (203)426-1875. Note: There are some differences between Stepstone’s Objective-C and NeXT’s.

2.16 How to contact music interested people.

Since NeXT has become for now the platform of choice for much of the computer music composition and research community, the newsgroup comp.music is one good place to find people with information and interest in music on the NeXT.

There is also a mailing list specifically for NeXT music. For posting to the

dist list: nextmusic@horowitz.eecs.umich.edu

To subscribe, unsubscribe, change addresses, etc.: nextmusic-request@horowitz.eecs.umich.edu

2.17 How to announce upcoming events

Please send any announcements of upcoming NeXT-related events to next-announce@digifix.com

These events will be posted to comp.sys.next.announce. Be sure to send your announcement in plenty of time to have it posted prior to the event. One to two weeks in advance would be a good idea.

Since postings will be carried across many networks, commercial announcements may be edited down to reflect network usage policies.

Look for current guidelines posted weekly in the newsgroup.

2.18 Can I mix different hardware running NEXTSTEP?

Of course! NEXTSTEP is design to plug and play with existing NeXT installations. NeXT has addressed interoperability between NEXTSTEP systems in the following ways:

• NEXTSTEP systems share identical networking capabilities.

• NEXTSTEP systems share the same Distributed Objects.

• NEXTSTEP systems use the same system and network administration services.

• NEXTSTEP systems use the same mass storage format. Yes, you can take a external SCSI drive, removable media (e.g. Bernoulli etc) or floppy disk and use it interchangeably between NeXT Computers running NEXTSTEP.

2.19 Can I exchange software running on different hardware?

With the shipping of NEXTSTEP 3.x binaries are distributed FAT. This means, that a binary might include different versions of the executable for each hardware platform NEXTSTEP is running on. On the archive sites you might easily recognize the supported h

   ardware by a key letter: N = NeXT computers, I=Intel based, H=HP hardware,

S=Sun hardware. A FAT binary is runable by every supported hardware listed in the binary file. NeXT ships tools to examine such a fat binary and to add/strip different hardwa

re modules to/from a binary.

The correct spelling for a fat binary is: MAB binary (multi architecture binary) but most commonly ’fat’ is used.

With the shipping of OpenStep this will change. OpenStep applications are only sourcecode compatible and have to be recompiled for each architecture. This implies that you need a compiler for future PD/SW/FW-software, although OpenStep for Mach will still

support FAT binaries and NEXTSTEP 3.x applications will continue to run under OpenStep for Mach.

What is ...

This chapter tries to give you some overview over NEXTSTEP/OpenStep software and related software. For a detailed description you should contact the producer’s WWW server. E.g. for more information about OpenStep contact

http://www.next.com/

3.1 NEXTSTEP

NEXTSTEP is a complete development and user environment by NeXT it provides an unique GUI (graphical user interface), which currently gets copied by several other OS provider like Microsoft, combined with the currently most advanced and tested OS, named M

ACH. NeXT applied several changes to the MACH kernel to add special features which makes NEXTSTEP unique.

NEXTSTEP comes with a lot of development kits (bundles of classes to build on), like: Sound Kit, Indexing Kit, 3D Graphics Kit, Database or EOF Kit and Application Kit. This will change with OpenStep.

Bundled with NEXTSTEP are several user applications which enhance the daily use dramatically: NeXTMail (a MIME compatible mail application), Edit (a simple but powerful editor), FaxReader (for reading incoming faxes, you are able to send faxes from every

application which supports printing), DigitalWebster (Webster’s Ninth New Collegiate Dictionary and Collegiate Thesaurus), Digital Librarian (indexing and full text search utility, usable over groups of files) Preview (a PostScript and TIFF display utilit

y), Terminal (UNIX terminal application for VT100 and TN3270 emulation), TeX (a well known compiler for formatted text), SYBASE and ORACLE adapters (to contact to SYBASE and ORACLE databases within EOF applications).

One special thing about NEXTSTEP is the display system. NeXT uses DPS (Display Post Script), which gives you true WYSIWYG on every NEXTSTEP system. The window server supports PostScript Level II, Interactive RenderMan and Photorealistic RenderMan (an dist

ributed engine for fast high quality rendering, based on Pixar’s RenderMan). To be used in networks, NEXTSTEP supports NFS, NetInfo, Novell Netware

(as client only), Ethernet and Token Ring and different filesystems (Mac, DOS, ISO 9660, High Sierra, Rock Ridge).

For multimedia purposes NeXT uses Lempel-Ziv compression for text, Audio Transform Compression for Sound (comparable to Sony MiniDisc), JPEG for TIFF and Group 4 for Fax. Of course these are only standard modes and NEXTSTEP is extensible to use other meth

ods too.

For system administration (remember that NEXTSTEP is using MACH as an UNIX derivate), NeXT supplies several administration applications which make it easy to configure NEXTSTEP as needed, like: SimpleNetworkStarter, UserManager, PrintManager, NFSManager,

HostManager, NetInfo Manager, BuildDisk, Upgrader and the complete documentation and manual pages online.

3.2 MACH

MACH is the the basic OS layer NeXT uses for NEXTSTEP. It is a micro kernel, which means it is extensible at runtime. Micro kernel often stands for a small kernel size, too, but due to the compatibility to BSD 4.3 MACH is currently about 1MB in size.

Features of MACH are: loadable kernel services (extensions during runtime), different scheduling algorithms, an advanced messaging system, an advanced memory allocation mechanism (copy on demand, world wide message broadcasting), true multitasking, multi

threading and BSD compatibility.

3.3 OpenStep

OpenStep is the latest release of NeXT’s NEXTSTEP with the ability to be OS independent (NEXTSTEP depends on MACH).

OpenStep is currently available for Windows NT and Mach and will get available for Windows 95, Solaris, SunOS, HP-UX and DEC OSF/1.

The architecture of OpenStep was made public in late 1995 and since then GNU is working on a public port of OpenStep to e.g. X11 based UNIX systems.

To express the new standard, OpenStep for Mach is now the correct spelling for the formerly named NEXTSTEP product by NeXT, but it is known that NeXT itself is still using the same version numbering scheme for at least the Mach product line, so the first release of OpenStep for Mach is equivalent to NEXTSTEP 4.0.

OpenStep is supposed to be an industry standard for developing object oriented, system independent, scalable solutions for client/server architectures. It was adopted by Sun, Hewlett Packard and Digital. It provides distributed applications through PDO (Portable Distributed Objects) and D’OLE (Distributed OLE) based on CORBA. The usage of EOF supplies object persistence with traditional relational databases. And finally with WebObjects, objects are accessible through the internet or in your own private ne twork.

OpenStep, like NEXTSTEP 3.3 provides several kits for software developers like: Application Kit and Foundation Kit as well as Display PostScript. Applications written for OpenStep are sourcecode compatible to all other architectures running OpenStep, although FAT binaries are only available under OpenStep for Mach.

For the NEXTSTEP user OpenStep doesn’t take away old known features. In addition with OpenStep for Mach you get Mach enhancements, an enhanced workspace manager, Perl5, TaylerUUCP, PPP and Samba. Old applications will continue to run under OpenStep for Mach and need to be recompiled to run under Windows 95, Windows NT, Solaris, HP-UX and other OpenStep platforms.

Because OpenStep was just released there is still some speculation about it’s features at the time of this writing.

The following are some rumours:

• documented NEXTIME library for developing

• faster message handling

• handling of disks ¿2GB in partitioning size

• relocateable drivers (exchange drivers on the fly, without rebooting)

• support for multisession CD-ROMs

• limited update availability until 15th July.

3.4 Objective-C

To develop applications NeXT uses Objective-C as its native programming language. Objective-C is a more strict OO language then C++ but covers C as well as C++. Because NeXT uses the GNU C/C++ compiler, you go with the most spreaded and tested C compiler

available for most UNIX platforms today. (Of course you can use Objective-C on every platform on which gcc is available).

Objective-C is different to other languages in the way it executes code. Objective-C uses a runtime library to dynamically access objects at runtime. This allows you to change objects at runtime etc. All this goes with nearly no speed penalty, because has

hing mechanisms are used to access the different methods of an object. There is also ObjC which is an different product, available as a commercial

compiler for different operating systems. Don’t mix up things with by using the expression ObjC instead of Objective-C. For shortcut purposes the NeXT community also uses the term

ObjC/Obj-C but of course thinks of Objective-C by NeXT.

Objective-C isn’t standardized, yet.

In Objective-C you are able to mix code. E.g. you can use C++ and C in any Objective-C program.

Objective-C is a simple and concise object-oriented extension to ANSI-C. It has a runtime messaging facility and offers dynamic binding. Distributed objects are supported and the code is optimized for native compilations.

It’s syntax and programming technique is much like in SmallTalk. Using Objective-C you can even message objects in other applications, also over a network!

3.5 NEXTSTEP Developer

NEXTSTEP Developer is currently the only way to develop applications under NEXTSTEP because it includes all the necessary include files and libraries. (Of course you can get any GNU C version precompiled, but it won’t help you without the include files and linker libraries).

In addition to a precompiled GCC, include files and the linker libraries you will get the famous NeXT developer tools: ProjectBuilder (your commando center for building applications and managing sources), InterfaceBuilder (for designing the application’s

GUI and making object connections), an graphical addition to GDB (GNU Debugger) integrated in Edit, MallocDebug (for seeking memory leaks), HeaderViewer (access class information in header files and in documented form in a browser), DBModeler (for buildin

g data models, based on Database Kit), Yap (an interactive PostScript interpreter and viewer), IconBuilder (a very simple but extensible pixel-based editor for creating icons) and popular UNIX utilities like GNU Emacs, yacc, lex, vi...

3.6 D’OLE

D’OLE is a shortcut for Distributed OLE. OLE is Microsoft’s standard for Object Linking and Embedding and is currently not distributable across platforms. With D’OLE you can distribute OLE objects across the network like e.g. in SOM by IBM. But D’OLE is m

ore. It uses NeXT’s object model PDO (Portable Distributed Objects) from Unix to Windows platforms and enables OLE objects to communicate with OpenStep objects natively, which means without changing the application. OpenStep objects behave like OLE object

s and vice versa.

D’OLE also supports EOF which enables a distributed computing environment that provides an infinitely flexible choice of application deployment of application deployment strategies.

D’OLE uses the Foundation Framework, Distributed Object Framework and other core classes. It comes bundled with C/Objective-C compiler and GNU make, although Microsoft Visual C++ is required. Further you get a portable nmserver, MACH emulation and on-line

documentation.

3.7 PDO — Portable Distributed Objects

PDO is a shortcut for Portable Distributed Objects. In the near future PDO will become CORBA 2.0 compliant.

It is the industry’s first product to provide a heterogeneous client/server framework on objects. With PDO it is possible to deploy objects on non-NEXTSTEP server machines and therefore deployed anywhere in a network, wherever they are most appropriate fo

r a task.

PDO encapsulates low-level network protocols, making messaging a remote object as straightforward as messaging a local object. You even don’t have to learn new programming tools or techniques, because PDO is a subset of NEXTSTEP tools and objects. Because

PDO makes object location completely transparent to the application, the application communicates with every object the same way regardless wether it is local, in the local network or anywhere in the world.

Because of the free location of objects, objects may get moved to other locations, e.g. to optimize performance, without modification of the application using it.

Because PDO also runs on non-NEXTSTEP servers, it comes with it’s own set of classes, libraries and even an Objective-C++ compiler, etc. Neverless you can build, maintain, etc. from any NEXTSTEP client connected to a PDO server. The tools used for buildin

g the final objects however are native to the server’s OS.

PDO comes with Foundation Framework, Distributed Objects Framework, DOEventLoop and other core classes. Bundled tools are: Objective-C++ compiler, GDB, libg++, GNU make, Portable BuildServer, Portable nmserver, Mach Emulation, NEXTSTEP’s default system, o

n-line documentation. Currently supported platforms are: HP-UX, SunOS, Solaris, Digital UNIX.

3.8 EOF — Enterprise Objects Framework

EOF bridges the gap between objects and relational databases. With EOF you can bring the advantage of object oriented design etc. to applications which use relational databases. (Therefore you don’t need an object oriented database!)

EOF clarifies many things. It supports a three-tier client/server architecture by separating the user interface, business objects and the database. In fact you can simply exchange the database (by changing the adapter) and still use the same application!

Developing under EOF doesn’t limit you to e.g. Objective-C. EOF allows the integration of e.g. 4GL code as well as SQL etc. all combined under the advantage of NeXT’s developer tools.

EOF includes client and server software. It consists of the Enterprise Object Modeler, runtime libraries and adapters for SYBASE and ORACLE (other adapters available from the DBMS producers). It currently runs under HP-UX, SunOS, Solaris, Digital UNIX and

always requires PDO. For client use you additionally need NEXTSTEP.

3.9 WebObjects

WebObjects helps you building dynamic Web pages. It is targeted to the server side of the Web and there mostly to the intranets, also most people might find it very useful for the Internet, too. It is operating system independent and runs under Windows NT

, Solaris, HP-UX, Digital UNIX and NEXTSTEP (Windows 95 announced). WebObjects contains development tools to build components for your appli-

cation logic, as well as a set of reusable components to manage the rendering of your application. Because WebObjects is Java compatible, you even can integrate Java applets in your a

pplication today. It supports the standard http servers which have to support CGI or NSAPI interface. WebObjects supports database access to Informix, Oracle, Sybase and DB/2.

What’s unique about WebObjects is the ability to share the logic of your Web application and your data with other internal applications. It means that you are not required to maintain a dedicated database or write specific application code for your Web ap

plication.

Currently there are three versions of WebObjects: WebObjects, WebObjects Pro and WebObjects Enterprise. WebObjects itself is freely available to anybody interested in. WebObjects Pro contains PDO and WebObjects Enterprise contains PDO and EOF with a speci

al license to connect to the Internet. But because WebObjects is a brand new product, look at http://www.next.com/WebOjects/ for further information.

WebObjects is free for academic usage.

3.10 WWW Browser

Several NEXTSTEP browsers are available for NEXTSTEP. The currently most advanced browser is named ’OmniWeb’. OmniWeb is commercial in the way that you need a license to use it in a network. A single user license is free. OmniWeb seems to be continuesly u

pdated and support is known to be good. OmniWeb is also supporting a lot of well known Netscape features.

There is also a public domain WWW browser named ’SpiderWoman’. It’s plus is the NEXTSTEP look and feel (e.g. you navigate through the Web like you navigate your filesystem with WorkspaceManager). Anyway SpiderWoman is somehow unstable and it seems as if d

evelopment stopped.

Another commercial browser is NetSurfer. Demos are available on the ftp sites. This browser is preferred by several people because it integrates ftp access very well. Anyway you have to pay for it.

Netscape isn’t available for NEXTSTEP and is unlikely to be ported. The current state of Netscape seems to become more and more unclear because the latest release with Java support is known to work unstable on most systems. Also Netscape supports a lot of

features which other companies are not going to adopt anymore as it was in the early times. Anyway you can use Netscape in the future under the most OpenStep platforms.

3.11 Newsreader

There are currently four well known newsreaders for NEXTSTEP.

First there is Alexandra, a public domain newsreader and second there is NewsGrazer (and unsupported NeXT product). You should test them to get your personal favorite. The only real difference is the support of NEXTSTEP 3.3J (Japanese) and flatfiles in Ne

wsGrazer, while the interface in Alexandra seems to be better to many people.

NewsFlash is a commercial product which adds several features. As Radical news it supports article threading, automated posting and extraction of multipart files. Demos are available on the ftp sites. E-mail inquiries should go to

support@wolfware.c
   om. Further info is available at: http://www.wolfware.com/

RadicalNews is a commercial newsreader. It supports true article threadin, quoted text highlighting, japanese and Latin-1 support, URL-support, an interface to Digital Librarian, a sophisticated coloring scheme and much more. Info is available at: ht

   tp://www.radical.com/.

A note to both commercial versions: the community is very splitted about which version is to prefer. In general it seems as if there are no really ’killer features’ so it prefers much to personal taste. Demos are available and don’t forget to test the fre

e versions, too!

Miscellaneous information

4.1 How do I get pictures of people from remote sites to appear in Mail.app and News-Grazer?

You can do this in the following ways.

• Mail

In /LocalLibrary/Images/People put a tiff (64x64) in the form of person@remote.site.domain.tiff
(all lowercase). In /LocalLibrary/Images/People/passwd add an entry

for the person:

person@remote.site.domain:*:-2:-2::/nodir:/noshell

(person and sitename need to be all lowercase as well) In the future anytime you get mail from the person their picture should appear.

You can include an ”aliases” file in /LocalLibrary/Images/People too. This allows you to use the same picture for somebody that might send you mail from accounts on many different sites, or for those people whose letters use several different routings.

To do this, you include entries in this local aliases file like so:

bkohler@ucrac1.ucr.edu:bkohler.gonzo.ucr.edu
gonzo.ucr.edu!bkohler@uupsi2.uucp:bkohler.gonzo.ucr.edu
There should then be a .tiff file called bkohler.gonzo.ucr.edu.tiff.

There can be no CAPITAL LETTERS in this file. So even if the address

in the From: field looks like gonzo.ucr.edu!bkohler@uupsi2.UUCP, keep

the letters lowercase in the aliases file. As always, you have to restart Mail before these changes take effect.

• NewsGrazer

In /LocalLibrary/NewsGrazer/People put a tiff (64x64) in the form of

person.remote.site.domain (all lowercase). This is a different naming convention from what Mail uses.

There is a large archive of some 4000 or 5000 pictures prepared for this purpose. The name of this archive is Faces3.tar.Z and it is about 4.1 MBytes large. Currently it is available from several anonymous ftp sites (e.g.

sonata.cc.purdue.edu in: /pub/next/graphics/Images/icons/people)

That image archive also contains a script which automatically creates proper alias and passwd files.

4.2 How to manipulate and examine default settings

• A command line utility for examining defaults is available from: sutro.sfsu.edu:/pub/wmdefaults1.0.tar.Z

• A PD App, DefaultMgr.app, is available on the NeXT ftp archives.

• A more brute approach (done by DefaultMgr.app):

Start the application under gdb, and then try the following sequence of commands:

break  *0x500976a
commands 1
silent
printf "%s: ", *$a2
output {char *}(4+$a2)
echo \n
cont
end
run
[Carl Edman <cedman@capitalist.princeton.edu>] adds:

DefaultMgr.app doesn’t any longer work properly under 3.0. It still is able to manipulate defaults but can’t any longer ”investigate” apps to find out which defaults they use.

[eps@toaster.SFSU.EDU (Eric P. Scott)] adds:

Needs to be revised for 3.x systems. wmdefaults is only for 2.x; it’s not needed for 3.0 and later.

4.3 How do I run NextApps remotely?

On the local machine make sure you have public window server access, this is set from the Preferences application. On the foreign NeXT machine run the application from a terminal window with the -NXHost <local machine name>. Both machines should be running the same version of NeXTstep.

   [shayman@Objectario.com (Steve Hayman)]

NeXTSTEP 3.1 and higher includes a demo application called OpenSesame that simplifies this. You can select a program in Workspace and use > Service

> Open Sesame > Open on Another Host ...to launch a program on a remote

machine. This is a way to run old, non-fat-binary software on new NeXTSTEP/Intel machines.

4.4 Why does UUCP hangs on outgoing connections after sending the password, but other communications software do not have a problem with it?

What is happening is that the remote machine is waiting for you to end your login or password by typing a ”Return” (aka ^M or CR or CARRIAGE RETURN). UUCP ends a line by sending a LineFeed (aka ^J or LF). Since UUCP doesn’t send the CR, the login sequence is never completed, and you will usually get one of two error messages:

wanted "password:" (means that username needs to end with a CR)
imsg waiting for SYNC< (means that password needs to end with CR)

So how do you get UUCP to send CR, instead of LF?

End the send string with the sequence

n

c. For instance this line in L.sys will send a LF after login, but a CR after password.

myfeed Any DIR 9600 cub "" ATTD19095551212 9600 \
"" ogin:--ogin: Unext ssword: secret\n\c

4.5 How do I access the NeXT’s Digital Webster Dictionary from a program?

Get Jiro Nakamura’s define program from the archiver servers: define.tar.Z. This will allow you to access the database from the command line. This program breaks under 3.x. For 3.x there are two other programs which might be useful:

Webster.a5 and websterd.

4.6 How do I get the arrow keys to work in csh?

This is for people who use a terminal app that does vt100 keyboard emulation - pasc

First, add these lines to your .cshrc (preferably between the if and endif):

set editmode=emacs
set macrofiles=.macros

Then create a file called .bindings and put in it:

bind-to-key ExecuteNamedMacro '\e['

And, next, you need to make a file called ”.macros”. Using an editor like emacs (which can insert control characters using a Q̂ prefix), into this file put:

A^@^@^@^A^P
B^@^@^@^A^N
C^@^@^@^A^F
D^@^@^@^A^B

where ^@ means Control-@ and ^A means Control-A, etc. Also, don’t put in the leading spaces. This will set up the left and right arrows to move back and forth on the line, and the up and down arrows will cycle through your history.

On Intel machines these sequences are a little different:

A^A^@^@^@^P
B^A^@^@^@^N
C^A^@^@^@^F
D^A^@^@^@^B

Then source .cshrc and the changes should take effect.

4.7 What default affects menu location?

Do the following.

dwrite GLOBAL NXMenuX <value>
dwrite GLOBAL NXMenuY <value>

4.8 How to get Gourmet to boot up the Mathematica 2.0 kernel?

Login as root, or get root privileges running su, and execute the following five commands:

mkdirs /NextApps/Mathematica.app/Kernel/NeXT
cd /NextApps/Mathematica.app/Kernel
ln -s uuuuu/Mathematica.app/Kernel/Display Utilities
cd NeXT
ln -s vvvvv/math mathexe

where uuuuu is the directory where Mathematica was placed (typically, /LocalApps) and vvvvv is the directory where the executable math was placed

(typically, /usr/local/bin)

4.9 Manipulating the Loginwindow

There are some for loginwindow:

   [Jess Anderson writes:]

Here, I hope, is the quasi-definitive story on dwrites that affect the loginwindow. I’m indebted to several people, notably Art Isbell, Kristian Koehntopp, Dan Danz, Louie Mamakos, John Kheit, Felix Lugo, and Paul Sears, for some of the information presented here.

Remember that dwrites are not supported by NeXT; they may change with any subsequent system release. These I’ve checked out using 3.0; some or all may work with earlier releases, but I can’t vouch for most of them.

All these dwrites must be done as root. You can also run as root and use DefaultMgr to set them (which is a whole lot more convenient if you’re intending to fiddle with some of them).

After setting the things you want, restart the WindowServer by logging out of the current session and typing exit ¡cr¿ on the login panel.

OK, here’s what we know (or think we do :-):

dwrite loginwindow DefaultUser <login-name>

Most new machines have <login name> set to me. This dwrite logs in user <login name> automatically. User <login name> must not have a password set, hence don’t use this in a networked environment!

dwrite loginwindow HostName "<host_name>"
dwrite loginwindow HostName localhost

These cause your host name to appear on the login panel. You need quote marks only if there’s a space in the name. The first form hard-codes the name into root’s defaults database. The second form uses whatever name has been set as localhost in NetInfo, which is convenient for networked machines.

The font, size, color, and position of the printed string are not accessible (drat!).

dwrite loginwindow ImageFile <path/to/a/suitable.tiff>
   This uses the tiff image pointed to instead of the standard one (in /usr/lib/NextStep/loginwindow.app/English.lproj/nextlogin.tiff,

<language>.lproj as appropriate for your main language) as the login panel. Be sure you get the pointer right, though, or you’ll have to boot single-user to fix it. In practical terms, the image is constrained in various ways I won’t detail here.

dwrite loginwindow TimeToDim <integer_number>

No relation to the dim time set by Preferences. The units are odd, I think. Felix reported them as 1/34 second. However, when I changed it to 1020, I got 15 seconds to dimming, and 680 gives 10 seconds, that I’m sure of. So I think the units are 1/68 second. Maybe Felix just thought it was too damn long! We all know it seems longer when you’re not having fun waiting. :-) Whatever, the login screen dims to about half after this length of time.

dwrite loginwindow MoveWhenIdle YES

This causes the panel to move around approximately in Backspace bouncingoff-the-walls-tiff fashion. The point is to avoid burning the screen phosphors, as a static image would tend to do. The animation is controlled by the next couple dwrites.

dwrite loginwindow MovementTimeout <real_number>

The units are seconds. The panel starts moving (assuming the preceding is set to YES) after this time. If you set it to be less than the TimeToDim time, the movement starts before the dimming occurs. I did not try zero. I can’t stand waiting around for things to happen, so I use 10 seconds for both times. The default appears to be 5 minutes.

dwrite loginwindow MovementScale <integer_number>

No movement occurs if this is set to 1. But it looks like the units might be approximately pixels for each change of position (the frequency of which is controlled by the next dwrite). If you put a big number here, say 200, the image moves in big jumps, but I don’t know if the 200 is divided up somehow between change in x- and y-coordinates. I wouldn’t worry about it much, just set it to something you like. Since my image contains readable text, I want it to scroll smoothly around, so I use the apparently minimum value, 2. The default appears to be 10.

dwrite loginwindow MovementRate <real_number>

The units are seconds. The image jumps by the amount above every this many seconds. The default is 0.0666 seconds. Bigger numbers mean slower motion. Since I don’t like things being too jumpy or zooming around, I set this to 0.1 seconds. This makes my image ooze at a pace befitting an elderly person like me.

dwrite loginwindow PowerOffDisabled YES

This makes it a little harder to turn the machine off; you have to use the monitor or the minimonitor (<right-command>- ) if it’s set, rather than the

<power> key.
dwrite loginwindow LoginHook <path/to/loginhook/executable>
dwrite loginwindow LogoutHook <path/to/logouthook/executable>

Pointers to the login and logout hooks, if used. It should be pointed out that some of these things (login/logout hooks, for example) are maybe more logically set where the loginwindow is invoked by the WindowServer, namely

/etc/ttys.

There are yet others. Here’s the full list (thanks, Art):

NXGetDefaultValue("loginwindow", "DebugHook") => 0x0
NXGetDefaultValue("loginwindow", "DryRun") => 0x0
NXGetDefaultValue("loginwindow", "WindowServerTimeout") => 0x0
NXRegisterDefaults("loginwindow", 0x16024)
KeyMapPath: 0x12d97
"~/Library/Keyboards:/LocalLibrary/Keyboards:/NextLibrary/Keyboards"
Keymap: 0x12de1 "/NextLibrary/Keyboards/USA"
SwappedKeymap: 0x12e0a "No"
LoginHook: 0x0
LogoutHook: 0x0
HostName: 0x0
ImageFile: 0x0
DefaultUser: 0x12e41 "me"
PowerOffDisabled: 0x0
TimeToDim: 0x12e69 "2040"
MoveWhenIdle: 0x12e0a "No"
MovementTimeout: 0x12e8b "300.0"
MovementRate: 0x12e9e "0.06666"
MovementScale: 0x12eb4 "10"
   [Christopher J. Kane kane@cs.purdue.edu]

Under NeXTSTEP 3.1, the login window has two buttons labeled ”Reboot” and ”Power” that allow a user to reboot and power down from the login window.

In a public lab, this feature may be undesirable. The PowerOffDisabled default can be used to disable the buttons, but they are still shown in the window and push in when clicked (a bad user interface decision, IMHO).

The program below patches loginwindow to eradicate the restart and power buttons. It makes the loginwindow’s LoginButton class instance method initWithImage:altImage:andString: a no-op (just return nil). This patch has been applied to the machines in the NeXT lab at Purdue (like sonata.cc.purdue.edu for instance), and no adverse effects have been noted.

This program must be run as root, since it writes to the file /usr/lib/NextStep/loginwindow.app/loginwindow. An archive with a compiled executable has been submitted to sonata.cc.purdue.edu.

/*
 * Patches the loginwindow.app to eradicate the restart and power
 * buttons from the login window.
 *
 * Christopher J. Kane (kane@cs.purdue.edu)
 * Released into public domain; August 13, 1993.
 */
#include <libc.h>
#include <errno.h>
void main(int argc, char *argv[])
{
  unsigned char patch[8] = {0x0, 0x0, 0x42, 0x80, 0x4e, 0x5e, 0x4e,
  0x75};
   int file = open("/usr/lib/NextStep/loginwindow.app/loginwindow",
O_WRONLY);
  if (-1==file)
    goto error;
  if (-1==lseek(file, 21170, SEEK_SET))
    goto error;
  if (-1==write(file, patch, 8))
    goto error;
  if (-1==close(file))
    goto error;
  exit(0);
error:
  fprintf(stderr, "%s: %s\n", argv[0], strerror(errno));
  exit(1);
}

FAQ-Authors note: We strongly recommend to do a backup of the loginwindow application, because the patch alters the file directly and will most likely not work on different versions of the OS.

4.10 How does one set UNIX man pages to be viewed in nroff format with DL like the standard manual pages in NS2.x?

Beyond looking in the man pages under ixBuild, etc., what you want to do is put a few files (contents listed below file name) the .index directory:

.roffArgs:
-man
displayCommand:
tbl %s | nroff -man
ixBuildOptions:
-fman -Nwhatis -Ncat[1-8ln] -V

Other options that people suggested for ixBuildOptions:

-fman -Nwhatis -Ncat[1-8] -V /usr/local/man
-fman -Nwhatis -V /usr/local/man/man*

I don’t think you need to explicitly name the directory in the first alternative, but you do in the second unless you want the cat* directories indexed as well.

Note: Do NOT leave a trailing return after the line in ixBuildOptions; DL will barf. (I think someone said that, as shipped, the standard man .index/ixBuildOptions had this problem.)

   [From:  Eric D. Engstrom <eric%basilisk@src.honeywell.com>]

Can anyone tell me what the command line for this might be under NEXTSTEP 3.0?

Short answer: RTM on ixbuild(1) - specifically the parameter ”-g”.

In addition, I’d like to inform the newsgroup of a simple hack I setup on my own machine to create a unified DL target for all UNIX Manual pages (including system, local, gnu, whatever). This was easier under 2.x because IXBuild (pre IXKit) had more hacks in it...

Basically, you need to setup a directory with sym-links to the various manpage directories; For example:

(397)basilisk% pwd
/LocalLibrary/Documentation/ManPages
(398)basilisk% ls -alg
total 728
drwxrwxr-x  2 eric     wheel       1024 Mar 28 18:03 ./
drwxrwxr-x 11 root     wheel       1024 Mar 27 00:41 ../
-rw-r--r--  1 eric     wheel        370 Feb 27 22:01 .README

-rw-rw-r--  1 eric     wheel        872 Feb 27 17:11 .dir.tiff
-rw-rw-r--  1 eric     wheel         20 Feb 27 17:11 .displayCommand
-rw-rw-r--  1 eric     wheel         47 Feb 27 17:10 .index.iname
-rw-rw-r--  1 eric     wheel          6 Feb 27 17:10 .index.itype
-rw-r--r--  1 eric     wheel     729088 Mar 28 18:44 .index.store
-rw-rw-r--  1 eric     wheel          5 Feb 27 17:11 .roffArgs
lrwxrwxrwx  1 eric     wheel         18 Feb 27 17:53 gnu ->
/usr/local/gnu/man/@
lrwxrwxrwx  1 eric     wheel         14 Feb 27 17:53 local ->
/usr/local/man/@
lrwxrwxrwx  1 eric     wheel          9 Feb 27 17:53 news ->
/news/man/@
lrwxrwxrwx  1 eric     wheel         35 Feb 27 17:53 system ->
/usr/man/@

Notice that I also copied all the .[a-z]* files from the /usr/man/ directory as well.

Then, use ixbuild -gl to (re)build the index. If your any of the links point to directories on other devices, add ”d” to ”-gl”. ”-v” will give you verbose output (like my writing style ;-). RTM under ixbuild(1) for more info.

Unfortunately, once the index is built, I’ve never successfully gotten DL to update it correctly. Instead I have to do it by hand using ixbuild -ogldvc (actually, I setup a cron job to reindex weekly.)

If you have troubles, try removing the .index.store file and rebuilding the entire database. I’ve had intermittent problems with ixbuild under 3.0.

4.11 Appending a signature and addition headers to your e-mail

There is a bundle for Mail to which, beside other features, allows you to add a .signature file to outgoing e-mails: EnhancedMail.bundle. This software package is available by the FTP archive sites.

Here are other solutions which might serve you as well:

   [Carl Edman <cedman@capitalist.princeton.edu>]

First create a simple text file the following content:

#!/bin/sh
{
if test -r ${HOME}/.add-header; then cat ${HOME}/.add-header; fi
cat -
if test -r ${HOME}/.signature; then echo "--"; cat ${HOME}/.signature;
fi
}| /usr/lib/sendmail "$@"

A good name for this file would be sendmail-addheader. If you want to and can install it for system-wide use put this file in e.g. /usr/lib. Otherwise your private /Unix/bin directory is also fine. Make certain that this file has execute

permission. To set that, use e.g. chmod 755 /usr/lib/sendmail-addheader.

Next, open up the preferences panel in Mail. Switch to the expert options. Change the Mailer option from /usr/lib/sendmail (which it should originally be) to /usr/lib/sendmail-addheader (or whatever the name of the file you created is). OK this and you should be set.

From now on your file /.signature file should always be appended to all mail sent out with Mail.app. In addition if you have a file called add-header in your home-directory it should automatically be prepended to your outgoing mail. To implement a reply-to line, you would simply give it the following content:

Reply-to: My Real Human Name <name@my.real.address>

IMPORTANT: Make certain that you have one and exactly one newline at the end of /.add-header. Anything might break outgoing mail. Beware!

BUG: The /.signature file is not added properly for NeXT mail containing attachments. The headers will still be added properly. This could be fixed but probably is more of a hassle than it is worth.

   [From:  jbrow@radical1.radical.com (Jim Brownfield)]

I have added a Terminal Service to terminal to add a signature file whenever I type ¡command¿ ”0” (command/zero), and I thought this might be of interest to people who read your FAQ. I have used this technique for over a year with no problems, and it has the advantage of working both with non-NeXT and NeXT Mail.

First, you must create a file with your signature containing the characters ”–” on the first line (there has been some discussion as to whether this should be ”– ” (”–” followed by a blank), but my file only has the ”–” as the first line. The rest of the file should contain your normal signature. If you place the file in your home directory, I recommend NOT using the filename ”.signature” for this file since it may conflict with other programs (like NewsGrazer). I use the filename ”.fullSignature”. The file used for the signature should be ascii and not RTF to allow the file to be used for NeXT and non-NeXT mail.

You can create a ”Get signature” service by launching Terminal and accessing the ”Terminal Services” window through the ”Info/Terminal Services...” menu item. Then perform the following:

1. Create a new service by clicking on the ”New” button. Change the service name to ”Get signature”.

2. Add the command ”cat ¡full-path-name-to-your-signature-file¿” and ”0” (zero) to the ”Command and Key Equivalent” entry. The ”0” is obviously arbitrary, but I’ve found that it doesn’t conflict with any of the commands I normally use.

3. De-select any items checked within the ”Accept” grouping. Select the ”As Input” radio button under the ”Use Selection” section.

4. Change the ”Execution” popup to ”Run Service in the Background”. Select the ”Return Output” and ”No Shell” radio buttons.

5. Click the ”Save” button.

Now, when you type ¡command¿ ”0” (actually, from any application), your signature will be added wherever your cursor is located (be careful not to have text selected as it will replace the selected text with your signature). I have found this to be very convenient for adding my .sig to outgoing mail.

4.12 How can I quickly find a file if I don’t know its directory?

The Unix find command on the NeXT has the capability of quickly searching a database of all the files. This database is located in /etc/find.codes and has to be generated periodically. You can automatically generate this database, say twice a week at 3:15 a.m., by adding this line to your file /etc/crontab.local (you might have to create this file).

15 03 * * 2,5 root /usr/lib/find/updatedb > /usr/adm/updatedb.err

After this has run, you can quickly find any file from a terminal by typing find <pattern> where <pattern> is a part of the file name you want (it is case-sensitive).

   [Carl Edman <cedman@capitalist.princeton.edu>] adds:

Find still works under 3.0, but <pattern> now has to match the entire filename (including the path) for a match to be recognized i.e. where under 2.x you would have find foobar, under 3.0 you have find '*foobar*' (The ' are necessary to prevent the shell from expanding the wildcards itself).

   [From:  Geert Jan van Oldenborgh <gj@csun.psi.ch>]

I find the following script in /usr/local/bin very handy to bring back the behavior that God Intended find to have:

#!/bin/csh
if ( $#argv == 1 ) then
/usr/bin/find \*$1\*
else
set noglob
/usr/bin/find $argv[1-]
unset noglob
endif

4.13 Mail.app suddenly stopped working!

When I double-click the Mail.app icon it loads and seems to start but then just terminates. How can I fix this ?

Usually the problem is caused by Mail.app being terminated with extreme prejudice such as by a power outage or kill -9. Under those circumstances Mail.app may leave a lock file in your active mailbox. Due to a bug 3.0 Mail.app doesn’t ask for permission to override this lock when started up again but just dies. Open a shell and look in /Mailboxes/Active.mbox. If this directory contains a file called .lock you have found the culprit. You can safely remove this file.

4.14 Recycler doesn’t work anymore?!

For some reason, after moving my home directory, my recycler no longer works?

   [From:  eric%basilisk@src.honeywell.com (Eric D. Engstrom)]

Basically, when you dump a file in the recycler, the workspace manager (attempts) to move it to one of the following locations:

(note: no order implied here, because I’m unsure of the actual order used)

- $HOME/.NeXT/.NextTrash
(Should always exist; unsure what happens if it doesn't)
- /tmp/.NextTrash_$USER
Automatically created if non-existent)
- $MNT-POINT/.NextTrash/$USER
(.NextTrash NOT automatically created if non-existent)

Also, the workspace requires that the trash directory into which it puts the to-be-deleted file be on the same disk partition that the file originally came from (for speed, I assume).

Also, an example of the permissions for the external disk .NextTrash directory (which is not automatically created) should be :

ls -aldg  /private/mnt2/local/.NextTrash
drwxrwxrwt [...] /private/mnt2/local/.NextTrash/
   Note: /private/mnt2/local is the mount point. Do chmod 1777 .NextTrash

to get the permissions right.

Thus, if you moved your home directory from one partition to another, the one you left may not have a ”recycler-repository” to use.

4.15 How to hear sound from CDPlayer.app thought NEXTSTEP system?

To hear sound, the following info is important.

   [Carl Edman <cedman@capitalist.princeton.edu>]

Hearing the sound directly on the NeXT can be done with the play3401 program from the archives if you have a Toshiba 3401 series drive. Theoretically this can also be done with NEC [78]4-1s and Apple CD 300s, though I know of no NeXT program which supports them. Most other drives (including the NeXT CD-ROM) just don’t have the hardware to do it.

There is another player available: CD evil, which is based on play3401 but offers a GUI.

FAQ-Authors note: On Intel system it’s very easy: just connect the CD-Audio out (internal) to your CD-in of the soundcard (internal).

Anyway there are problems with different drives. E.g. we know, that the Toshiba, Sony and Nec drives currently use the same instruction set to access audio data. So be aware that there are drives which simply can’t be accessed through CDPlayer.

4.16 How do I decompress a file with the exten-

      sion .compressed?

Do this with the following methods.

   [From:  sanguish@digifix.com]

.compressed files have been compressed in the Workspace Manager. Basically, they are just .tar.Z files. Even single files are tarred as well as compressed.

There are several methods of decompressing these files.

1. They can be decompressed by selecting them in the Workspace, and Selecting uncompress from the file menu.

2. They can be decompressed by selecting them in the Workspace, and bringing up the Workspace Inspector. (You can double click to get there faster)

3. You can rename them to be .tar.Z and handle them the way you do them.

FAQ-Authors note: use uncompress to access the .Z files and/or gunzip to access .z/.gz files. Use tar to access .tar files. You might also you gnutar to access both together, e.g. to access a .tar.gz

at once. Read the man pages for more information.

4.17 How do I change the Workspace compression app?

Change it with the given method.

   [Stephen Peters <SPETERS.93Aug23144549@samsun.us.oracle.com>]

You can change the tools that the Workspace uses to create and read its .compressed files by issuing the following commands in a terminal window:

dwrite Workspace compress /usr/bin/gzip
dwrite Workspace uncompress /usr/bin/gunzip
dwrite Workspace AlwaysTarForCompress YES
   [Reuven M. Lerner reuven@the-tech.mit.edu]

This is generally a good thing, except that people might follow your advice and then try to send NeXTmail to someone who is still using compress/uncompress. Changing Workspace/uncompress to gunzip isn’t a problem, since it uncompresses all sorts of files, but people should be very careful not to change Workspace/compress to gzip unless they will only be dealing with other gzip-equipped users.

4.18 console: loginwindow:  netinfo problem - No
      such directory.

The netinfo problem is because the /keyboard directory is missing. It’s benign... but annoying.

niutil -create . /keyboard

Fixed in 2.1 and up.

4.19 Root login not possible on client machine

A number of people have complained about the situation where root can log onto the configuration server, but not its clients. Login proceeds normally, then a window with ”Workspace error Internal error (signal 10)” pops up. Other users are not affected.

This scenario occurs with NetBooted clients that are not permitted root access to / via the server’s /etc/exports file, either via an explicit root= option or (the most heinous) anon=0. For security reasons many sites will NOT want to permit such access.

Note that what you’re up against is only a Workspace Manager misfeature; there’s no problem logging in as root on the real UNIX console, or logging in as a non-root user and then using ”su” to obtain root privileges.

Root access is needed to:

• Log in a root Workspace.

• Perform BuildDisk on a client.

• Run the GuidedTour demo for the first time subsequent invocations will not autologin, but they will run just fine if you log in as NextTour (no password).

It is not required to perform updates on the local NetInfo database, for any normal user operations, nor to run programs requiring root access on the server

using -NXHost.

4.20 How to boot NEXTSTEP from the second (higher SCSI ID) HD?

Use the following command.

bsd(1,0,0) -a

which will then ask you for the drive to use as the root disk, or still easier,

bsd(1,0,0)sdmach rootdev=sd1

In the boot command the name of the bootfile can be replaced by '-'. This is very useful as the length of the bootcommand which can be stored in the permanent memory is very limited (on NeXT machines only). So the only way to eg. increase the number of buffers permanently to 128 in the boot command is to use the following boot command: sd- nbu=128 (sdmach nbu=128 would have been too long).

4.21 How to make swapfile shrink to the normal size?

The swapfile is located in /private/vm. The only current way to make it shrink is to reboot the machine.

See the man pages for swaptab for more information. Note, that putting a

space after the comma in /etc/swaptab (lowat=<number>,hiwat=<number>)

makes swapon ignore the hiwat entry.

There is a short trick which seems to work for several people: type exit in the login panel. This will exit the window server and restart it immediatly. If you are lucky, this will reclaim some space.

4.22 Does netinfo work between machines run-

ning NEXTSTEP 2.x and 3.x?

Yes.

4.23 Why does the console user ”own” the ex-

ternal disk filesystem?

You need an entry in /etc/fstab so the disk will be mounted at boot time, rather than being ”automounted” when somebody logs in. Automounted disks are owned by whoever logged in, fstab-mounted disks are owned by root. Something like this:

/dev/sd0a / 4.3 rw,noquota,noauto 0 1
/dev/sd1a /Disk 4.3 rw,noquota 0 2

(assuming the external disk is to be mounted as /Disk)

fstab should be niloaded into the Netinfo database if it contains any NFS mounts.

4.24 How to limit coredump sizes?

Limit it by the following command.

This will work for apps running from a shell.

limit coredumpsize 0

If your dock or workspace apps are dumping core, there’s also:

dwrite Workspace CoreLimit <bytesize>

4.25 What is the maximum value of nbuf that I

can specify on bootup?

I know the ROM monitor only allows twelve characters, but I use something like this:

bsd sdmach nbuf=xxx

(NeXT machines only) Enter the hardware monitor. Hit ’p’ to adjust the configuration parameters. It will respond: Boot command: <something>? Enter sd- nbu=xxx, where xxx is a number less than 256.

4.26 How can I change the mouse pointer shape and color?

Maybe this could point you into the right direction. Pipe it to pft and see what happens....

%!PS-Adobe-2.0 EPSF-2.0
%%BoundingBox: 0 0 16 16
%%EndComments
0 0 16 16 Retained window
dup windowdeviceround
gsave
16 16 scale
16 16 4
[16 0 0 -16 0 16]
{<
ffffffff00000000000000000000000000000000000000000000000000000000
ffff0d0fffff0000000000000000000000000000000000000000000000000000
ffff0d0f0d0fffff000000000000000000000000000000000000000000000000
ffff0d0ffd0f0d0fffff00000000000000000000000000000000000000000000
fffffd0ffd0ffd0ffd0fffff0000000000000000000000000000000000000000
fffffd0ff50ff50ff50ffd0fffff000000000000000000000000000000000000
fffff50ff50ff50ff50ff50ff50fffff00000000000000000000000000000000
fffff50fd00fd00fd00fd00fd00f908fffff0000000000000000000000000000
ffffd00fd00fd00fd00fd00fd00f908f908fffff000000000000000000000000
ffffd00fd00fd00f908f908fffffffffffffffffffff00000000000000000000
ffff908f908fffff00ff00ffffff000000000000000000000000000000000000
ffff908fffff0000ffff00ff00ffffff00000000000000000000000000000000
ffffffff00000000ffff00ff00ffffff00000000000000000000000000000000
ffff0000000000000000ffff00ff00ffffff0000000000000000000000000000
00000000000000000000ffff00ff00ffffff0000000000000000000000000000
000000000000000000000000ffffffff00000000000000000000000000000000
>} false 3 alphaimage
grestore
gstate
nextdict /_NXSharedGrayAlpha get
NX_TwelveBitRGB 1 index setwindowdepthlimit
windowdeviceround
0 0 16 16 5 4 roll 0 32 Copy composite
nulldevice
termwindow

Maybe somebody wants to write some kind of ”pointer editor”?

There is also a commercial application named ’MouseMagic’ which handles this and custom acceleration modes.

4.27 How do I customize BuildDisk to create a bootable disk of my own configuration?

The BuildDisk application is extremely limited in terms of the types of disks configuration it knows how to build. Essentially it ”knows” about swapdisks, optical disks, 330 and 660 MB SCSI disks. If you wish to do custom configurations you should look at existing BLD script files in /etc/BLD.* There is a script which you can use to specify which BLD script you are using, which disktab entry, and other useful parameters in /usr/etc/builddisk

Some things to note:

• the fstab installed on the target disk is specified in the newclient command in the BLD script. standard fstabs are extracted from /usr/template/client/fstab.*

• the BLD scripts do not put down a new boot block on the scsi disk, you may want to install one by hand using the /usr/etc/disk program.

• some disks boot fine but NeXTstep comes up with a blank window and no login window. This is due sometimes to forgetting to install an accessible /NextLibrary/{Fonts,Sounds}. In general you need quite a lot of things to make a bootable disk.

You can build a minimally usable bootable floppy (for crash recovery purposes). There is a modified version of builddisk (to make it support building floppies, a minimal change) and a BLD script to build the boot floppy available

at cs.orst.edu in next/sources/Bootfloppy.tar.Z. (I put this together in

response to several requests.) A newer version of Bootfloppy for 2.1 is on the

archives as next/sources/util/Bootfloppy2.1.tar.Z.

Also available from the archives is BootFloopy 3.x (for — you guessed it — NEXTSTEP 3.x). I might also add that one can improve on disk usage while enhancing functionality. BuildDisk (which is used by the various BootFloppy scripts) just copies the standard binaries for ls, mv, cp aso. from /bin. These binaries are statically linked as shipped by NeXT which makes them huge. (e.g. /bin/ls is 106496 bytes large. /usr/local/bin/gls with more features is just 16268 bytes). If you replace these binaries by the BSD or GNU equivalents you can save several hundred kBytes on your boot floppy. This extra diskspace can be used for tar, dump and more tools which makes the boot floppy actually usable. Tested.

4.28 Are there any more dwrites useful for the workspace, ...?

There a lot of dwrite useful for you. (self explanatory)

dwrite Workspace compress   /usr/bin/gzip
dwrite Workspace uncompress /usr/bin/gunzip
dwrite Workspace AlwaysTarForCompress Yes
dwrite Workspace DockOrginX (some number)
dwrite Workspace DockOrginY (some number)
dwrite Workspace DockOffsetX -1057 (leftmost)
dwrite Workspace DockOnTop (0 or 1 for true or false)
dwrite appname NXCMYKAdjust YES
dwrite Preferences 24HourClock yes

4.29 What is the @LongLink message from gnutar all about?

Because gnutar tries to be somewhat compatible to the old tar format, it can’t store pathnames longer than 100 chars. In order to store files with longer names, it generates a special file entry containing just the longer filename. These are the long links you see. Nothing to worry about.

4.30 What stands the file .place3 0.wmd for?

The Workspace uses it to record the window attributes (sort order, view type, icon positions and so on)

Switching the ’UNIX Expert’ flag in UNIX Preferences panel off hides all files which start by ’.’.

4.31 How to create transparent icons with Icon-Builder

If you are repainting an icon on the filesystem e.g. .dir.tiff make a copy and remove it first. Then reload the directory (the default icon gets shown). This is needed because the system caches icons.

Now here comes how to create transparent backgrounds using IconBuilder:

• Select Format-¿Document Layout (or New document layout)

• ’Has alpha’ must be checkedus • Open the color inspector

• UNcheck ’paint in overlay mode’

• Choose any color (I took white)

• Set Opacity to 0

• Use Paintbucket to fill the whole icon

• Now set Opacity back to 100

• Draw the icon What ’Paint in overlay mode does, is that when checked, it will use both the

alpha (opacity) of the existing pixel and the alpha selected in the color inspector and combine both into a new color. When unchecked the existing pixel will just be replaced with one using color and alpha as selected in the inspector.

4.32 How to access the MAC format of a mixed

DOS/MAC CD-ROM

Some CD-ROMs are using multiple fileformats to adress more people. This is done by putting two filesystems on the disk. With NEXTSTEP you are able to acess both. But what to do if the Workspace only shows you the DOS side of a disk, while the Mac side is often more convenient (due to e.g. long filenames).

The solution is to change the priority the system is searching for a usable filesystem. You need to rearange the filesystems in /usr/filesystems to fit your needs. Here is how:

• ls -lR /usr/filesystems shows the actual searching queue.

• mv /usr/filesystems /tmp/filesystems to backup things

• mkdir /usr/filesystems recreate the directory.

• cp -p -r /tmp/filesystems/xx /usr/filesystems copy the filesystems

in order of searching back to the default location.

• chmod 4755 /usr/filesystems/xx.fs/xx.util reset SUID mode
• reset the links in /usr/filesystems/DOS.fs/.

4.33 Is there a PPP for NEXTSTEP

There is a commercial PPP and a public domain PPP implementation. For the public domain PPP there is an additional FAQ available at: http://www.thoughtport.com:8080/PPP/ The public domain PPP is based on the PPP-2.2 distribution. This distri-

bution offers several enhancements over ppp-2.1.2. Especially noteworty is that it implements BSD packet compression. Using packet compression can lead to higher throughput than you get using compressing modems.

The port works on Motorola, Intel (both Mux and NeXT supplied serial drivers), and HP systems running OS 3.2 and 3.3. It also works in conjunction with Black and White’s NXFAX software.

You may also want to join the mailing list for PPP. This will keep you informed of new releases and will provide an arena for discussing problems with the NeXT specific PPP port. To add yourself to the list (or for any other administrative requests), send an email message to: listproc@listproc.thoughtport.com requesting you be placed on the list. Make sure to include your proper return email address. To send mail to all the participants on the list, address your

messages to: nextppp@listproc.thoughtport.com

Black (NeXT) hardware

5.1 What disk drives will work with the NeXT?

There are some situations in which there are problems. Here is a short list which might help you in your disk drive quest:

• These drives don’t work with NeXT hardware: FUJITSU 2684SAU, SEAGATE

     ST51080N, IBM IB06H8891

• The SCSI driver for NeXT hardware only accepts asynchronous data transfer. Although every new SCSI-2 drive should support this mode, this isn’t true for certain drives. Also sometimes there is a hardware switch (a little jumper on the drive) which switches between synchronous and asynchronous mode. You definitly can only use asynchronous disks!

• There are also problems with sync negotiation on NeXT hardware. In general there should be another jumper to toggle this are you might change this with an SCSI utility. There are also problems with the tagged command queuing option. Anyway all these problem can be solved.

Most SCSI disk drives will work without modifying /etc/disktab.

There are problems with the installation of boot blocks and badly formed fstab generated by BuildDisk of NEXTSTEP 2.0. A disk connected to the NeXT will need to have a NeXT specific label written to it before it can be properly recognized by the system. If you get an error message ”Invalid Label...” this indicates that the drive was successfully seen by the NeXT machine but it does not have the proper label, to install a label use the /usr/etc/disk program on the raw disk device that the system assigned to the device and use the label command to write the label onto the disk. [how the NeXT assigns disk devices is explained in the N&SA manual]

NEXTSTEP releases 2.0 and up provide a low level disk formatter, sdform, which does not offer much flexibility, but gets the job done. Most drives are already formatted at the factory. You might look for the utility sdformat on the FTP sites as well, which overcomes some problems of sdform supplied by NeXT.

5.2 Will a 68030 NeXT Computer run NEXTSTEP 3.3?

Yes, but note that NeXTstep 3.3 is be optimized for the 68040 CPUs. NeXTstep 1.0 and 2.x were optimized for the 68030 CPU, 68882 FPU machines.

5.3 How do I configure my HP 660 to boot properly?

It has been reported that HP drives fail to autoboot on power on or while other devices are on the scsi bus. The problem seems to be with drives configured to spin-up automatically on power on do not get recognized at boot time. To remedy this problem reliably with HP 660Mb (HP97548) and 1Gbyte (HP 97549) drives remove the auto spinup jumper on the back of the drive. Looking at the disk from the back with the power connector on the lower left, it is the sixth jumper.

The official fix was an EPROM change to the HP drive from HP. The HP drives took too long to wait up, so the system wasn’t happy with the other drives coming ready first especially when the HP was suppose to be the boot device. (The EPROM is no longer available from NeXT).

5.4 What is the procedure for installing a Fujitsu M2263SA/SB SCSI Disk as the NeXT Boot Disk?

See Izumi Ohzawa’s note in /pub/next/docs/fujitsu.recipe available via

anonymous ftp from sonata.cc.purdue.edu.

5.5 How to mount a corrupted OD that won’t automount?

If you can’t automount an OD, and you can’t fix it, you can still manually mount it. Log in as root. Type /usr/etc/mount /dev/od0a /FoO. It will ask you to insert the disk. Insert it. It is mounted.

This method WILL mount a corrupted OD so you can read its contents. Since it is corrupted, it is not recommended to write to it. You should copy the important files to something else, then reformat it.

5.6 What non-NeXT CD Players that work with a NeXT?

A USENET survey summary:

Apple CD-150
PLI 1035N for NeXT
SUN CD-ROM drive (Sony CDU-8012, Rev. 3.1a)
NEC 73M and 74 (transfer rates > of 300 KB/sec.)
NEC 84 S
NEC 4xi
NEC 6x speed
Apple CD-SC (Sony 541-22 mechanism)
Apple CD-300
Apple CD-300+
Chinon CDS-431 (with new drivers)
Eclipse CD-ROM from Microtech
Toshiba 3201
Toshiba 3301
Toshiba 3401
Toshiba 3501
Toshiba TXM3301E1
Toshiba XM-2200A external
Toshiba XM3601
Plextor Quadspeed
Plextor PX-63CS (6xspeed)
DENON DRD-253 external (data only, no music)
HP's LaserROM drive (Toshiba XM-3301TA drive in HP's box)
Texel 3024 (required a firmware upgrade to version was 1.11)

As with all SCSI devices, they just work. Some drives only get problems with their audio support with CD-Player (due to not standardized SCSI audio commands, but this isn’t a NeXT specific problem!)

In contrary the question should be: are there SCSI CD-ROMs which don’t work together with NEXTSTEP?

5.7 What are some other sources of toner cartridges and trays for the NeXT laser printer?

The toner cartridge is a standard EP-S cartridge, the same that fits the HP LaserJet III and some other printers.

Any HP LaserJet II or III will fit. HPLJ4mSI cartridges do NOT fit. Any HP LJII or LJIII paper tray will fit. IIISI and 4 trays will not. Confused? Read again :-)

5.8 What printers (laser or otherwise) may be used with a NeXT?

If you plan to connect an HP LaserJet (II, IIP, III, etc.) you need to make a special cable in order for the NeXT 040 and HP to get the hardware handshaking correct. This is true for whatever version of the OS you are running.

NeXT 68040 to HP LaserJet III Cable (not a Null-modem cable):

Mini-Din       HP DB-25
1   (DTR)      nc
2   (DCD)      4  (RTS)
3   (TXD)      3  (RXD)
4   (GND)      7  (GND)
5   (RXD)      2  (TXD)
6   (RTS)      5  (CTS)
7   (RTXC)     nc
8   (CTS)      20 (DTR)

You may want to use hardware flow control for reliability (ie /dev/ttyfa). If you have problems with other printers, check the cable pinouts in the

printer’s manual against the one recommended in the zs man-page! Refer to Chapter 13 in Network and System Administration.

5.9 What can I do to prevent my NeXT printer from running all the time?

The NeXT 400dpi printer powers up every time you boot up when the print daemon is started (/usr/lib/NextPrinter/npd in /etc/rc). Apart from not running the daemon at boot time (commenting it out and having to run it by hand later), you can add the following lines to /etc/rc.local:

if [ -f /usr/etc/nppower ]; then
sleep 3
/usr/etc/nppower off
(echo 'powering off NeXTprinter')  >/dev/console
fi

Once you queue a print job the printer daemon will automatically power up the NeXT printer for you. The printer daemon will not automatically power off the machine after a print job, you will need to turn off the printer by typing

/usr/etc/nppower off.

5.10 What type of microphones will work with the NeXT?

Some NeXT owners use the RadioShack (Realistic) Tie Clip Microphone ($19.95) cat 33-1052. NeXT Computer, Inc. uses the ”Sony Electret Condenser Microphone ECM-K7” in-house (available for $60). Some use Sony Tie-Clip microphone, #ECM-144, which costs around $40. Others have successfully used a WalMart brand microphone (available for $6).

5.11 How do I connect a modem to the NeXT?

Previously, we suggested that people use Mac modem cables; however, it has come to our attention that there is no one standard Mac modem cable.

Since correct modem operation on a NeXT depends upon a correctly wired modem cable, buying a Mac cable is not a good idea. Some Mac cables do not allow dial-in and no Mac cable allows the use of hardware flow control. For these reasons, we are recommending that only cables that meet NeXT specifications be used. [however, if you have a Mac modem cable lying around and don’t care about dial-in or hardware flow control, then by all means....]

These cables are available commercially from any store, how still sells NeXT stuff, and from Computer Cables and Devices, or can be custom built. Note that no off- the-shelf Mac cable will allow hardware flow control. It is however possible to make a such a cable from an Imagewriter II cable by replacing one of the mini-8 ends with a DB-25 connector.

Hardware flow control is absolutely essential for all serial port connections with speeds of 9600 bps and above. Make certain that you cable supports it, your modem is configured to use it and you are using the hardware flowcontrol

devices /dev/cuf[ab], /dev/ttydf[ab] and /dev/ttyf[ab], respectively.

Most people use tip or kermit to control the modem. SLIP and/or UUCP may also be used (but are more complicated to set up and require the remote machine to also have SLIP and/or UUCP (respectively)).

A version of the DOS-program pcomm can be found on ftp.informatik.uni-muenchen.de The 2.0 Network and System Administration Manual, which is available in

hard-copy (shipped with each machine) contains an extensive description of how to use modems with the NeXT machine. Additionally NeXT in their TechSupportNotes series called SerialPortDoc.wn and UUCP for 1.0/1.0a systems . This document is available from most FTP sites that carry NextAnswers. Also, try to obtain the about.modem.Z file by Mark Adler in the pub/next/lore directory

on sonata.cc.purdue.edu

5.12 Are there any alternative sources for the SCSI-II to SCSI-I cable required to attach external SCSI devices to the 040 NeXTs?

Yes. This cable is the same as the one used by Sun SparcStations and DecStation 5000’s (but not DecStation 3100’s which use 68-pin micro rather than the 50pin micro connector used on NeXT 040, Suns and DecStation 5000).

The implication that a Sun SparcStation cable can be used with NeXT peripherals is generally false. NeXT themselves, and DEC, and nearly everyone else who makes SCSI peripherals, puts Telco-50 (centronics) connectors on their devices. Sun in their infinite wisdom uses DD50 which are quite different. Telco-50 is an approved connector type in the SCSI spec.

Probably the original point was that the 50-pin microSCSI on the NeXT and Sun and some DecStations was different from the 68-pin microSCSI on the DecStation 5000. But this does not address the other end of the cable.

5.13 What fax modems will work with the NeXT?

Most available modems of today, don’t work for with the general fax driver available with NEXTSTEP. In this case you need to perchuse a commercial solution: ’NXFax’. There are demos available. The following information is pretty much old, and might probably be obsolete now:

The following fax modems are currently available for the NeXT Computer:

    Manufacturer,           Model Supplier,    Type
    DoveFax for NeXT,       Dove Computer,     Class 1
    HSD FaxMaster,          HSD Microcomputer, Class 2*
    mix fax,                ilink GmbH,       Class 2**
    SupraFAXModem V.32bis, Supra Corp.,        Class 2
      (requires DFax driver or NXFax driver)
    ZyXEL U-1496E/E+/S/S+,  ZyXEL USA,         Class 2

      (requires NXFax driver)
    Telebit T3000 with fax option
    Telebit WorldBlazer with fax option
      (requires NXFax driver)
    Neuron 1414/1414+ with ZyXEL ROM upgrade
      (requires NXFax driver)

(Neuron 1414 and Neuron 1414+ modems are relabelled ZyXEL modems. Contact ZyXEL USA for ROM upgrades. Neuron modems with 512K ROMs should upgrade their ROMs and ROM sockets to 1 Mb ROMs. People with 1Mb ROMs should just order the new ROMs.)

(*) Note that the Class 2 is not yet approved; it is still out for ballot, after having failed in an October 1990 round. The Abaton InterFax 24/96 NX driver supports Class 2 as it was in that draft; there are expected to be very few changes prior to approval.

(**) Note that mix fax works with both the October 1990 and October 1991 draft versions of Class 2, especially with the NeXT supplied Class 2 modem driver. Upgrading to an approved version of Class 2 would be a matter of just a software update (holds true for any forthcoming (class 3?) standard, for that matter).

In order to use a fax modem with the NeXT Computer, a NeXT compatible fax driver must be available to operate the modem. Modem control procedures may be proprietary or conform to one of the following EIA/TIA standards:

Class 1: CCITT T.30 session management and CCITT T.4 image data handling are controlled by the driver.

Class 2*: CCITT T.30 session management and image data transport are handled by the modem. CCITT T.4 image data preparation and interpretation are controlled by the driver.

Release 2.0 of the NeXT system software includes a Class 2 modem driver which will work with any fax modem which meets the EIA/TIA Asynchronous Facsimile Control standard. Other fax modems must supply a NeXT compatible driver.

Note that there’s a small bug in 2.0 (fixed in 2.1): a symbolic link is missing

for the file Class2 Fax Modem Driver in /usr/lib/NextPrinter. The simple

fix: create the link; it should reference Interfax Fax Modem Driver, also in the

/usr/lib/NextPrinter directory.

An alternative workaround for Class 2, especially useful for novices: just use InterFax as the modem type in PrintManager, rather than Class 2*.

After installing a fax modem using PrintManager one must repeat setting things in the Fax Options panel in order for them to be stored correctly. In particular, these include the Rings to Answer and Number of Times to Retry. This affects all fax modems being installed.

If one uses illegal characters in the Modems Number field in the Fax Options when configuring an InterFax modem then the modem will not answer the phone. Legal characters are digits, spaces, and plus signs. This does not affect the Dove modem.

Modems from the german vendor Dr. Neuhaus also work with the internal Fax-Driver. But only the FURY-series does.

5.14 How may I attach more than two serial ports to the NeXT?

TTYDSP From Yrrid converts the DSP port into an additional serial port.

Yrrid Incorporated
507 Monroe St.
Chapel Hill, NC 27516
Voice: 919-968-7858
Fax: 919-968-7856
E-mail: yrrid@world.std.com

Unitnet has a device, the SLAT, that will connect to the scsi bus.

Uninet Peripherals, Inc.
Voice: 714-263-4222
Fax: 714-263-4299

Central Data Corporation makes the scsiTerminal Server family of products. Drivers for NextStep 3.0 and 3.1 are available for both the 68K-based and

Intel-based platforms. The products available for NeXT include:

       Product         DESCRIPTION
       ST-1002+        2 serial, 1 parallel
       SP-1003         3 parallel
       ST-1008+        8 serial, 1 parallel
       ST-1016         16 serial

You can also mix and match multiple units.

Phone: 217/359-8010
Toll-free: 800/482-0315
FAX: 217-359-6904
Email: info@cd.com
support@cd.com
sales@cd.com

Also, one can use an IP terminal server. In a non-Internet environment, inexpensive terminal servers, which don’t control access to the network securely, can be used. If your network is an Internet subnet, you must use a terminal server that controls either: (1) who can log into the terminal server, or (2) which machines the terminal server will access. These tend to be more expensive (around $250/port, but in 8-port increments), but it may be quite economical means of sharing ports among many NeXTs (or other computers) on the network.

Particularly if one has a NeXT network, an Ethernet terminal server may be the way to go. One that supports Linemode Telnet (such as the Xylogics Annex III) will offer the best performance.

5.15 What is the best and/or cheapest way to connect a NeXT to a thick Ethernet?

There are many possible solutions. For example, here are three:

• The University of Waterloo (Audio Research Group) uses an old door-stop PC XT clone with two Western Digital cards (WD8003E Ethercard Plus, $250 CDN each; you should be able to get them for under $200 (US$)) running Vance Morrison’s PCRoute (available from accuvax.nwu.edu). You will also need a thickwire transceiver and a drop cable (about $300). In addition, you will need Internet addresses for the NeXT and both PC Ethernet cards (and a subnet address). The documentation for PCRoute contains quite a bit of information on the performance of this setup. This solution requires two subnets. There is another program called PCbridge that allows the machines on the thin and thick wires to be part of the same subnet. This product also does packet filtering, so that packets destined to machines on the same side of the net do not cross over.

• Cabletron sells a MR-2000C Singleport Repeater for $695 that does exactly what you need minus drop cable and transceiver. Their number is (408) 441-9900.

• The march 1992 INMAC networking and connectivity products catalog lists thicknet to thinnet converters. Product number Z903071 price $445. Claims full ieee 802.3 compatibility and diagnostic LED’s.

• NuData (908)-842-5757 (USA) sells AUI¡-¿10 base-T boxes for about $149.

5.16 How can I connect my NeXT to the telephone line and use it like an answering Machine?

A company that is selling both hardware and software to allow you to do this:

SES Computing
13206 Jenner Lane
Austin, Texas 78729
Voice: (512) 219-9468 (Demo system number)

i.link, a european company, has a combined data/fax modem and telephone answering machine. It uses the DSP port and is implemented mainly in software on the DSP with a little bit of hardware to interface to the phone line.

i.link GmbH
Nollendorfstrasse 11-12
D-1000 Berlin 30
Germany
Tel: +49 30 216 20 48
Fax: +49 30 215 82 74
E-mail: info@ilink.de

5.17 What color monitors can I use with the Color NeXT machines?

The important specs for the color monitor are:

Horz Scan Rate: 61 KHz
Vertical Scan Rate: 68 Hz
Resolution: 1280x1024 (NeXT uses 1120x832)
NON-INTERLACED

Displays may require alignment to adjust for the scan rate of NeXT machines.

The Nanao T560i 17” color display has been used with NeXTstation Color machines, and seems to work well.

Some larger NEC displays have also worked.

5.18 Where can I get 13W3 to BNC adapters to connect third party color monitors?

You can get them from:NeXT/Bell Atlantic:  part number S4025.

NuData in New Jersey carries 13W3 female to 4 BNC male connectors. The price is about $100.

NuData
Voice: 908-842-5757

DISCLAIMER: I take no responsibility for the following. If you can source the bits yourself here’s how it’s built.

1 female 13W3 connector
3 Male BNC connectors
3 mini coax
ie. the pins to the coaxial are male and the regular pins are female.
Looks like this.
    .   o o o o o .     .        13W3 FEMALE
    A1 o o o o o A2     A3
    |             |     |
    |             |     |
    |             |     |
    Red           Green Blue     3 BNC's

That’s the coax part. The outer shielding of the coax’s are grounded on both pin 10 and the case.

5.19 How may I attach Centronics or 16 bit wide parallel ports to the NeXT?

Uninet has devices, the SLAT-2 and the SLAT-DRV11, that will connect to the scsi bus.

Uninet Peripherals, Inc.
Voice: 714-263-4222
Fax: 714-263-4299
zardoz!sales@ics.uci.edu or uunet!ucivax!zardoz!sales

5.20 Why does an unused serial port consume cpu?

Perhaps you’ve got a (probably fairly long) unshielded serial cable attached to it, with either nothing at the other end or a powered-off device at the other end.

EE’s call this an antenna. It’s probably picking up most of the radio stations in your area, which the serial chip is interpreting as a continuous stream of garbage bytes, which it feeds to getty, which tries to interpret them as login attempts.

How do you avoid this problem?

• leave the device at the other end switched on (even when it’s not transmitting, it will assert a voltage that overrides the noise)

• unplug the cable from the next when you’re not using it

• use 'kill -STOP' & 'kill -CONT' to stop and resume the getty process as needed

• buy an adequately shielded serial cable

5.21 How to adjust MegaPixel Display brightness and focus?

Adjust it using the following information.

   From: Charles William Swiger <infidel@cmu.edu>

I have adjusted several monitors with no problems, but make sure you know what you are doing before opening anything. I expressly disclaim responsibility for any ill results that may occur.

In order to adjust NeXT’s MegaPixel display (called ’the monitor’ hereafter), you’ll need (a) the NeXTtool (or a 3mm Allen wrench), (b) a plastic adjustment tool (preferred) or a thin bladed screwdriver, and possibly (c) a Phillips-head screwdriver.

(NB: A similar procedure will work for color monitors, but you should either know what you’re doing or you’ll probably be better off letting a pro deal with it.)

Turn off the computer. Disconnect all cables to the monitor. Look at the back of the monitor. There will be 4 screws there; use the NeXTtool (or Allen wrench) to remove them. Remove the plastic back of the monitor and put it out of your way.

Reconnect the cables and turn the computer back on. As the machine powers up, examine the back of the monitor. You’ll see a metallic box (usually silver, though some are black) surrounding the monitor’s vitals. This protects you against the dangerous voltages inside, and also insulates the monitor from electromagnetic noise. On the back of this box are several holes for performing adjustments. There are two focus controls (labeled ’focus’ and ’dynamic focus’), a brightness control (labeled ’brightness’ or possibly ’black level’) and several others that adjust various things like screen size and position.

Depending on the exact placement of the controls on the circuit board of your specific monitor, some of these controls may be difficult (or impossible) to adjust from the back. If this is the case, I will describe what’s necessary below. Otherwise, adjust the appropriate controls using either an adjustment tool or a screwdriver. Be warned that a screwdriver probably will cause some interesting video effects when it enters the case. Ignore this the best you can, or find a plastic adjustment tool, which is what you *really* should be using anyway. Using a flashlight will help you see into the hole so that you can align the business end of the tool correctly.

Focus and position controls are fairly obvious. Adjust them slowly until you’re happy with the results. Don’t muck with anything you don’t need to; the factory settings are usually pretty decent.

To correctly adjust the brightness, follow this procedure: Turn the brightness of the monitor all the way down using the keyboard. Adjust the brightness control on the back of the monitor until a barely noticeable picture forms. Then turn the brightness down a little so this picture disappears completely. Check that you can get adequate brightness by using the keyboard to brighten the screen. If the display isn’t bright enough, adjust the brightness control on the rear of the monitor high enough so that the monitor display is adequate. Note that you won’t be able to dim the screen completely from the keyboard...sorry.

Once you’re finished, shut down the computer, take off the cables, reattach the back of the monitor, and reconnect the cables. You’re done.

If the control you need to adjust proves to be difficult, you may need to enter the metal case. This happened on one monitor’s focus control and another’s brightness.

WARNING: THE VOLTAGES INSIDE THE MONITOR’S CASE ARE VERY DANGEROUS, EVEN WHEN THE MONITOR IS OFF. BE VERY CAREFUL, OR YOU CAN SERIOUSLY INJURE OR EVEN KILL YOUR-SELF.

DO NOT PERFORM THE NEXT INSTRUCTIONS UNLESS YOU ARE CONFIDENT THAT YOU KNOW WHAT YOU ARE DOING.

You’ll have to power off the computer again, and disconnect the cables.

Looking at the monitor from the back, notice a section of metallic shielding on the right side of the metal box that extends to the picture tube. This is where the flyback transformer is connected. It shields a wire that is charged to about 25,000 V.

WARNING: DO NOT TOUCH THIS WIRE, IT CAN SHOCK YOU THROUGH ITS INSULATION.

Being very careful of this, remove the metal case by unscrewing the Philip’s head screws that hold the case on. Don’t touch the screws that hold the picture tube into the front of the monitor’s case.

Once you’ve gotten the metal box off, reconnect the cables. Figure out what control you’re going to adjust, and make sure that you can do so without touching anything else inside. Again, *watch out* for the wire that connects to the picture tube on the right side.

Power up the computer. I recommend that you use only one hand to make the adjustment, and that your other hand be placed in your pocket (or similar equivalent, if you’re wearing clothes lacking pockets). This precaution reduces the chances that you’ll make a short circuit between one hand, your heart, and the other hand — a good idea.

Perform the necessary adjustment(s), being very careful not to touch anything inside. Then shut down and reassemble the monitor, following the directions given above.

Hopefully, these instructions will prove useful. Once again, please be very careful...I don’t want your death and/or injury on my conscience (or a lawsuit, for that matter, either :-)

5.22 I want to emulate a macintosh, how?

There is a nice way to run macintosh-software on your original black hardware.

It works fine with dual-headed cubes and is optimized for the Apple OS - Version 7.5. To get further information about daydream, please contact:

QUIX Computerware AG
011-41-41-440-88-28
9 hour differential
Luzernerstr.10
6030 Ebikon
Switzerland
Next software - 011-41-41-34-86-80
quix@applelink.apple.com

There is another solution, completely in software: ’Executor’ from Ardi does

the job, too. (http://www.ardi.com/

5.23 My NeXT laser printer fails to fully eject the sheet - how to fix?

Fix it as follows.

If you continually get messages like, ”sorry, the printer is jammed” and you have to pull each page out the last inch, you probably need to replace the 14 tooth gear in the output stage(fuse ass’y).

You can see this gear before you disassemble the printer, so that is a good first step. Then read these instructions all the way through and see if you want to attempt it. Next recommends replacing the entire fuse ass’y ( big bucks) if the gear is damaged, but Chenesko, Inc., of Ronkonkoma, NY sells the gears for $2.31. The part number is RS1-0132. They recommended I also replace the 20 tooth gear, number RS1-0116, but I don’t know if it is really necessary. Their phone number is 800-221-3516.

PartsNow is also selling laserprint replacement parts. Their part number for the a replacement roller part is RA1-84489-000 000. You might contact them for further details.

To examine your gear, open the rear (delivery ) door and undo the screw attaching the strap that keeps the door from opening down all the way. The gear is on the side nearest the power input to the printer.

There are two gears on the part of the delivery ass’y that swings down. The suspect gear engages the top one, but is mounted on the fixed portion of the fuse. Ours had several teeth missing and/or damaged. To get the gear off you have to remove the fuse ass’y. To remove the fuse you must open the printer lid fully, so it is straight up. To open the lid fully you must remove the case. To remove the case you must remove the plastic cover on the lid.

Are you getting the idea now? This will be a lot of fun, and take most of the afternoon. I hope you have a spacious, well-lit area, because there are a lot of screws, and a lot of them are painted black, so they are hard to see when you drop them, unless you drop them inside of the printer, where you might NEVER see them again.

Fortunately, as with all computer equipment, they seem to put lots of extras in, so just make sure there aren’t any where they might do damage, like short out the mega KILOVOLT corona power supply, or grind into the REGISTRATION rollers. You do want your printouts to be straight, don’t you?

So, if you’re ready, here we go.

• PREPARATION Most mere mortals will want to power down everything and disconnect the cables, etc. Remove the cartridge and paper trays, etc.

• REMOVE THE LID COVER open the lid and remove 3 screws. They DO NOT have any red paint on them.

• REMOVE THE BACK DOOR there is one screw that holds the strap. When you can swing it clear down, you can squeeze the hinges together and remove the door.

• REMOVE THE CASE There are maybe seven screws that hold the case on. Four are right on top. Two are just inside the rear door area. Two are down inside where you store that green cleaning tool. 4 + 2 + 2 = 7, right? Say, who was the last guy that worked on this printer anyway?

The case has to be convinced that you really need to remove it, even when it is loose and all the screws are out.

• REMOVE THE FUSE ASS’Y You will need a PHILLIPS screwdriver for this, as with the previous steps. But you will need a LONG one this time. Three of the screws are pretty easy to find. Just study the lower part of the fuse, as it is screwed onto the bottom case. Two of the screws are inside. One is under the lid next to the gears, the other near the green cleaning tool. On the outside, in back, there is one on each side. One is under the white wires that connect the fuse to the 10 AMP circuit breaker, which is pretty near that gear, and close to the power input. Unplug that cable. Then remove the small black crew that holds the black plastic gear cover so you will have better access to the last screw. Then you will have to wrestle the fuse out the back of the printer. Be careful with it.

• DISASSEMBLE THE FUSE There are several screws and a spring. It’s not too hard to take apart. You can see the gear, so you just have to take off the covers on that end of the ass’y to get to it. I should caution you that I had trouble putting them back on, because they have funny shapes and don’t make a lot of sense. Plus I was tired, so I went home, ate dinner, played with the dog, went to bed, got up and ate breakfast before I put it back together. You might want to label some parts, make some drawings, etc. to reassure yourself that you can put the parts back just like they were.

• REMOVE THE GEAR You can remove the gear pretty easily with a small screwdriver by unspringing the ”E”-ring that holds it on the shaft. Try not to bend the e-ring.

• PUT EVERYTHING BACK TOGETHER Sorry, I can’t help you with this part (HA HA!) I told you you should read the instructions first. Maybe you should buy a new printer, or try to attach some third party printer via the serial port!

Well, if you got this far I hope you dropped little crumbs of bread so you can find your way back. I try to save all the little screws by putting them back in the holes they came from, or putting them in some small container. You might clean some of the gears or the paper path while you have it open. You can also install a new OZONE filter. Remember OZONE is hazardous to your health, so you don’t want to inhale it.

DISCLAIMER: BE CAREFUL IF YOU TRY THIS PROCEDURE. THERE ARE DANGEROUS VOLTAGES PRESENT, AND EVEN IF YOU ARE TOO CHICKEN TO WORK ON IT POWERED UP, YOU COULD CUT YOUR-SELF, OR DROP THE WHOLE THING ON YOUR FOOT, THUS VOIDING THE WARRANTY. ALSO, THE PRINTER WONΔT WORK WITHOUT THE COVERS, BECAUSE THERE ARE TWO SECRET SWITCHES THAT INFORM THE NEXT CPU THAT SOMEONE ”IS FOOLING AROUND WITH THE PRINTER AGAIN.”

Yet another update to reflect that Jacob Gore received gears for an Apple Laserwriter from Chenesko, which are similar enough to work, but with some modification.Also, if the original gear is in fair condition, it can be reversed on the shaft until a replacement is ordered.

5.24 What are the NeXT mouse connections?

Read the following instruction.

Thanks to Alvin Austin (austin@cs.USask.Ca) I have the information I need on the NeXT mouse connections.

Pin Function
 1 +5v
 2 X Encoder Phase A
 3 X Encoder Phase B
 4 Y Encoder Phase A
 5 Y Encoder Phase B
 6 Right Button
 7 Left Button
 8 Ground

5.25 What type of memory may be installed in a NeXT?

References: NeXTanswers’ hardware.620, 92 spring bulletin ”Announcing NeXTstation Turbo and NeXTcube Turbo”

NeXT Computer (68030-25MHz/68040-25MHz),
NeXTcube (68040-25MHz):
Number SIMM slots: 16
SIMM group size: 4
SIMM type: 30-pin low profile>
SIMM access rating: 100 ns
SIMM capacity: 1, 4 MB (1x8/1x9, 4x8/4x9)
Maximum RAM: 64 MB

The low-profile vertically mounted 4 MB SIMMs are easier to install in the NeXTcube than the horizontally mounted 4 MB SIMMs because of the small height clearance above the SIMM slots. It is possible to install the horizontally mounted 4 MB SIMMs, but you will be required to slide the CPU board and the center tower in simultaneously.

Parity (9-bit) SIMMs can be used in both 68030 and 68040 NeXT machines, but should not be mixed with non-parity SIMMs. Only 68040 boards with ROM levels of 2.2 (v63) and higher can use the parity memory to detect parity errors.

It is OK to mix parity and non-parity memory, but the system will not boot unattended. Cubes with early boot ROMs will not work with 4 Mb parity ram, unless at least 3 banks are used. The system gives an exception error on power up. The fix is to get a new boot rom from Next.

You can pay $30, or you may be able to squawk and get one for free. I have found Next to be pretty responsive, once I find the right person.

The correct version is v66 which was the last or final rev for this series of 040 boards. This version also fixed the problem in the second paragraph.

NeXTdimension boards (i860):
Number SIMM slots: 8
SIMM group size: 4
SIMM type: 72-pin
SIMM access rating: 80 ns
SIMM capacity: 1, 4, 8 MB (256Kx32, 1Mx32, 2Mx32)
Maximum RAM: 64 MB (32 MB official NeXT)

NeXT didn’t officially bless the use of 8 MB SIMMs, but they seem to fit and work.

NeXTstations (68040-25MHz) serial numbers below ABB 002 6300:
Number SIMM slots: 8
SIMM group size: 4
SIMM type: 30-pin
SIMM access rating: 100 ns
SIMM capacity: 1, 4 MB (1x8/1x9, 4x8/4x9)
Maximum RAM: 32 MB

Faster SIMMS (70/80 ns) don’t make the memory system work any faster than the 100 ns units.

NeXTstation Color (68040-25MHz):
Number SIMM slots: 8
SIMM group size: 2
SIMM type: 72-pin
SIMM access rating: 80 ns5
SIMM capacity: 1, 4 MB (256Kx32/256Kx36, 1Mx32/1Mx36)
Maximum RAM: 32 MB

NeXTcube Turbo (68040-33MHz),
NeXTstation Turbo (68040-33MHz),
NeXTstation Color Turbo (68040-33MHz),
NeXTstations (68040-25MHz) serial numbers above ABB 002 6300:
Number SIMM slots: 4

SIMM group size: 2
SIMM type: 72-pin
SIMM access rating: 70/100 ns
SIMM capacity: 1, 4 ,8, 16, 32 MB (256Kx32/256Kx36,
1Mx32/1Mx36)
Maximum RAM: 128 MB

For maximum performance use 70 ns SIMMs: SIMMs rated at 80 or 100 ns will be detected upon powerup and the memory system clock slowed to 100 ns. Faster RAM than 70 ns won’t give you a speed increase anymore. In fact it could slow things down again, because some hardware drives 60 ns RAM as 100 ns RAM.

NeXT manufacturing introduced the new 25 MHz NeXTstation CPU board into production in late June ’92. To verify which SIMM type your machine uses, check the system’s memory configuration. You can do this by using the ROM monitors print memory configuration command m. Start with your machine powered down. Press the Power key to power on. As soon as the message ıTesting system...ȷ disappears, press command-command-tilde ( on the numeric keyboard). Under these circumstances, this will access the ROM monitor. In the ROM monitor, type m and press return. Turbo-designed boards¯ including new 25 MHz NeXTstations and all Turbo systems¯ will return messages reporting the memory configuration contained in four sockets (sockets 0 -3); old 25 MHz boards will return messages for more than four sockets (usually 8). You can tell a Turbo-designed board, and the accompanying 72 pin, 70 nanosecond SIMMs, by the fact it only reports information for only four sockets.

The memory system has programmable memory timing such that the number of processor clocks needed to access a given amount of data can be tailored to the speed of the memory installed. 70 ns memory is just enough faster than 80 ns memory to allow the cpu to access the data with fewer clock cycles. This improves memory system performance.

”70 ns” memory is faster than ”80 ns” memory in many parameters other than just RAS access time. The faster CAS access time in particular allows the memory system to respond quicker to burst (16 bytes) bus transfers.

5.26 What is the NeXT SIMM tool?

The tool came with 68040 upgrade kits for NeXTcubes.

It really makes removing SIMMs easy. It looks like a dental tool: about six inches long with a 1/2” long head offset at 90 degrees. To remove SIMMs, you slip the head into the hole on one side of the SIMM, rest the head on the SIMM socket next to the SIMM you are pulling, and pivot the tool back, using the simple fulcrum to gently pry the SIMM up about 1/8” from the socket on that side. Repeat on the other side, and the SIMM can be then removed by hand.

5.27 Where can I purchase a NeXT machine?

NeXT discontinued manufacturing hardware in Feb, 1993. Used systems are often advertised in comp.sys.next.marketplace.

5.28 Where to obtain hardware service?

Hardware service can be obtained through the following firms:

USA hardware service has been purchased by Bell Atlantic. They will be supporting the Authorized Service Centers and are selling extended warranty contracts.

Decision One
Voice: 800 499 6398, or 800 848 NeXT
Fax: 510 732 3078

For Europe, please contact:

SORBUS
40549 Duesseldorf
Willstaetter Strasze 13

5.29 What types of NeXT machines were manufactured?

There are two packages: a cube, and a station.

• NeXTcube systems:

– 68030-25 2-bit grayscale (NeXT Computer)

– 68040-25 2-bit grayscale (NeXTcube)

– 68040-33 2-bit grayscale (NeXTcube Turbo)

– NeXTdimension board adds 32-bit color (i860) to any of above systems

Cube systems can use any of the boards. With hacks, multiple independent CPU boards can run in one cube.

NeXT Computer systems have room for 2 full-height 5.25” internal devices with a wide slot for an Optical Disk drive(s) in either position.

NeXTcube systems also have room for 2 full-height 5.25” internal devices with a wide slot for an Optical Disk drive in the lower position, but have additional mounting holes for 1/2-height devices, and have a floppy slot at the top position.

• NeXTstation systems:

– 68040-25 2-bit grayscale (NeXTstation)

– 68040-33 2-bit grayscale (NeXTstation Turbo)

– 68040-25 16-bit color (NeXTstation Color)

– 68040-33 16-bit color (NeXTstation Color Turbo)

NeXTstation systems have room for two 1/2-height 3.5” devices, with a floppy slot at the side.

5.30 What can be done about older 030 NeXT cubes that have a fan that turns in the ”wrong” direction?

The fan on older 030 NeXTs cubes sucks air out of the back of the cube which means that it draws unfiltered air in through the optical disk on the front of the cube. This causes optical disks to succumb to dust must sooner than cubes with the new-style fan which turns in the opposite direction.

NeXT has apparently reversed their decision regarding fan reversal in the case of machines that have been upgraded to 040 processor boards. It is now considered okay to reverse the direction of fans in these machines. If you have many third-party cards installed in your cube or an older processor board, you may wish to consider not reversing fan direction (overheating could become a problem). In any case, do not reverse the fan’s polarity, only reverse the fan assembly itself.

Perhaps the best solution is obtain the cleaning kit and OD filter from NeXT.

5.31 Can I connect SONY MPX-111N to my 68030 NeXT Computer?

The SONY MPX-111N internal 2.88 MB floppy drive which was shipped with all the 68040 NeXT machines is not a SCSI device, therefore there is no way of connecting that particular drive internally on a 68030 system.

5.32 Why does the OD continually spin up and spin down?

A big problem with the Canon optical drives is that air flows through the drive to cool it. Dust accumulates inside the drive causing it to fail with the continuous spin-up spin-down syndrome. NeXT as part of it’s 040 upgrades provided a dust filter to prevent this. If your drive has this problem it usually can be fixed simply by cleaning out dust from the drive. NeXT sold a cleaning kit for both the drives and the optical disks.

5.33 How many colors can NeXT machines display?

The monochrome machines can display 4 gray levels. You can use color apps on a monochrome machine, they will converted into monochrome images and dithered accordingly.

Color NeXTstations can combine 4 bits of red, green and blue primaries for a total of 4096 pure colors. The imaging functions dither the image to produce intermediate colors.

NeXTdimension can combine 8 bits of red, green and blue for 16,777,216. There are not 16 million points on the display so all can not be displayed at once. Further display technology limits the usable color space.

None of the NeXT products support color look up tables where the user can define their own color palette on a per window basis. This feature is useful for displaying images which have adaptive lookup tables, and display pure grayscale images on the color NeXTstation. On the NeXTdimension images can be converted to full 24 bit representation.

5.34 Why is my machine so slow when I run the monochrome and NeXTdimension displays?

There is a bug with the window system in which if you select the monochrome display as your primary display the server will be much much slower. The solution for those wishing to use both displays is to select the color (NeXTdimension) display as the primary display. The most optimal configuration at present with the NeXTdimension is to run only the color display.

5.35 Where to obtain replacement mouse parts?

From: jdavidso@nextwork.rose-hulman.edu

For those who have need of a new button in their mouse, and don’t want to pay for the whole mouse when it is only the button that has gone bad, we have recently discovered a satisfactory replacement for the Omron switch. It is in the Digikey catalog, # 931, Jan-Feb 1993, page 141, under Cherry switches D4, DG, and DH series. Digikey part # CH164-ND, Cherry part # DG1C-B1AA.

We ordered one of these, and just received it today. Tried it out, and it seems to be working flawlessly so far.

It is also possible to replace mouse buttons from a two button mouse with mouse buttons of the three button mice.

5.36 Where to obtain extra batteries?

Battery part number: BR 2/3A 3V Lithium Battery (Panasonic) Source: Engineered Assemblies & Components Corporation

5204 Green's Dairy Road
Raleigh, NC 27604
Phone: 919-790-9700  (ask for Debra)

5.37 How to convert a Turbo system to use ADB?

If ADB equipment are used with older NeXT systems they won’t work properly. Here are the ADB requirements:

• A Turbo computer.

• CPU eprom version 74.

• New revision computer to soundbox/monitor cable.

The part number is molded at both ends of the connector:

     Cable NEW OLD (Non ADB)
     NeXTcube 4534 150
     NeXTstation 4535 1532
     NeXTstation color  4536 2286

• New revision monitor which uses a vertical scan rate of 72hz instead of 68hz, except on NeXTdimension systems color monitor stays 68hz.

     Monitor NEW (72hz) OLD (68hz)
     17" mono ACX (N4000b) AAA (N4000a \& N4000)
     17" color ADF (N4006) ABG (N4001)
     21" color ADB (N4005a) ABH (N4005)

• ADB soundbox for color systems. S/N prefix ADD instead of ABN.

5.38 68030 board in the same NeXTcube as a 68040 board?

DISCLAIMER: THE FOLLOWING PROCEDURE IS NOT SUPPORTED BY NEXT, INC. AND WILL DEFINITELY VOID THE WARRANTY ON YOUR NEXT COMPUTER. FOLLOW IT AT YOUR OWN RISK. I DISCLAIM ALL RESPONSIBILITIES FOR DAMAGES CAUSED BY NEGLIGENCE IN FOL-LOWING THE PROCEDURE. THERE IS NO GUARANTEE THAT THE PROCEDURE WILL WORK ON ALL VERSIONS(?) OF THE NEXT CUBE HARDWARE. ALL I KNOW IS THAT IT WORKED ON THE NEXT CUBE I WAS WORKING ON!!!! SO BEWARE.

Here we go! I’ll first provide a description of the hardware I was using and comment on what I accomplished and how I got the information on how to do it!

The hardware included a NeXT cube with 660 MB drive, OD, etc., a 68040 upgrade board, and a 68030 motherboard. I successfully installed both the 68040 and 68030 boards on a SINGLE NeXT cube and linked them together through their ethernet ports. The 68040 was configured as a boot server and the 68030 was used as its client (booting off the network for lack of an additional hard drive).

The procedure reconfigures slot #2 on the cube’s back-plane as slot #0. This provides two slots configured as #0, required for booting the two motherboards. Once I determined what the slot pin-outs were (thanks to my good friend John Chmielewski), it was a matter of time before the two boards happily co-existed.

The procedure:

1. First, follow the procedure on the NeXT User’s Reference manual for removing the system board (Appendix C: Opening the Cube, page 291 of the 2.0 manual).

2. Using the NeXT supplied screwdriver, remove the two screws that attach the power-supply housing to the cube (the screws are located on the lower part of the housing) and gently pull the housing out. Set it aside in a safe place (away from kids and nosey friends!)

3. Remove the two plastic grooved plates (used to slide the system boards in) at each side of the inside bottom of the cube. (For each plate, lift the side closest to the rear opening and gently pull them out). Set them aside.

4. Using the NeXT tool, remove three screws holding the back-plane to the cube and then take the back-plane out of the cube. Let the cube rest for a while.

Inspect the back-plane. You will see five bus slots (four vertical and one horizontal). The horizontal slot connects the back-plane to the power supply housing. We’re only interested in the four vertical slots. From the factory these slots are configured as 6, 2, 0, and 4 (starting from the left and going right with the horizontal slot at the bottom).

The system board connects to slot #0 (which you’ve probably noticed). Each slot contains three columns of 32 pins. Following is an ASCII representation of one of the slots:

x y z  C B A
o-o o 32 . . .
o-o o 31 . . .
o-o o 30 . . .
o-o o 29 . . .
      28 . . .
   .
   .
   .
       3 . . .
       2 . . .
       1 . . .

...where x, y, and z are labeled GND, SID, and VCC, respectively. The GND, SID, and VCC ”holes” are used to configure the slot number using simple binary encoding, where GND is logical zero, VCC is logical one, and SID (for Slot-ID I guess) determines the current bit state (one or zero).

Notice the four rows of GND, SID, VCC triads; each row is equivalent to one bit position in the slot number, the bottom row bit position 0, the top row bit position 3. This gives a total of four bit positions, or 16 possible slot numbers. To encode a slot number, you need to connect an SID row to its corresponding GND or VCC row. For example, the diagram below shows the configuration of the slots in my cube’s back-plane (you’ll have to look very closely to see the actual connections):

SLOT 6 SLOT 2 SLOT 0 SLOT 4
BIT 3: o-o o o-o o o-o o o-o o
BIT 2: o o-o o-o o o-o o o o-o
BIT 1: o o-o       * o o-o * o-o o o-o o
BIT 0: o-o o o-o o o-o o o-o o

5. To reconfigure slot 2 as slot 0, cut the trace between SID and VCC for bit position 1 (see * o o-o * above) and connect SID to GND on the same row. I used the SIMM removal tool supplied by NeXT in the 040 upgrade (talk about multi-purpose) to cut the trace! Very gently, scrape the solder off between the two holes. Take a paperclip, shape it to fit between the holes in SID and GND, and trim it down to an even 1/4 inch (perfect fit)!

That’s all there is to it. If for some reason you ever want to revert to slot 2, just remove the paperclip from GND-SID and reconnect it to SID-VCC.

6. Now put the cube back together. First, re-install the back-plane using its three connecting screws, then snap on the plastic plates, and finally insert the power-supply housing and secure with its two screws.

At this point the cube is ready to take on the two system boards (it is up to you to determine where/how you want to use the two boards; I’ll explain how I used mine) ...

7. I installed the 68040 in the original slot 0 and the 68030 in the reconfigured slot 0 (previously slot 2). The 68040 was used as the main processor board. I connected the 660 MB drive, the OD, and the monitor to it.

NOTE: Before beginning the procedure, I went into the NeXT Monitor on the 68030 and disabled the Sound out, SCSI tests and verbose test mode and enabled serial port A as a console terminal. I also made ”en” the default boot device. I setup the 68040 as a boot server and taught it about the 68030 (which took some time in getting it setup properly).

8. I connected the 68040 to the 68030 using a thin-ethernet cable and I booted. First thing I noticed was that the 030 timed-out a couple of times waiting for the 040 to tell it to boot. But after the 040 was up, the 030 booted nicely.

That’s all folks. Hope all this made some sense and people find it useful. Comments:

• To power off the cube, I have to first shutdown the 030 (I run ”halt -p” as root from a telnet connection and wait for the 030 to go down), and I then power-down the 040. If you shut down the 040 before the 030, you’ll have to pull the power plug to turn the machine off. The cube will not power off if either of the two boards is providing a load to the power-supply.

• Remember, I’ve only performed this procedure on one system. I do not know what will happen on your system. So make sure you plan ahead what your going to do and that you understand the procedure.

• I don’t know what problems may arise when you add a board that uses the NeXTbus, such as the NeXTdimension, or how it will behave. If someone is courageous enough to perform the procedure and installs another board, please post your results to the net.

Update:

To clear up some misunderstandings with the settings in the ”p” command of the NeXT monitor (these settings are only required for the system board that doesn’t have the NeXT display monitor connected):

1. Sound out test must be ”no”; the boot process will not proceed if the monitor isn’t connected to the board and this is set to ”yes” (the sound out tests will fail, aborting the boot procedure).

2. SCSI tests should be ”no” if you don’t have SCSI devices attached to the board (SCSI tests will fail otherwise, aborting the boot procedure).

3. Verbose test mode must be ”no” for booting from the network. If set to ”yes”, the boot process will timeout waiting for a BOOTP and you’ll be left in the monitor with no means of restarting the board (except pulling the power plug)!

This is probably true also for booting from an OD that hasn’t been inserted (assuming the OD was attached to the board).

4. Allow serial port A as alternate console if you want to view the boot process (for problems and peace-of-mind).

5. Other settings were not modified from their factory defaults or had no effect on the procedure.

There is also a way in using 2 boards plus NeXTDimension board in one Cube.

I’ve run my ”screw with the backplane trick” cube with :

| <empty> | 32MB-ND | | 64MB-040 | 40MB-030 |

without any problems. Using the od got the system warm, but never had a problem. The cool part was having the printer on the 030. One day I tried to dump an 040 into the 030 position, but I couldn’t get it to boot. I played for a couple minutes, but put the 030 back in and went on with life...

5.39 How to expand DSP memory?

The Speech Recognition Lab at San Francisco State University has developed a DSP memory expansion board for the NeXT computer that provides the maximum memory supported by the DSP56001 processor. We are now offering this board to those whose are interested in high-performance custom DSP development.

• The board is a 576KB DSP expansion memory board organized as three non-overlapping 192KB banks: X-data, Y-data and Program. The board uses relatively fast (¡35ns) SRAM. This board compares with NeXT’s DSP memory expansion board, which offers only 96KB in an imaged memory configuration.

• The board is a high-quality, 4-layer board, open-circuit tested prior to assembly. It fits into the DSP memory daughterboard slot on all NeXT machines.

• The price will be $600. Please let us know if you are interested. Delivery will be in about 3-4 weeks.

• Contact Tom Holton (th@ernie.sfsu.edu). E-mail is preferred. The address is:

Tom Holton
Division of Engineering
San Francisco State University
1600 Holloway Avenue
San Francisco, CA 94132
415 338 1529 (phone)
415 338 0525 (fax)

NOTE: Because we’ve organized our memory as three separate (nonoverlapping) banks (X, Y and P) of 192KB apiece, none of the DSP memory image functionality provided by NeXT with its existing 8K base configuration, or its 96KB DSP expansion module is supported. While we cannot guarantee that every existing DSP application ever written will be plug-and-play compatible with our DSP expansion memory, we are not aware of any existing applications that use the image functionality. The MusicKit, and demo programs that use the DSP, such as Mandlebrot and ScorePlayer, work fine with our memory module.

5.40 How to boot a NeXT without a monitor?

The procedure is to just touch pins 6 and GND on the DB-19 NeXT monitor out with a 470 Ohm resistor (450 is the actual resistance, but 470 ohms is more commonly found in resistors). Pin 6 is the power sense, and pins 13-19 (and the DB shell) are the GND. Just say ”pin 19”, it may be easier.

There’s a pinout diagram of the DB-19 in the NeXT Users Reference Manual. If you have an old Cube, the power supply needs to have more power drawn

from it than an 030 (and 040?) board uses to stay on. So: On the DB-19, attach a Power Resistor (20 Ohm, at least 20 Watt) between pins 12 and GND.

(Pin 12 is -12V, pin 13 works well for GND). Then just ”touch” the 470 ohm resistor as described above, and you’re set.

The 20 Ohm resistor draws an old 030 running without monitor in an old CUBE), but it isn’t necessary - just don’t touch it (*HOT!* ;-)

To power off, type ”halt -p” as root on the machine (either through a terminal connected to port A, or over the ethernet connection).

Also, you have to have the Rom Monitor settings done correctly. The important ones are:

Wait until keypress? N
Sound out tests? N
Port A as alternate Console? Y (if you have one, it's nice)
Verbose mode? N (I think this may need to be N to work, don't remember).

5.41 Where can I get black spray paint for my NeXT?

You can get black spray from the following address.

Sprayon Paint
Omni-Packblend
4Next-Black (icon black)
LAV-16
25216

Call 1-800-777-2966 for the name of a dealer near you.

5.42 What makes aged NeXT monitors dim?

The cause of the dimming monitors is the CRT cathode wearing out. The most common type of CRT (and the type used in most NeXT monochrome monitors and all of the NeXT color monitors) uses what is called an oxide cathode. A thin coating of oxide is deposited on the cathode to allow the electronics which form the picture to get off the cathode easily. The oxide gradually boils off the cathode itself, and when the oxide is gone, the CRT goes dim.

Typically, the oxide will last from 10,000 to 20,000 power on hours (screen savers don’t help the cathode, they only prevent phosphor aging). Unfortunately, the black monochrome monitors fall into the short end of the life range thanks to Toshiba who made the CRT’s. The aging is more noticeable in Unix machines because they tend to be left on. Note that there are about 8,000 hours in a year. If you leave your monitor on all the time, all oxide type CRTs will be dim in three years.

The other type of CRT cathode is the I-cathode or dispenser type. This type of cathode is porous and continually brings new activation material to the surface. Its lifetime is 40,000 hours or more. The last of the NeXT monochrome monitors (N4000B) used this type of CRT and they don’t go dim. There aren’t many of that type around because NeXT quit the hardware business after producing only a few thousand. If you can get an N4000B monitor, you won’t ever have to worry about a dim monitor.

Many manufacturers are going to dispenser cathode type CRTs in their monitors with Panasonic leading the way. The best advice is to turn off the monitor when not in use. If that is impractical, try to purchase one with the long life cathode.

Spherical Solutions (smg@orb.com) has a supply of new N4000B long life monitors for sale in either ADB or non-ADB configurations. If you need to repair or replace a monochrome monitor, that is by far the best type to use.

If you read this far, you probably know more than you ever wanted to about CRT aging, but I hope this helps.

5.43 How to use two internal hard drives

It is possible to fit a second internal hard drive in a NeXT slab, in addition to the floppy drive and the first hard drive. The second drive must be third height, or 1 inch high. There is no room for a half height device. Buy a bracket or make one out

of sheet metal for the 1 inch high drive. On 25 MHz mono stations the SIMMs are smaller and the drive doesn’t have to go all the way against the back wall. In this case, glue the bracket to the underside of the NextStation cover, centered from side t

o side and as far to the back as possible. This is sufficient. On 25 MHz colorstations, however, one must file away a bit of the interior metal on the cover in order to glue the bracket fully to the rear of the cover. Once this modification is done, th

e drive will clear the RAM when the cover is closed. Screw the drive into the bracket, with the power and SCSI plugs toward the right hand side of the NextStation so that the cables will reach. Go to your favorite computer store and get both a ”dual int

ernal SCSI bus cable” and a ”dual internal SCSI power cable.” Plug in the cables to both internal hard drives and close the cover.

This was verified on both a 25 MHz mono and a 25 MHz color NextStation. No power or heating problems occurred.

White (Intel) hardware

6.1 What about support for NeXT Computer specific hardware features such as the DSP?

NeXT computers offer additional hardware support not commonly available for Intel systems. This includes the DSP. The DSP in a NeXT Computer is used for a variety of functions including ISDN support and real-time audio compression/de-compression. ISDN support for NEXTSTEP/Intel will be provided via an add-on PC card and ISDN adapter.

Although the DSP programming feature is missing for NS3.3 on Intel, it is not necessary. The important SoundKit functions are rewritten to emulate an DSP on Intel, but this costs a lot of CPU time.

6.2 Do Multi-Architecture Binaries take a lot of extra disk space?

The concept of NEXTSTEP binaries is different to other platforms. On NEXTSTEP only the real program is compiled and linked in a hardware specific manner. E.g. the GUI and the multilanguage support are usable on any platform running NEXTSTEP and will do so

under OPENSTEP. Therefore the real binary part is sometimes really small. Anyway it might be a good choice to thin such a fat binary. NeXT ships

tools for this purpose. Look at the manpages for lipo.

If an application wasn’t installed using the standard NeXT tool Installer, it might also be a good choice to look into the application drawer and delete other languages supported but not used by the application. This additional data is found in the

different *.lproj subdirectories in the application’s folder. To get there, activate the application’s icon and select Open as directory from the Workspace’s File menu item.

6.3 How difficult is it to recompile existing NeXT applications over to NEXTSTEP/Intel?

Very easy. Most programs will simply recompile and run, or require few changes. We believe that any application that uses the standard development environment and Object kits provided by NeXT should simply compile and run. Only applications that use architecture specific features or data formats, will require additional time to port. Several developers have already ported applications to NEXTSTEP/Intel. Appsoft Draw simply recompiled and ran, Lighthouse Concurrence took 3 hours, other programs took 1/2 a day to 2 days, and this was all on a very early release of NEXTSTEP/Intel 3.1!

Some applications just will refuse to compile, because they are still based on the old 2.0 headers etc. These applications are really rare now and may get ported very easily too, by changing the include path in your developer package.

Other applications require additional header files and libraries to properly compile and link. These applications are mostly based on the MiscKit or MusicKit and other PD-Kits. You need to install these Kits first to compile these programs.

With the shipping of OpenStep this might change, because it will be possible to produce shared libraries with the NeXT Developer package. This will enable you to not install the complete Kit, but only the shared library and will also reduce your binary no

ticeable.

6.4 When developing programs, are there any portability issues I should be aware of?

Yes. As stated above, any applications that use the standard tools provided by the NEXTSTEP development environment, should just recompile and work. To make sure developers are aware of portability issues, NeXT is producing a guide to address source code portability between different architectures running NEXTSTEP. This guide is available in the online documentation to the NeXT Developer package.

6.5 What is the difference between the NEXTSTEP/Intel User Environment and Developer Environment?

The NEXTSTEP/Intel User Environment consists of the entire NEXTSTEP 3.3 environment, minus the developer tools. The Developer Environment includes the developer tools such Interface builder, Project Builder, C compilers, Object Kits, example source code and developer documentation.

Although it is possible to just get the latest GNU C compiler as a binary, you can not use it! This is because you won’t get the standard libraries needed to produce NeXT applications neither the header files. Also it there is currently no third party com

piler shipping. If you want to compile, you are forced to use the NeXT Developer package.

The status of compiling a standard UNIX utility without NeXT’s headers and just based on the supplied shared libraries is unknown.

6.6 If a specific I/O card is not supported by NeXT, can 3rd parties write drivers for NEXTSTEP/Intel?

Yes. NEXTSTEP/Intel uses a newly developed object-oriented driver architecture that brings the benefits of object-orientation all the way down to the I/O card driver level.

6.7 How is NEXTSTEP/Intel installed?

NEXTSTEP/Intel will come with a boot floppy and a CDROM. To install NEXTSTEP/Intel, the system boots from the floppy, and then installs the minimum NEXTSTEP environment from the CDROM (SCSI CDROM drive). The user may then chose from several optional packages depending on the available disk space and user requirements.

6.8 Will NEXTSTEP/Intel run on 386 machines?

No. NEXTSTEP/Intel uses several 486 specific features that enhance the performance of NEXTSTEP. NEXTSTEP/Intel will support any 486 with Coprocessor and up.

6.9 Will NEXTSTEP/Intel run on the Cyrix 486SLC?

NeXT states: No. The Cyrix chip not a true 486. several other users state: Yes. Slow performance, though.

6.10 Will NEXTSTEP/Intel run on the future Intel Microprocessors in the x86 family?

Yes. NEXTSTEP/Intel will not only support them, but will take advantage of any performance enhancements available with future Intel CPU’s, just as NeXT has taken advantage of the 486.

6.11 Will NEXTSTEP/Intel run on portable computers?

Yes. Many portables and notebooks with 486 CPU’s and sufficient system resources (¿=8MB RAM and ¿=120MB hard disk space) are available. Since NEXTSTEP/Intel will support 640x480 VGA displays in grayscale, NEXTSTEP 486 can run on these systems. Do be aware that NEXTSTEP’s user interface and applications were not designed for low-resolution screens, and consequently will impose limitations on the use of some applications.

6.12 Will NEXTSTEP/Intel be able to run MS-DOS and Windows programs?

Yes. NEXTSTEP/Intel will support a DOS and Windows compatibility package. This software will allow DOS 5.0 and Windows 3.1 programs to run within a NEXTSTEP window. Support will include DOS ”Protected” mode and Windows 3.1.

This package is called SoftPC and comes with every NEXTSTEP system. The software is not free with NEXTSTEP, you have to pay extra. Anyway you are not limited in a 30 day test phase when installing it.

Windows 95 and Windows NT are not supported by the emulation software.

6.13 How will my DOS and Windows applications perform under NEXTSTEP/Intel?

Very well. The DOS/Windows compatibility package for NEXTSTEP/Intel takes full advantage of the 486 microprocessor. Depending on system hardware configuration and type of DOS/Windows application, performance should vary between 386 and 486 native DOS/Windows performance on Pentium systems. In addition, to enhance the performance of Windows applications, a MS Windows specific Graphics Device Interface (GDI) driver which maps Microsoft Windows calls directly to the NEXTSTEP window server is part of the system.

6.14 Is the window I use to run Microsoft Windows applications resizable?

Yes. You can set the Windows session to any size you wish up to the maximum screen size available to the NEXTSTEP/Intel system you are using.

6.15 Will this DOS/Windows compatibility system allow me to run several DOS programs at once?

Yes. Since NEXTSTEP/Intel is a multi-tasking, virtual memory operating environment, several DOS/Windows sessions can be run at once.

Hey, did I say Windows? Yes you can do real Windows multitasking with SoftPC.

6.16 Can I cut and paste between DOS/Windows sessions and NEXTSTEP applications?

Yes. You can cut and paste text and graphics between DOS/Windows and NEXTSTEP applications.

6.17 Can I use both DOS and NEXTSTEP/Intel partitions on the same hard disk?

Yes. NEXTSTEP/Intel will support multiple operating systems on the same local hard disk. When the system boots, the user can chose to boot another operating system (such as DOS) or NEXTSTEP. If the local partition contains DOS, NEXTSTEP/Intel will be able to access the local DOS partition and read/write files to it, with the restriction on primary partitions only.

Executive Summary: It is possible to install DOS, Windows NT with NTFS, and NEXTSTEP/Intel on the same disk, and select which partition is booted at boot time.

I spent some time experimenting with a 200MB SCSI disk. I wanted to see if the following configuration would be possible:

Partition 1 Primary DOS
Partition 2 Extended DOS
Partition 3 Windows NT NTFS
Partition 4 NS/Intel 3.2

Since Windows NT requires at least 70MB for installation, and NS/Intel requires at least 120MB, there wasn’t much room for DOS! Ultimately, I only tested a three partition system (DOS, NTFS, NS/Intel), but I have no reason to believe that the extended DOS wouldn’t also work.

The recipe is as follows:

• Preparation. You need a bootable DOS floppy that has FORMAT.COM on it. You need another (blank) floppy for installing NT.

• Start with the NS/Intel installation. When it asks you how you want to configure your disk, it gives you three choices, which are basically

1. erase the whole disk and use it all for NS/Intel,

2. save some room for DOS,

3. advanced. Choose the advanced option, which places you in NS/Intel fdisk (not to be confused with DOS FDISK.EXE).

• Create three partitions in this order:

1. Primary DOS (if more than 32MB desired, use the ”large” FAT option)

2. HPFS (this is a placeholder for NT, and can be any non-DOS format)

3. NEXTSTEP

• Proceed with the rest of the NEXTSTEP installation.

• When NEXTSTEP is safely installed and tested out, boot DOS from your bootable DOS floppy.

• FORMAT the DOS partition (which should be Drive C if you made it the first partition). You want to FORMAT C:/S, to install the boot code to make the DOS partition bootable.

• Once DOS is safely formatted and tested out, insert the NT installation floppy and reboot.

• Proceed with the NT installation. Tell Setup to install NT in the second partition (which shows up as ”Unformatted”). You can select NTFS for FAT format.

• Insert the blank floppy when asked. Don’t bother to format it, NT unconditionally formats it.

• If you select NTFS, there is a scary part of the installation that makes it seem like NT can’t reboot. In fact, it is converting the installed files from FAT to NTFS in place. Just let it keep rebooting until it finishes, don’t interrupt it like I did.

• Finish setting up NT and test it out. It should be able to see the DOS partition in FileManager.

• Likewise, there should be a DOS filesystem in / on NS/Intel. If you configured NT for FAT instead of NTFS, there should be two DOS filesystems in /.

That’s it. When you boot, you see the familiar NS/Intel boot manager. If you select DOS, it boots NT, which in turn offers you a chance to boot DOS or NT (not NS/Intel, of course). Kind of weird that you have this two tiered boot, but it’s probably because the bootsector has been modified by NT. I haven’t tried setting the active partition to DOS – that might avoid the two tiers.

6.18 Can NEXTSTEP/Intel read, write, and format DOS and Mac floppies?

Yes.

6.19 NEXTSTEP/Intel 3.1, DOS, Linux/NT multiboot system?

The OS/2 boot manager does this nicely.

NOTES ON INSTALLING DOS, OS/2 AND NEXTSTEP FOR DUAL BOOT

• Boot OS/2 from diskette and press Escape to get to the [A:] command prompt

• Run the OS/2 FDISK program and create the following partitions:

– 1 MB Boot Manager

– 20MB DOS Primary partition (drive C:)

– 64MB OS/2 Extended partition (logical drive D:)

– 120MB Data Extended partition (logical drive E:) (or 200MB or whatever size)

NOTE: LEAVE THE REMAINING 460+MB FREE SPACE UNFOR-MATTED DO NOT CREATE A PARTITION FOR THE REMAINING SPACE

• Re-boot the machine and boot DOS from diskette.

• Format drive C: and install DOS on drive C: with the following command:

format c:  /s /u

• Now Re-boot the machine with the OS/2 Installation diskette.

• Install OS/2 on Drive D: (the 64 MB logical partition) You will be prompted to install OS/2 on the default drive C: You will need to select the option to change the drive which will throw you into FDISK. Just make drive D: installable and proceed.

• After OS/2 has been installed shutdown the system. Do a cold power off boot.

• Cold boot the machine with the NEXTSTEP boot diskette.

• Proceed with normal NEXTSTEP install and you should get the following disk installation option screen:

Type 1 to erase the entire disk and use all 667 MB ...
Type 2 to set aside some space for DOS and use the rest ...
Type 3 to keep existing partitions and use the 462 MB free space ...
Type 4 to use the 184 MB DOS extended partition for NEXTSTEP.
Type 5 for advanced options (in English only).
--->

Choose option number 3 and proceed with the NEXTSTEP install

• After NEXTSTEP has been installed, re-boot the machine and select ’d’ from the NEXTSTEP boot manager menu to boot DOS.

• When DOS has booted, run the FDISK program to set the active partition to the first partition, the BOOT Manager partition. Then exit fdisk.

• Now run the DOS FDISK program again but with the following parameter:

     fdisk /mbr

This command removes the NEXTSTEP boot manager from the DOS partition.

• Now re-boot the machine and the boot manager should come up. Select OS/2

• Once OS/2 has booted, run the OS/2 FDISK program and name the NEXTSTEP partition and add it to the boot manager menu.

• You should now have a machine with DOS, NEXTSTEP, OS/2 listed in the boot manager menu when the machine starts up. The boot manager defaults to the OS that was last booted.

6.20 NeXTSTEP on INTEL, KEYBOARD-ERROR ...

We installed NeXTSTEP for Intel on a P5-Board using an Adaptec A1540 SCSI-Controller. The System boots correctly. After running the kernel the keyboard is without any function. We can’t use it anymore. Rebooting doesn’t eliminate the error (advise from I-Guide).

Well, it seems that the PS/2 Mouse driver interferes with the keyboard driver when installing on some motherboards. You have to remove the PS/2 mouse driver, then reboot, and it will work fine. I destroy the driver on our machines, so that config=Default will work properly as well. You should be able to remove the driver without reinstalling.

6.21 NS 3.2 Tseng ET4000 Video Driver doesn’t work.

TSENG Cards often have different DACs and BIOS-Versions. It is important, that the graphics card do have the original BIOS from TSENG Laps. Otherwise, it is not possible to run NS with the 1024 x 768 resolution.

6.22 Accessing ROM monitor on Intel-System, how?

On Intel you just type -s at the boot: prompt. Also try CTRL-C at the point where it hangs it might continue. This gives you single user mode. There simply is no ROM-Monitor on Intel as it is on NeXT. You do have the choice to enter a simple ROM-Debugger by choosing the appropriate option when the system hangs.

6.23 Adaptec 2940 Fast and Sync. SCSI explanation...

This message is to clear up the confusion on the issue of whether or not the NEXTSTEP driver for the Adaptec 2940 PCI SCSI Host Adapter supports Fast SCSI (i.e., 10 MB/s data transfers).

The Adaptec 2940 SCSI Host Adapter Driver supports Synchronous Data Transfer as well as Fast SCSI transfers. In order to enable Synchronous Data Transfer, this feature must be enabled in both the 2940’s AutoSCSI program and in the NEXTSTEP Configure application, when configuring the Adaptec 2940 driver. In the AutoSCSI program, this feature is enabled in the SCSI Device Configuration menu, via the ”Initiate Sync Negotiation” field. This can be enabled or disabled on a per-target basis. In the Configure application, the ”Synchronous” button, if disabled, disables Synchronous Transfers for ALL targets. If enabled, the values selected in the AutoSCSI program are used to determine whether or not Synchronous Transfers occur on a per-target basis.

The Synchronous Transfer data rate is determined in the 2940’s AutoSCSI program, via the ”Maximum Sync Transfer Rate” field in the SCSI Device Configuration menu. ”Fast SCSI” Transfers are enabled by selecting a value of 10 (i.e., 10 Megabytes/seconds) for this field.

Note that if Synchronous Transfers are disabled, the ”Maximum Sync Transfer Rate” field is meaningless. Also note that it is not recommended to select a value higher than 5 for a device which is in an external enclosure and connected to the 2940 via an external SCSI cable.

6.24 Do EIDE-Drives work with NEXTSTEP?

Yes, a driver is included in NEXTSTEP 3.3

6.25 Anyone have a driver yet that does 8 bit color on an ET4000/w32p card? (Hercules Dynamite Pro VLB)

Here’s a trick that will work with 3.3 if the driver works with your adapter. You need the latest driver though.

Simply select one of the 8-bit gray resolutions in Configure. Save the configuration and quit Configure. Open Instance0.table inside the driver bundle and search for BW:8 and replace it by RGB:256/8. Save the file. Restart your machine and you’ve got 8-bit color!!!

6.26 Does a Glidepoint pointing device work with NEXTSTEP?

It will work nicely under NS as you don’t need any driver to make it work and use the nice features that GlidePoint have, like ’double-tap’ to replace left-button click and ’double-tap and slide on the pad’ to replace the hold the button and move for dragging an object.

6.27 AppleTalk under NEXTSTEP/Intel?

IPT has a product called Partner, which works fine under 3.3 and mounts AppleShare Volumes, supports AT printing etc. (This is true, although IPT states that Partner only runs under 3.3 Black and 3.2 Intel.)

6.28 Booting hangs with black screen

On some Triton based boards there seems to be a graphic problem while booting. The solution is to switch off graphic display and always boot with the ’-v’ option turned on (enter this at the ’boot:’ prompt).

If you don’t get a ’boot:’ prompt, or if you just want to fix things forever, you

need to enter Default.table and Instance0.table in /usr/Devices/System.config

and set ’BootGraphics="No"’. This has the same effect as typing ’-v’ at the ’boot:’ prompt every time.

Setting BootGraphics=NO can also be done from the Expert panel in Configure.app

6.29 Why are the features of my graphic card useless?

For the purposes of this discussion, I will limit my response to the manner in which DPS operates as part of the NEXTSTEP window server. DPS sometimes draws directly to the screen and sometimes to offscreen memory (buffered windows). The latter is the most common case. The former occurs only in nonretained windows and visible portions of retained windows.

DPS is split into two sections: a device independent kernel and a device dependent driver layer. The driver layer is free to use graphics hardware to do its job; however there are complications. First, most graphics cards only allow you to use the hardware to draw into the framebuffer, not into system memory.

This renders the hardware unusable for buffered windows. Second, the hardware must draw the same pixels that the software would draw. Often this is hard to achieve with satisfactory performance results. The DPS device primitives rely on precise pixel layout that often cannot be guaranteed using the hardware in the most straightforward manner.

So, while it is theoretically possible to use graphics hardware with DPS in NEXTSTEP, it is not very practical. This should not lead you to the conclusion that all graphics cards are the same when it comes to NEXTSTEP. The speed of the system bus (ISA, EISA, PCI, VLB) is a big determinant of performance, but the internal architecture of the card itself also has a huge impact on the framebuffer memory bandwidth. I won’t go into details, but some of the determinants include DRAM vs. VRAM, memory interleaving, and burst access.

Other factors also influence the quality of a display card. These include the speed and stability of the RAMDAC and the supported display modes to name jsut two.

6.30 How to use MIDI without the MusicKit?

• Be sure you have an MPU-401 compatible MIDI card for the PC.

• Get the Music Kit and install it. It’s on the ftp servers.

• Install the MIDI driver by double clicking on /LocalLibrary/Devices/Mididriver, which will add it to the system. Set the IRQ and IO port in the Configure.app. Then reboot.

• If your program does not use the -ObjC flag on its link line, link against /usr/local/lib/libmusickit.a. However, if your program does use the -ObjC flag, extract the following files from libmusickit.a and link against them

explicitly:

     mididriver_replyServer.o
     mididriverUser.o
     mididriver_nonMig.o

• Add this line as the first line in the C file that accesses the MIDI driver:

             #import <musickit/midi_driver_compatability.h>

Be sure that you do not explicitly import <mididriver/midi driver.h>.

     This file is (conditionally) imported by <musickit/midi driver compatibility.h>.

The reason for needing a separate API for Intel is that there’s a structure size disparity between the 68k and Intel versions of NeXT’s libsys s. So we defined a new set of MIDI functions for the Intel driver. The header file above defines the old names to be the new names.

• Change the mididriver port name from mididriver to Mididriver.

Example:

#if i386
#define MIDIDRIVER_NAME "Mididriver"
#else
#define MIDIDRIVER_NAME "mididriver"
#endif
    r = netname_look_up(name_server_port, "",MIDIDRIVER_NAME,
&driverPort);

This is another change to prevent conflict with the NeXT hardware driver.

Storage

7.1 Disktab help needed: ST15230N

This is the /etc/disktab entry for the SEAGATE ST15230N.

ST15230N_1024|SEAGATE ST15230N_1024:\
:ty=fixed_rw_scsi:nc#3992:nt#19:ns#59:ss#1024:rm#5411:\
:fp#160:bp#0:ng#0:gs#0:ga#0:ao#0:\
:os=sdmach:z0#32:z1#96:hn=localhost:ro=a:\
:pa#0:sa#512000:ba#8192:fa#1024:ca#8:da#4096:ra#10:oa=time:\
:ia:ta=4.3BSD:\
:pb#512000:sb#512000:bb#8192:fb#1024:cb#8:db#4096:rb#10:ob=time:\
:ib:tb=4.3BSD:\
:pc#1024000:sc#716800:bc#8192:fc#1024:cc#8:dc#4096:rc#10:oc=time:\
:ic:tc=4.3BSD: \
:pd#1740800:sd#1536000:bd#8192:fd#1024:cd#8:dd#4096:rd#10:od=time:\
:id:td=4.3BSD: \
:pe#3276800:se#1150000:be#8192:fe#1024:ce#8:de#4096:re#10:oe=time:\
:ie:te=4.3BSD:

7.2 Formatting DEC DSP3105 with 1024-byte blocks.

A DEC DSP3160S was reformatted with 1024-byte blocks using the following entry in /etc/disktab (two partitions)

# DEC DSP3160S
DSP3160S|DEC DSP3160S|DEC DSP3160S w/1024 b/sec as 2 partition:\
:ty=fixed_rw_scsi:nc#1302:nt#16:ns#75:ss#1024:rm#5403:\

:fp#160:bp#0:ng#0:gs#0:ga#0:ao#0:\
:os=sdmach:z0#32:z1#96:r0=a:\
:pa#0:sa#744000:ba#8192:fa#1024:ca#7:da#4096:ra#10:oa=time:\
:ia:ta=4.3BSD:\
:pb#744000:sb#818400:bb#8192:fb#1024:cb#7:db#4096:rb#10:ob=time:\
:ib:tb=4.3BSD:

7.3 My formatted disk has much less space then advertised!

Let’s assume you bought a disk drive advertised with 400 MB unformatted capacity. Vendors are not consistent with the MB definition. You may have much less space less than you think you have. Which of the following did you buy?

400 * 1000 * 1000 = 400,000,000 bytes
400 * 1024 * 1000 = 409,600,000 bytes
400 * 1024 * 1024 = 419,430,400 bytes

The disk must be formatted. This is often done by the vendor, but occasionally by the user. Formatting maps the disk into sectors. Space is reserved for the disk geometry and bad sectors. Formatting can take 10-20% of the capacity depending on the sector size. Common sector sizes are 512 and 1024. Generally, bigger sectors mean less waste.

Once formatted, the UNIX file system must be created. On the NeXT, this is one of the steps performed by the BuildDisk application. It invokes the mkfs command to make a file system. This reserves space for the UNIX file system (e.g., superblocks, inode tables). This overhead can take another 2-3% of the available disk space.

If you issue the df command, you may be surprised to see another 10the available disk space has disappeared. The df command shows the total, used, and available disk space. The df units are in kbytes (1024 bytes). The sum of the used and available numbers will generally be about 10allow the UNIX file system to be efficient in its storage allocation. If your disk fills up, only the superuser can store files in the remaining 10%.

To complete the picture, here’s a snapshot of what may occur:

 Capacity Lost/Used/Reserved Reason
(in bytes) (in bytes)
419,430,000 19,430,000 Marketing hype (~5\%)
400,000,000 60,000,000 Formatting (~15\%)
340,000,000  6,800,000 UNIX file system (~2\%)
333,200,000 33,320,000 Efficiency & superuser (~10\%)
299,880,000

For more information, refer to the df and mkfs man pages.

7.4 Can’t initialise my disk within the Workspace

Sometimes there are problem initializing disks. This only occurs if the disk is already formatted, but in a different format, e.g. the sector size was changed etc.

Mostly you can overcome this problem by using the sdformat utility available on the FTP sites. (Not sdform by NeXT, which is incapable to do this). After using sdformat, you should be abel to further format the media within Workspace.

7.5 Initialing Opticals for NeXT

Do the following:

/etc/mkfs /dev/rsd1a 288339 1803 2 8192 1024 12 10 60 4096 t

7.6 How to use a tape drive ?

Using Configure.app add the SCSITape driver to support any SCSI tape drives in the ”Others” config.

7.7 How to recover from an partially formatted disk?

Often people (mostly on Intel) complain about a formatted disk (sometimes partially) due to an installation process error of some other OS. There is a chance to recover most of the data. The following assumes you are on Intel, other hardware user have to handle things much less complicated, but the way is similar:

• Prepare a new hard drive for booting

• Don’t try to repair the broken drive!

• On Intel run fdisk to repartition the drive as it was before. If you are not able to do this, you are lost. Delete all evtl. new created partitions. By repartitioning, you won’t loose data on the drive.

• Run disk on the broken drive e.g. type disk -rsd1h.

• Now scan the disk for superblocks by entereing the scan command at the interactive disk command prompt.

• If your disk was partially formatted, use a higher superblock number to supply fsck with an new superblock. E.g. if a superblock was found at 3145 use fsck -b3145 -y /dev/sd1a (assuming the first partition is the broken one).

• After this run, it is most important to reboot without syncing the drives!

E.g. just turn off the computer without shutting down, or use the reboot -n command.

• After rebooting the run fsck again, if it isn’t done by the system itself.

• You should be able to access the drive again now. Recovered files are placed in the /lost+found directory.

7.8 What about the ZIP drive?

There are frequently asked questions about the IOmega ZIP drive. One question will be answered here: ’Yes, it works with NEXTSTEP’.

For other question I’d like to point you to the ZIP-drive FAQ: http://www.radical.com/TheSolutions/RadicalSolution4.html

Printing

8.1 What printers (laser or otherwise) may be used with NEXTSTEP?

Adding supported postscript printers is rather simple:

• Get a serial cable (e.g., Macintosh to LaserWriter Plus), but check whether that works with your printer

• Configure using Print Manager

• Configure printer communication according to manufacturer’s recommendations. (9600 baud software flow control).

A sample printcap entry needs to be loaded into the netinfo database. You can use either niload printcap . < myprintcap, or use NetInfoManager to change the br and lp properties of your LaserJet. Using the default baud rate and /dev/ttya will also work, for most print jobs (if the printer is connected to this port).

LaserJet_III: \
:note=LaserJet_III:ty=HP LaserJet III PostScript: \
:sd=/usr/spool/NeXT/LaserJet_III:lp=/dev/ttyfa: \
:lf=/usr/adm/lpd-errs:af=/usr/adm/lp.acct:br=19200:rw:fc\#0000374: \
:fs\#0000003:xc\#0:xs\#0040040:mx\#0:sf:sb:if=/usr/lib/transcript/psif: \
:of=/usr/lib/transcript/psof:gf=/usr/lib/transcript/psgf: \
:nf=/usr/lib/transcript/psnf:tf=/usr/lib/transcript/pstf: \
:rf=/usr/lib/transcript/psrf:vf=/usr/lib/transcript/psvf: \
:cf=/usr/lib/transcript/pscf:df=/usr/lib/transcript/psdf:

HP printer configuration:

auto cont = off (doesn't matter)
I/O = serial
serial=rs-232 (for LJ III only)
baud rate = 19200 (or whatever baud rate you have
in ni database/printcap)
robust xon = on (doesn't matter)
dtr polarity = hi
startpage = off (doesn't matter)
language=english
ret = med (you choose for LJ III only)

Note that if you modify the printcap this way you cannot reconfigure this particular printer entry with PrintManager.

If you are using NEXTSTEP 2.0 and you use remote non-next printers, there is a bug that can be simply corrected by doing ”dwrite system PrinterResolution 1” for each user trying to access non-next printers on the network. This not a problem in later NEXTSTEP versions.

8.2 What fonts can I use with NEXTSTEP?

Properly packaged Type 1 or 3 PostScript fonts will work with NEXTSTEP, but certain conversions may be necessary to get them to work. Freeware and shareware fonts are available on various ftp archives. There are utilities with NEXTSTEP to download fonts into postscript printers.

Freeware and shareware Type 1 and 3 fonts in files Fonts-1.0-free.tar.Z and Fonts-2.0-sw.tar.Z. Each file unpacks into it’s own directory. Within each directory is a ReadMe.rtf and a Makefile. See the ReadMe.rtf for more font descriptions and installation instructions. (You may also find comments in the Makefile of interest.) These packages were prepared by Doug Brenner

<dbrenner@umaxc.weeg.uiowa.edu>.

The same directory contains fonts Shalom (Hebrew and Yiddish in Old Style, Stick and Script typefaces, by Jonathan Brecher, shareware) and CyrillicGothic (san serif, by Jay Sekora). These were packaged by Jacob Gore ¡jacob@gore.com¿ to work with the Installer application.

WSI-Fonts for NEXTSTEP \#1
Abstract Software
POB 25045
Seattle, WA 98125-1945
Voice: 206 361 5080
info@abstractsoft.com

Some fonts in Type 1 format for NEXTSTEP are also available from Y&Y:

Y\&Y, 106 Indian Hill, Carlisle MA 01741  USA
Voice: 800 742 4059
Voice: 508 371 3286
Fax: 508 371 2004
71172,524 on CompuServe
71172.524@compuserve.com from InterNet

There is a font converter available in the MetroTools package by MetroSoft

(info@metrosoft.com).

8.3 How can I save my printable documents to a postscript file?

Select PRINT from the main menu, then select SAVE from the resulting print panel.

8.4 How can I print only the even or odd pages of a document?

I wish print on both sides by feeding the paper through twice.

We must recommend against re-using laser printed paper in your printers. The reason is that the toner which is used is not very robust, in that when heated again (which happens when you print) it can come off the other side of the paper. This causes a mess to accumulate in your printer, and probably some pretty rude things to happen.

psutils from comp.sources.misc is a much better solution, and includes a lot more capabilities, plus it is being updated constantly.

8.5 How do I get banner pages on my printer output?

There is a sample banner prologue file in /usr/lib/NextPrinter that is sent to the printer before or after the print job depending on what printer attributes are set in NetInfo. Sounds gross, but it isn’t. Start up NetInfo on your printer machine. Go to the printer directory, and open up your local printer by double clicking it. Select the append property from Directory menu. Replace the name with BannerAfter (or BannerBefore if you want the banner page printed first). The select the New Value option, and put in the name of the banner prologue file.

If you do not wish to do fancy customization of the file, simply put the path to the NeXT sample banner file:

/usr/lib/NextPrinter/banner.pro

Save out the netinfo modifications.

8.6 How do I get [la]TeX files to print correctly on non-NeXT printers?

If you are printing to a non-NeXT printer from NeXT TeX using dvips, make sure you specify the correct resolution (300 dpi, usually), either on the command line with -D300, or in the /usr/lib/tex/config.ps file with a line that looks like : D 300

If you are printing from within TeXView, you will have to choose Custom-Resolution and enter the correct number (300, usually) because of the way

DefaultResolution defaults to 0.

8.7 What if I have a PostScript font has not been ported to NEXTSTEP?

Many PostScript fonts port to NEXTSTEP with little effort.

The easiest case is a font generated by Fontographer version 3.2 or above (a comment near the top of the file should say which program generated the font). This version of Fontographer can generate fonts ”for NEXTSTEP”. This means that no hacking of the font is needed, but you may need to make some adjustments to make it appear in your font panel.

Suppose you were porting the font family Shalom, which consists of three faces: Old Style, Stick and Script. Here is the procedure to follow:

• In a working folder of yours, create folders called:

     Shalom-OldStyle.font
     Shalom-Script.font
     Shalom-Stick.font

Note that the font family name is to the left of the hyphen (”-”), and the typeface name is to the right and with no spaces in it.

• Copy the outline font file for each typeface from wherever it is into its folder, and give it the name of the folder minus the ”.font”. For example, if you are doing this in a Terminal window:

     cp /Floppy/ShalomOldStyle.NeXT Shalom-OldStyle.font/Shalom-OldStyle
     cp /Floppy/ShalomScript.NeXT   Shalom-Script.font/Shalom-Script
     cp /Floppy/ShalomStick.NeXT    Shalom-Stick.font/Shalom-Stick

If you are working in Workspace Manager’s File Viewer, double-click on the big fat F icon to open the font directory as a folder, then you’ll be able to rename files in it.

• Do the same thing with the font metric files, but make the suffix ”.afm”:

cp /Floppy/ShalomOldStyle.AFM Shalom-OldStyle.font/Shalom-OldStyle.afm
cp /Floppy/ShalomScript.AFM   Shalom-Script.font/Shalom-Script.afm
cp /Floppy/ShalomStick.AFM    Shalom-Stick.font/Shalom-Stick.afm

• If there is a ”read me” file with the font, or any other documentation, copy it into the .font folder too. For example, each of the Shalom font folders contains files ReadMe, CheatSheet.wn and Sample.wn specific to the typeface.

• Edit the outline and font metric files to make them fit the NeXT AppKit’s Font Panel, which is what most NextStep applications use to let you choose your font.

– Editing the outline file, e.g., Shalom-OldStyle.font/Shalom-OldStyle: The original used ”ShalomOldStyle” as the font’s name, full name, and family name. We want the name to be ”Shalom-OldStyle”, the full name ”Shalom Old Style”, and family name just ”Shalom”. First, find the lines:

/FullName (ShalomOldStyle) readonly def
/FamilyName (ShalomOldStyle) readonly def

and change them to:

/FullName (Shalom Old Style) readonly def
/FamilyName (Shalom) readonly def

Then, replace all remaining occurrences of the string ”ShalomOld-Style” with ”Shalom-OldStyle”.

– Editing the AFM file, e.g., Shalom-OldStyle.font/Shalom-OldStyle.afm. Find the lines:

FullName ShalomOldStyle
FamilyName ShalomOldStyle

and change them to:

FullName Shalom Old Style
FamilyName Shalom

Replace all remaining occurrences of the string ”ShalomOldStyle” with ”Shalom-OldStyle”. Repeat this procedure for the remaining typefaces.

• You now have a font family ready to be installed. If the font family is to be used by your account only, place it in /Library/Fonts (creating it if necessary):

mkdirs ~/Library/Fonts
mv Shalom-*.font ~/Library/Fonts
buildafmdir ~/Library/Fonts

If everybody on your system should have access to this font family, place

it (as superuser) in /LocalLibary/Fonts:
su
mkdirs /LocalLibrary/Fonts
mv Shalom-*.font /LocalLibrary/Fonts
buildafmdir /LocalLibrary/Fonts
exit

That’s all you need to do for fonts generated by Fontographer version 3.2 or above. This will work with all applications that use AppKit’s FontPanel. FrameMaker does not, so other changes may need to be done to keep FrameMaker happy [does anybody have something to add here?].

Fonts generated by Fontographer version 3.1 or below don’t work in Display PostScript as they are, because they use a memory management trick that screws everything up in a multitasking environment like DPS. However, there is a simple, though kludgy, way to make them work.

The problematic trick uses a dictionary with a name like ”Fog3.1” (”Casa1” in Casady & Green’s fonts) in which most of the font resides. The problem is that Fontographer puts that whole dictionary into dictionary ’userdict’ and expects it to stay there. DPS, however, clears out ’userdict’ between tasks, including the task that loads the font and the task that uses it. This makes the font useless on the screen, and printable only by prepending the outline font file to the file you want to print and sending the result to print in one task.

The fix is to move the troublesome dictionary from ’userdict’ into the font dictionary itself (unlike ’userdict’, the font dictionary does stick around between tasks).

Perform the following changes in the outline font file (the font CyrillicGothic is used as the example):

• Find the line ”%%EndProlog”. It will be followed by the line like this:

  /\$CyrillicGothic 23 dict def \$CyrillicGothic begin

Write down the number before ’dict’ (in this case, 23). You will need it in the following step. Delete the dict definition, making the line look like this:

\$CyrillicGothic begin

• Go back to the beginning of the file. near the top of the font program, find the following lines:

userdict/Fog3.1 known\{\{currentfile(   )readstring
\{(\%\%\%)eq\{exit\}if\}{pop exit\}ifelse\}loop\}if
userdict begin/Fog3.1 45 dict def Fog3.1 begin

and replace them with these:

/\$CyrillicGothic 24 dict def
\$CyrillicGothic begin/Fog3.1 45 dict def Fog3.1 begin

The number before ’dict’ (in this case, 24) is one greater than the number you wrote down in the previous step.

• Find the line that defines procedure BuildChar:

/BuildChar{Fog3.1/BuildChar get exec}def

and change it as follows:

   /BuildChar{1 index begin Fog3.1/BuildChar get exec end}def

• Go to the end of the file. The last line looks like this:

/CyrillicGothic findfont/EFN get Fog3.1 begin\{RF\}forall end

Delete it (or comment it out by placing one or more ”beginning of it). The AFM file requires one adjustment. Change the line

EncodingScheme AppleStandard

to

EncodingScheme AdobeStandardEncoding

This concludes conversion of a font generated by Fontographer version 3.1 or lower to work with NEXTSTEP. You may still need to make the changes described for version 3.2 and above, to make the font fit the NEXTSTEP font panel.

Short note: under NEXTSTEP 3.3 there is no need to call buildafmdir by hand. It’s triggered automatically by the Font panel.

8.8 What color printers (laser or otherwise) may be used with NEXTSTEP?

The (no longer sold) NeXT/Canon SCSI color printer, of course!

With Dots Color, the HP DeskJet 500C can print in color today, under NEXTSTEP 2.1, and it costs significantly less than $1000 (in Germany at least).

In Germany you can get more information from:

d'ART Software GmbH
Virchowstr. 17-19
W-2000 Hamburg 50
Germany
Voice:  +49 40 380 23 0
Fax:  +49 40 380 23 290
software@dart.de

JetPilot from Interpersonal Computer does this jobs also very well.

You can get more information from:

interpersonal computing GmbH
Oettingenstrasse 2
W-80538 Muenchen
Germany
Voice:  +49 89 22 28 63
Fax: +49 89 22 33 76
info@interpc.de

8.9 How can I make the Page Layout default to A4 in all applications?

Add ”NXPaperType A4” in the ”GLOBAL” preferences.

8.10 /usr/lib/NextPrinter/Server/pstf: syntax error at line 31: ‘end of file’ unexpected?

Using lpr -t, or lpr -d causes this problem. eg:

[...]
cat /usr/lib/NextPrinter/Server/pstf
[...]

Christopher Lane <lane@sumex-aim.stanford.edu> has pointed out 3 (three!) errors in the distributed NEXTSTEP 3.0 lpd.comm file

The last change is my own. It worked for the 1 (one!) dvi file I tried.

tilley\% diff lpd.comm.DIST lpd.comm
11,12c11,12
< while "x\$1" != x do
<     case "\$1" in
---
> while test \$\# != 0
> do  case "\$1" in
16c16
<       -h) HOST=\$"; shift;;
---
>       -h) HOST=\$2; shift;;
17a18
>     esac
21c22
< PRSERVER="/usr/lib/NextPrinter/Server/prserver -p \$PRINTER -n \$USER -h HOST -f -"
---
> PRSERVER="/usr/lib/NextPrinter/Server/prserver -p \$PRINTER -n \$USER -h \$HOST -f -"
27c28
<     psdf) psbad \$FILTER \$PRINTER \$USER \$HOST | \$PRSERVER;;
---
>     psdf) dvips -f -D 400 -r  | \$PRSERVER ;;

8.11 How to get TeX with NEXTSTEP to make proper fonts for a 600 dpi laserwriter?

If you upgrade to a 600 dpi laserwriter then the version of TeX that ships with NEXTSTEP (either 2.X or 3.0) does not know about 600 dpi fonts, i.e. does not know how to make them and will instead use scaled 400 dpi ones (which look significantly worse at 600 dpi than they do at 400 dpi). Some simple modifications to a few Metafont files and rebuilding the metafont bases are all that is needed. What to do to get the 600 dpi stuff working is as follows:

• Edit /usr/lib/mf/inputs/next.mf and add a laserjetIV mode. Simply copy the entire imagen mode, change the name to laserjetIV, and change the pixels per inch to 600. Save the changed file.

• Build a new mf.base file by executing the following commands:

       inimf "plain; input next; dump"
         (as superuser):  cp plain.base /usr/lib/mf/bases/mf.base

• Edit /usr/lib/tex/ps/config.ps and change the ‘D 400’ line to ‘D 600’ (you may have ‘D 300’ or something else if you’ve set up a different printer.)

• Edit /usr/bin/MakeTeXPK (as superuser), adding the lines

             elif test $BDPI = 600
             then
                MODE=laserjetIV

right before the second ‘else’ in the file.

That should do it! You might have to (depending on how you configure NEXTSTEP for the LaserJet IV) select ‘custom resolution’ and set the gadget to 600 in the TeXview print panel, and save Preferences. These instructions are written for an HP Laserjet IV, but they should also work for a QMS printer just fine.

Finally, if you have one of these printers and work in a ”mixed” environment with perhaps 400 dpi and/or 300 dpi printers that you also print to on a regular basis then you might want to consider getting Type 1 PS version of the Computer Modern fonts instead. They obviate the need for the instructions above, and the savings in disc space will be considerable since having printer fonts for several printers takes lots of room, and the file sizes for 600 dpi are quite large (the files grow roughly as D logD, where D is the resolution). These fonts are made by Blue Sky Research, and work beautifully. Y&Y software is a reseller for BSR and sells a ”NEXTSTEP specific” version of them which comes with appropriate instructions and installation scripts.

8.12 How to get printer description files (PPD)?

Adobe has a mail server and ftp site where you can get .PPD files. They are:

ps-file-server@adobe.com (put "send help" in the mail body)
ftp.mv.us.adobe.com

8.13 What are the Canon part numbers for ink cartridges equivalent to those NeXT’s Color Printer uses?

Part Numbers are:

Red:  BJI-643 M
Yellow: BJI-643 Y
Blue:  BJI-643 C
Black:  BJI-643 Bk

8.14 JetPilot does not work with my JetDirect box, why?

It seems, that there is a bug in the /etc/rc-script. The bootpd is given with to arguments -a -f, which are not available for the bootpd under 3.3.

Make an entry in /etc/bootptab like this:

\#
\# host  htype   haddr                   iaddr             bootfile
\#
printer 1       XX:XX:XX:XX:XX:XX       XXX.XXX.XXX.XXX

where

• host: your given hostname for the printer (eg. picasso)

• haddr: The Ethernet hardware address (Can be seen, if you press the TEST-Key on your JetDirect box.

• iaddr: Is the hostaddress for the printer (eg. 192.42.172.1)

Entries have to be done also in the Netinfo-database. It’s like adding a new host.

Insert the following line to your etc/rc.local script:

\#
\# Starting JetDirect-Printer configuration
\#
fbshow -B -I "Starting Printer initialization" -z 92
/usr/etc/bootpd -d /etc/bootptab >/dev/console 2>\&1
   There is an additional FAQ available at: ftp://ftp.gscorp.com/pub/support/HP JetDirect Configuration.rtfd.tar.gz

8.15 powering down NeXTprinter during bootup, printer still works

Type the following to your rc.local.

\#turn off NeXT laser printer.
  fbshow -B -I "Powering off NeXTprinter" -z 95
if [ -f /usr/etc/nppower ]; then
sleep 3
/usr/etc/nppower off
(echo 'powering off NeXTprinter') >/dev/console
   fi

This works fine... the printer powers down immediately, and is available for any app which wants it.

8.16 How to set up the HP LaserJet 4M?

I solved the problem by building a serial cable based upon the pinouts supplied by HP in their manual. Please note that the LJIII cable does not work. In particular, pin 1 from the DIN plug must be connected to pin 6 of the DB25. I used 38500 bps on both sides, and the 600 dpi ppd.

Emulex offers the NETJet network interface which speaks lpd protocol, unlike the HP unit.

8.17 Laserwriter NTX & NEXTSTEP

This are the pin assignments.

Eight-pin mini DIN-8 RS-422 Port
Pin    Signal    Description
1,3     SG        Signal Ground
4       TxD+      Transmit Data +
5       TxD-      Transmit Data -
8       RxD+      Receive Data +
9       RxD-      Receive Data -
IBM-compatible DB-25 Plug     LaserWriter DB-25 Plug
Signal         Pin            Pin           Signal
Shield          1 ............ 1            Shield
TxD             2 ............ 3            RxD
RxD             3 ............ 2            TxD
RTS             4 ............ 4            RTS
CTS             5 ............ 5            CTS
DSR             6 ............ 8            DCD
GND             7 ............ 7            GND
                  ............ 20           DTR

The other aspect is to set the DIP switch on the printer. Here are the DIP switch settings:

Switch 1   Switch 2    Meaning

UP         UP          LocalTalk---RS-232 port disabled
DOWN       UP          Serial ports at 1200 Baud
UP         DOWN        Serial ports at 9600 Baud
DOWN       DOWN        RS-232 at 9600 Baud; RS-422 at 0 Baud

Switches 3 and 4 can probably be ignored—they’re for strange stuff like Diablo 630 and HP LaserJet emulation modes.

Switch 5 Switch 6 Meaning
DOWN DOWN XON/XOFF
UP UP XON/XOFF
DOWN UP ETX/ACK
UP DOWN DSR

8.18 Problems with gray levels in printout

If you have problems with your shades of gray (e.g. light gray is indistinguishable from white) this might be well a problem in the Level2 Color Space calibration of your printer.

To ensure, it’s a problem of your printer (and not a problem of the printer driver or PPD file) try the following:

• Save a printout to a file

• Edit the following line in your printout file:

     /\_NXLevel2 systemdict/languagelevel known {languagelevel 2 ge}{false}ifelse \_\_NXdef

to:

     /\_NXLevel2 false \_\_NXdef

• Send the modified file directly to the printer using the commandline command lpr.

If you still have problem with the shades of gray, the printer driver/PPD file is probably broken, otherwise your printer is broken, which means he has problems with the Level2 color space calibration (The given correction turns PS Level2 off).

Obsolete but still interesting?

This chapter contains information covered in the early days of the FAQs. It is not updated anymore. Note that with new releases of NEXTSTEP and Open-Step some information might still be useful to those, who e.g. didn’t update.

9.1 Where can I get NeXT paraphernalia?

These parts can be ordered.

NeXT T-shirts
Classic NeXT logo on front $6.95 each (S-XL)
3.1 NEXTSTEP logo on front  $7.95 each (M-XXL)
NeXT Pencils $20.30 box of 100
NeXT Cross Pen $21.15 each
NeXT Decals $75.00 box of 100
NeXT T-shirt $ 5.65 each - sizes S, M, L, XL
(pre-shrunk)
Turtle Neck $19.20 each - sizes S, M, L, XL
NeXT Glass Mug $ 1.70 each
Leather Folder $54.50 each
NeXT Sweatshirt $19.20 each - sizes S, M, L, XL
NeXT Tote-bag $ 6.25 each
NeXT Mouse pad $ 9.67 each

Orders can be taken 24 hours a day for domestic and overseas orders

Contact:        Hermann Marketing

--------        1400 North Price Road
                        St. Louis, MO 63132-2308
                        Phone: 1 800 972 1331, 314 432 1800
                        Fax: 314 432 1818

Method of payment: Purchase order, check, money order, or credit card

9.2 Is there any way to change the text in the title bar of a terminal window?

There is no way of changing the title bar of a Terminal.app window in 2.x; in 3.x there is. Check Preferences (Title Bar): set CustomTitle, type in the title, and hit CR (or Set Window) and voila!

   [From:  andre@ramsey.cs.laurentian.ca (Andre Roberge)]

Actually, there is a way to change the title bar of a Terminal window in 2.x (at least in 2.1 which is what I am using). It is somewhat limited but it might be useful to some.

The trick is to make a symbolic link between /bin/csh (or whichever shell one wishes to use) and a file in / named ”Whatever you want to appear in the title bar”. Then select this new ”shell” in the terminal preference and, voila!, you’ll have your terminal window with /Whatever you..... in the title bar.

You can edit Stuart’s titlebar interactively from the ”Window...” Inspector (Command-3).

Stuart provides emulation of certain Operating System Command (OSC) sequences which can be used to modify the titlebar under subprocess control.

Stuart can change the title of the current window from the command line. In Stuart is possible to get more descriptive titles by linking /usr/ucb/rsh to

/usr/hosts/<hostname>. Then by adding /usr/hosts to your Stuart Shell-

Path you can then get the hostname into the title bar:

$ dwrite StuartShellPaths <various dirs>:/usr/hosts

You should then type in the hostname as the shell to invoke (disable the ”Shell reads .login file” for this. You can also add hosts to your .Stuartrc file:

Shell=golem.ps.uci.edu
SourceDotLogin=NO
WinLocX=545
WinLocY=563
Lines=24
|
WinLocX=76
WinLocY=833

For the localhost, link /bin/csh to /usr/hosts/<name>, or even better

/usr/local/bin/tcsh instead of using rsh.
   [From:  Garance A Drosehn <gad@eclipse.its.rpi.edu>]

For what it’s worth, I do this with a script called ”telnet to” and a (bash) function called ”telnet window”. The function simply does a

local soil_pars="-Lines 32 -Keypad YES -Reverse \
YES -Strict YES -TestExit YES";
soil -Shell "telnet_to $1" $soil_pars

and the script is just:

#!bin/sh
/usr/ucb/telnet $*
echo ' '
echo '  -->   telnet exited, press enter to close window.'
read -r Waste_Var
exit 0

This has a number of advantages, not the least of which being that I can pop up a ”telnet window” to anywhere. I don’t have to create links for each host (though I do create aliases for the most common hosts), and I can type ”telnet window” (or, e.g., ”tel aix”) as a unix command.

Also, if I lose the connection suddenly then the window stays around until I get a chance to see what happened. I use telnet instead of rsh because I generally connect to hosts which won’t accept rsh’s.

9.3 I can’t get my pictures in OmniWeb ¡2.0.

You have to install the OmniImage.service in your /Library/Services or /LocalLibrary/Services (This is also a nice way to get pictures converted in other applications as well.

   You can ftp this from ftp.informatik.uni-muenchen.de

9.4 How do I remap the and — keys on my keyboard?

NeXT introduced a new keyboard configuration with the 040 products. The | keys which had been located on the main keyboard was moved to the numeric keypad. Many users have since complained about it, and a work around is to remap these keys using the demo application Keyboard (/NextDeveloper/Demos/Keyboard),

Mike Carlton’s keyboardfix program: ftp.cs.orst.edu:/pub/next/sources/next-interface/keyboardfix.tar.Z

...which lets you put these keys on shift-return or shift-delete. One can hope that there will be a choice of keyboards in the future.

9.5 How do I stop NeXTMail/Sendmail adding M̂s onto the end of lines?

In /etc/sendmail.cf make this change:

[old code]
##### UUCP Mailer specification
#####
Muucp, P=/usr/bin/uux, F=msDFMhuU, S=13, R=23,
[new code]
##### UUCP Mailer specification
#####
Muucp, P=/usr/bin/uux, F=msDFMhuU, S=13, R=23, E=\n,

This has been fixed in 3.1, and the default mailhost sendmail is UUCP oriented.

9.6 Why does NEXTSTEP 1.0 hang a few seconds after attempting to boot?

Release 1.0 contains a bug that can corrupt the kernel /odmach if a user attempts to launch /odmach from the browser. The solution is to copy a clean /odmach from another NeXT system. Be sure to change the permissions of the newly installed /odmach to remove execute permissions to prevent future occurrences of the same problem. Release 1.0a and beyond do not have this problem.

It is possible for the sdmach to get corrupted in the same way. Boot from the OD, copy an uncorrupted version of the kernel to the hard disk, and remove the execute bits from sdmach.

9.7 Modem hangs under NS2.0 by incoming calls

There is a bug in the serial driver which causes getty to get stuck. The situation arises after a successful uucico connection, subsequent connections via modem will get a connection with the modem, but no login prompt.

This is caused by getty hanging. A simple work around is to have a process run in cron to reset the getty every 15 minutes:

#! /bin/sh -u

PIDS=`ps -ax | bm getty | grep -v bm | awk '{print $1}'`
kill -TERM $PIDS

Of course trying to connect when the script is running will not allow you to connect, try again a minute later. This fix will not affect on-going UUCP or interactive connections. This will probably be fixed in the next kernel release.

This bug is corrected in NEXTSTEP 2.1 and later releases.

9.8 NS2.0 doesn’t recognize /LocalApps path

Workspace has its own internal application path. In 2.0 /LocalApps was omitted. Improv needs to have /LocalApps in the Workspace path if you have Improve installed in /LocalApps. The work around in 2.0 only is:

dwrite Workspace ApplicationPaths "~/Apps:/LocalApps:/NextApps: \
/NextDeveloper/Apps:/NextAdmin:/NextDeveloper/Demos"

This bug is corrected in NEXTSTEP 2.1 and later releases.