**EDIT:** Clarify scope of question.

I am planning to create a homemade Z80 computer.
One thing I have been disappointed with about other designs is the lack of color graphic output, they all had text mode or rarely monochrome graphic output.

My idea is to create a 32 Color QQVGA (160x120) or 16 Color QVGA (320x240) GPU of sorts, using MCUs such as ATMEL or Microchip offers in the ATMega and PIC lineups. It should be able to output over either Composite or VGA.

The main issue is getting useful data from the Z80 to this homemade GPU. How would I send sprite data, color selection, and screen position so that this GPU wouldn't use too much address space.

The color palettes that I am aiming to implement are the [DB16/DB32 palettes](https://github.com/geoffb/dawnbringer-palettes).

*Old post in spoiler below.*

> 
> I am looking to design a video processor for a homebrew z80 computer design. I am planning to output in VGA using an Atmel ATMega 328. My concern is how to implement a graphical mode. I have 13 available registers to work with (Other three for text only output). How can I do 16/32 color sprites at VGA and half VGA resolutions? Any implementation ideas would be great.
> 
> 
>