summaryrefslogtreecommitdiffstats
path: root/sys/dev/syscons
diff options
context:
space:
mode:
authornyan <nyan@FreeBSD.org>2003-07-21 13:04:54 +0000
committernyan <nyan@FreeBSD.org>2003-07-21 13:04:54 +0000
commit43111ba8b711c4b59ef78537a8605f599b9721d8 (patch)
tree54cf9d9ea781d1ffe2fd1ccbdbdbbb81db87a567 /sys/dev/syscons
parentab4ffb50537c1b0b66cb690e2f8166a00713bd45 (diff)
downloadFreeBSD-src-43111ba8b711c4b59ef78537a8605f599b9721d8.zip
FreeBSD-src-43111ba8b711c4b59ef78537a8605f599b9721d8.tar.gz
Use the clear function provided by the video adapter driver.
Submitted by: chi@bd.mbn.or.jp (Chiharu Shibata)
Diffstat (limited to 'sys/dev/syscons')
-rw-r--r--sys/dev/syscons/dragon/dragon_saver.c20
-rw-r--r--sys/dev/syscons/fire/fire_saver.c7
-rw-r--r--sys/dev/syscons/logo/logo_saver.c7
-rw-r--r--sys/dev/syscons/warp/warp_saver.c7
4 files changed, 7 insertions, 34 deletions
diff --git a/sys/dev/syscons/dragon/dragon_saver.c b/sys/dev/syscons/dragon/dragon_saver.c
index f157e9c..f8fa51b 100644
--- a/sys/dev/syscons/dragon/dragon_saver.c
+++ b/sys/dev/syscons/dragon/dragon_saver.c
@@ -122,24 +122,6 @@ gdraw(int dx, int dy, int val)
}
static void
-gcls(void)
-{
-#ifdef PC98
- outb(0x7c, 0x80); /* GRCG on & TDW mode */
- outb(0x7e, 0); /* tile B */
- outb(0x7e, 0); /* tile R */
- outb(0x7e, 0); /* tile G */
- outb(0x7e, 0); /* tile I */
-
- fillw(0, vid, 0x8000);
-
- outb(0x7c, 0); /* GRCG off */
-#else
- bzero(vid, SCRW*SCRH);
-#endif
-}
-
-static void
dragon_update(video_adapter_t *adp)
{
static int i, p, q;
@@ -153,7 +135,7 @@ dragon_update(video_adapter_t *adp)
int tmp;
if (curve > CURVE) {
- gcls();
+ (*vidsw[adp->va_index]->clear)(adp);
/* set palette of each curves */
for (tmp = 0; tmp < 3*CURVE; ++tmp) {
diff --git a/sys/dev/syscons/fire/fire_saver.c b/sys/dev/syscons/fire/fire_saver.c
index 2cdee0b..0bc031c 100644
--- a/sys/dev/syscons/fire/fire_saver.c
+++ b/sys/dev/syscons/fire/fire_saver.c
@@ -105,7 +105,7 @@ fire_update(video_adapter_t *adp)
static int
fire_saver(video_adapter_t *adp, int blank)
{
- int i, pl;
+ int pl;
if (blank) {
/* switch to graphics mode */
@@ -118,10 +118,7 @@ fire_saver(video_adapter_t *adp, int blank)
banksize = adp->va_window_size;
bpsl = adp->va_line_width;
splx(pl);
- for (i = 0; i < bpsl * scrh; i += banksize) {
- set_origin(adp, i);
- bzero(vid, banksize);
- }
+ (*vidsw[adp->va_index]->clear)(adp);
}
fire_update(adp);
} else {
diff --git a/sys/dev/syscons/logo/logo_saver.c b/sys/dev/syscons/logo/logo_saver.c
index 1d4269a..0a75886 100644
--- a/sys/dev/syscons/logo/logo_saver.c
+++ b/sys/dev/syscons/logo/logo_saver.c
@@ -101,7 +101,7 @@ logo_update(video_adapter_t *adp)
static int
logo_saver(video_adapter_t *adp, int blank)
{
- int i, pl;
+ int pl;
if (blank) {
/* switch to graphics mode */
@@ -115,10 +115,7 @@ logo_saver(video_adapter_t *adp, int blank)
banksize = adp->va_window_size;
bpsl = adp->va_line_width;
splx(pl);
- for (i = 0; i < bpsl * scrh; i += banksize) {
- set_origin(adp, i);
- bzero(vid, banksize);
- }
+ (*vidsw[adp->va_index]->clear)(adp);
}
logo_update(adp);
} else {
diff --git a/sys/dev/syscons/warp/warp_saver.c b/sys/dev/syscons/warp/warp_saver.c
index c14b6b1..050790d 100644
--- a/sys/dev/syscons/warp/warp_saver.c
+++ b/sys/dev/syscons/warp/warp_saver.c
@@ -90,7 +90,7 @@ warp_update(video_adapter_t *adp)
static int
warp_saver(video_adapter_t *adp, int blank)
{
- int i, pl;
+ int pl;
if (blank) {
/* switch to graphics mode */
@@ -104,10 +104,7 @@ warp_saver(video_adapter_t *adp, int blank)
banksize = adp->va_window_size;
bpsl = adp->va_line_width;
splx(pl);
- for (i = 0; i < bpsl * scrh; i += banksize) {
- set_origin(adp, i);
- bzero(vid, banksize);
- }
+ (*vidsw[adp->va_index]->clear)(adp);
}
/* update display */
warp_update(adp);
OpenPOWER on IntegriCloud