Thanks!
It was fun to push that chip beyond the fabric of reality.
Used every byte of SRAM, overclocked 160%, all interrupts used, and even tricked one of the IO pins.
The XMega was actually fun as well, with amazing overclocking ability up to 70MHz.
I actually found that an overclocked XMega would easily outperform LPC-ARM for IO speed.
But so far, no other project generates the excitement that this one has.
Seeing the monitor lock on to a perfect 800x600 screen and display video from a mess of logic chips on a breadboard is amazing!
I must have done 10 revisions (from scratch) to finally get it perfect, but it has been fun.
You would think that just getting 120,000 pixels out to a screen at 60 frames per second would be challenging, but the most difficult part has been the first and last pixel. In order to have the first and last pixel the same width as other pixels, all signals must converge precisely at the same time - h-blank, v-blank, addressing, data output, and horizontal sync. Fall off by even 2ns, and you get horrible banding and pixel clock issues on an LCD.
When I redid the design the last time, I added 74HC574 registers every 36ns or so on all video signals, syncing them with the clock.
I learned this while doing FPGA projects to make video... clock buffers and added register levels!
Making a game system is fun hobby - It's like watching TV, but instead the viewer does the programming!
Brad
cbscpe wrote:
Ahh, your favorite is really nice, I like it.