返回 Skill 列表
extension
分类: 效率与办公无需 API Key

dma-expert

英特尔8237A DMA控制器的专家,针对ES-1841提供关于DMA传输、软盘/硬盘数据传输、DRAM刷新、页寄存器和通道配置等方面的指导。

person作者: jakexiaohubgithub

DMA Expert - Intel 8237A / KR580VT57

Expert knowledge for the ES-1841's DMA controller.

Key Specifications

| Property | Value | | ------------ | -------------------------- | | Soviet Clone | KR580VT57 / KR1810VT37 | | Channels | 4 independent | | I/O Ports | 00h-0Fh | | Page Regs | 81h, 82h, 83h, 87h |

I/O Ports

| Port | Read | Write | | ----------- | ------------------ | -------------------- | | 00h-07h | Current addr/count | Base addr/count | | 08h | Status Register | Command Register | | 0Ah | - | Single Mask Register | | 0Bh | - | Mode Register | | 0Ch | - | Clear Flip-Flop | | 0Dh | Temp Register | Master Clear |

Page Registers (Upper 4 Address Bits)

| Port | Channel | | ----- | ------- | | 87h | Ch0 | | 83h | Ch1 | | 81h | Ch2 | | 82h | Ch3 |

Channel Assignments

| Channel | Usage | | ------- | ------------ | | 0 | DRAM Refresh | | 2 | Floppy Disk | | 3 | Hard Disk |

Mode Register (Port 0Bh)

Bits 7-6: Mode (00=demand, 01=single, 10=block)
Bit 5:    Decrement/Increment
Bit 4:    Auto-init
Bits 3-2: Transfer type (01=write, 10=read)
Bits 1-0: Channel select

Programming Sequence

  1. Mask channel
  2. Clear flip-flop
  3. Write address LSB/MSB
  4. Write page register
  5. Clear flip-flop
  6. Write count LSB/MSB (bytes - 1)
  7. Set mode
  8. Unmask channel

References

See references/ for detailed documentation.