返回 Skill 列表
extension
分类: 开发与工程无需 API Key

crtc-expert

MC6845 CRTC的ES-1841视频时序专家。提供有关视频时序、光标控制、显示寻址、V-Blank检测和CGA寄存器编程的指导。

person作者: jakexiaohubgithub

CRTC Expert - MC6845 / KR1810VG85

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

Key Specifications

| Property | Value | | ------------ | -------------------------- | | Soviet Clone | KR1810VG85 | | I/O Ports | 3D4h/3D5h (index/data) | | Registers | R0-R17 | | Video RAM | B8000h |

I/O Ports

| Port | Function | | ------ | ------------------- | | 3D4h | Index register (W) | | 3D5h | Data register (R/W) | | 3D8h | Mode Control (W) | | 3D9h | Color Select (W) | | 3DAh | Status Register (R) |

Key Registers

| Reg | Name | 80×25 Value | | ------ | -------------------- | -------------- | | R0 | Horizontal Total | 71h | | R1 | Horizontal Displayed | 50h | | R4 | Vertical Total | 1Fh | | R6 | Vertical Displayed | 19h | | R9 | Max Scan Line | 07h | | R12-13 | Start Address | Display offset | | R14-15 | Cursor Address | Cursor pos |

Status Register (3DAh)

| Bit | Function | | --- | ----------------------------- | | 0 | Display enable (1=retrace) | | 3 | Vertical Sync (1=V-Blank) |

CRITICAL: ES-1841 BIOS hangs if V-Blank (bit 3) doesn't toggle correctly!

V-Blank Timing

V-Blank Start = R6 × (R9 + 1)
V-Blank End   = (R4 + 1) × (R9 + 1)

Status must update on every read.

Mode Control (3D8h)

| Bit | Function | | --- | -------------------------- | | 0 | 80-column (1) / 40-col (0) | | 1 | Graphics (1) / Text (0) | | 3 | Video enable | | 4 | Hi-res 640×200 | | 5 | Blink enable |

References