Direct Memory Access. Part III

The devices located on ISA-bus actively use the Direct Memory Access, so to allocate DMA-resources among ISA-devices, use the parameter “DMA n Used by ISA”, where n – a number of a channel (from 0 to 7). This parameter may have the following values:

  • No/ICU – is not used. This value points that this channel is exempt and can be allocated by BIOS. This channel also can be set using a special DOS-program “ISA Configuration Utility” (ICU).
  • Yes – is used. This channel is forcibly exempted for ISA-device that does not support the Plug and Play technology. This value allows preventing the automatic assignment of channel from another ISA-device that supports the Plug and Play technology.

ISA-bus is hardly used in modern computers so the manual allocation of channels and their setting are not required. But it is possible to optimize the operation of some frequently used devices, for example LTP printer port, that provide the direct memory access by minimizing delays.

To do this, use the parameter “DMA Wait States” that enables to set an amount of waiting cycles before the transmission of data via DMA-channels. This parameter may have the following values: 1T, 2T, 3T and 4T (in cycles). The decreasing of value causes the increasing of speed but in some cases this may cause some failures. Besides, you may use the parameters “8-Bit DMA Cycle Wait States” and “16-Bit DMA Cycle Wait States” which enable to set the delays for 8-bit and 16-bit DMA-channels separately. The first four DMA-channels (from zero to three) belong to the 8-bit channels and the next four (from four to seven) – to the 16-nit ones.