XORBIT(OPCSDEFS) Optical Printer Control System XORBIT(OPCSDEFS) NAME xorbit - flip bit(s) on a port. (ie. invert, exclusive-or) USAGE xorbit [port] [mask] [softlatch] # (values hex!) EXAMPLES xorbit 0378 04 0 # flip lpt1 port bit #2 (1=#0, 2=#1, 4=#2) xorbit 0306 01 1 # kuper card logic connector, # flip bit #1 (note softlatch=1) DESCRIPTION This command flips bits on a port, based on the mask. All bits specified by the mask are inverted. (set will be clear, clear will be set, etc) [port] is the port number in hex. [mask] is a hex byte value indicating the bits to be flipped on that port. o With [softlatch] set to 1, only ports 0x0000 - 0x07ff are allowed. Any ports referenced above 0x07ff with [softlatch] enabled will cause an error. o External programs that modify a port defined to OPCS as a [softlatch] port (such as would be the case for the kuper logic I/O port) should beware that the OPCS software will be maintaining it's own internal latch for that port, and this latch value will not reflect any changes that have been made by the external program. This is not really a bug, just a fact that cannot be changed. It is usually bad hardware practice to make WRITE ONLY ports, since different programs cannot co-communicate with such a port, unless some common data area is arranged to latch the settings, which can be hard to enforce on PCs. BUGS o With [softlatch] set to 1, only ports 0x0000 - 0x07ff are allowed. Any ports referenced above 0x07ff with [softlatch] enabled will cause an error. o External programs that modify a port defined to OPCS as a [softlatch] port (such as would be the case for the kuper logic I/O port) should beware that the OPCS software will be maintaining it's own internal latch for that port, and this latch value will not reflect any changes that have been made by the external program. This is not really a bug, just a fact that cannot be changed. It is usually bad hardware practice to make WRITE ONLY ports, since different programs cannot co-communicate with such a port, unless some common data area is arranged to latch the settings, which can be hard to enforce on PCs. 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 Version K1.12d+ Gregory Ercolano, Venice California 03/04/98