diff options
Diffstat (limited to 'arch_msm7k/mddi_console.c')
-rw-r--r-- | arch_msm7k/mddi_console.c | 153 |
1 files changed, 0 insertions, 153 deletions
diff --git a/arch_msm7k/mddi_console.c b/arch_msm7k/mddi_console.c deleted file mode 100644 index c1389ca..0000000 --- a/arch_msm7k/mddi_console.c +++ /dev/null @@ -1,153 +0,0 @@ -/* - * Copyright (c) 2008, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include <boot/boot.h> -#include <boot/font5x12.h> - -static unsigned short BGCOLOR = 0x001F; -static unsigned short FGCOLOR = 0xFFFF; - -static void drawglyph(unsigned short *pixels, unsigned short paint, - unsigned stride, unsigned *glyph) -{ - unsigned x, y, data; - stride -= 5; - - data = glyph[0]; - for(y = 0; y < 6; y++) { - for(x = 0; x < 5; x++) { - if(data & 1) *pixels = paint; - data >>= 1; - pixels++; - } - pixels += stride; - } - data = glyph[1]; - for(y = 0; y < 6; y++) { - for(x = 0; x < 5; x++) { - if(data & 1) *pixels = paint; - data >>= 1; - pixels++; - } - pixels += stride; - } -} - -#if 0 -static void drawtext(unsigned x, unsigned y, unsigned paint, const char *text) -{ - unsigned short *pixels = mddi_framebuffer(); - unsigned stride = fb_width; - char c; - - while((c = *text++)) { - if((c < ' ') || (c > 127)) continue; - c = (c - 32) * 2; - drawglyph(pixels + y*stride + x, paint, stride, font5x12 + c); - x += 6; - } -} -#endif - -static int cx, cy, cmaxx, cmaxy; - -void console_clear(void) -{ - unsigned short *dst = mddi_framebuffer(); - unsigned count = fb_width * fb_height; - cx = 0; - cy = 0; - while(count--) *dst++ = BGCOLOR; -} - -static void scroll_up(void) -{ - unsigned short *dst = mddi_framebuffer(); - unsigned short *src = dst + (fb_width * 12); - unsigned count = fb_height * (fb_width - 12); - - while(count--) { - *dst++ = *src++; - } - count = fb_width * 12; - while(count--) { - *dst++ = BGCOLOR; - } -} - -void console_putc(unsigned c) -{ - unsigned short *pixels; - - if(c > 127) return; - if(c < 32) { - if(c == '\n') goto newline; - return; - } - - pixels = mddi_framebuffer(); - drawglyph(pixels + cy * 12 * fb_width + cx * 6, FGCOLOR, - fb_width, font5x12 + (c - 32) * 2); - - cx++; - if(cx < cmaxx) return; - -newline: - cy++; - cx = 0; - if(cy >= cmaxy) { - cy = cmaxy - 1; - scroll_up(); - } -} - -void console_flush(void) -{ - mddi_start_update(); - while(!mddi_update_done()) ; -} - -void console_set_colors(unsigned bg, unsigned fg) -{ - BGCOLOR = bg; - FGCOLOR = fg; -} - -void console_init(void) -{ - mddi_init(); - - cmaxx = fb_width / 6; - cmaxy = (fb_height-1) / 12; - cx = 0; - cy = 0; - - console_clear(); - console_flush(); -} - |