MC6845 CRT controller pinout

DIP-40. Makes sync, display enable, cursor and the video RAM refresh addresses.

Counts characters and scan lines from a character clock and gives the video RAM address (MA0 to MA13), the scan line in the row (RA0 to RA4), HS, VS, display enable and cursor. Registers are written through an index at $3B4 and data at $3B5 on the MDA, and $3D4 and $3D5 on the CGA and PCjr. On the IBM cards the character clock comes from the card dot counter; HS runs at about 18 kHz on the MDA and 15.7 kHz on the CGA. HS is undefined until register R2 is programmed, so a dead or unprogrammed 6845 gives no sync. Not pin-identical to the 6545.

Open the interactive 6845 pinout

Pins

PinNameTypeSignal
1GNDgroundGround (VSS).
2/RESETctrlReset, active LOW, with LPSTB LOW (RESET LOW with LPSTB HIGH selects test mode). Clears the counters, stops the display and drives the outputs LOW; HS is not defined until R2 is programmed. The control registers keep their values. Hold it LOW for at least one character clock.
3LPSTBvideoLight pen strobe. A rising edge latches the current refresh address into the light pen register.
4MA0addrRefresh memory address 0. Scans the video RAM and keeps running in retrace.
5MA1addrRefresh memory address 1. Scans the video RAM and keeps running in retrace.
6MA2addrRefresh memory address 2. Scans the video RAM and keeps running in retrace.
7MA3addrRefresh memory address 3. Scans the video RAM and keeps running in retrace.
8MA4addrRefresh memory address 4. Scans the video RAM and keeps running in retrace.
9MA5addrRefresh memory address 5. Scans the video RAM and keeps running in retrace.
10MA6addrRefresh memory address 6. Scans the video RAM and keeps running in retrace.
11MA7addrRefresh memory address 7. Scans the video RAM and keeps running in retrace.
12MA8addrRefresh memory address 8. Scans the video RAM and keeps running in retrace.
13MA9addrRefresh memory address 9. Scans the video RAM and keeps running in retrace.
14MA10addrRefresh memory address 10. Scans the video RAM and keeps running in retrace.
15MA11addrRefresh memory address 11. Scans the video RAM and keeps running in retrace.
16MA12addrRefresh memory address 12. Scans the video RAM and keeps running in retrace.
17MA13addrRefresh memory address 13. Scans the video RAM and keeps running in retrace.
18DEvideoDisplay enable, active HIGH, during the visible area.
19CURSORvideoCursor, active HIGH, at the programmed cursor address.
20VCCpower+5 V supply, 5 percent.
21CLKclockCharacter clock input. Active edge HIGH to LOW.
22R/WctrlRead (HIGH) or write (LOW) of the register file.
23EctrlEnable. Clocks data in and out of the data bus; active edge HIGH to LOW.
24RSctrlRegister select. LOW: the index (address) register. HIGH: the register it points to.
25/CSctrlChip select, active LOW.
26D7dataData bus bit 7.
27D6dataData bus bit 6.
28D5dataData bus bit 5.
29D4dataData bus bit 4.
30D3dataData bus bit 3.
31D2dataData bus bit 2.
32D1dataData bus bit 1.
33D0dataData bus bit 0.
34RA4addrRow address 4: the scan line within the character row, to the character generator.
35RA3addrRow address 3.
36RA2addrRow address 2.
37RA1addrRow address 1.
38RA0addrRow address 0.
39HSvideoHorizontal sync, active HIGH, TTL.
40VSvideoVertical sync, active HIGH, TTL.

Fitted in

Sources