License

GPL 3.0

Recommend Projects

8Bit Video Card

1 year ago 716
  • Description
  • Documents
  • BOM
  • Attachments
  • Members
  • Comments

Description

NOTE: EasyEDA shows the most recent WIP for this project, which might be part way through me making changes. Before using the PCB layout please do get in touch (comment or message) so I can let you know if what you're seeing is stable! I create labelled versions of the project, but EasyEDA doesn't allow me to publish a specific version :-(

GAL code is available on GitHub.

IMG_20210116_220717090.jpg

An 8 Bit memory mapped, character based monochrome video card. Similar to many 70's and early 80's computers like the Commodore Pet, Sharp MZ80K and TRS80. Main features are:

  • 640x480 display
  • 80 characters per row
  • 30 rows
  • 8x16 pixels per character
  • Software defined character set.

I've discovered and used GALs rather extensively to do most of the decoding.

The board is designed to provide video output for my Z80 SBC design. As such it makes use of the 4MB address space provided by that card. The video memory maps into the top 16K page. 0-4K of that page is the character generator (256 characters, 16 bytes each) and 8K-12K is the video memory, of which the first 2,400 bytes are displayed (80x30 characters).

To make my life easier for my first foray into video cards I've used dual port memory. This is relatively expensive and low capacity but trying to get my head around bus arbitration logic while trying to understand how to generate a VGA signals and learn to use GALS was more than I wanted to deal with at the time.

I've used a 74597 shift register to generate the bit stream. This has the benefit of having a parallel latch independent of the shift register which would make bus arbitration much simpler. That's for a next version if I decide to tackle the more complex memory interface.

I/O port

I've also included an 8 bit output and 8 bit input port on this card because I didn't have room on the CPU card for this. The port is there primarily in my mind to let be add a simple game keypad.

Documents

Dual Port Memory

Connectors

Video PCB

Parallel I/O

Address Counter

Control Signal Counter

Signal Output

BOM

ID Name Designator Footprint Quantity
1 DB15 U14 DB15 1
2 IDT7134 U1,U2 DIP48-600 2
3 74ACT541PC U17 DIP20 1
4 Resistor SIL 4K7x8 RP4 SIL-9 1
5 Header-Female-2.54_2x30 P2 HDR-30X2/2.54 1
6 ATF16V8B-15PC U6,U16 DIP20 2
7 ATF22V10 U5,U4,U7,U3 DIP-24_L30.5-W10.2-P2.54-LS7.62-BL 4
8 74ACT541 U18 DIP20 1
9 74HCT573N U12,U11,U15 DIP20 3
10 HDR-F-2.54_2x10 H1 HDR-F-2.54_2X10 1
11 Male Header 2.54mm PWR1 2.54MM_HDR_2PIN 1
12 74597 U13 DIP16 1
13 270R R3,R1,R2 R_AXIAL-0.4 3
14 62R R5,R4 R_AXIAL-0.4 2
15 100R R6,R7,R8 R_AXIAL-0.4 3
16 74LS161N U10,U8,U9 DIP16 3
17 100nf C13,C10,C9,C8,C7,C6,C14,C4,C3,C2,C1,C11,C12,C5 RAD-0.1 14
18 Oscillator 8/14 Pin Layout OSC1 DIP14 - OSCILLATOR 1

Attachments

None

Members

Success
The owner does not allow comments in this project now

Comments (0)

goToTop
svg-battery svg-battery-wifi svg-books svg-more svg-paste svg-pencil svg-plant svg-ruler svg-share svg-user svg-logo-cn svg-double-arrow