Skip to content
Back to skills

Crtc Expert

ASecurity

Expert on MC6845 CRTC for ES-1841 video timing. Provides guidance on video timing, cursor control, display addressing, V-Blank detection, and CGA register programming.

  • 666 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added February 8, 2026
documentationdocumentation

Works with

  • cursor

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill crtc-expert --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Crtc Expert?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Crtc Expert
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-crtc-expert/badge)](https://www.skillsdirectory.com/skills/majiayu000-crtc-expert)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: crtc-expert
description: Expert on MC6845 CRTC for ES-1841 video timing. Provides guidance on video timing, cursor control, display addressing, V-Blank detection, and CGA register programming.
---

# 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

```text
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

- [references/implementation-guide.md](references/implementation-guide.md) - Complete CRTC/CGA implementation guide with code examples
- See [references/](references/) for detailed hardware documentation

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.