home *** CD-ROM | disk | FTP | other *** search
- /* VGAlib version 1.2 - (c) 1993 Tommy Frandsen */
- /* */
- /* This library is free software; you can redistribute it and/or */
- /* modify it without any restrictions. This library is distributed */
- /* in the hope that it will be useful, but without any warranty. */
-
- /* Multi-chipset support Copyright 1993 Harm Hanemaayer */
- /* partially copyrighted (C) 1993 by Hartmut Schirmer */
-
- #include <stdio.h>
- #include <string.h>
- #include "vga.h"
- #include "libvga.h"
-
- int vga_clear()
- {
- vga_screenoff();
-
- if (MODEX) goto modeX;
- switch (CM) {
- case G320x200x256 :
- case G320x240x256 :
- case G320x400x256 :
- case G360x480x256 :
- modeX:
- /* write to all planes */
- port_out(0x02, SEQ_I );
- port_out(0x0F, SEQ_D );
-
- /* clear video memory */
- memset(GM, 0, 65536);
- break;
-
- default:
- switch (CI.colors) {
- case 2 :
- case 16 :
- vga_setcolor(0);
-
- /* write to all bits */
- port_out(0x08, GRA_I );
- port_out(0xFF, GRA_D );
-
- default :
- {
- int i;
- int pages = (CI.ydim * CI.xbytes + 65535) >> 16;
-
- for (i = 0; i < pages; ++i) {
- vga_setpage(i);
-
- /* clear video memory */
- memset(GM, 0, 65536);
- }
- }
- break;
- }
- break;
- }
-
- vga_setcolor(15);
-
- vga_screenon();
-
- return 0;
- }
-
-