Close

Problems

A project log for XORYA - extremely low cost game console on PIC32

XORYA game console is just one chip PIC32MX170F256B (32-bit MIPS core, 256K flash, 64K data mem) in DIP28 package and a few other components

SHAOSSHAOS 05/15/2015 at 03:181 Comment

For now I have 3 problems:

1) When I switched from 32-bit DMA-to-SPI to 8-bit (to have video memory ordered similar to CGA) I got gap after 1st byte if transfer is happened on every 2nd peripheral clock (or 14 MHz), so before (with 32-bit transfers) I had bytes displayed in this order:

32107654BA98FEDC...
After switch to 8-bit DMA-to-SPI I expected to get this:
0123456789ABCDEF...
But instead I got this (with a gap between byte 0 and byte 1):
0 123456789ABCDEF...
I fixed this by shifting visible part 1-byte to the right (anyway I already had this invisible left part of the screen for "color burst" and rest of the "back porch") - any ideas how to setup DMA and SPI on PIC32 chip to eliminate this gap?...

2) Colors are stable on LCD and LED TVs (I tested it on SONY, LG and Sumsung), but it doesn't work properly on CRT TV (I tested "Last CRT TV" SONY produced in 2005) - instead of solid colors I got red and green spots over black and white pixels - may be crystal is not precise enough to work with CRT and I need to put adjustable capacitor somewhere sequentially?...

UPDATE: After switching to more precise crystal (14.31818 MHz) I got color on SONY TV as well...

3) Single color pixel (pattern that consists of 4 black-and-white pixels) not always may produce color (or at least expected color) and 2 different color pixels sitting together may eliminate each other completely, so it is a little tricky to convert arbitrary RGB image to these 15 colors with dithering, so may be I need to write a special software that can do such conversion considering a number of rules of composite colors combinations or may be somebody may advice me to get some existing one?...

Discussions

SHAOS wrote 05/15/2015 at 13:49 point

Correction to 1) 14.31818 MHz is pixel clock frequency (SPI outgoing rate) so DMA is working with speed 14.31818 / 8 =  1.7897725 MHz that still should be in supported range...

Also about 3) Ability of single 4-bit pixel to generate color is much better than I expected ;)

  Are you sure? yes | no