亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? grub-0.97-patch5-splash

?? grub for dos ,people can use it in dos for calling linux
?? 97-PATCH5-SPLASH
?? 第 1 頁 / 共 3 頁
字號:
@@ -8802,6 +8963,7 @@   &builtin_cdrom, #endif   &builtin_chainloader,+  &builtin_clear,   &builtin_cmp,   &builtin_color,   &builtin_commandline,@@ -8822,6 +8984,9 @@   &builtin_embed,   &builtin_fallback,   &builtin_find,+#ifdef SUPPORT_GRAPHICS+  &builtin_foreground,+#endif   &builtin_fstest,   &builtin_geometry,   &builtin_halt,@@ -8870,9 +9035,12 @@   &builtin_setkey,   &builtin_setup,   &builtin_setvbe,-#if defined(SUPPORT_SERIAL) || defined(SUPPORT_HERCULES)+#ifdef SUPPORT_GRAPHICS+  &builtin_splashimage,+#endif /* SUPPORT_GRAPHICS */+#if defined(SUPPORT_SERIAL) || defined(SUPPORT_HERCULES) || defined(SUPPORT_GRAPHICS)   &builtin_terminal,-#endif /* SUPPORT_SERIAL || SUPPORT_HERCULES */+#endif /* SUPPORT_SERIAL || SUPPORT_HERCULES SUPPORT_GRAPHICS */ #ifdef SUPPORT_SERIAL   &builtin_terminfo, #endif /* SUPPORT_SERIAL */diff -Naur grub-0.97_emulation/stage2/char_io.c grub-0.97_splash/stage2/char_io.c--- grub-0.97_emulation/stage2/char_io.c	2006-10-24 12:28:51.000000000 +0800+++ grub-0.97_splash/stage2/char_io.c	2006-10-24 12:28:51.000000000 +0800@@ -35,6 +35,7 @@     {       "console",       0,+      24,       console_putchar,       console_checkkey,       console_getkey,@@ -43,13 +44,16 @@       console_cls,       console_setcolorstate,       console_setcolor,-      console_setcursor+      console_setcursor,+      0,+      0     }, #ifdef SUPPORT_SERIAL     {       "serial",       /* A serial device must be initialized.  */       TERM_NEED_INIT,+      24,       serial_putchar,       serial_checkkey,       serial_getkey,@@ -58,6 +62,8 @@       serial_cls,       serial_setcolorstate,       0,+      0,+      0,       0     }, #endif /* SUPPORT_SERIAL */@@ -65,6 +71,7 @@     {       "hercules",       0,+      24,       hercules_putchar,       console_checkkey,       console_getkey,@@ -73,9 +80,28 @@       hercules_cls,       hercules_setcolorstate,       hercules_setcolor,-      hercules_setcursor+      hercules_setcursor,+      0,+      0     },       #endif /* SUPPORT_HERCULES */+#ifdef SUPPORT_GRAPHICS+    { "graphics",+      TERM_NEED_INIT, /* flags */+      30, /* number of lines */+      graphics_putchar, /* putchar */+      console_checkkey, /* checkkey */+      console_getkey, /* getkey */+      graphics_getxy, /* getxy */+      graphics_gotoxy, /* gotoxy */+      graphics_cls, /* cls */+      graphics_setcolorstate, /* setcolorstate */+      graphics_setcolor, /* setcolor */+      graphics_setcursor, /* nocursor */+      graphics_init, /* initialize */+      graphics_end /* shutdown */+    },+#endif /* SUPPORT_GRAPHICS */     /* This must be the last entry.  */     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }   };@@ -1124,10 +1150,11 @@ 		 the following grub_printf call will print newlines.  */ 	      count_lines = -1; +	      grub_printf("\n"); 	      if (current_term->setcolorstate) 		current_term->setcolorstate (COLOR_STATE_HIGHLIGHT); 	      -	      grub_printf ("\n[Hit return to continue]");+	      grub_printf ("[Hit return to continue]");  	      if (current_term->setcolorstate) 		current_term->setcolorstate (COLOR_STATE_NORMAL);@@ -1318,6 +1345,55 @@   return ! errnum; } +#if 0+void+grub_memcpy(void *dest, const void *src, int len)+{+  int i;+  register char *d = (char*)dest, *s = (char*)src;++  for (i = 0; i < len; i++)+    d[i] = s[i];+}+#endif++/* struct copy needs the memcpy function */+/* #undef memcpy */+#if 1+void * grub_memcpy(void * to, const void * from, unsigned int n)+{+       /* This assembly code is stolen from+	* linux-2.4.22/include/asm-i386/string.h+	* It assumes ds=es=data space, this should be normal.+	*/+	int d0, d1, d2;+	__asm__ __volatile__(+		"rep ; movsl\n\t"+		"testb $2,%b4\n\t"+		"je 1f\n\t"+		"movsw\n"+		"1:\ttestb $1,%b4\n\t"+		"je 2f\n\t"+		"movsb\n"+		"2:"+		: "=&c" (d0), "=&D" (d1), "=&S" (d2)+		:"0" (n/4), "q" (n),"1" ((long) to),"2" ((long) from)+		: "memory");+	return to;+}+#else+/* just in case the assembly version of grub_memcpy does not work. */+void * grub_memcpy(void * to, const void * from, unsigned int n)+{+	char *d = (char *)to, *s = (char *)from;++	while (n--)+		*d++ = *s++;++	return to;+}+#endif+ void * grub_memmove (void *to, const void *from, int len) {diff -Naur grub-0.97_emulation/stage2/graphics.c grub-0.97_splash/stage2/graphics.c--- grub-0.97_emulation/stage2/graphics.c	1970-01-01 08:00:00.000000000 +0800+++ grub-0.97_splash/stage2/graphics.c	2006-10-24 12:28:51.000000000 +0800@@ -0,0 +1,556 @@+/* graphics.c - graphics mode support for GRUB */+/* Implemented as a terminal type by Jeremy Katz <katzj@redhat.com> based+ * on a patch by Paulo C閟ar Pereira de Andrade <pcpa@conectiva.com.br>+ */+/*+ *  GRUB  --  GRand Unified Bootloader+ *  Copyright (C) 2001,2002  Red Hat, Inc.+ *  Portions copyright (C) 2000  Conectiva, Inc.+ *+ *  This program is free software; you can redistribute it and/or modify+ *  it under the terms of the GNU General Public License as published by+ *  the Free Software Foundation; either version 2 of the License, or+ *  (at your option) any later version.+ *+ *  This program is distributed in the hope that it will be useful,+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the+ *  GNU General Public License for more details.+ *+ *  You should have received a copy of the GNU General Public License+ *  along with this program; if not, write to the Free Software+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.+ */++++#ifdef SUPPORT_GRAPHICS++#include <term.h>+#include <shared.h>+#include <graphics.h>++int saved_videomode;+unsigned char *font8x16;++int graphics_inited = 0;+static char splashimage[64];++#define VSHADOW VSHADOW1+static unsigned char *VSHADOW1 = (unsigned char *)0x3A0000;	//unsigned char VSHADOW1[38400];+static unsigned char *VSHADOW2 = (unsigned char *)0x3A9600;	//unsigned char VSHADOW2[38400];+static unsigned char *VSHADOW4 = (unsigned char *)0x3B2C00;	//unsigned char VSHADOW4[38400];+static unsigned char *VSHADOW8 = (unsigned char *)0x3BC200;	//unsigned char VSHADOW8[38400];++/* constants to define the viewable area */+const int x0 = 0;+const int x1 = 80;+const int y0 = 0;+const int y1 = 30;++/* text buffer has to be kept around so that we can write things as we+ * scroll and the like */+static unsigned short text[80 * 30];++/* why do these have to be kept here? */+int foreground = (63 << 16) | (63 << 8) | (63), background = 0, border = 0;++/* current position */+static int fontx = 0;+static int fonty = 0;++/* global state so that we don't try to recursively scroll or cursor */+static int no_scroll = 0;++/* color state */+static int graphics_standard_color = A_NORMAL;+static int graphics_normal_color = A_NORMAL;+static int graphics_highlight_color = A_REVERSE;+static int graphics_current_color = A_NORMAL;+static color_state graphics_color_state = COLOR_STATE_STANDARD;+++/* graphics local functions */+static void graphics_setxy(int col, int row);+static void graphics_scroll(void);+static int read_image(char *s);++/* FIXME: where do these really belong? */+static inline void outb(unsigned short port, unsigned char val)+{+    __asm __volatile ("outb %0,%1"::"a" (val), "d" (port));+}++static void MapMask(int value) {+    outb(0x3c4, 2);+    outb(0x3c5, value);+}++/* bit mask register */+static void BitMask(int value) {+    outb(0x3ce, 8);+    outb(0x3cf, value);+}++++/* Set the splash image */+void graphics_set_splash(char *splashfile) {+    grub_strcpy(splashimage, splashfile);+}++/* Get the current splash image */+char *graphics_get_splash(void) {+    return splashimage;+}++/* Initialize a vga16 graphics display with the palette based off of+ * the image in splashimage.  If the image doesn't exist, leave graphics+ * mode.  */+int graphics_init()+{+    if (! graphics_inited) {+        saved_videomode = set_videomode(0x12);+    }++    if (! read_image(splashimage)) {+        set_videomode(saved_videomode);+        grub_printf("failed to read image\n");+        return 0;+    }++    font8x16 = (unsigned char*)graphics_get_font();++    graphics_inited = 1;++    /* make sure that the highlight color is set correctly */+    graphics_highlight_color = ((graphics_normal_color >> 4) | +				((graphics_normal_color & 0xf) << 4));++    return 1;+}++/* Leave graphics mode */+void graphics_end(void)+{+    if (graphics_inited) {+        set_videomode(saved_videomode);+        graphics_inited = 0;+    }+}++/* Print ch on the screen.  Handle any needed scrolling or the like */+void graphics_putchar(int ch) {+    ch &= 0xff;++    graphics_cursor(0);++    if (ch == '\n') {+        if (fonty + 1 < y1)+            graphics_setxy(fontx, fonty + 1);+        else+            graphics_scroll();+        graphics_cursor(1);+        return;+    } else if (ch == '\r') {+        graphics_setxy(x0, fonty);+        graphics_cursor(1);+        return;+    }++    graphics_cursor(0);++    text[fonty * 80 + fontx] = ch;+    text[fonty * 80 + fontx] &= 0x00ff;+    if (graphics_current_color & 0xf0)+        text[fonty * 80 + fontx] |= 0x100;++    graphics_cursor(0);++    if ((fontx + 1) >= x1) {+        graphics_setxy(x0, fonty);+        if (fonty + 1 < y1)+            graphics_setxy(x0, fonty + 1);+        else+            graphics_scroll();+    } else {+        graphics_setxy(fontx + 1, fonty);+    }++    graphics_cursor(1);+}++/* get the current location of the cursor */+int graphics_getxy(void) {+    return (fontx << 8) | fonty;+}++void graphics_gotoxy(int x, int y) {+    graphics_cursor(0);++    graphics_setxy(x, y);++    graphics_cursor(1);+}++void graphics_cls(void) {+    int i;+    unsigned char *mem, *s1, *s2, *s4, *s8;++    graphics_cursor(0);+    graphics_gotoxy(x0, y0);++    mem = (unsigned char*)VIDEOMEM;+    s1 = (unsigned char*)VSHADOW1;+    s2 = (unsigned char*)VSHADOW2;+    s4 = (unsigned char*)VSHADOW4;+    s8 = (unsigned char*)VSHADOW8;++    for (i = 0; i < 80 * 30; i++)+        text[i] = ' ';+    graphics_cursor(1);++    BitMask(0xff);++    /* plano 1 */+    MapMask(1);+    grub_memcpy(mem, s1, 38400);++    /* plano 2 */+    MapMask(2);+    grub_memcpy(mem, s2, 38400);++    /* plano 3 */+    MapMask(4);+    grub_memcpy(mem, s4, 38400);++    /* plano 4 */+    MapMask(8);+    grub_memcpy(mem, s8, 38400);++    MapMask(15);+ +}++void graphics_setcolorstate (color_state state) {+    switch (state) {+    case COLOR_STATE_STANDARD:+        graphics_current_color = graphics_standard_color;+        break;+    case COLOR_STATE_NORMAL:+        graphics_current_color = graphics_normal_color;+        break;+    case COLOR_STATE_HIGHLIGHT:+        graphics_current_color = graphics_highlight_color;+        break;+    default:+        graphics_current_color = graphics_standard_color;+        break;+    }++    graphics_color_state = state;+}++void graphics_setcolor (int normal_color, int highlight_color) {+    graphics_normal_color = normal_color;+    graphics_highlight_color = highlight_color;++    graphics_setcolorstate (graphics_color_state);+}++int graphics_setcursor (int on) {+    /* FIXME: we don't have a cursor in graphics */+    return 0;+}++/* Read in the splashscreen image and set the palette up appropriately.+ * Format of splashscreen is an xpm (can be gzipped) with 16 colors and+ * 640x480. */+static int+read_image(char *s)+{+    char buf[32], pal[16];+    unsigned char c, base, mask, *s1, *s2, *s4, *s8;+    unsigned i, len, idx, colors, x, y, width, height;++    if (! grub_open(s))+        goto set_palette;	//return 0;++    /* read header */+    if (! grub_read((char*)&buf, 10) || grub_memcmp(buf, "/* XPM */\n", 10)) {+        grub_close();+        goto set_palette;	//return 0;+    }+    +    /* parse info */+    while (grub_read((char *)&c, 1)) {+        if (c == '"')+            break;+    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产乱码久久久久久1区2区 | 91福利精品第一导航| 精品国产乱码久久久久久蜜臀| 一区二区三区在线视频观看58| 不卡一区二区在线| 国产精品午夜春色av| 国产激情一区二区三区| 国产欧美日韩综合| 成人免费观看视频| 亚洲欧美日韩人成在线播放| 不卡av电影在线播放| 亚洲乱码中文字幕| 欧美少妇bbb| 国产一区二区三区免费| 国产精品国产三级国产三级人妇| 成人av网站在线| 亚洲高清三级视频| 日韩你懂的在线观看| av在线不卡电影| 日韩va欧美va亚洲va久久| 国产视频不卡一区| 欧美亚洲精品一区| 国产一区二区三区在线观看精品 | 亚洲午夜精品在线| 久久精品这里都是精品| 一本到一区二区三区| 久久成人羞羞网站| 亚洲国产精品久久久男人的天堂| 欧美第一区第二区| 在线精品观看国产| 国产成a人亚洲| 美女视频黄久久| 亚洲成人av一区二区三区| 国产精品久久久久精k8| 久久亚洲精精品中文字幕早川悠里| 在线国产亚洲欧美| 99精品热视频| 成人综合激情网| 激情成人综合网| 日本成人中文字幕| 亚洲成av人影院| 五月天激情综合网| 亚洲18女电影在线观看| 亚洲日本在线观看| 综合久久久久久| 国产精品激情偷乱一区二区∴| 精品不卡在线视频| 日韩免费视频线观看| 91精品国产麻豆国产自产在线| 欧美日韩一本到| 欧美另类一区二区三区| 欧美日韩视频在线第一区 | zzijzzij亚洲日本少妇熟睡| 国产激情偷乱视频一区二区三区 | 最好看的中文字幕久久| 国产精品久久久久一区二区三区| 国产亚洲精品免费| 亚洲欧美在线视频| 亚洲精品国产a久久久久久 | 亚洲大片精品永久免费| 日韩激情视频网站| 国产乱对白刺激视频不卡| 国产精品91一区二区| 波多野结衣一区二区三区 | 日韩欧美亚洲国产另类| 久久久久9999亚洲精品| 亚洲免费三区一区二区| 日韩国产欧美一区二区三区| 国产原创一区二区| 色婷婷久久99综合精品jk白丝| 欧美一区二区黄| 国产精品乱人伦| 奇米777欧美一区二区| eeuss国产一区二区三区| 欧美无乱码久久久免费午夜一区| 欧美xxxx在线观看| 亚洲综合偷拍欧美一区色| 精品一区二区国语对白| 欧美三级视频在线播放| 欧美国产禁国产网站cc| 日韩精品每日更新| 色94色欧美sute亚洲线路一ni| 精品99久久久久久| 亚洲最大色网站| 成人激情午夜影院| 又紧又大又爽精品一区二区| 麻豆成人久久精品二区三区小说| 91网站在线播放| 国产人成亚洲第一网站在线播放| 日韩激情av在线| 欧美性大战久久久久久久| 国产精品久久久久四虎| 国产精品18久久久| 欧美精品一区二区三区高清aⅴ | 国产传媒欧美日韩成人| 日韩精品最新网址| 理论片日本一区| 精品久久人人做人人爱| 久久99精品国产麻豆婷婷洗澡| 欧美日韩综合不卡| 亚洲成人777| 717成人午夜免费福利电影| 日日摸夜夜添夜夜添亚洲女人| 欧美日韩国产精品成人| 亚洲电影在线播放| 日韩色视频在线观看| 美日韩一级片在线观看| 亚洲国产成人高清精品| 91精品国产91久久久久久一区二区 | 国产一区视频网站| 国产精品色哟哟| 在线免费亚洲电影| 麻豆精品国产91久久久久久| 精品福利一区二区三区免费视频| 国产不卡在线播放| 亚洲妇熟xx妇色黄| 亚洲精品在线电影| 色综合天天综合网国产成人综合天| 有码一区二区三区| 精品国产91乱码一区二区三区| 粉嫩一区二区三区性色av| 1000部国产精品成人观看| 欧美一级日韩一级| av一本久道久久综合久久鬼色| 国产jizzjizz一区二区| 亚洲免费观看高清完整| 精品99一区二区| 欧美伦理视频网站| 99久久精品免费观看| 国内精品写真在线观看| 一区二区三区美女| 久久久久久久久岛国免费| 欧美另类videos死尸| 99精品国产视频| 成人久久久精品乱码一区二区三区| 视频一区免费在线观看| 亚洲欧美另类小说视频| 日本一区二区动态图| 久久综合色婷婷| 精品国产麻豆免费人成网站| 欧美揉bbbbb揉bbbbb| 91猫先生在线| 91丨porny丨国产| av午夜一区麻豆| 成人久久18免费网站麻豆| 国产成人免费视频网站| 国产在线精品国自产拍免费| 韩国av一区二区三区四区 | 亚洲一级二级三级在线免费观看| 国产精品久久久久永久免费观看| 国产日产精品一区| 国产精品国产三级国产普通话蜜臀 | 日本va欧美va瓶| 老司机精品视频导航| 国产在线播放一区三区四| 国内精品免费在线观看| 欧美日本一区二区三区| 91麻豆精品国产91| 精品少妇一区二区三区| 久久久久久久综合色一本| 国产日韩精品一区| 国产精品第13页| 婷婷国产v国产偷v亚洲高清| 久久精品国产在热久久| 成人黄色大片在线观看| 欧美日韩国产色站一区二区三区| 欧美一级久久久久久久大片| 欧美精品一区二区三区蜜桃| 中文字幕在线一区免费| 午夜精品一区二区三区电影天堂| 久久爱另类一区二区小说| 91视频国产资源| 欧美成人bangbros| 亚洲男人天堂av| 国产精品中文字幕日韩精品| 欧美日韩中文字幕一区二区| 久久先锋影音av鲁色资源| 一区二区三区日韩| 国产精品小仙女| 欧美日韩性生活| 国产精品初高中害羞小美女文| 老司机精品视频导航| 91热门视频在线观看| 国产天堂亚洲国产碰碰| 日韩精品一卡二卡三卡四卡无卡| 国产91精品精华液一区二区三区| 91精品国产综合久久久蜜臀粉嫩 | 丝袜诱惑制服诱惑色一区在线观看| 精品视频一区二区不卡| 国产精品久久久久永久免费观看| 美脚の诱脚舐め脚责91| 欧美三日本三级三级在线播放| 亚洲欧洲色图综合| 成人激情综合网站| 中文字幕电影一区| 成人黄动漫网站免费app| 亚洲国产高清在线观看视频| 国产丶欧美丶日本不卡视频| 久久久久久久电影| 国产精品88av|