Thursday, March 31, 2005

 

Create Console

A simple Console program to display some information about the video (LCD)

// TestVideoConsole.hcl

#define PAL_TARGET_CLOCK_RATE 25175000
#include "pal_master.hch"
#include "pal_console.hch"
#include "stdlib.hch"

// Declaration
static macro expr ClockRate = PAL_ACTUAL_CLOCK_RATE;
static macro proc MyConsole(ConsolePtr);


// Main program

void main (void)
{
PalConsole *ConsolePtr;
macro expr VideoOut = PalVideoOutOptimalCT (ClockRate);

// Check we've got everything we need
PalVersionRequire (1, 0);
PalVideoOutRequire (1);

//
par
{
PalConsoleRun (&ConsolePtr, PAL_CONSOLE_FONT_ADVENTURE,
VideoOut, ClockRate);

seq
{
PalVideoOutEnable (VideoOut);
PalConsoleEnable (ConsolePtr);
MyConsole (ConsolePtr);
}
}
}

static macro proc MyConsole(ConsolePtr)
{
macro expr VideoOut = PalVideoOutOptimalCT (ClockRate);
macro expr endl = '\n';
static unsigned int 32 unInt;
static ram unsigned char string[80] = "\n\nShaohen's Celoxica Console\n"
"======================================\n\n";
static ram unsigned char visibleXctStr[13] = "Visible Xct: ";
static ram unsigned char visibleYctStr[13] = "Visible Yct: ";
static ram unsigned char visibleXWidth[18] = "Visible X Width : ";
static ram unsigned char visibleYWidth[18] = "Visible Y Width : ";



// Clear the screen
PalConsoleClear (ConsolePtr);

// Print the string
PalConsolePutString (ConsolePtr, string);

// Visible pixels per scan line at compile time
PalConsolePutString(ConsolePtr, visibleXctStr);
//unInt = adju(PalVideoOutGetVisibleX(VideoOut, ClockRate), 32);
unInt = PalVideoOutGetVisibleXCT(VideoOut, ClockRate);
PalConsolePutUInt(ConsolePtr, unInt);
PalConsolePutChar(ConsolePtr, endl);

// Number of visible scan lines, determined at compile time
PalConsolePutString(ConsolePtr, visibleYctStr);
unInt = PalVideoOutGetVisibleYCT(VideoOut);
PalConsolePutUInt(ConsolePtr, unInt);
PalConsolePutChar(ConsolePtr, endl);

// Number of vixible pixels per scan line, determined at run time


// width needed for a variable that holds the X coordinate of a visible pixel
PalConsolePutString(ConsolePtr, visibleXWidth );
unInt = PalVideoOutGetXWidth(VideoOut);
PalConsolePutUInt(ConsolePtr, unInt);
PalConsolePutChar(ConsolePtr, endl);
}

Comments: Post a Comment

<< Home

This page is powered by Blogger. Isn't yours?