Editor Version ×
Standard

1.Easy to use and quick to get started

2.The process supports design scales of 300 devices or 1000 pads

3.Supports simple circuit simulation

4.For students, teachers, creators

Profession

1.Brand new interactions and interfaces

2.Smooth support for design sizes of over 30,000 devices or 100,000 pads

3.More rigorous design constraints, more standardized processes

4.For enterprises, more professional users

Std edition 8Bit Video Card

Profile:8 bit video card designed for my Z80 homebrew system. Experiment in both video signal generation and as an introduction to using GALs.

License: GPL 3.0

Published Time: 2022-03-20 06:18:23
  • 3.5k
  • 2
  • 8
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.

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

Unfold

Project Attachments
Empty
Project Members
Add to album ×

Loading...

reminder ×

Do you need to add this project to the album?

服务时间

周一至周五 9:00~18:00
  • 0755 - 2382 4495
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 立创EDA微信号

    easyeda

  • QQ交流群

    664186054

  • 立创EDA公众号

    lceda-cn