I've been playing around with my StartKit off and on for about a year now. One of the projects I've been hacking together is a "retro" analog video console, just for fun. What that is supposed to mean is, something like a small "home computer" or "game console", with analog (standard definition) video output. I grew up around the end of the 8-bit home computer era so I have a fondness for that kind of "retro" eyecandy. Of course this is running on a modern 32-bit multi-core microcontroller, but I don't have the time or patience to wire hundreds of TTL ICs together. :)
So far I have my StartKit generating 24-bit RGB pixel data in realtime, using a scanline-based rendering approach (no framebuffer). This is fed into a RGB DAC on a separate board I made, along with an AD724 video encoder for TV output. There are connections for VGA, S-Video, and Composite Out that I desoldered from some old VGA cards. :)
So far I have a variety of cool stuff going on: 320x240 resolution (to be increased), render-list based OO drawing framework in C++, PS/2 mouse and keyboard support (with hot plug and device auto-detection!). Sprites. Alpha blending. Bitmap text. Anti-aliased circles. Right now I have one thread running general I/O, one thread pumping pixels out to the DAC, and two threads rendering the next two scanlines in parallel. I plan to build an "upgraded" I/O board in the near future with a 256 mbit DRAM and a stereo audio DAC.
It's a "spare time" project that I cooked up mainly just to play around and get intimately familiar with the xCore platform. So far I love it. This project uses xC for most of the I/O, parallelism, and inter-thread communication, C++ for most of the "user space" stuff, and plain-old-C interfaces for calling between. It doesn't do anything "useful" yet, but you can type on the screen and look at some pretty sprites and other graphics. I have a gut feeling that the chip (XS-2 anyway) is more than capable of emulating a variety of real 8-bit CPUs and peripheral hardware, so it should be possible to create a cycle-accurate implementation of a complete home computer/console, like a NES. I'll probably take a stab at something like that down the road.
I've released all the code under the GPL on Bitbucket and posted the project on Hackaday.io. Right now it runs on the StartKit and fits in about 40k of RAM. I just received my xCORE-200 eXplorerKIT so at some point I'll migrate over to that when I need the extra memory or performance.
Anyway, just wanted to let everyone know. If you're interested, I'd love to have you follow the project on Hackaday.io. Feedback or contributions are welcome! If anyone has questions about the project, I'll be glad to answer them here.
Cheers!
-Kevin H. Patterson