Arduino MEGA compatible video card?

Time for random ideas! Since MEGA has external SRAM bus, can someone make a video card that connects to this bus and shadows its VRAM to the MEGA SRAM address? That'd be very retro and rad! You can just write to your memory when you want to render characters, graphs, sprites etc. IBM compatible has that feature for text and a few graphic modes 320200256 and 64048016 modes (starting at what address? I forgot). That was the main reason most pre-windows PC games used the ugly 320200 mode while the right aspect ratio should be 320240.

If someone can do this, say have 512K VRAM that is accessible by MEGA and pages switchable with 3 digital pins, then we can just do byte * v_ram=0x1f40; //8KRAM upper limit
Then we write to it with paging. A 320240 mode in 256 colors only needs 2 pages, mono mode can go up to 640480 without paging.

Any takers? This is beyond my capabilities.

I love the idea of having some dual-ported RAM for a screen, as you say, very retro.

One major advantage to this is the fact that you can swap pages in an instant, that means not having to watch the crappy redraws as that's done on another page then swapped in. (assuming of course that the subsequent display of that RAM is fast)

Unfortunately I don't have the time to design a board for the Mega, I am however tinkering with a Due-style board that will have external memory, I may look at allowing for such things.


Rob

bubble burst, its a 8 bit system and unless you implement your own bank switching system its limited to 64k

yea thats a ton more than you can do on board, but its not a half meg VGA card, and you can already squish out 240x128 mono signal using the onboard ram and TV out (could do more and leave squat room but there is something in tv out that limits that, and I havent had time to putz with it)

Bank/page switching is not too hard. You just need 3 extra digital pins. The Rugged Circuits QuadRAM is such an example. In the old days, 512KB VRAM is pretty awful lot considering lots of old monitors could only go up to 640480, some to 800600, but few capable of 1024*768. If you are smart enough, you keep what's changing most often on one bank and you don't have to switch very often. Just don't put text across bank boundaries.