README-file for the ParallelPort-driver Version 1.2 (unchanged since 1.1) This is a reprogrammed replacement for the original ParallelPort-driver from NeXT. It is intended to work with NEXTSTEP 3.2 for Intel (ParallelPort worked in version 3.1, so you won't need this driver if you use 3.1). Version 1.2 also works with NEXTSTEP 3.3. For a Changelog look at the file 'Par.m' in the subproject 'Par_reloc.tproj'. How to install the driver: 1.) Compile the distributed sourcecode. This step is not necessary any more, since the package contains a compiled version of the driver. You will, however, need to recompile if you have to change 'config.h'. You need NEXTSTEP Developer to do this. Simply load PB.project (in the main-folder, not that in one of the subprojects *.tproj) into ProjectBuilder by double-clicking it and click on 'BUILD'. This compilation need not be done as root. Maybe you will get the compiler-error /NextDeveloper/Headers/bsd/sys/user.h:40: header file 'kern/lock.h' not found this is an error in the NEXTSTEP-Headers, a possible workaround is to make a link from /NextDeveloper/Headers/kernserv to /NextDeveloper/Headers/kern (must be done as root!). The compilation-process should leave a directory 'Par.config' in the main-folder. If you want to save disc-space, you can run the command 'strip Par.config/PostLoad' now. 2.) Double-click on 'Par.config', the application 'Configure' will be started and ask you to install Par; give the confirming answer. You will be asked for the root-password, because drivers must be installed as root. After installing the driver you can remove the original NeXT-driver from the list of active drivers in the 'Other'-section of 'Configure.app' and add the 'New Parallel Port Driver'. The default-settings should be the correct ones. 3.) save the configuration and reboot the machine Features: This driver is intended to be simple and robust. The only setting that can be done by ioctls is the timeout (with ioctl(fd, PPIOCSETTIMO, &timeout)), but this setting is (and should be) normally disabled. Some printer-drivers set this value to 2 seconds, which is far too small (thanks go to Marc Salvatori <salvo@eskimo.com> who helped me investigate this problem). If you need to set the timeout from your software, look at the file 'config.h'. There is a define 'ALLOW_SET_TIMEOUT' to enable this ioctl. The timeout is set in seconds and the default (always restored after an open) is 3 minutes. If the printer is not responding, the process accessing it will not be killable for this timeout-period. On the other hand, if the printer is out of paper, you have to refill it within these 3 minutes. If you want to change the default, change the constant 'PP_TIMEOUT' in Par.m. Once a timeout occured, the printer is marked 'dead' and all attempts to send data result in an error. This 'dead'-flag is cleared whenever the printer is not busy any more. There is an other define that can be enabled in 'config.h': the DEBUG-option. If DEBUG is enabled, every call to a driver-function is logged in /usr/adm/messages. But be careful: you can fill up your harddisc with thousands of 'par_write: success'-messages. This option should always be disabled for normal operation. For bugreports (I hope there are no bugs) and suggestions mail to Christian Starkjohann <cs@ecs.co.at> or <cs@ds1.kph.tuwien.ac.at>
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.