"hobby electronics made professionally"

*** Project VGA51 ***

1. Introduction (below)
2. Requirements
3. Specification
4. Design 
5. Build & debug
6. Final version

* Check out VGA51 dedicated user Forum.

1. Introduction

Call me nerd when I propose to homebrew fully functional graphics adapter. But seriously, is it that radical idea? Well, I have to admit since the very first moment I had a chance to put my eyes on first 8-bit home computer which was of ZX Spectrum, I was drawn into this magic world of information being displayed on color monitor in front of me, this changed me forever. 

Interestingly when I recently watched movie about Steve Jobs, I noticed there one particular scene when Steve freezes in front of the Wozniak homebrew computer - later called Apple I - connected to monitor screen. Jobs can't take his eyes of it as millions of thoughts and ideas goes trough his head as I can imagine which film director perfectly captured in this very scene. 
This is how I felt when I saw computer screen first time in my life, which was in early 80's. 

At that very moment I wasn't really drawn by some cool and game running at connected computer machine. Instead looked deeper in between the letter and pixels trying to understand "how this is all done".

The nerd was born.

I could not stop thinking about what I saw at that time and the only way to find out was to get one of those computers and then... take it apart and find out. What a corky idea in the time when small 8-bit machine might have cost more than a monthly income of my entire household. Yes, some of them were expensive where I come from. 

Anyhow, fast forwarding 10 yrs later during which my electronics and computer hobby expanded, the sweet times during which I successfully built my first digital alarm clock (based on chip MC1201), later many other clocks, sound generators and LED controllers turning my room into a carnival.

But somewhere in between laid this desired to be able to control the screen and generate picture of my choice using my parents TV set. Just like microcomputers did at that time.  

The PC adventure.

The arrival of PC machines in mid 80's with standardized architecture including graphic adapters about which I learned a lot studying its architecture starting from chip specs through pcb hardware ending on system configuration and detailed BIOS study only increased my appetite to build homebrew graphics adapter from scratch. At that time I designed and brought up multiple PC ISA based cards including couple of flavors of universal I/O cards:

* 8255 based I/O Expansion ISA card

* Egzotic Sames SA9203 chip based I/O expansion card

* 8-bit AD/DA Audio ISA card

Below is early card PCB design (real photo coming soon after I locate the sample board I manufactured)

* Full 16-bit ISA Extender card

Learning to become professional.

During college years in late 80's and early 90's the idea of building graphic adapter that would be the base for my own design of homebrewed computer gave up fast tracking to software world when by writing multiple applications in C, Pascal as well as database systems like dBase I was trying to get through college years making some money out of it.

I was still staying on the top of the hardware tracking evolution of the PC architecture observing the trend where hardware got more complicated (PCI introduction for example) that home brewing peripherals for PCI equipped PC was not as easy as it used to be for ISA including its 16-bit expansion. It required using 3rd party tools (something I was always trying to avoid except purely design tools) like WinDriver - an early version of Jungo tool which was to handle Win95 based applications allowing to easily implement PCI based cards in any PC system at that time. but it was costly (around $3,500 for standard package called "for Windows" capable to handle just ISA based peripherial cards). At that time I was running interesting  project which involved hacking into existing game software while it was running on Windows via DMA, identify monitor and modify its variables and then use them to interface the application with 3rd party external peripheials like coin acceptor, hopper and ticket printer. All peripherals were talking to PC running said app via printer port using bidirectional mode. All was running great and project was the success.  

In the meantime my homebrew VGA adapter project was again going "away". But I always was coming back to my own purpose of creating one, which was to use it in my own computer architecture. 

First job. 

College years went quick and I got my first job where I designed and put into production a self-contained standalone sound&voice synthesis module  (based on famous at that time ISD chips) which was later used illuminated signs in many applications. For next several years I got completely drawn into 8051 world where I succesfully created, published and sold multiple applications based mostly on Atmel derivatives from AT89C family. My designs included not only practical applications like small home appliance controllers but also complete set of development tools for MCS51 family including:

In circuit 87C51/52 Emulator

with accompanying PC software:

MCS-51 family EPROM/EEPROM/Flash programmer

with accompanying PC software:

In curcit EEPROM/SRAM emulator

With all that came software I developed including completely developed from scratch my own "MCS-51 family Assembler". Which I used for many years forward before I switched to C-based compiler from Keil. 

MCS-51 family Assembler was batch application:

Next 10 years I spent making intensive and profitable career as designer of casino style gaming machines (reel slots and then video game slots) where I learned a lot about peripherals with 3rd party graphic adapters being utilized in designs. My own dream secret project was on the shelf again. 

Why still bother brewing VGA?

OK, fast forwarding to this day. Here I am sitting at my design desk and still desiring harness the almighty visual interface deep to its core being able to display "whatever I want" pixel by pixel or letter by letter. 

It started from idea of building graphics adapter for multiple microcontroller based SBC's I designed and made through the years. Starting from designing from scratch and building in 1992 Dinosonic 8-bit "Utility computer",

through my "Educational MCS51 computer” I designed and published in series of articles printed in one of the popular European version of popular electronics magazine "Electronics for Everyone" ("Elektronika dla Wszystkich"). 

Or with another among several "8051-compatible" assembler equipped homebrew computer/controller which I designed, built and used a lot as “workhorse” in bringing up and debugging many commercially designed embedded applications from which some are still present and sold in the market.    

[the continuation for this page section is being developed]