Chameleon-PIC Nurve Networks, Chameleon-PIC Datasheet - Page 176

MCU, MPU & DSP Development Tools PIC24 & PROPELLER DEV SYSTEM (SBC)

Chameleon-PIC

Manufacturer Part Number
Chameleon-PIC
Description
MCU, MPU & DSP Development Tools PIC24 & PROPELLER DEV SYSTEM (SBC)
Manufacturer
Nurve Networks
Datasheet

Specifications of Chameleon-PIC

Processor To Be Evaluated
PIC24
Data Bus Width
16 bit
Interface Type
USB, VGA, PS/2, I2C, ISP, SPI
Operating Supply Voltage
3.3 V, 5 V
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
Example(s): Print the string “Hello World!” to screen.
VGA_Term_Print(“Hello World!”);
_________________________________________________________________________________________________
Function Prototype:
Example(s):
int index;
for (index = 0; index < 8; index++)
_________________________________________________________________________________________________
22.0 GFX Library Module Primer
The basic premise of the Chameleon design is that it leverages drivers running on the Propeller chip to do all the media
and graphics. Thus, whatever features the particular driver running on the Propeller side does is the only features we can
access via the PIC side. That doesn’t mean we can’t abstract functionality and add higher level functions that build on the
sub-functions, however, this probably isn’t productive since you will want to change drivers, re-write the Propeller driver
and so forth. Thus, for the majority of the “media” drivers all the API functions do (including the GFX) is expose some of
the base functionality in nice function calls so you don’t have to send SPI messages yourself. In the case of the NTSC
driver (CHAM_DEFAULT2_DRV_112.SPIN), we are using the following Propeller Object for the NTSC tile engine and
text display:
CHAM_GFX_DRV_001_TB_001.spin – This is the enhanced NTSC only text/tile engine with support for terminal mode
Now, keep in mind the GFX library functions are only supported with the Default2 driver(s) and only work on the NTSC
screen. I wrote this driver myself to fit into a single Propeller core, but give you some decent control of the tile maps,
bitmaps, palettes, scrolling, and colors. The tile engine has two layers of functionality. The topmost layer is the “console”
or “terminal” layer which acts like a simple VT100 terminal, you print to it, it scrolls, you can clear the screen etc. This
functionality gives you the base abilities to write applications that only need basic text output. Moreover, we selected the
NTSC and VGA drivers in both the Default1 and Default2 example drivers to support exactly the same commands. So
applications written to drive the VGA terminal work exactly the same on Default1, Default2, or with a simple change of
function calls from “VGA” to “NTSC” they will work on the NTSC screen. That said, if you want to do “gaming” tile based
graphics, right now, as is, you have to use the Default2 driver CHAM_DEFAULT2_DRV_112.SPIN, and only the NTSC
screen output is supported.
But, again, the point is, you can change the Propeller driver and re-write it as you wish, we simply give you a starting point
to get going with. So, if you want to know what the driver supports, you can always peek into the driver itself
CHAM_GFX_DRV_001_TB_001.spin and see the messages that are getting passed to it, you always look into the
CHAM_DEFAULT2_DRV_112.SPIN driver itself.
{
VGA_Color( index );
VGA_Term_Char( ‘X’ );
} // end for index
int VGA_Color(int col);
Print the character ‘X’ in all colors.
Description:
col parameter should be from [0..7] and selects one of a number of different foreground background color
schemes for the characters printed. Returns 1.
VGA_Color(…) sets the color of the text and background (depending on driver). The
graphics with a tile resolution of 32x24. However, the tile engine has extra
features for more graphically oriented tile graphics and gaming applications.
© 2009 NURVE NETWORKS LLC “Exploring the Chameleon PIC 16-Bit”
176

Related parts for Chameleon-PIC