Page 114 44. Programming InterfaceThis chapter contains information needed to write custom software drivers for theEXM-31. Anyone using the EXM-31 with software compatible with standard PCmodems in general, or specifically a “generic AT&T Class 1 Fax, 14400 DataModem” can skip reading this chapter.The EXM-31defines the following registers in the I/O space (the MSB is the left-most bit).Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 I/O Port1 1 0 1 0 0 0 0 100Device ID RegisterReserved Interrupt Select CDEN 102Configuration Option Byte 1 Register1 Base Address Select 103Configuration Option Byte 2 RegisterThese registers are standard EXM registers for device identification andconfiguration. The EXM-31 responds to accesses to these ports only if EXMexpansion interface line -EXMID is asserted. An 8-bit read from I/O address 100hreturns the value D0, the device ID of the EXM-31. Read/write configurationregisters appear at I/O address 102h and 103h. The bit encodings are defined inchapter 2.The upper four bits of register 102 are reserved.Interrupt selects the interrupt to be generated.Base address selects the place in the I/O space in which the 8-byte I/O port area ofEXM-31 appears.CDEN specifies whether the EXM is disabled or enabled. If disabled, the EXM willnot respond to any I/O or memory addresses and will not assert an interrupt output; itwill only respond to reads from I/O port 100h and reads and writes from I/O port102h, and then only if EXM expansion interface line -EXMID is asserted.