ALLSTOP(OPCSDEFS) Optical Printer Control System ALLSTOP(OPCSDEFS) NAME allstop - define the ALLSTOP key USAGE allstop [port] [mask] [test] [0] # (all values in hex!) EXAMPLES allstop 0060 7f 46 0 # typical for SCROLL LOCK key DESCRIPTION This command defines the allstop key for the software. The ALLSTOP button can be any key, or for that matter any bit on any port on the IBM PC, but keyboard's (`) key is recommended. All parameter values are in hexadecimal. [port] is the port number to read in the range 0000-03ff. Use 0060 for the keyboard. [mask] is applied to the value received from the port whenever the software is checking for an allstop condition. This is applied before comparing to [test]. [test] is compared to the value read from the port after [mask] is applied. If the result is the same as [test], an allstop condition exists. [0] is always zero. Under normal conditions, [port] is 0060 (the keyboard port), [mask] is usually '7f' (meaning mask off the high bit) and [test] is normally '29', which is the (`) key's keyboard scancode. The software essentially uses the following C code to read the port: if ( ( inp(port) & mask ) == test ) { /* An allstop condition exists */ } BUGS None. SEE ALSO DEENERGIZE(OPCSDEFS) - define port/bit to deenergize motors ALLSTOP(OPDSDEFS) - define port/bit to detect the allstop key BUCKLE(OPCSDEFS) - define port/bit to detect film buckles VIEWER(OPCSDEFS) - define port/bit to detect viewer open TRIPSWITCH(OPCSDEFS) - define port/bit to detect trip switches SETBIT(OPCSDEFS) - set bit(s) on a port CLRBIT(OPCSDEFS) - clear bit(s) on a port XORBIT(OPCSDEFS) - invert bit(s) on a port ORIGIN Gregory Ercolano, Los Feliz California 09/11/90