Help with VGA output

I am working on an Arduino powered video card for a homebrew computer. I am having trouble finding a VGA library that suites my needs.

I am looking for something that has a frame buffer, that outputs in color (8-16 colors would be nice), but most importantly, IT CANNOT USE IO PORTS D AND C, because I am using them as interface pins to my computer.

I also want to use as minimal extra hardware as possible (no extra ICs). I can however use a faster crystal, because I am ripping the MCU off of the board and placing it in my own (mainly because I kind of damaged pin A0, causing the thing to get crazy hot, so I am putting a small heat sink and fan on it).

I am also looking for relatively simple functions, such as writePixel(x, Y, color) or loadBitmap(some bitmap thing). I want the library to be light weight, because I am planning on putting in some simple image processing, and maybe even 3D graphics (10 triangles/second :stuck_out_tongue: ). I would be very lucky if such a thing existed, and if one doesn't, can someone describe to me in detail on how to get the VGA timings correct in code, and how to generate the signal on only IO port B? And I mean VERY detailed, because so far I've seen some great dependency on assembly, which I know only a little about.

Any help is appreciated.

Moderator: first help is adding empty lines in your block text to improve readability

I am working on an Arduino powered video card for a homebrew computer. I am having trouble finding a VGA library that suites my needs.
I am looking for something that has a frame buffer, that outputs in color (8-16 colors would be nice), but most importantly, IT CANNOT USE IO PORTS D AND C, because I am using them as interface pins to my computer.
I also want to use as minimal extra hardware as possible (no extra ICs). I can however use a faster crystal, because I am ripping the MCU off of the board and placing it in my own (mainly because I kind of damaged pin A0, causing the thing to get crazy hot, so I am putting a small heat sink and fan on it).
I am also looking for relatively simple functions, such as writePixel(x, Y, color) or loadBitmap(some bitmap thing). I want the library to be light weight, because I am planning on putting in some simple image processing, and maybe even 3D graphics (10 triangles/second :stuck_out_tongue: ). I would be very lucky if such a thing existed, and if one doesn't, can someone describe to me in detail on how to get the VGA timings correct in code, and how to generate the signal on only IO port B? And I mean VERY detailed, because so far I've seen some great dependency on assembly, which I know only a little about.
Any help is appreciated.

robtillaart:
Moderator: first help is adding empty lines in your block text to improve readability

I am working on an Arduino powered video card for a homebrew computer. I am having trouble finding a VGA library that suites my needs.
I am looking for something that has a frame buffer, that outputs in color (8-16 colors would be nice), but most importantly, IT CANNOT USE IO PORTS D AND C, because I am using them as interface pins to my computer.
I also want to use as minimal extra hardware as possible (no extra ICs). I can however use a faster crystal, because I am ripping the MCU off of the board and placing it in my own (mainly because I kind of damaged pin A0, causing the thing to get crazy hot, so I am putting a small heat sink and fan on it).
I am also looking for relatively simple functions, such as writePixel(x, Y, color) or loadBitmap(some bitmap thing). I want the library to be light weight, because I am planning on putting in some simple image processing, and maybe even 3D graphics (10 triangles/second :stuck_out_tongue: ). I would be very lucky if such a thing existed, and if one doesn't, can someone describe to me in detail on how to get the VGA timings correct in code, and how to generate the signal on only IO port B? And I mean VERY detailed, because so far I've seen some great dependency on assembly, which I know only a little about.
Any help is appreciated.

Oops, sorry. I always forget to do that. I'll fix that now.