This is an old revision of the document!


/* Imported from Wayback Machine

 Original URL : https://www.retrobrewcomputers.org/doku.php?id=builderpages:plasmo:piggybackvga
 Snapshot date: 2023-05-10
 Generator    : wayback-archiver

*/

VGA Piggybacked on RAM, An Experimental Prototype

Introduction

The design of a simple VGA using dual port RAM and CPLD was discussed here. Posts after May 25, 2021 described an experimental prototype where the dual port RAM, CPLD, and oscillator are glued on top of a 128KB RAM such that the content of a portion of the RAM is displayed as 64-column X 48-line text. This page describes the detailed design of this experimental prototype. A pc board version of the piggybacked VGA prototype is here.

www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_piggybackvga_vga_piggyback_on_ram.jpg

Features

Add VGA function to existing system RAM

128KB RAM

4K dual port RAM

64-macrocell CPLD, EPM7064SLC44

Each character is 8×8 pixels

25.175MHz oscillator

HD15 VGA connector

www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_piggybackvga_dsc_65750528.jpg

Theory of Operation

The VGA circuit consists of a 4KB dual port RAM, CPLD, and 25.175MHz oscillator. One side of the dual port RAM snoops a 4KB space of the system RAM such that every write to the 4KB space modifies both system RAM as well as the dual port RAM while a read only return the content of the system RAM. The other side of the dual port RAM is controlled by the CPLD state machine where the first 3KB contains the text memory and are read sequentially and continuously into CPLD. The text value is used to look up corresponding entry in the font table located at the top 1KB of the dual port RAM. The bit patterns from the font table is loaded into a shift register and output to RGB outputs at 25.175MHz pixel rate.

Design Files

Schematic

CPLD design files

Schematic of the CPLD design

test file to be loaded into 0xA000-0xAFFF and generates the text screen of above picture

Prototype assembly blog

builderpages/plasmo/piggybackvga.1683733823.txt.gz · Last modified: (external edit)
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0