NeXT

wall < "[Dokumentation] White (Intel) Hardware"

Broadcast message from spillerm@unixe.de (pts/1) (Fr Jul 04 13:33:47 2008):
4
Diesen Beitrag schrieb ich vor 10 Jahren. Behalte das beim Lesen bitte im Hinterkopf.

Aus dem Backup heraus habe ich die Inhalte meines alten Wiki wiederhergestellt; in diesem waren eine Menge Howtos, Papers und sonstige Dokumente enthalten, die auf keinen Fall für immer aus dem Netz verschwinden sollten. Für die schwarze Hardware gibt es die neue Kategorie NeXT — nach und nach werden die Inhalte nun übertragen. Viel Spass damit! :)

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

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.

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

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

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.

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.

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

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.

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.

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 468 with Coprocessor and up.

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.

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.

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 640×480 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.

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.

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.

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.

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.

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.

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.

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
    • erase the whole disk and use it all for NS/Intel,
    • save some room for DOS,
    • 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:
    • Primary DOS (if more than 32MB desired, use the „large“ FAT option)
    • HPFS (this is a placeholder for NT, and can be any non-DOS format)
    • 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.

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

Yes.

NEXTSTEP/Intel 3.1, DOS, Linux/NT multi-boot 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)
  • Notice: 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.

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.

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×768 resolution.

Accessing ROM monitor on Intel-System, how?

ROM-Monitor, Intel 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.

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.

Do EIDE-Drives work with NEXTSTEP?

Yes, a driver is included in NEXTSTEP 3.3

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

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.

AppleTalk under NEXTSTEP/Intel?

AppleTalk, Intel IPT has a product called Partner, which works fine under 3.3 and mounts AppleShare Volumes, supports AT printing etc.

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.

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.

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 . This file is (conditionally) imported by. 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.

4