Motorola: Hardware Q & A


This document pertains to the Motorola 68k-based hardware systems sold by NeXT Computer. Apple Computer no longer offers hardware support for these computers. This information is provided only as a convenience to our customers who are still using this hardware. Questions in this Q&A document that refer to the NeXTSTEP operating system may not apply to version 3.3 or to any other specific version of NeXTSTEP.
This article has been archived and is no longer updated by Apple.
NeXTdimension Questions

Q: What is the programming environment for NeXTdimension?? Can a user program the i860 directly or does he/she have to use Display PostScript or NEXTSTEP? Can I program the NeXTdimension board directly?

A: No, it is not possible to write code (in C or Assembly language) that will run on the i860 processor on NeXTdimension.

The purpose of the processors on the NeXTdimension is to manage the 32-bit MegaPixel display. This consists of assisting in the rendering and manipulation of tremendous amounts of data on the screen, managing the backing store, virtual memory, and video data, and all the rest. In order to do this in an efficient and timely manner, we felt that providing a lower level API (like programming the board directly in Assembler) would sacrifice these goals.

In providing an Assembly/C language interface, we would have to also do some sort of timesharing, in order to ensure that the the display system would have control of the NeXTdimension when it needed it. This is not a simple task.

In addition to this, providing the Assembly/C language interface leaves third party developers vulnerable to future changes in the display system. By using the AppKit and Display PostScript, applications are cushioned from future changes. Rather than having large numbers of graphics customers with gross incompatibilities whenever we revise our display architecture, instead we have customers whose applications run across our entire line, albeit faster on some machines than others.

What you do get in the NeXTdimension system is very fast image manipulations. When you use NXImage, or do image operations in PostScript, these operations are speeded up, without any changes in your code. In addition, the processors on NeXTdimension makes it possible to manipulate 32-bit color images and video with excellent performance.

Q: What files are required for a NeXTdimension board to function properly?

A: The NeXTdimension-related files on Release 2.1 and later (NeXTdimension systems only) are as follows:

ND PostScript Driver:
In the directory /usr/lib/NextStep/Displays/NeXTdimension.psdvr:

reloc dynaloads into WindowServer
ND_MachDriver_reloc loaded into Mach
NDserver loads i860 code and provides I/O support

NOTE: The size of the virtual memory space on the i860 is directly related to the VSIZE that ps reports for the NDserver task. This task shows up in the output from ps aux as:

root 149 0.0 3.4 28.3M 280K ? S 40:47 (NextDimension) -NDSlot 2

CPU use by this task directly reflects I/O activity, including paging, by the i860.

Video Support:
/NextDeveloper/Headers/appkit/NXLiveVideoView.h include file for video view
/usr/lib/NextStep/GraphicsPackages/video_reloc dynaloads into WindowServer
/usr/shlib/libMedia_s.A.shlib shlib image
/usr/lib/libMedia_s.a shlib archive

(Prior to Release 3 the video library is libvideo_s instead of libMedia_s.)

Demos & Examples:
NeXTtv video/grab Demo
ScreenScape video out Demo
VideoApp generic video Example

Q: I've purchased a NeXTdimension system and wish to expand the memory. What performance advantages can I expect to gain from adding memory to the NeXTdimension board as opposed to the CPU board? Is there a mini-Mach running on the i860? Can the i860 swap to disk? Can I memory-map the memory on the ND board?

A: The DRAM on the NeXTdimension is used for displaying all windows which appear on the NeXTdimension monitor. The NeXTdimension board is driven by a Mach loadable device driver (which loads into the Mach kernel on the host) and a NeXTdimension screen driver, part of which loads into the WindowServer, and another part which loads into the i860. This i860 software consists of a mini Mach-like kernel, specially designed to support low-level PostScript drawing, 3D rendering, and virtual memory for window backing stores. It is NOT possible to program the i860 directly.

Neither the DRAM nor the VRAM on the NeXTdimension can be memory mapped by the application. When it becomes necessary, the i860 pages to disk via the host 68040<it does not write directly to disk itself.

Whether you increase memory on the 68040 or the NeXTdimension depends upon how you plan to use the system. In general we recommend that you keep them fairly balanced. If you are going to be keeping lots of windows on the ND system then we suggest that you keep the memory on the i860 somewhat ahead. The less paging you do the better. You cannot extend the VRAM [video ram] on the NeXTdimension.

