|The NEXTSTEP/OpenStep FAQ
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.
MAB, disk space
multi application binary, MAB
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.
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 noticeable.
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.
user vs. developer
developer vs. user
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 compiler 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.
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.
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.
No. NEXTSTEP/Intel uses several 486 specific features that enhance the performance of NEXTSTEP. NEXTSTEP/Intel will support any 486 with Coprocessor and up.
NeXT states: No. The Cyrix chip not a true 486.
Several other users state: Yes. Slow performance, though.
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.
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.
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.
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.
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.
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.
Yes. You can cut and paste text and graphics between DOS/Windows and NEXTSTEP applications.
partitions, NeXT and DOS
multi OS setup
OS, more than one
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:
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.
- 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)
- 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 /.
MacIntosh, r/w floppy
MS-DOS, r/w floppy
multi OS boot
The OS/2 boot manager does this nicely.
NOTES ON INSTALLING DOS, OS/2 AND NEXTSTEP FOR DUAL BOOT
keyboard error, Intel
- 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) 1 MB Boot Manager
2) 20MB DOS Primary partition (drive C:)
3) 64MB OS/2 Extended partition (logical drive D:)
4) 120MB Data Extended partition (logical drive E:) (or 200MB or whatever size)
NOTE: LEAVE THE REMAINING 460+MB FREE SPACE UNFORMATTED. 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.
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.
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.
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.
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.
Yes, a driver is included in NEXTSTEP 3.3
ET4000/w32p, 8 Bit color
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!!!
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.
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.)
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
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.
- 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:
- Add this line as the first line in the C file that accesses the MIDI driver:
Be sure that you do not explicitly import . 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:
#define MIDIDRIVER_NAME "Mididriver"
#define MIDIDRIVER_NAME "mididriver"
r = netname_look_up(name_server_port, "", MIDIDRIVER_NAME, &driverPort);
This is another change to prevent conflict with the NeXT hardware driver.
Load the SCSI driver and then load the EIDE driver. Don't follow the directions they give you (which are to load the CD's driver and then load the hard drive's driver). Do it backwards, so that the hard drive you are installing to gets assigned sd0. By swapping drivers like this, the CDROM gets sd1 which is what the installation procedure expects.
I guess that what happened is that the EIDE driver makes the CDROM drive masquerade as a SCSI device. And SCSI ids will be assigned to devices in the order that you load the drivers. Since the OS wants to load to sd0, that means that you have to load the hard drive's driver before the CDROM's driver, especially in this case where the CD is on one bus and the HD is on another. By doing this, the CD doesn't steal sd0 away before the SCSI driver is loaded. My guess is that if you had the CD and the hard drive on the same bus (EIDE or SCSI) you'd never have this trouble. It's just the fact that there are two busses that confuse the installation. Anyway, this worked for me (Don Yacktman email@example.com).
error, during boot
The following is a common error message you might encounter during the boot process just before the workspace starts up: bootstrap_register failed -- 102. You may ignore it savely. It will only occur if you didn't installed a sound driver.
Although there are problems running NEXSTEP/OPENSTEP in conjunction with certain hardware, these problems are rare and most people got it working somehow. It's best to buy supported add-on cards listed in the Intel-Configuration section of NeXTanswers http://www.next.com/NeXTanswers/. However most mainboards do work.
Yes, this includes Pentium-Pro processors.
NO, this excludes MP support (if you don't know what it is, never mind) (Okay, MP: Multi-Processing. Some boards are capable to keep more than one processor. However NEXTSTEP/OPENSTEP doesn't take advantage of more than one processor).
Also most multiprocessing boards do work with a single or more processors (even if a second or further processors aren't utilized) there are reports which indicate that there are problems with these boards.
Many users discouver a nice effect: They add RAM to their computer so they have more than 64MB of RAM installed. After rebooting NEXTSTEP/OPENSTEP only a black screen appears and the system is stalled.
This is a common problem. Reboot using the default configuration or with the VGA driver installed. Run Configure and select your graphic driver. Enter a value greater 64MB (in hexadecimal numbering, eg.0xA000000) and save. That's it. Previously your drivers memory did collide with your computers memory.
The following is a method on how to change the root password on an Intel based computer. However if the system is booted over a network this won't help.
Boot in single user mode supplying '-s' to the boot prompt. Once the system is halted. Start NetInfo by running 'sh /etc/rc'. Now use 'nu -m' to change the password and reboot (enterying 'reboot' of course. Not pressing the power button! I didn't had to tell this, did I?)