When first modems for PCs started to appear in the USSR in late 1980s, they usually were in the form of an ISA card, and supported a bare minimum of the Hayes AT commands. Given the quality of Soviet phone lines, and, most importantly, pulse dialing which introduced noise in all wires in a bundle, using such modems without error correction at speeds greater than 300 baud was next to impossible.
At the time modems with hardware error-correction (MNP) support were quite expensive; I remember that for quite a while our office had a cheap 1200 baud modem card and an MS-DOS MNP driver (MNP.SYS
or some such, not particularly large, maybe a few Kb) which allowed to connect to the DEMOS's MNP-capable modem in the error-correcting mode.
Reading about the Microcom Networking Protocol, I don't quite understand how the software driver was able to negotiate the protocol with a "dumb" modem:
After connection to the remote modem, Microcom modems played a special tone into the line and listened for a response; if a proper tone was received in reply, the modems entered their error-correcting state.
How exactly did that software MNP driver work?