Q: Why does NeXTSTEP run so slowly on my NeXTdimension?

A: The key to NeXTdimension configurations is simple<don't set the monochrome MegaPixel Display as the default screen if you configure the NeXTdimension system with both monochrome and color displays. This configuration causes the NeXTdimension to run very slowly.

The NeXTdimension can be run either with just a color display, or with both monochrome and color displays simultaneously. For best performance when running with both displays, the color display should be set as the default screen. Make sure that your customers don't configure their systems to default to the monochrome display. This configuration works, but works very slowly.

For example, zooming to 200 percent in Scene while looking at a large TIFF file takes 130 seconds with the slow configuration. With any other NeXTdimension configuration, it takes only about 20 seconds.

How does this happen? With a new NeXTdimension system or upgrade to an existing NeXTcube, the system will power up and, by default, use only the color display. To configure a system with multiple displays, the user must run the Preferences application and use the multiple screens preference item to enable the monochrome screen.

The only way to get into the slow configuration is to drag the loginwindow icon over the monochrome screen to set it as the zero screen. Customers who may have already set this configuration can set the zero screen back to the color screen by dragging the loginwindow icon over to the color screen.

NeXT Printer Questions

Q: Where can I find replacement cmyk cartridges for my NeXT Color Printer?

A: The NeXT Color Printer uses the same engine as the Canon BJ 800/820 printers. Cartridges compatible with those printers can also be used with the NeXT printer.

Q: Can the cable for the NeXT Laser Printer be extended somehow?

A: No. There will be too much signal skew.

Q: What is the maximum weight of paper you can use in the NeXT Printer? What is the maximum size and number of pages you can use in the NeXT Printer?

A: Different countries use different paper measurement schemes.

In the United States, paper weight is traditionally measured in "pounds per square foot." In Europe it is measured in grammes per square meter (gsm).

· Maximum Paper Size/Weight
Cassette feed
60-80 gsm paper (Grammes per square meter or g/m2)
34 pound paper

Manual feed
Plain paper from 100mm x 175mm to 216mm x 356mm (60 gsm to 128 gsm).

· Cassette Capability
A4/Letter selection (Depth: 16mm - approx 150 sheets of 80 gsm paper)

Q: When shipping a printer, what has to be done to move it safely?

A: Remove the toner cartridge and place it in its own box. If left in the printer, all of the toner could spill out. If you still have the tabs which were removed from the printer when it was first unpacked, place the tabs back into the unit. See the "Setting Up the Printer" Chapter in the Getting Started manual for printer setup information.

Miscellaneous NeXT Computer Questions

Q: How can I change the voice alerts for my printer?

A: In versions prior to Release 3, the voice alerts can be found in the directory /usr/lib/NextPrinter. In Release 3 and later, they are located in /usr/lib/NextPrinter/language.lproj, where language is the name of language version of the sound you want to change. There are four of them:

manualfeed.snd "Your printer is waiting for paper"
nopaper.snd "Your printer is out of paper"
printeropen.snd "Your printer cover is open"
paperjam.snd "Paper is jammed in your printer"

These are ordinary CODEC-based sound files. One can replace them with one's
own recording. (The execute bit need not be on.)

Q: Where can I find replacement cmyk cartridges for my NeXT Color Printer?

A: The NeXT Color Printer uses the same engine as the Canon BJ 800/820 printers. Cartridges compatible with those printers can also be used with the NeXT printer.

Q: When I try to format a floppy disk with my external SCSI floppy drive, it fails and shows an alert panel that says "Cannot initialize disk. See console for errors." In the console I see this message if it is a new unformatted disk:
/usr/etc/disk -i -h localhost -l "UntitledDisk" /dev/rsd1a
Target 5: MEDIA ERROR; block 0H retry 1
Target 5: MEDIA ERROR; block 0H retry 2
Target 5: MEDIA ERROR; block 0H retry 3
Target 5: MEDIA ERROR; block 0H retry 4
Target 5: MEDIA ERROR; block 0H retry 5
Target 5: MEDIA ERROR; block 0H retry 6
Target 5: MEDIA ERROR; block 0H retry 7
Target 5: MEDIA ERROR; block 0H retry 8
Target 5: MEDIA ERROR; block 0H retry 9
sd1 (5,0): sense key:0x3 additional sense code:0x12
SCSI Block in error = 0 (no valid label)
Read of sector 0 failed

