-
Problems
05/15/2015 at 03:18 • 1 commentFor 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?... -
Fast into Mandelbrot Set in Real-Time
05/13/2015 at 06:02 • 0 commentsFaster version with 32-bit fixed point math (at some point it's INCREDIBLY fast) on the same PIC32 running on 57 MHz CPU freq, but obviously less precise - error level doesn't allow to travel deep into the Set and it goes off the track too soon:
The same source code: https://gitlab.com/shaos/xorlib/blob/master/examples/mandelbr.c
But with FIXED32 macro instead of FIXED64 and "fake wide-screen" ratio 16:9 (with the same resolution 160x200)...
-
Deep into Mandelbrot Set in Real-Time
05/06/2015 at 22:47 • 0 comments64-bit fixed point on 57 MHz PIC32 with 16 colors in effective resolution 160x100 on NTSC TV:
Source code: https://gitlab.com/shaos/xorlib/blob/master/examples/mandelbr.c
-
Mandelbrot Set on XORYA
05/04/2015 at 12:19 • 0 commentsIt's slow, but it's working (long doubles were used for precision):
https://gitlab.com/shaos/xorlib/blob/master/examples/mandelbr.c
-
XORYA colors in Hue order
05/04/2015 at 02:08 • 0 commentsRemoved one more resistor - now colors are bright and solid:
This is walk through all colors in Hue order (except for grays) with intermediate dithered colors (27 colors total):
The same thing on DOSBox +60 degrees CGA simulation ( XORLib has port to PC with CGA ) :
This is preparation for Mandelbrot Set viewer ;)
P.S. Source code of this program:
https://gitlab.com/shaos/xorlib/blob/master/examples/colorman.c
-
Showing old composite CGA graphics on NTSC TV
05/02/2015 at 00:05 • 0 commentsExamples of composite graphics of INDIANAPOLIS 500 game from http://nerdlypleasures.blogspot.com/2013/11/ibm-pc-color-composite-graphics.html
CGA version of image as showed by XORYA (palette 1):
Tandy version of image as showed by XORYA (palette 2): -
Comparison XORYA colors with composite CGA
05/01/2015 at 23:52 • 0 commentsComparison of 4 palettes of Xorya with CGA, Tandy and PCjr composite colors:
CGA colors were copied from here:
http://nerdlypleasures.blogspot.com/2013/11/ibm-pc-color-composite-graphics.html -
Rotating color bars
04/29/2015 at 02:31 • 0 comments1 degree per frame - 60 frames per second - it takes about half time of 1 frame to generate 1 frame - and during that circuit eats 40 mA:
BTW it's CGA composite colors (palette 1) - see
Source code of this example:
https://gitlab.com/shaos/xorlib/blob/master/examples/coloroto.c
-
Color signal requires precise frequency
04/29/2015 at 01:58 • 0 commentsAdding 14.31818 MHz crystal with 2 additional 33 pF capacitors will unlock color capabilities of XORYA and MIPS core in this case will run on 57.27272 MHz to be able to generate proper "color burst" signal:
-
Basic black and white circuit
04/29/2015 at 01:56 • 0 commentsBasic circuit to produce black and white NTSC signal could be assembled on the breadboard or soldered directly on top of rolled over DIP28 package ("dead bug" style) and it will run onboard MIPS core on 60 MHz:
Note that 6-pin header is required if you need to reprogram the chip in
the circuit by PICKit3 device - this is pinout for connector:- MCLR (pin 1)
- 3.3V (pin 13)
- GND (pin 8)
- PGED1 (pin 4)
- PGEC1 (pin 5)
- Not connected