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

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

?? grub-0.97-patch5-splash

?? grub for dos ,people can use it in dos for calling linux
?? 97-PATCH5-SPLASH
?? 第 1 頁 / 共 3 頁
字號:
++    while (grub_read((char *)&c, 1) && (c == ' ' || c == '\t'))+        ;++    i = 0;+    width = c - '0';+    while (grub_read((char *)&c, 1)) {+        if (c >= '0' && c <= '9')+            width = width * 10 + c - '0';+        else+            break;+    }+    while (grub_read((char *)&c, 1) && (c == ' ' || c == '\t'))+        ;++    height = c - '0';+    while (grub_read((char *)&c, 1)) {+        if (c >= '0' && c <= '9')+            height = height * 10 + c - '0';+        else+            break;+    }+    while (grub_read((char *)&c, 1) && (c == ' ' || c == '\t'))+        ;++    colors = c - '0';+    while (grub_read((char *)&c, 1)) {+        if (c >= '0' && c <= '9')+            colors = colors * 10 + c - '0';+        else+            break;+    }++    base = 0;+    while (grub_read((char *)&c, 1) && c != '"')+        ;++    /* palette */+    for (i = 0, idx = 1; i < colors; i++) {+        len = 0;++        while (grub_read((char *)&c, 1) && c != '"')+            ;+        grub_read((char *)&c, 1);       /* char */+        base = c;+        grub_read(buf, 4);      /* \t c # */++        while (grub_read((char *)&c, 1) && c != '"') {+            if (len < sizeof(buf))+                buf[len++] = c;+        }++        if (len == 6 && idx < 15) {+            int r = ((hex(buf[0]) << 4) | hex(buf[1])) >> 2;+            int g = ((hex(buf[2]) << 4) | hex(buf[3])) >> 2;+            int b = ((hex(buf[4]) << 4) | hex(buf[5])) >> 2;++            pal[idx] = base;+            graphics_set_palette(idx, r, g, b);+            ++idx;+        }+    }++    x = y = len = 0;++    s1 = (unsigned char*)VSHADOW1;+    s2 = (unsigned char*)VSHADOW2;+    s4 = (unsigned char*)VSHADOW4;+    s8 = (unsigned char*)VSHADOW8;++    for (i = 0; i < 38400; i++)+        s1[i] = s2[i] = s4[i] = s8[i] = 0;++    /* parse xpm data */+    while (y < height) {+        while (1) {+            if (!grub_read((char *)&c, 1)) {+                grub_close();+                return 0;+            }+            if (c == '"')+                break;+        }++        while (grub_read((char *)&c, 1) && c != '"') {+            for (i = 1; i < 15; i++)+                if (pal[i] == c) {+                    c = i;+                    break;+                }++            mask = 0x80 >> (x & 7);+            if (c & 1)+                s1[len + (x >> 3)] |= mask;+            if (c & 2)+                s2[len + (x >> 3)] |= mask;+            if (c & 4)+                s4[len + (x >> 3)] |= mask;+            if (c & 8)+                s8[len + (x >> 3)] |= mask;++            if (++x >= 640) {+                x = 0;++                if (y < 480)+                    len += 80;+                ++y;+            }+        }+    }++    grub_close();++set_palette:++    graphics_set_palette(0, (background >> 16), (background >> 8) & 63, +                background & 63);+    graphics_set_palette(15, (foreground >> 16), (foreground >> 8) & 63, +                foreground & 63);+    graphics_set_palette(0x11, (border >> 16), (border >> 8) & 63, +                         border & 63);++    return 1;+}+++/* Convert a character which is a hex digit to the appropriate integer */+int hex(int v)+{+    if (v >= 'A' && v <= 'F')+        return (v - 'A' + 10);+    if (v >= 'a' && v <= 'f')+        return (v - 'a' + 10);+    return (v - '0');+}+++/* move the graphics cursor location to col, row */+static void graphics_setxy(int col, int row) {+    if (col >= x0 && col < x1) {+        fontx = col;+        cursorX = col << 3;+    }+    if (row >= y0 && row < y1) {+        fonty = row;+        cursorY = row << 4;+    }+}++/* scroll the screen */+static void graphics_scroll(void) {+    int i, j;++    /* we don't want to scroll recursively... that would be bad */+    if (no_scroll)+        return;+    no_scroll = 1;++    /* move everything up a line */+    for (j = y0 + 1; j < y1; j++) {+        graphics_gotoxy(x0, j - 1);+        for (i = x0; i < x1; i++) {+            graphics_putchar(text[j * 80 + i]);+        }+    }++    /* last line should be blank */+    graphics_gotoxy(x0, y1 - 1);+    for (i = x0; i < x1; i++)+        graphics_putchar(' ');+    graphics_setxy(x0, y1 - 1);++    no_scroll = 0;+}+++void graphics_cursor(int set) {+    unsigned char *pat, *mem, *ptr, chr[16 << 2];+    int i, ch, invert, offset;++    if (set && no_scroll)+        return;++    offset = cursorY * 80 + fontx;+    ch = text[fonty * 80 + fontx] & 0xff;+    invert = (text[fonty * 80 + fontx] & 0xff00) != 0;+    pat = font8x16 + (ch << 4);++    mem = (unsigned char*)VIDEOMEM + offset;++    if (!set) {+        for (i = 0; i < 16; i++) {+            unsigned char mask = pat[i];++            if (!invert) {+                chr[i     ] = ((unsigned char*)VSHADOW1)[offset];+                chr[16 + i] = ((unsigned char*)VSHADOW2)[offset];+                chr[32 + i] = ((unsigned char*)VSHADOW4)[offset];+                chr[48 + i] = ((unsigned char*)VSHADOW8)[offset];++                /* FIXME: if (shade) */+                if (1) {+                    if (ch == DISP_VERT || ch == DISP_LL ||+                        ch == DISP_UR || ch == DISP_LR) {+                        unsigned char pmask = ~(pat[i] >> 1);++                        chr[i     ] &= pmask;+                        chr[16 + i] &= pmask;+                        chr[32 + i] &= pmask;+                        chr[48 + i] &= pmask;+                    }+                    if (i > 0 && ch != DISP_VERT) {+                        unsigned char pmask = ~(pat[i - 1] >> 1);++                        chr[i     ] &= pmask;+                        chr[16 + i] &= pmask;+                        chr[32 + i] &= pmask;+                        chr[48 + i] &= pmask;+                        if (ch == DISP_HORIZ || ch == DISP_UR || ch == DISP_LR) {+                            pmask = ~pat[i - 1];++                            chr[i     ] &= pmask;+                            chr[16 + i] &= pmask;+                            chr[32 + i] &= pmask;+                            chr[48 + i] &= pmask;+                        }+                    }+                }+                chr[i     ] |= mask;+                chr[16 + i] |= mask;+                chr[32 + i] |= mask;+                chr[48 + i] |= mask;++                offset += 80;+            }+            else {+                chr[i     ] = mask;+                chr[16 + i] = mask;+                chr[32 + i] = mask;+                chr[48 + i] = mask;+            }+        }+    }+    else {+        MapMask(15);+        ptr = mem;+        for (i = 0; i < 16; i++, ptr += 80) {+            cursorBuf[i] = pat[i];+            *ptr = ~pat[i];+        }+        return;+    }++    offset = 0;+    for (i = 1; i < 16; i <<= 1, offset += 16) {+        int j;++        MapMask(i);+        ptr = mem;+        for (j = 0; j < 16; j++, ptr += 80)+            *ptr = chr[j + offset];+    }++    MapMask(15);+}++#endif /* SUPPORT_GRAPHICS */diff -Naur grub-0.97_emulation/stage2/graphics.h grub-0.97_splash/stage2/graphics.h--- grub-0.97_emulation/stage2/graphics.h	1970-01-01 08:00:00.000000000 +0800+++ grub-0.97_splash/stage2/graphics.h	2006-10-24 12:28:51.000000000 +0800@@ -0,0 +1,42 @@+/* graphics.h - graphics console interface */+/*+ *  GRUB  --  GRand Unified Bootloader+ *  Copyright (C) 2002  Free Software Foundation, 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.+ */++#ifndef GRAPHICS_H+#define GRAPHICS_H++/* magic constant */+#define VIDEOMEM 0xA0000++/* function prototypes */+char *graphics_get_splash(void);++//static int read_image(char *s);+void graphics_cursor(int set);++/* function prototypes for asm functions */+void * graphics_get_font();+void graphics_set_palette(int idx, int red, int green, int blue);+void set_int1c_handler();+void unset_int1c_handler();++extern short cursorX, cursorY;+extern char cursorBuf[16];++#endif /* GRAPHICS_H */diff -Naur grub-0.97_emulation/stage2/Makefile.am grub-0.97_splash/stage2/Makefile.am--- grub-0.97_emulation/stage2/Makefile.am	2006-10-24 12:28:51.000000000 +0800+++ grub-0.97_splash/stage2/Makefile.am	2006-10-24 12:28:51.000000000 +0800@@ -7,7 +7,7 @@ 	ntfs.h fat.h filesys.h freebsd.h fs.h hercules.h i386-elf.h \ 	imgact_aout.h iso9660.h jfs.h mb_header.h mb_info.h md5.h \ 	nbi.h pc_slice.h serial.h shared.h smp-imps.h term.h \-	terminfo.h tparm.h nbi.h ufs2.h vstafs.h xfs.h+	terminfo.h tparm.h nbi.h ufs2.h vstafs.h xfs.h graphics.h EXTRA_DIST = setjmp.S apm.S $(noinst_SCRIPTS)  # For <stage1.h>.@@ -19,7 +19,7 @@ 	disk_io.c fsys_ext2fs.c fsys_fat.c fsys_ntfs.c fsys_ffs.c fsys_iso9660.c \ 	fsys_jfs.c fsys_minix.c fsys_reiserfs.c fsys_ufs2.c \ 	fsys_vstafs.c fsys_xfs.c gunzip.c md5.c serial.c stage2.c \-	terminfo.c tparm.c+	terminfo.c tparm.c graphics.c libgrub_a_CFLAGS = $(GRUB_CFLAGS) -I$(top_srcdir)/lib \ 	-DGRUB_UTIL=1 -DFSYS_EXT2FS=1 -DFSYS_FAT=1 -DFSYS_NTFS=1 -DFSYS_FFS=1 \ 	-DFSYS_ISO9660=1 -DFSYS_JFS=1 -DFSYS_MINIX=1 -DFSYS_REISERFS=1 \@@ -79,8 +79,14 @@ HERCULES_FLAGS = endif +if GRAPHICS_SUPPORT+GRAPHICS_FLAGS = -DSUPPORT_GRAPHICS=1+else+GRAPHICS_FLAGS =+endif+ STAGE2_COMPILE = $(STAGE2_CFLAGS) -fno-builtin -nostdinc \-	$(NETBOOT_FLAGS) $(SERIAL_FLAGS) $(HERCULES_FLAGS)+	$(NETBOOT_FLAGS) $(SERIAL_FLAGS) $(HERCULES_FLAGS) $(GRAPHICS_FLAGS)  STAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000 STAGE1_5_COMPILE = $(STAGE2_COMPILE) -DNO_DECOMPRESSION=1 -DSTAGE1_5=1@@ -90,7 +96,7 @@ 	cmdline.c common.c console.c disk_io.c fsys_ext2fs.c \ 	fsys_fat.c fsys_ntfs.c fsys_ffs.c fsys_iso9660.c fsys_jfs.c fsys_minix.c \ 	fsys_reiserfs.c fsys_ufs2.c fsys_vstafs.c fsys_xfs.c gunzip.c \-	hercules.c md5.c serial.c smp-imps.c stage2.c terminfo.c tparm.c+	hercules.c md5.c serial.c smp-imps.c stage2.c terminfo.c tparm.c graphics.c pre_stage2_exec_CFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS) pre_stage2_exec_CCASFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS) pre_stage2_exec_LDFLAGS = $(PRE_STAGE2_LINK)diff -Naur grub-0.97_emulation/stage2/shared.h grub-0.97_splash/stage2/shared.h--- grub-0.97_emulation/stage2/shared.h	2006-10-24 12:28:51.000000000 +0800+++ grub-0.97_splash/stage2/shared.h	2006-10-24 12:28:51.000000000 +0800@@ -948,6 +948,7 @@ int grub_tolower (int c); int grub_isspace (int c); int grub_strncat (char *s1, const char *s2, int n);+void *grub_memcpy (void *to, const void *from, unsigned int n); void *grub_memmove (void *to, const void *from, int len); void *grub_memset (void *start, int c, int len); int grub_strncat (char *s1, const char *s2, int n);diff -Naur grub-0.97_emulation/stage2/stage2.c grub-0.97_splash/stage2/stage2.c--- grub-0.97_emulation/stage2/stage2.c	2006-10-24 12:28:51.000000000 +0800+++ grub-0.97_splash/stage2/stage2.c	2006-10-24 12:28:51.000000000 +0800@@ -244,6 +244,7 @@ {   int c, time1, time2 = -1, first_entry = 0;   char *cur_entry = 0;+  struct term_entry *prev_term = NULL;    /*    *  Main loop for menu UI.@@ -733,6 +734,15 @@      cls ();   setcursor (1);+  /* if our terminal needed initialization, we should shut it down+   * before booting the kernel, but we want to save what it was so+   * we can come back if needed */+  prev_term = current_term;+  if (current_term->shutdown) +    {+      (*current_term->shutdown)();+      current_term = term_table; /* assumption: console is first */+    }      while (1)     {@@ -767,6 +777,13 @@ 	break;     } +  /* if we get back here, we should go back to what our term was before */+  current_term = prev_term;+  if (current_term->startup)+      /* if our terminal fails to initialize, fall back to console since+       * it should always work */+      if ((*current_term->startup)() == 0)+          current_term = term_table; /* we know that console is first */   show_menu = 1;   goto restart; }@@ -1222,6 +1239,10 @@ #endif /* GRUB_UTIL */ 	} +      /* go ahead and make sure the terminal is setup */+      if (current_term->startup)+	(*current_term->startup)();+       if (! num_entries) 	{ 	  /* If no acceptable config file, goto command-line, startingdiff -Naur grub-0.97_emulation/stage2/term.h grub-0.97_splash/stage2/term.h--- grub-0.97_emulation/stage2/term.h	2003-07-09 19:45:53.000000000 +0800+++ grub-0.97_splash/stage2/term.h	2006-10-24 12:28:51.000000000 +0800@@ -60,6 +60,8 @@   const char *name;   /* The feature flags defined above.  */   unsigned long flags;+  /* Default for maximum number of lines if not specified */+  unsigned short max_lines;   /* Put a character.  */   void (*putchar) (int c);   /* Check if any input character is available.  */@@ -79,6 +81,11 @@   void (*setcolor) (int normal_color, int highlight_color);   /* Turn on/off the cursor.  */   int (*setcursor) (int on);++  /* function to start a terminal */+  int (*startup) (void);+  /* function to use to shutdown a terminal */+  void (*shutdown) (void); };  /* This lists up available terminals.  */@@ -124,4 +131,23 @@ int hercules_setcursor (int on); #endif +#ifdef SUPPORT_GRAPHICS+extern int foreground, background, border, graphics_inited;++void graphics_set_splash(char *splashfile);+int set_videomode (int mode);+void graphics_putchar (int c);+int graphics_getxy(void);+void graphics_gotoxy(int x, int y);+void graphics_cls(void);+void graphics_setcolorstate (color_state state);+void graphics_setcolor (int normal_color, int highlight_color);+int graphics_setcursor (int on);+int graphics_init(void);+void graphics_end(void);++int hex(int v);+void graphics_set_palette(int idx, int red, int green, int blue);+#endif /* SUPPORT_GRAPHICS */+ #endif /* ! GRUB_TERM_HEADER */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷综合久久久久中文| 色偷偷88欧美精品久久久| 国产激情精品久久久第一区二区| av在线综合网| 精品国产一区久久| 亚洲狼人国产精品| 国产精品自拍av| 欧美日韩的一区二区| 亚洲欧洲国产日韩| 精品亚洲porn| 欧美日韩高清影院| 亚洲靠逼com| 成人中文字幕合集| 26uuu亚洲综合色| 免费高清成人在线| 欧美日韩一二区| 亚洲综合色噜噜狠狠| 99久久99久久精品免费观看| 精品国产成人系列| 麻豆国产一区二区| 91精品婷婷国产综合久久竹菊| 蜜桃av一区二区| 欧美日本一区二区三区四区 | 欧美丰满美乳xxx高潮www| 国产精品麻豆视频| 处破女av一区二区| 久久久久久久久久电影| 奇米777欧美一区二区| 在线播放91灌醉迷j高跟美女 | 精品久久人人做人人爽| 亚洲va欧美va人人爽午夜| 色婷婷久久一区二区三区麻豆| 国产精品卡一卡二| 91毛片在线观看| 亚洲狠狠丁香婷婷综合久久久| 白白色 亚洲乱淫| 国产精品国产三级国产普通话蜜臀| 国产成人自拍在线| 中文一区二区完整视频在线观看| 国产精品77777竹菊影视小说| 精品日韩99亚洲| 国产一区二区网址| 国产精品美女久久福利网站| 国产91精品精华液一区二区三区 | 国产欧美日韩在线观看| 国产高清在线精品| 国产精品每日更新| 99视频精品免费视频| 亚洲色图20p| 欧美日韩国产精选| 精品一区二区三区视频| 久久一区二区三区四区| 丁香另类激情小说| 亚洲精品菠萝久久久久久久| 欧美视频一区二区在线观看| 偷拍日韩校园综合在线| 日韩免费观看高清完整版在线观看| 男人的天堂久久精品| 久久男人中文字幕资源站| 成人一级视频在线观看| 亚洲最大成人综合| 欧美一二三区在线观看| 99久久精品国产一区| 亚洲乱码国产乱码精品精98午夜| 欧美美女bb生活片| 国产·精品毛片| 亚洲国产精品一区二区www| 精品日韩欧美在线| 91麻豆免费观看| 久久国产精品色婷婷| 中文字幕免费不卡在线| 在线播放欧美女士性生活| 国产在线精品不卡| 亚洲网友自拍偷拍| 国产精品蜜臀在线观看| 6080午夜不卡| 99国产精品一区| 久久机这里只有精品| 亚洲精品免费播放| 26uuu国产电影一区二区| 色婷婷精品久久二区二区蜜臂av| 另类调教123区| 亚洲欧美日韩精品久久久久| 日韩欧美一级片| 欧美专区日韩专区| 粉嫩绯色av一区二区在线观看| 国产精品久久三区| 日本中文字幕不卡| 欧美韩国日本一区| 日韩一区和二区| 色妞www精品视频| 国产成人啪免费观看软件| 亚洲成va人在线观看| 成人免费在线播放视频| 久久久久久久久岛国免费| 欧美精品乱码久久久久久| 一本大道久久a久久精二百 | 欧美三级中文字幕| av不卡免费电影| 91国偷自产一区二区开放时间| 国产一区二区电影| 久久国产精品第一页| 婷婷激情综合网| 亚洲午夜久久久久久久久久久 | 国产精品一区二区在线观看不卡| 午夜久久电影网| 国产免费成人在线视频| 欧美国产1区2区| 欧美一区日本一区韩国一区| 91在线云播放| 99精品欧美一区二区三区小说 | 欧美日韩一区国产| 色哟哟国产精品免费观看| 成人国产亚洲欧美成人综合网| 精品一区二区三区久久| 麻豆专区一区二区三区四区五区| 香蕉加勒比综合久久| 一区二区三区久久| 亚洲一区二区三区中文字幕在线 | 性做久久久久久免费观看| 一区二区视频在线看| 亚洲激情中文1区| 夜夜嗨av一区二区三区网页| 一区二区在线观看视频| 国产精品中文字幕一区二区三区| 日本系列欧美系列| 欧美夫妻性生活| 日本道色综合久久| 91久久久免费一区二区| 在线免费观看成人短视频| 欧美视频精品在线观看| 在线成人免费观看| 欧美成人一区二区三区在线观看| 精品免费一区二区三区| 国产亚洲一区二区三区在线观看| 久久久国际精品| 成人欧美一区二区三区视频网页| 中文字幕欧美一| 午夜不卡av在线| 国产综合久久久久久鬼色| 成人免费视频一区| 在线观看欧美精品| 欧美大片一区二区| 国产精品麻豆一区二区| 亚洲五月六月丁香激情| 美女网站一区二区| 波多野结衣亚洲一区| 欧美视频一区在线| 久久久精品2019中文字幕之3| 中文字幕在线一区免费| 午夜视频一区在线观看| 国产精品一区在线| 欧美午夜精品久久久| 精品久久久久久久久久久院品网| 国产视频一区在线观看| 亚洲国产精品久久不卡毛片| 免费美女久久99| 色综合欧美在线视频区| 日韩欧美国产精品| 一级做a爱片久久| 国产一区二区免费在线| 欧美丝袜丝nylons| 国产人久久人人人人爽| 日韩电影免费在线| 97se亚洲国产综合自在线观| 欧美一卡二卡三卡四卡| 亚洲激情图片小说视频| 久久国产精品第一页| 欧美系列亚洲系列| 国产精品九色蝌蚪自拍| 久久精品国产亚洲a| 欧美性大战久久久久久久| 国产精品乱码一区二区三区软件| 免费在线视频一区| 欧美午夜精品一区二区蜜桃| 国产日韩欧美不卡| 精品一区二区影视| 91精品啪在线观看国产60岁| 自拍偷拍国产精品| 粉嫩av一区二区三区| 欧美mv和日韩mv国产网站| 亚洲成人av资源| 色94色欧美sute亚洲线路二| 国产三级精品在线| 精品亚洲免费视频| 日韩一区二区免费电影| 日韩中文字幕麻豆| 欧美优质美女网站| 亚洲精品国久久99热| 东方aⅴ免费观看久久av| 久久久久久久久免费| 久草精品在线观看| 精品日韩99亚洲| 久久91精品久久久久久秒播| 日韩午夜激情免费电影| 免费看黄色91| 日韩精品最新网址| 久久99国产乱子伦精品免费| 日韩手机在线导航| 久久国产精品区|