OpenCores
URL https://opencores.org/ocsvn/opb_vga_char_display_nodac/opb_vga_char_display_nodac/trunk

Subversion Repositories opb_vga_char_display_nodac

[/] [opb_vga_char_display_nodac/] [trunk/] [microblaze_functions.txt] - Rev 4

Compare with Previous | Blame | View Log

 #define VGA_LINES_PER_ROW 75
 unsigned char vga_current_line = 0;
 unsigned char vga_current_row = 0;
 unsigned char VGAcolor;

 PutVGAChar(unsigned char CH, char color)
 {
        VGAcolor = color;
        WriteVGAData(CH);
 }
 
 WriteVGAData(Data)
 {
        Xuint32 VGAAddress;
        
        VGAAddress = (((vga_current_row * VGA_LINES_PER_ROW) + vga_current_line) << 18);        // Character location
        VGAAddress = VGAAddress + (VGAcolor << 14);             // 7 is the foreground color white
        VGAAddress = VGAAddress + (Data << 6);          // The character to write
        WriteREG (XPAR_S3E_VGA_CHAR_DEV_0_BASEADDR,USER,0x0,VGAAddress);        
        
        vga_current_line = vga_current_line + 1;
        if (vga_current_line > VGA_LINES_PER_ROW) {
                vga_current_line = 0;
                vga_current_row = vga_current_row + 1;
        }
 }

 WriteVGAString(char*STR, char color)
 {
        int i=0;
        Xuint32 VGAAddress;
                
        while (STR[i]!='\0')
        {
                VGAcolor = color;
                WriteVGAData(STR[i]);
                i++;
        }
        VGAcolor = color;
        WriteVGAData(0x20);
 }

 //----------------------------------------------------------------------------------
 //
 // Colors are controlled through the lower four bits of the color parameter.
 // Bit zero (the LSB) controls the red portion of the color (on or off).
 // Bit one controls green, bit two controls blue.
 // Bit three, if set, inverts the character.
 //
 //----------------------------------------------------------------------------------

 // Example Call:
 vga_current_row = 0;
 vga_current_line = 0;
 WriteVGAString("Testing VGA Generator Core",0x7);      // White, noninverted

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.