Blame |
Last modification |
View Log
| RSS feed
/* 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"
#include "driver.h"
int vga_clear
(void)
{
vga_screenoff
();
if (MODEX
)
goto modeX
;
switch (CM
) {
case G320x200x256
:
case G320x240x256
:
case G320x400x256
:
case G360x480x256
:
case G400x300x256X
:
modeX
:
/* write to all planes */
__svgalib_outseq
(0x02,0x0f);
/* clear video memory */
memset(GM
, 0, 65536);
break;
default:
switch (CI.
colors) {
case 2:
case 16:
vga_setcolor
(0);
/* write to all bits */
__svgalib_outseq
(0x08,0xff);
default:
{
int i
;
int pages
= (CI.
ydim * CI.
xbytes + 65535) >> 16;
if (__svgalib_modeinfo_linearset
& IS_LINEAR
) {
memset(LINEAR_POINTER
, 0, pages
<<16);
} else {
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;
}