mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-20 22:21:41 +00:00
Merge branch 'master' of git://git.denx.de/u-boot-video
This commit is contained in:
commit
d35c451d6c
10 changed files with 195 additions and 85 deletions
|
@ -326,6 +326,35 @@ static void at91cap9_lcd_hw_init(void)
|
||||||
|
|
||||||
gd->fb_base = 0;
|
gd->fb_base = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_LCD_INFO
|
||||||
|
#include <nand.h>
|
||||||
|
#include <version.h>
|
||||||
|
|
||||||
|
void lcd_show_board_info(void)
|
||||||
|
{
|
||||||
|
ulong dram_size, nand_size;
|
||||||
|
int i;
|
||||||
|
char temp[32];
|
||||||
|
|
||||||
|
lcd_printf ("%s\n", U_BOOT_VERSION);
|
||||||
|
lcd_printf ("(C) 2008 ATMEL Corp\n");
|
||||||
|
lcd_printf ("at91support@atmel.com\n");
|
||||||
|
lcd_printf ("%s CPU at %s MHz\n",
|
||||||
|
AT91_CPU_NAME,
|
||||||
|
strmhz(temp, AT91_MAIN_CLOCK));
|
||||||
|
|
||||||
|
dram_size = 0;
|
||||||
|
for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++)
|
||||||
|
dram_size += gd->bd->bi_dram[i].size;
|
||||||
|
nand_size = 0;
|
||||||
|
for (i = 0; i < CONFIG_SYS_MAX_NAND_DEVICE; i++)
|
||||||
|
nand_size += nand_info[i].size;
|
||||||
|
lcd_printf (" %ld MB SDRAM, %ld MB NAND\n",
|
||||||
|
dram_size >> 20,
|
||||||
|
nand_size >> 20 );
|
||||||
|
}
|
||||||
|
#endif /* CONFIG_LCD_INFO */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int board_init(void)
|
int board_init(void)
|
||||||
|
|
|
@ -209,6 +209,35 @@ static void at91sam9261ek_lcd_hw_init(void)
|
||||||
|
|
||||||
gd->fb_base = AT91SAM9261_SRAM_BASE;
|
gd->fb_base = AT91SAM9261_SRAM_BASE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_LCD_INFO
|
||||||
|
#include <nand.h>
|
||||||
|
#include <version.h>
|
||||||
|
|
||||||
|
void lcd_show_board_info(void)
|
||||||
|
{
|
||||||
|
ulong dram_size, nand_size;
|
||||||
|
int i;
|
||||||
|
char temp[32];
|
||||||
|
|
||||||
|
lcd_printf ("%s\n", U_BOOT_VERSION);
|
||||||
|
lcd_printf ("(C) 2008 ATMEL Corp\n");
|
||||||
|
lcd_printf ("at91support@atmel.com\n");
|
||||||
|
lcd_printf ("%s CPU at %s MHz\n",
|
||||||
|
AT91_CPU_NAME,
|
||||||
|
strmhz(temp, AT91_MAIN_CLOCK));
|
||||||
|
|
||||||
|
dram_size = 0;
|
||||||
|
for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++)
|
||||||
|
dram_size += gd->bd->bi_dram[i].size;
|
||||||
|
nand_size = 0;
|
||||||
|
for (i = 0; i < CONFIG_SYS_MAX_NAND_DEVICE; i++)
|
||||||
|
nand_size += nand_info[i].size;
|
||||||
|
lcd_printf (" %ld MB SDRAM, %ld MB NAND\n",
|
||||||
|
dram_size >> 20,
|
||||||
|
nand_size >> 20 );
|
||||||
|
}
|
||||||
|
#endif /* CONFIG_LCD_INFO */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int board_init(void)
|
int board_init(void)
|
||||||
|
|
|
@ -260,6 +260,35 @@ static void at91sam9263ek_lcd_hw_init(void)
|
||||||
|
|
||||||
gd->fb_base = AT91SAM9263_SRAM0_BASE;
|
gd->fb_base = AT91SAM9263_SRAM0_BASE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_LCD_INFO
|
||||||
|
#include <nand.h>
|
||||||
|
#include <version.h>
|
||||||
|
|
||||||
|
void lcd_show_board_info(void)
|
||||||
|
{
|
||||||
|
ulong dram_size, nand_size;
|
||||||
|
int i;
|
||||||
|
char temp[32];
|
||||||
|
|
||||||
|
lcd_printf ("%s\n", U_BOOT_VERSION);
|
||||||
|
lcd_printf ("(C) 2008 ATMEL Corp\n");
|
||||||
|
lcd_printf ("at91support@atmel.com\n");
|
||||||
|
lcd_printf ("%s CPU at %s MHz\n",
|
||||||
|
AT91_CPU_NAME,
|
||||||
|
strmhz(temp, AT91_MAIN_CLOCK));
|
||||||
|
|
||||||
|
dram_size = 0;
|
||||||
|
for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++)
|
||||||
|
dram_size += gd->bd->bi_dram[i].size;
|
||||||
|
nand_size = 0;
|
||||||
|
for (i = 0; i < CONFIG_SYS_MAX_NAND_DEVICE; i++)
|
||||||
|
nand_size += nand_info[i].size;
|
||||||
|
lcd_printf (" %ld MB SDRAM, %ld MB NAND\n",
|
||||||
|
dram_size >> 20,
|
||||||
|
nand_size >> 20 );
|
||||||
|
}
|
||||||
|
#endif /* CONFIG_LCD_INFO */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int board_init(void)
|
int board_init(void)
|
||||||
|
|
|
@ -181,6 +181,35 @@ static void at91sam9rlek_lcd_hw_init(void)
|
||||||
|
|
||||||
gd->fb_base = 0;
|
gd->fb_base = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_LCD_INFO
|
||||||
|
#include <nand.h>
|
||||||
|
#include <version.h>
|
||||||
|
|
||||||
|
void lcd_show_board_info(void)
|
||||||
|
{
|
||||||
|
ulong dram_size, nand_size;
|
||||||
|
int i;
|
||||||
|
char temp[32];
|
||||||
|
|
||||||
|
lcd_printf ("%s\n", U_BOOT_VERSION);
|
||||||
|
lcd_printf ("(C) 2008 ATMEL Corp\n");
|
||||||
|
lcd_printf ("at91support@atmel.com\n");
|
||||||
|
lcd_printf ("%s CPU at %s MHz\n",
|
||||||
|
AT91_CPU_NAME,
|
||||||
|
strmhz(temp, AT91_MAIN_CLOCK));
|
||||||
|
|
||||||
|
dram_size = 0;
|
||||||
|
for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++)
|
||||||
|
dram_size += gd->bd->bi_dram[i].size;
|
||||||
|
nand_size = 0;
|
||||||
|
for (i = 0; i < CONFIG_SYS_MAX_NAND_DEVICE; i++)
|
||||||
|
nand_size += nand_info[i].size;
|
||||||
|
lcd_printf (" %ld MB SDRAM, %ld MB NAND\n",
|
||||||
|
dram_size >> 20,
|
||||||
|
nand_size >> 20 );
|
||||||
|
}
|
||||||
|
#endif /* CONFIG_LCD_INFO */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -759,6 +759,35 @@ static uchar *key_match (uchar *kbd_data)
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_PREBOOT */
|
#endif /* CONFIG_PREBOOT */
|
||||||
|
|
||||||
|
#ifdef CONFIG_LCD_INFO
|
||||||
|
#include <lcd.h>
|
||||||
|
#include <version.h>
|
||||||
|
|
||||||
|
void lcd_show_board_info(void)
|
||||||
|
{
|
||||||
|
char temp[32];
|
||||||
|
|
||||||
|
lcd_printf ("%s (%s - %s)\n", U_BOOT_VERSION, __DATE__, __TIME__);
|
||||||
|
lcd_printf ("(C) 2008 DENX Software Engineering GmbH\n");
|
||||||
|
lcd_printf (" Wolfgang DENK, wd@denx.de\n");
|
||||||
|
#ifdef CONFIG_LCD_INFO_BELOW_LOGO
|
||||||
|
lcd_printf ("MPC823 CPU at %s MHz\n",
|
||||||
|
strmhz(temp, gd->cpu_clk));
|
||||||
|
lcd_drawchars (LCD_INFO_X, LCD_INFO_Y + VIDEO_FONT_HEIGHT * 3,
|
||||||
|
info, strlen(info));
|
||||||
|
lcd_printf (" %ld MB RAM, %ld MB Flash\n",
|
||||||
|
gd->ram_size >> 20,
|
||||||
|
gd->bd->bi_flashsize >> 20 );
|
||||||
|
#else
|
||||||
|
/* leave one blank line */
|
||||||
|
lcd_printf ("\nMPC823 CPU at %s MHz, %ld MB RAM, %ld MB Flash\n",
|
||||||
|
strmhz(temp, gd->cpu_clk),
|
||||||
|
gd->ram_size >> 20,
|
||||||
|
gd->bd->bi_flashsize >> 20 );
|
||||||
|
#endif /* CONFIG_LCD_INFO_BELOW_LOGO */
|
||||||
|
}
|
||||||
|
#endif /* CONFIG_LCD_INFO */
|
||||||
|
|
||||||
/*---------------Board Special Commands: PIC read/write ---------------*/
|
/*---------------Board Special Commands: PIC read/write ---------------*/
|
||||||
|
|
||||||
#if defined(CONFIG_CMD_BSP)
|
#if defined(CONFIG_CMD_BSP)
|
||||||
|
|
|
@ -568,6 +568,32 @@ void ide_led (uchar led, uchar status)
|
||||||
}
|
}
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_LCD_INFO
|
||||||
|
#include <lcd.h>
|
||||||
|
|
||||||
|
void lcd_show_board_info(void)
|
||||||
|
{
|
||||||
|
lcd_printf ("%s (%s - %s)\n", U_BOOT_VERSION, __DATE__, __TIME__);
|
||||||
|
lcd_printf ("(C) 2008 DENX Software Engineering GmbH\n");
|
||||||
|
lcd_printf (" Wolfgang DENK, wd@denx.de\n");
|
||||||
|
#ifdef CONFIG_LCD_INFO_BELOW_LOGO
|
||||||
|
lcd_printf ("MPC823 CPU at %s MHz\n",
|
||||||
|
strmhz(temp, gd->cpu_clk));
|
||||||
|
lcd_drawchars (LCD_INFO_X, LCD_INFO_Y + VIDEO_FONT_HEIGHT * 3,
|
||||||
|
info, strlen(info));
|
||||||
|
lcd_printf (" %ld MB RAM, %ld MB Flash\n",
|
||||||
|
gd->ram_size >> 20,
|
||||||
|
gd->bd->bi_flashsize >> 20 );
|
||||||
|
#else
|
||||||
|
/* leave one blank line */
|
||||||
|
lcd_printf ("\nMPC823 CPU at %s MHz, %ld MB RAM, %ld MB Flash\n",
|
||||||
|
strmhz(temp, gd->cpu_clk),
|
||||||
|
gd->ram_size >> 20,
|
||||||
|
gd->bd->bi_flashsize >> 20 );
|
||||||
|
#endif /* CONFIG_LCD_INFO_BELOW_LOGO */
|
||||||
|
}
|
||||||
|
#endif /* CONFIG_LCD_INFO */
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
/* ---------------------------------------------------------------------------- */
|
||||||
/* TK885D specific initializaion */
|
/* TK885D specific initializaion */
|
||||||
/* ---------------------------------------------------------------------------- */
|
/* ---------------------------------------------------------------------------- */
|
||||||
|
|
100
common/lcd.c
100
common/lcd.c
|
@ -52,7 +52,6 @@
|
||||||
|
|
||||||
#if defined(CONFIG_ATMEL_LCD)
|
#if defined(CONFIG_ATMEL_LCD)
|
||||||
#include <atmel_lcdc.h>
|
#include <atmel_lcdc.h>
|
||||||
#include <nand.h>
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
|
@ -225,6 +224,20 @@ void lcd_puts (const char *s)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
void lcd_printf(const char *fmt, ...)
|
||||||
|
{
|
||||||
|
va_list args;
|
||||||
|
char buf[CONFIG_SYS_PBSIZE];
|
||||||
|
|
||||||
|
va_start(args, fmt);
|
||||||
|
vsprintf(buf, fmt, args);
|
||||||
|
va_end(args);
|
||||||
|
|
||||||
|
lcd_puts(buf);
|
||||||
|
}
|
||||||
|
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
/* ** Low-Level Graphics Routines */
|
/* ** Low-Level Graphics Routines */
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
|
@ -426,6 +439,7 @@ static int lcd_init (void *lcdbase)
|
||||||
debug ("[LCD] Initializing LCD frambuffer at %p\n", lcdbase);
|
debug ("[LCD] Initializing LCD frambuffer at %p\n", lcdbase);
|
||||||
|
|
||||||
lcd_ctrl_init (lcdbase);
|
lcd_ctrl_init (lcdbase);
|
||||||
|
lcd_is_enabled = 1;
|
||||||
lcd_clear (NULL, 1, 1, NULL); /* dummy args */
|
lcd_clear (NULL, 1, 1, NULL); /* dummy args */
|
||||||
lcd_enable ();
|
lcd_enable ();
|
||||||
|
|
||||||
|
@ -436,7 +450,6 @@ static int lcd_init (void *lcdbase)
|
||||||
#else
|
#else
|
||||||
console_row = 1; /* leave 1 blank line below logo */
|
console_row = 1; /* leave 1 blank line below logo */
|
||||||
#endif
|
#endif
|
||||||
lcd_is_enabled = 1;
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -748,15 +761,6 @@ extern bmp_image_t *gunzip_bmp(unsigned long addr, unsigned long *lenp);
|
||||||
|
|
||||||
static void *lcd_logo (void)
|
static void *lcd_logo (void)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_LCD_INFO
|
|
||||||
char info[80];
|
|
||||||
char temp[32];
|
|
||||||
#ifdef CONFIG_ATMEL_LCD
|
|
||||||
int i;
|
|
||||||
ulong dram_size, nand_size;
|
|
||||||
#endif
|
|
||||||
#endif /* CONFIG_LCD_INFO */
|
|
||||||
|
|
||||||
#ifdef CONFIG_SPLASH_SCREEN
|
#ifdef CONFIG_SPLASH_SCREEN
|
||||||
char *s;
|
char *s;
|
||||||
ulong addr;
|
ulong addr;
|
||||||
|
@ -786,75 +790,11 @@ static void *lcd_logo (void)
|
||||||
bitmap_plot (0, 0);
|
bitmap_plot (0, 0);
|
||||||
#endif /* CONFIG_LCD_LOGO */
|
#endif /* CONFIG_LCD_LOGO */
|
||||||
|
|
||||||
#ifdef CONFIG_MPC823
|
#ifdef CONFIG_LCD_INFO
|
||||||
# ifdef CONFIG_LCD_INFO
|
console_col = LCD_INFO_X / VIDEO_FONT_WIDTH;
|
||||||
sprintf (info, "%s (%s - %s) ", U_BOOT_VERSION, __DATE__, __TIME__);
|
console_row = LCD_INFO_Y / VIDEO_FONT_HEIGHT;
|
||||||
lcd_drawchars (LCD_INFO_X, LCD_INFO_Y, (uchar *)info, strlen(info));
|
lcd_show_board_info();
|
||||||
|
#endif /* CONFIG_LCD_INFO */
|
||||||
sprintf (info, "(C) 2008 DENX Software Engineering GmbH");
|
|
||||||
lcd_drawchars (LCD_INFO_X, LCD_INFO_Y + VIDEO_FONT_HEIGHT,
|
|
||||||
(uchar *)info, strlen(info));
|
|
||||||
|
|
||||||
sprintf (info, " Wolfgang DENK, wd@denx.de");
|
|
||||||
lcd_drawchars (LCD_INFO_X, LCD_INFO_Y + VIDEO_FONT_HEIGHT * 2,
|
|
||||||
(uchar *)info, strlen(info));
|
|
||||||
# ifdef CONFIG_LCD_INFO_BELOW_LOGO
|
|
||||||
sprintf (info, "MPC823 CPU at %s MHz",
|
|
||||||
strmhz(temp, gd->cpu_clk));
|
|
||||||
lcd_drawchars (LCD_INFO_X, LCD_INFO_Y + VIDEO_FONT_HEIGHT * 3,
|
|
||||||
info, strlen(info));
|
|
||||||
sprintf (info, " %ld MB RAM, %ld MB Flash",
|
|
||||||
gd->ram_size >> 20,
|
|
||||||
gd->bd->bi_flashsize >> 20 );
|
|
||||||
lcd_drawchars (LCD_INFO_X, LCD_INFO_Y + VIDEO_FONT_HEIGHT * 4,
|
|
||||||
info, strlen(info));
|
|
||||||
# else
|
|
||||||
/* leave one blank line */
|
|
||||||
|
|
||||||
sprintf (info, "MPC823 CPU at %s MHz, %ld MB RAM, %ld MB Flash",
|
|
||||||
strmhz(temp, gd->cpu_clk),
|
|
||||||
gd->ram_size >> 20,
|
|
||||||
gd->bd->bi_flashsize >> 20 );
|
|
||||||
lcd_drawchars (LCD_INFO_X, LCD_INFO_Y + VIDEO_FONT_HEIGHT * 4,
|
|
||||||
(uchar *)info, strlen(info));
|
|
||||||
|
|
||||||
# endif /* CONFIG_LCD_INFO_BELOW_LOGO */
|
|
||||||
# endif /* CONFIG_LCD_INFO */
|
|
||||||
#endif /* CONFIG_MPC823 */
|
|
||||||
|
|
||||||
#ifdef CONFIG_ATMEL_LCD
|
|
||||||
# ifdef CONFIG_LCD_INFO
|
|
||||||
sprintf (info, "%s", U_BOOT_VERSION);
|
|
||||||
lcd_drawchars (LCD_INFO_X, LCD_INFO_Y, (uchar *)info, strlen(info));
|
|
||||||
|
|
||||||
sprintf (info, "(C) 2008 ATMEL Corp");
|
|
||||||
lcd_drawchars (LCD_INFO_X, LCD_INFO_Y + VIDEO_FONT_HEIGHT,
|
|
||||||
(uchar *)info, strlen(info));
|
|
||||||
|
|
||||||
sprintf (info, "at91support@atmel.com");
|
|
||||||
lcd_drawchars (LCD_INFO_X, LCD_INFO_Y + VIDEO_FONT_HEIGHT * 2,
|
|
||||||
(uchar *)info, strlen(info));
|
|
||||||
|
|
||||||
sprintf (info, "%s CPU at %s MHz",
|
|
||||||
AT91_CPU_NAME,
|
|
||||||
strmhz(temp, AT91_MAIN_CLOCK));
|
|
||||||
lcd_drawchars (LCD_INFO_X, LCD_INFO_Y + VIDEO_FONT_HEIGHT * 3,
|
|
||||||
(uchar *)info, strlen(info));
|
|
||||||
|
|
||||||
dram_size = 0;
|
|
||||||
for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++)
|
|
||||||
dram_size += gd->bd->bi_dram[i].size;
|
|
||||||
nand_size = 0;
|
|
||||||
for (i = 0; i < CONFIG_SYS_MAX_NAND_DEVICE; i++)
|
|
||||||
nand_size += nand_info[i].size;
|
|
||||||
sprintf (info, " %ld MB SDRAM, %ld MB NAND",
|
|
||||||
dram_size >> 20,
|
|
||||||
nand_size >> 20 );
|
|
||||||
lcd_drawchars (LCD_INFO_X, LCD_INFO_Y + VIDEO_FONT_HEIGHT * 4,
|
|
||||||
(uchar *)info, strlen(info));
|
|
||||||
# endif /* CONFIG_LCD_INFO */
|
|
||||||
#endif /* CONFIG_ATMEL_LCD */
|
|
||||||
|
|
||||||
|
|
||||||
#if defined(CONFIG_LCD_LOGO) && !defined(CONFIG_LCD_INFO_BELOW_LOGO)
|
#if defined(CONFIG_LCD_LOGO) && !defined(CONFIG_LCD_INFO_BELOW_LOGO)
|
||||||
return ((void *)((ulong)lcd_base + BMP_LOGO_HEIGHT * lcd_line_length));
|
return ((void *)((ulong)lcd_base + BMP_LOGO_HEIGHT * lcd_line_length));
|
||||||
|
|
|
@ -24,7 +24,6 @@
|
||||||
|
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
#include <asm/arch/hardware.h>
|
|
||||||
#include <asm/arch/gpio.h>
|
#include <asm/arch/gpio.h>
|
||||||
#include <asm/arch/clk.h>
|
#include <asm/arch/clk.h>
|
||||||
#include <lcd.h>
|
#include <lcd.h>
|
||||||
|
@ -108,10 +107,7 @@ void lcd_ctrl_init(void *lcdbase)
|
||||||
if (panel_info.vl_tft)
|
if (panel_info.vl_tft)
|
||||||
value |= ATMEL_LCDC_DISTYPE_TFT;
|
value |= ATMEL_LCDC_DISTYPE_TFT;
|
||||||
|
|
||||||
if (!(panel_info.vl_sync & ATMEL_LCDC_INVLINE_INVERTED))
|
value |= panel_info.vl_sync;
|
||||||
value |= ATMEL_LCDC_INVLINE_INVERTED;
|
|
||||||
if (!(panel_info.vl_sync & ATMEL_LCDC_INVFRAME_INVERTED))
|
|
||||||
value |= ATMEL_LCDC_INVFRAME_INVERTED;
|
|
||||||
value |= (panel_info.vl_bpix << 5);
|
value |= (panel_info.vl_bpix << 5);
|
||||||
lcdc_writel(panel_info.mmio, ATMEL_LCDC_LCDCON2, value);
|
lcdc_writel(panel_info.mmio, ATMEL_LCDC_LCDCON2, value);
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
#include <asm/errno.h>
|
#include <asm/errno.h>
|
||||||
#include <asm/arch/at91_pio.h>
|
#include <asm/arch/at91_pio.h>
|
||||||
|
#include <asm/arch/hardware.h>
|
||||||
|
|
||||||
#define PIN_BASE 32
|
#define PIN_BASE 32
|
||||||
|
|
||||||
|
|
|
@ -197,6 +197,8 @@ void lcd_putc (const char c);
|
||||||
void lcd_puts (const char *s);
|
void lcd_puts (const char *s);
|
||||||
void lcd_printf (const char *fmt, ...);
|
void lcd_printf (const char *fmt, ...);
|
||||||
|
|
||||||
|
/* Allow boards to customize the information displayed */
|
||||||
|
void lcd_show_board_info(void);
|
||||||
|
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
/* ** BITMAP DISPLAY SUPPORT */
|
/* ** BITMAP DISPLAY SUPPORT */
|
||||||
|
|
Loading…
Add table
Reference in a new issue