If the disk have been formatted and I try to re-initialize the disk, I see this message in the console:
/usr/etc/disk -i -h localhost -l "UntitledDisk" /dev/rsd1a
disk type: removable_rw_scsi
device = /dev/rsd1a block size = 512 capacity = 1 MBytes
Disk Format in progress...
***Format Complete***
writing disk label
boot block extends beyond front porch

How can I initialize floppy disks?

A: This assumes your external SCSI floppy drive is at sd1.

You must be logged in as, or su'd to root.

(You type the things in bold...)

localhost:18# sdform /dev/rsd1a
device = /dev/rsd1a block size = 512 capacity = 1 MBytes

This will take approximately 5 minutes.

Do you wish to proceed? (Y/anything) Y

Disk Format in progress...
***Format Complete***
localhost:19# disk /dev/rsd1a
disk type: removable_rw_scsi
Disk utility

disk> label
label information: print, write? write
enter host name: localhost
enter disk label: UntitledDisk
writing disk label
disk> quit
localhost:20# newfs /dev/rsd1a
setting optimization for space with minfree less than 10
Warning: 12 sector(s) in last cylinder unallocated
/dev/rsd1a: 1392 sectors in 78 cylinders of 2 tracks, 9 sectors
1.4Mb in 5 cyl groups (16 c/g, 0.29Mb/g, 64 i/g)
super-block backups (for fsck -b#) at:
16, 320, 592, 896, 1168,
localhost:21# disk -e /dev/rsd1a
disk type: removable_rw_scsi

Q: How do I use the serial port as a tty connection?

A: It is pretty much a plug-n-play operation once you have enabled the serial port to be accessed as a tty. You will need a terminal or a communications program which will run on whatever machine you plug into the serial port.

1) As root, edit the file "/etc/ttys" and set a terminal type and baud rate. Be sure to change the "off" to "on". (See "/etc/gettytab" for help in assigning a baud rate. Read the "man" page on "gettytab" and "getty" for more help.) Save the changes and power down.

Default entries in "/etc/ttys" shown below.
ttya "/usr/etc/getty std.9600" unknown off secure
ttyb "/usr/etc/getty std.9600" unknown off secure

2) You will need a null-modem serial cable. This cable switches the transmit and receive wires between the two plugs. Turn both systems off and plug this cable into the serial ports of the two machines.

PC serial port:
__________________ Pin Signal
( 1 2 3 4 5 ) --- ------
\\ o o o o o / 2 Receive Data
\\ 6 7 8 9 / 3 Transmit Data
\\ o o o o/

NeXT serial port:
(see "man zs" located online). Serial ports A and B use 8-pin miniature DIN (MiniDIN-8) connectors. Both ports on a 68040-based NeXT computer are RS-423 compatible; the ports on a 68030-based NeXT computer are RS-422 compatible (though different). The following diagram and table describe the pin configuration of each port: Pin 3 is Transmit Data and pin 5 is Receive Data. (see Appendix B:Cabling in the System Administration Guide located online)

Mini-din signals on 68030 systems:

Pin Signal
1 DTR Data Terminal Ready
2 DCD Data Carrier Detect
3 TXD- Transmit Data Minus
4 GND Signal Ground
5 RXD- Receive Data Minus
6 TXD+ Transmit Data Plus
7 A: RTXC Receive Clock
B: +5v +5 volts
8 RXD+ Receive Data Plus

NOTE: Previous NeXT documentation incorrectly referred to
pin 2 as CTS.

Mini-din signals on 68040 systems:

Pin Signal
1 DTR Data Terminal Ready
2 DCD Data Carrier Detect
3 TXD Transmit Data
4 GND Signal Ground
5 RXD Receive Data
6 RTS Request To Send
7 RTXC Receive Clock
8 CTS Clear To Send

3) Match the settings of your terminal or terminal emulator with those you have selected in "/etc/ttys". The default setting specified in "/etc/gettytab" will accept tty connections with even parity, 7 bits and 1 stop bit ;(E71). PC users will need to specify which com port the terminal program is to use and make sure that the port is enabled in their system's BIOS.
Published Date: Feb 18, 2012