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 pinoutPins
| Pin | Name | Type | Signal |
|---|---|---|---|
| 1 | GND | ground | Ground (VSS). |
| 2 | /RESET | ctrl | Reset, 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. |
| 3 | LPSTB | video | Light pen strobe. A rising edge latches the current refresh address into the light pen register. |
| 4 | MA0 | addr | Refresh memory address 0. Scans the video RAM and keeps running in retrace. |
| 5 | MA1 | addr | Refresh memory address 1. Scans the video RAM and keeps running in retrace. |
| 6 | MA2 | addr | Refresh memory address 2. Scans the video RAM and keeps running in retrace. |
| 7 | MA3 | addr | Refresh memory address 3. Scans the video RAM and keeps running in retrace. |
| 8 | MA4 | addr | Refresh memory address 4. Scans the video RAM and keeps running in retrace. |
| 9 | MA5 | addr | Refresh memory address 5. Scans the video RAM and keeps running in retrace. |
| 10 | MA6 | addr | Refresh memory address 6. Scans the video RAM and keeps running in retrace. |
| 11 | MA7 | addr | Refresh memory address 7. Scans the video RAM and keeps running in retrace. |
| 12 | MA8 | addr | Refresh memory address 8. Scans the video RAM and keeps running in retrace. |
| 13 | MA9 | addr | Refresh memory address 9. Scans the video RAM and keeps running in retrace. |
| 14 | MA10 | addr | Refresh memory address 10. Scans the video RAM and keeps running in retrace. |
| 15 | MA11 | addr | Refresh memory address 11. Scans the video RAM and keeps running in retrace. |
| 16 | MA12 | addr | Refresh memory address 12. Scans the video RAM and keeps running in retrace. |
| 17 | MA13 | addr | Refresh memory address 13. Scans the video RAM and keeps running in retrace. |
| 18 | DE | video | Display enable, active HIGH, during the visible area. |
| 19 | CURSOR | video | Cursor, active HIGH, at the programmed cursor address. |
| 20 | VCC | power | +5 V supply, 5 percent. |
| 21 | CLK | clock | Character clock input. Active edge HIGH to LOW. |
| 22 | R/W | ctrl | Read (HIGH) or write (LOW) of the register file. |
| 23 | E | ctrl | Enable. Clocks data in and out of the data bus; active edge HIGH to LOW. |
| 24 | RS | ctrl | Register select. LOW: the index (address) register. HIGH: the register it points to. |
| 25 | /CS | ctrl | Chip select, active LOW. |
| 26 | D7 | data | Data bus bit 7. |
| 27 | D6 | data | Data bus bit 6. |
| 28 | D5 | data | Data bus bit 5. |
| 29 | D4 | data | Data bus bit 4. |
| 30 | D3 | data | Data bus bit 3. |
| 31 | D2 | data | Data bus bit 2. |
| 32 | D1 | data | Data bus bit 1. |
| 33 | D0 | data | Data bus bit 0. |
| 34 | RA4 | addr | Row address 4: the scan line within the character row, to the character generator. |
| 35 | RA3 | addr | Row address 3. |
| 36 | RA2 | addr | Row address 2. |
| 37 | RA1 | addr | Row address 1. |
| 38 | RA0 | addr | Row address 0. |
| 39 | HS | video | Horizontal sync, active HIGH, TTL. |
| 40 | VS | video | Vertical sync, active HIGH, TTL. |
Fitted in
- IBM PC 5150 MDA/CGA card (not the planar)
- IBM XT 5160
- IBM Portable 5155
- IBM PCjr 4860 ZM21
- Amstrad CPC 464 IC108 (HD6845SP)
- Amstrad CPC 664 IC108 (HD6845SP)
- Amstrad CPC 6128 IC108 (HD6845SP)
- BBC Micro Model B IC2
- BBC Master 128 IC22