Incorporated lots of fixes and suggestions from Bruce and changes to
facilitate the new saver loading/unloading notification interface in syscons. daemon_saver: - M_NOWAIT was wrong, since NULL returns are not handled. Just use M_WAITOK. - use `ostype' instead of hard-coded "FreeBSD". Now there is no more hard-coded string! (But, who will run this screen saver on other OS?!) - put macros and data declarations in a consistent order. - -DDEAMON_ONLY and -DSHOW_HOSTNAME options added in the previous commit are removed. Options of this kind can go stale and no one notices because no one uses them. DEAMON_ONLY is just removed. SHOW_HOSTNAME is made default. snake_saver: - use `ostype' and `osrelease' as in the daemon saver. The string changes slightly - there was a hyphen after "FreeBSD"; now there is a space. (It is consistent with uname -a, like the daemon server already is.) all screen savers: - Use the new add_scrn_saver()/remove_scrn_saver() in syscons.c to declare loading/unloading of a screen saver. Removed reference to `current_saver' and the variable `old_saver' as they are not necessary anymore. - The blank, fade and green screen savers manipulate VGA registers. Module loading should fail for non-VGA cards. - `scrn_blanked' is consistently treated as a number/counter rather than boolean. - Some savers touch `scp->start' and `scp->end' to force entire screen update when stopping themselves. This is unnecessary now because syscons.c takes care of that. - cleared up many unused or unnecessary #include statements. - Removed -DLKM from Makefiles. YOU NEED TO RECOMPILE BOTH SCREEN SAVERS AND KERNEL AS OF THIS CHANGE.
This commit is contained in:
parent
870521063a
commit
ce834215a7
@ -1,9 +1,9 @@
|
||||
# $Id$
|
||||
# $Id: Makefile,v 1.5 1997/02/22 12:49:02 peter Exp $
|
||||
|
||||
KMOD= blank_saver_mod
|
||||
SRCS= blank_saver.c
|
||||
|
||||
NOMAN=
|
||||
CFLAGS+= -DLKM -I${.CURDIR}/.. -I${.CURDIR}/../../../sys
|
||||
CFLAGS+= -I${.CURDIR}/.. -I${.CURDIR}/../../../sys
|
||||
|
||||
.include <bsd.kmod.mk>
|
||||
|
@ -25,23 +25,21 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: blank_saver.c,v 1.8 1997/02/22 12:49:06 peter Exp $
|
||||
* $Id: blank_saver.c,v 1.9 1997/04/06 10:48:10 dufault Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/conf.h>
|
||||
#include <sys/exec.h>
|
||||
#include <sys/sysent.h>
|
||||
#include <sys/lkm.h>
|
||||
#include <sys/errno.h>
|
||||
|
||||
#include <i386/isa/isa.h>
|
||||
|
||||
#include <saver.h>
|
||||
|
||||
MOD_MISC(blank_saver);
|
||||
|
||||
void (*current_saver)(int blank);
|
||||
void (*old_saver)(int blank);
|
||||
|
||||
static void
|
||||
blank_saver(int blank)
|
||||
{
|
||||
@ -61,18 +59,15 @@ blank_saver(int blank)
|
||||
static int
|
||||
blank_saver_load(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
old_saver = current_saver;
|
||||
current_saver = blank_saver;
|
||||
return 0;
|
||||
if (!crtc_vga)
|
||||
return EINVAL;
|
||||
return add_scrn_saver(blank_saver);
|
||||
}
|
||||
|
||||
static int
|
||||
blank_saver_unload(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
current_saver = old_saver;
|
||||
return 0;
|
||||
return remove_scrn_saver(blank_saver);
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -1,15 +1,9 @@
|
||||
# $Id: Makefile,v 1.1 1997/05/21 14:18:26 yokota Exp $
|
||||
# $Id: Makefile,v 1.2 1997/06/24 12:43:18 yokota Exp $
|
||||
|
||||
KMOD= daemon_saver_mod
|
||||
SRCS= daemon_saver.c
|
||||
|
||||
NOMAN=
|
||||
CFLAGS+= -DLKM -I${.CURDIR}/.. -I${.CURDIR}/../../../sys
|
||||
|
||||
# Omits the bouncing message text and shows only the daemon.
|
||||
#CFLAGS+= -DDAEMON_ONLY
|
||||
|
||||
# Includes the host name in the message text.
|
||||
#CFLAGS+= -DSHOW_HOSTNAME
|
||||
CFLAGS+= -I${.CURDIR}/.. -I${.CURDIR}/../../../sys
|
||||
|
||||
.include <bsd.kmod.mk>
|
||||
|
@ -25,28 +25,22 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: daemon_saver.c,v 1.4 1997/05/26 01:02:41 yokota Exp $
|
||||
* $Id: daemon_saver.c,v 1.5 1997/06/24 12:43:18 yokota Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/conf.h>
|
||||
#include <sys/exec.h>
|
||||
#include <sys/sysent.h>
|
||||
#include <sys/lkm.h>
|
||||
#include <sys/errno.h>
|
||||
#include <sys/malloc.h>
|
||||
#include <sys/kernel.h>
|
||||
#include <sys/sysctl.h>
|
||||
#include <sys/malloc.h>
|
||||
|
||||
#include <machine/md_var.h>
|
||||
#include <i386/include/pc/display.h>
|
||||
|
||||
#include "saver.h"
|
||||
|
||||
MOD_MISC(daemon_saver);
|
||||
|
||||
void (*current_saver)(int blank);
|
||||
void (*old_saver)(int blank);
|
||||
#include <saver.h>
|
||||
|
||||
#define CONSOLE_VECT(x, y) \
|
||||
*((u_short*)(Crtat + (y)*cur_console->xsize + (x)))
|
||||
@ -54,10 +48,10 @@ void (*old_saver)(int blank);
|
||||
#define DAEMON_MAX_WIDTH 32
|
||||
#define DAEMON_MAX_HEIGHT 19
|
||||
|
||||
/*
|
||||
* Define this to disable the bouncing text.
|
||||
*/
|
||||
#undef DAEMON_ONLY
|
||||
MOD_MISC(daemon_saver);
|
||||
|
||||
static char *message;
|
||||
static int messagelen;
|
||||
|
||||
/* Who is the author of this ASCII pic? */
|
||||
|
||||
@ -152,10 +146,6 @@ draw_daemon(int xpos, int ypos, int dxdir)
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef DAEMON_ONLY
|
||||
static char *message;
|
||||
static int messagelen;
|
||||
|
||||
static void
|
||||
draw_string(int xpos, int ypos, char *s, int len)
|
||||
{
|
||||
@ -165,15 +155,12 @@ draw_string(int xpos, int ypos, char *s, int len)
|
||||
CONSOLE_VECT(xpos + x, ypos) =
|
||||
scr_map[s[x]]|(FG_LIGHTGREEN|BG_BLACK)<<8;
|
||||
}
|
||||
#endif
|
||||
|
||||
static void
|
||||
daemon_saver(int blank)
|
||||
{
|
||||
#ifndef DAEMON_ONLY
|
||||
static int txpos = 10, typos = 10;
|
||||
static int txdir = -1, tydir = -1;
|
||||
#endif
|
||||
static int dxpos = 0, dypos = 0;
|
||||
static int dxdir = 1, dydir = 1;
|
||||
static int moved_daemon = 0;
|
||||
@ -204,7 +191,6 @@ daemon_saver(int blank)
|
||||
dxpos += dxdir; dypos += dydir;
|
||||
}
|
||||
|
||||
#ifndef DAEMON_ONLY
|
||||
if (txdir > 0) {
|
||||
if (txpos == scp->xsize - messagelen)
|
||||
txdir = -1;
|
||||
@ -218,18 +204,13 @@ daemon_saver(int blank)
|
||||
if (typos == 0) tydir = 1;
|
||||
}
|
||||
txpos += txdir; typos += tydir;
|
||||
#endif
|
||||
|
||||
draw_daemon(dxpos, dypos, dxdir);
|
||||
#ifndef DAEMON_ONLY
|
||||
draw_string(txpos, typos, (char *)message, messagelen);
|
||||
#endif
|
||||
} else {
|
||||
if (scrn_blanked) {
|
||||
if (scrn_blanked > 0) {
|
||||
set_border(scp->border);
|
||||
scrn_blanked = 0;
|
||||
scp->start = 0;
|
||||
scp->end = scp->xsize * scp->ysize;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -237,36 +218,28 @@ daemon_saver(int blank)
|
||||
static int
|
||||
daemon_saver_load(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
#ifdef SHOW_HOSTNAME
|
||||
static const char *freebsd = " - FreeBSD ";
|
||||
#else
|
||||
static const char *freebsd = "FreeBSD ";
|
||||
#endif /* SHOW_HOSTNAME */
|
||||
int err;
|
||||
|
||||
(*current_saver)(0);
|
||||
old_saver = current_saver;
|
||||
current_saver = daemon_saver;
|
||||
messagelen = strlen(hostname) + 3 + strlen(ostype) + 1 +
|
||||
strlen(osrelease);
|
||||
message = malloc(messagelen + 1, M_DEVBUF, M_WAITOK);
|
||||
sprintf(message, "%s - %s %s", hostname, ostype, osrelease);
|
||||
|
||||
#ifdef SHOW_HOSTNAME
|
||||
messagelen = strlen(hostname) + strlen(freebsd) + strlen(osrelease);
|
||||
message = malloc(messagelen + 1, M_DEVBUF, M_NOWAIT);
|
||||
sprintf(message, "%s%s%s", hostname, freebsd, osrelease);
|
||||
#else
|
||||
messagelen = strlen(freebsd) + strlen(osrelease);
|
||||
message = malloc(messagelen + 1, M_DEVBUF, M_NOWAIT);
|
||||
sprintf(message, "%s%s", freebsd, osrelease);
|
||||
#endif /* SHOW_HOSTNAME */
|
||||
return 0;
|
||||
err = add_scrn_saver(daemon_saver);
|
||||
if (err != 0)
|
||||
free(message, M_DEVBUF);
|
||||
return err;
|
||||
}
|
||||
|
||||
static int
|
||||
daemon_saver_unload(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
current_saver = old_saver;
|
||||
int err;
|
||||
|
||||
free(message, M_DEVBUF);
|
||||
return 0;
|
||||
err = remove_scrn_saver(daemon_saver);
|
||||
if (err == 0)
|
||||
free(message, M_DEVBUF);
|
||||
return err;
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -1,9 +1,9 @@
|
||||
# $Id$
|
||||
# $Id: Makefile,v 1.5 1997/02/22 12:49:09 peter Exp $
|
||||
|
||||
KMOD= fade_saver_mod
|
||||
SRCS= fade_saver.c
|
||||
|
||||
NOMAN=
|
||||
CFLAGS+= -DLKM -I${.CURDIR}/.. -I${.CURDIR}/../../../sys
|
||||
CFLAGS+= -I${.CURDIR}/.. -I${.CURDIR}/../../../sys
|
||||
|
||||
.include <bsd.kmod.mk>
|
||||
|
@ -25,23 +25,21 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: fade_saver.c,v 1.9 1997/02/22 12:49:10 peter Exp $
|
||||
* $Id: fade_saver.c,v 1.10 1997/04/06 10:48:18 dufault Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/conf.h>
|
||||
#include <sys/exec.h>
|
||||
#include <sys/sysent.h>
|
||||
#include <sys/lkm.h>
|
||||
#include <sys/errno.h>
|
||||
|
||||
#include <i386/isa/isa.h>
|
||||
|
||||
#include <saver.h>
|
||||
|
||||
MOD_MISC(fade_saver);
|
||||
|
||||
void (*current_saver)(int blank);
|
||||
void (*old_saver)(int blank);
|
||||
|
||||
static void
|
||||
fade_saver(int blank)
|
||||
{
|
||||
@ -76,18 +74,15 @@ fade_saver(int blank)
|
||||
static int
|
||||
fade_saver_load(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
old_saver = current_saver;
|
||||
current_saver = fade_saver;
|
||||
return 0;
|
||||
if (!crtc_vga)
|
||||
return EINVAL;
|
||||
return add_scrn_saver(fade_saver);
|
||||
}
|
||||
|
||||
static int
|
||||
fade_saver_unload(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
current_saver = old_saver;
|
||||
return 0;
|
||||
return remove_scrn_saver(fade_saver);
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -1,9 +1,9 @@
|
||||
# $Id$
|
||||
# $Id: Makefile,v 1.5 1997/02/22 12:49:13 peter Exp $
|
||||
|
||||
KMOD= green_saver_mod
|
||||
SRCS= green_saver.c
|
||||
|
||||
NOMAN=
|
||||
CFLAGS+= -DLKM -I${.CURDIR}/.. -I${.CURDIR}/../../../sys
|
||||
CFLAGS+= -I${.CURDIR}/.. -I${.CURDIR}/../../../sys
|
||||
|
||||
.include <bsd.kmod.mk>
|
||||
|
@ -25,23 +25,21 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: green_saver.c,v 1.8 1997/02/22 12:49:15 peter Exp $
|
||||
* $Id: green_saver.c,v 1.9 1997/04/06 10:49:13 dufault Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/conf.h>
|
||||
#include <sys/exec.h>
|
||||
#include <sys/sysent.h>
|
||||
#include <sys/lkm.h>
|
||||
#include <sys/errno.h>
|
||||
|
||||
#include <i386/isa/isa.h>
|
||||
|
||||
#include <saver.h>
|
||||
|
||||
MOD_MISC(green_saver);
|
||||
|
||||
void (*current_saver)(int blank);
|
||||
void (*old_saver)(int blank);
|
||||
|
||||
static void
|
||||
green_saver(int blank)
|
||||
{
|
||||
@ -65,18 +63,15 @@ green_saver(int blank)
|
||||
static int
|
||||
green_saver_load(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
old_saver = current_saver;
|
||||
current_saver = green_saver;
|
||||
return 0;
|
||||
if (!crtc_vga)
|
||||
return EINVAL;
|
||||
return add_scrn_saver(green_saver);
|
||||
}
|
||||
|
||||
static int
|
||||
green_saver_unload(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
current_saver = old_saver;
|
||||
return 0;
|
||||
return remove_scrn_saver(green_saver);
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -25,18 +25,12 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: saver.h,v 1.7 1997/02/22 12:49:00 peter Exp $
|
||||
* $Id: saver.h,v 1.8 1997/05/21 14:18:00 yokota Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/tty.h>
|
||||
#include <i386/include/pc/display.h>
|
||||
#include <i386/include/console.h>
|
||||
#include <i386/include/apm_bios.h>
|
||||
#include <i386/i386/cons.h>
|
||||
#include <i386/isa/isa.h>
|
||||
#include <i386/isa/isa_device.h>
|
||||
#include <machine/apm_bios.h>
|
||||
#include <machine/console.h>
|
||||
|
||||
#include <i386/isa/syscons.h>
|
||||
|
||||
extern scr_stat *cur_console;
|
||||
|
@ -1,9 +1,9 @@
|
||||
# $Id$
|
||||
# $Id: Makefile,v 1.5 1997/02/22 12:49:18 peter Exp $
|
||||
|
||||
KMOD= snake_saver_mod
|
||||
SRCS= snake_saver.c
|
||||
|
||||
NOMAN=
|
||||
CFLAGS+= -DLKM -I${.CURDIR}/.. -I${.CURDIR}/../../../sys
|
||||
CFLAGS+= -I${.CURDIR}/.. -I${.CURDIR}/../../../sys
|
||||
|
||||
.include <bsd.kmod.mk>
|
||||
|
@ -25,47 +25,52 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: snake_saver.c,v 1.13 1997/02/22 12:49:19 peter Exp $
|
||||
* $Id: snake_saver.c,v 1.14 1997/04/06 10:49:22 dufault Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/conf.h>
|
||||
#include <sys/exec.h>
|
||||
#include <sys/sysent.h>
|
||||
#include <sys/lkm.h>
|
||||
#include <sys/errno.h>
|
||||
#include <sys/malloc.h>
|
||||
#include <sys/kernel.h>
|
||||
#include <sys/sysctl.h>
|
||||
|
||||
#include <machine/md_var.h>
|
||||
#include <i386/include/pc/display.h>
|
||||
|
||||
#include "saver.h"
|
||||
#include <saver.h>
|
||||
|
||||
MOD_MISC(snake_saver);
|
||||
|
||||
void (*current_saver)(int blank);
|
||||
void (*old_saver)(int blank);
|
||||
static char *message;
|
||||
static u_char **messagep;
|
||||
static int messagelen;
|
||||
|
||||
static void
|
||||
snake_saver(int blank)
|
||||
{
|
||||
const char saves[] = {"FreeBSD-3.0-CURRENT"};
|
||||
static u_char *savs[sizeof(saves)-1];
|
||||
static int dirx, diry;
|
||||
int f;
|
||||
scr_stat *scp = cur_console;
|
||||
|
||||
/* XXX hack for minimal changes. */
|
||||
#define save message
|
||||
#define savs messagep
|
||||
|
||||
if (blank) {
|
||||
if (!scrn_blanked) {
|
||||
if (scrn_blanked <= 0) {
|
||||
fillw((FG_LIGHTGREY|BG_BLACK)<<8 | scr_map[0x20],
|
||||
Crtat, scp->xsize * scp->ysize);
|
||||
set_border(0);
|
||||
dirx = (scp->xpos ? 1 : -1);
|
||||
diry = (scp->ypos ?
|
||||
scp->xsize : -scp->xsize);
|
||||
for (f=0; f< sizeof(saves)-1; f++)
|
||||
for (f=0; f< messagelen; f++)
|
||||
savs[f] = (u_char *)Crtat + 2 *
|
||||
(scp->xpos+scp->ypos*scp->xsize);
|
||||
*(savs[0]) = scr_map[*saves];
|
||||
*(savs[0]) = scr_map[*save];
|
||||
f = scp->ysize * scp->xsize + 5;
|
||||
outb(crtc_addr, 14);
|
||||
outb(crtc_addr+1, f >> 8);
|
||||
@ -76,8 +81,8 @@ snake_saver(int blank)
|
||||
if (scrn_blanked++ < 4)
|
||||
return;
|
||||
scrn_blanked = 1;
|
||||
*(savs[sizeof(saves)-2]) = scr_map[0x20];
|
||||
for (f=sizeof(saves)-2; f > 0; f--)
|
||||
*(savs[messagelen-1]) = scr_map[0x20];
|
||||
for (f=messagelen-1; f > 0; f--)
|
||||
savs[f] = savs[f-1];
|
||||
f = (savs[0] - (u_char *)Crtat) / 2;
|
||||
if ((f % scp->xsize) == 0 ||
|
||||
@ -89,15 +94,13 @@ snake_saver(int blank)
|
||||
(random() % 20) == 0)
|
||||
diry = -diry;
|
||||
savs[0] += 2*dirx + 2*diry;
|
||||
for (f=sizeof(saves)-2; f>=0; f--)
|
||||
*(savs[f]) = scr_map[saves[f]];
|
||||
for (f=messagelen-1; f>=0; f--)
|
||||
*(savs[f]) = scr_map[save[f]];
|
||||
}
|
||||
else {
|
||||
if (scrn_blanked) {
|
||||
if (scrn_blanked > 0) {
|
||||
set_border(scp->border);
|
||||
scrn_blanked = 0;
|
||||
scp->start = 0;
|
||||
scp->end = scp->xsize * scp->ysize;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -105,18 +108,32 @@ snake_saver(int blank)
|
||||
static int
|
||||
snake_saver_load(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
old_saver = current_saver;
|
||||
current_saver = snake_saver;
|
||||
return 0;
|
||||
int err;
|
||||
|
||||
messagelen = strlen(ostype) + 1 + strlen(osrelease);
|
||||
message = malloc(messagelen + 1, M_DEVBUF, M_WAITOK);
|
||||
sprintf(message, "%s %s", ostype, osrelease);
|
||||
messagep = malloc(messagelen * sizeof *messagep, M_DEVBUF, M_WAITOK);
|
||||
|
||||
err = add_scrn_saver(snake_saver);
|
||||
if (err != 0) {
|
||||
free(message, M_DEVBUF);
|
||||
free(messagep, M_DEVBUF);
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
||||
static int
|
||||
snake_saver_unload(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
current_saver = old_saver;
|
||||
return 0;
|
||||
int err;
|
||||
|
||||
err = remove_scrn_saver(snake_saver);
|
||||
if (err == 0) {
|
||||
free(message, M_DEVBUF);
|
||||
free(messagep, M_DEVBUF);
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -1,9 +1,9 @@
|
||||
# $Id$
|
||||
# $Id: Makefile,v 1.5 1997/02/22 12:49:21 peter Exp $
|
||||
|
||||
KMOD= star_saver_mod
|
||||
SRCS= star_saver.c
|
||||
|
||||
NOMAN=
|
||||
CFLAGS+= -DLKM -I${.CURDIR}/.. -I${.CURDIR}/../../../sys
|
||||
CFLAGS+= -I${.CURDIR}/.. -I${.CURDIR}/../../../sys
|
||||
|
||||
.include <bsd.kmod.mk>
|
||||
|
@ -25,26 +25,22 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: star_saver.c,v 1.10 1997/02/22 12:49:22 peter Exp $
|
||||
* $Id: star_saver.c,v 1.11 1997/04/06 11:07:01 dufault Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/conf.h>
|
||||
#include <sys/exec.h>
|
||||
#include <sys/sysent.h>
|
||||
#include <sys/lkm.h>
|
||||
#include <sys/errno.h>
|
||||
|
||||
#include <machine/md_var.h>
|
||||
#include <i386/include/pc/display.h>
|
||||
|
||||
#include "saver.h"
|
||||
#include <saver.h>
|
||||
|
||||
MOD_MISC(star_saver);
|
||||
|
||||
void (*current_saver)(int blank);
|
||||
void (*old_saver)(int blank);
|
||||
|
||||
#define NUM_STARS 50
|
||||
|
||||
/*
|
||||
@ -62,7 +58,7 @@ star_saver(int blank)
|
||||
static u_short stars[NUM_STARS][2];
|
||||
|
||||
if (blank) {
|
||||
if (!scrn_blanked) {
|
||||
if (scrn_blanked <= 0) {
|
||||
scrn_blanked = 1;
|
||||
fillw((FG_LIGHTGREY|BG_BLACK)<<8|scr_map[0x20], Crtat,
|
||||
scp->xsize * scp->ysize);
|
||||
@ -83,11 +79,9 @@ star_saver(int blank)
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (scrn_blanked) {
|
||||
if (scrn_blanked > 0) {
|
||||
set_border(scp->border);
|
||||
scrn_blanked = 0;
|
||||
scp->start = 0;
|
||||
scp->end = scp->xsize * scp->ysize;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -95,18 +89,13 @@ star_saver(int blank)
|
||||
static int
|
||||
star_saver_load(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
old_saver = current_saver;
|
||||
current_saver = star_saver;
|
||||
return 0;
|
||||
return add_scrn_saver(star_saver);
|
||||
}
|
||||
|
||||
static int
|
||||
star_saver_unload(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
current_saver = old_saver;
|
||||
return 0;
|
||||
return remove_scrn_saver(star_saver);
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -25,23 +25,21 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: blank_saver.c,v 1.8 1997/02/22 12:49:06 peter Exp $
|
||||
* $Id: blank_saver.c,v 1.9 1997/04/06 10:48:10 dufault Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/conf.h>
|
||||
#include <sys/exec.h>
|
||||
#include <sys/sysent.h>
|
||||
#include <sys/lkm.h>
|
||||
#include <sys/errno.h>
|
||||
|
||||
#include <i386/isa/isa.h>
|
||||
|
||||
#include <saver.h>
|
||||
|
||||
MOD_MISC(blank_saver);
|
||||
|
||||
void (*current_saver)(int blank);
|
||||
void (*old_saver)(int blank);
|
||||
|
||||
static void
|
||||
blank_saver(int blank)
|
||||
{
|
||||
@ -61,18 +59,15 @@ blank_saver(int blank)
|
||||
static int
|
||||
blank_saver_load(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
old_saver = current_saver;
|
||||
current_saver = blank_saver;
|
||||
return 0;
|
||||
if (!crtc_vga)
|
||||
return EINVAL;
|
||||
return add_scrn_saver(blank_saver);
|
||||
}
|
||||
|
||||
static int
|
||||
blank_saver_unload(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
current_saver = old_saver;
|
||||
return 0;
|
||||
return remove_scrn_saver(blank_saver);
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -25,28 +25,22 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: daemon_saver.c,v 1.4 1997/05/26 01:02:41 yokota Exp $
|
||||
* $Id: daemon_saver.c,v 1.5 1997/06/24 12:43:18 yokota Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/conf.h>
|
||||
#include <sys/exec.h>
|
||||
#include <sys/sysent.h>
|
||||
#include <sys/lkm.h>
|
||||
#include <sys/errno.h>
|
||||
#include <sys/malloc.h>
|
||||
#include <sys/kernel.h>
|
||||
#include <sys/sysctl.h>
|
||||
#include <sys/malloc.h>
|
||||
|
||||
#include <machine/md_var.h>
|
||||
#include <i386/include/pc/display.h>
|
||||
|
||||
#include "saver.h"
|
||||
|
||||
MOD_MISC(daemon_saver);
|
||||
|
||||
void (*current_saver)(int blank);
|
||||
void (*old_saver)(int blank);
|
||||
#include <saver.h>
|
||||
|
||||
#define CONSOLE_VECT(x, y) \
|
||||
*((u_short*)(Crtat + (y)*cur_console->xsize + (x)))
|
||||
@ -54,10 +48,10 @@ void (*old_saver)(int blank);
|
||||
#define DAEMON_MAX_WIDTH 32
|
||||
#define DAEMON_MAX_HEIGHT 19
|
||||
|
||||
/*
|
||||
* Define this to disable the bouncing text.
|
||||
*/
|
||||
#undef DAEMON_ONLY
|
||||
MOD_MISC(daemon_saver);
|
||||
|
||||
static char *message;
|
||||
static int messagelen;
|
||||
|
||||
/* Who is the author of this ASCII pic? */
|
||||
|
||||
@ -152,10 +146,6 @@ draw_daemon(int xpos, int ypos, int dxdir)
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef DAEMON_ONLY
|
||||
static char *message;
|
||||
static int messagelen;
|
||||
|
||||
static void
|
||||
draw_string(int xpos, int ypos, char *s, int len)
|
||||
{
|
||||
@ -165,15 +155,12 @@ draw_string(int xpos, int ypos, char *s, int len)
|
||||
CONSOLE_VECT(xpos + x, ypos) =
|
||||
scr_map[s[x]]|(FG_LIGHTGREEN|BG_BLACK)<<8;
|
||||
}
|
||||
#endif
|
||||
|
||||
static void
|
||||
daemon_saver(int blank)
|
||||
{
|
||||
#ifndef DAEMON_ONLY
|
||||
static int txpos = 10, typos = 10;
|
||||
static int txdir = -1, tydir = -1;
|
||||
#endif
|
||||
static int dxpos = 0, dypos = 0;
|
||||
static int dxdir = 1, dydir = 1;
|
||||
static int moved_daemon = 0;
|
||||
@ -204,7 +191,6 @@ daemon_saver(int blank)
|
||||
dxpos += dxdir; dypos += dydir;
|
||||
}
|
||||
|
||||
#ifndef DAEMON_ONLY
|
||||
if (txdir > 0) {
|
||||
if (txpos == scp->xsize - messagelen)
|
||||
txdir = -1;
|
||||
@ -218,18 +204,13 @@ daemon_saver(int blank)
|
||||
if (typos == 0) tydir = 1;
|
||||
}
|
||||
txpos += txdir; typos += tydir;
|
||||
#endif
|
||||
|
||||
draw_daemon(dxpos, dypos, dxdir);
|
||||
#ifndef DAEMON_ONLY
|
||||
draw_string(txpos, typos, (char *)message, messagelen);
|
||||
#endif
|
||||
} else {
|
||||
if (scrn_blanked) {
|
||||
if (scrn_blanked > 0) {
|
||||
set_border(scp->border);
|
||||
scrn_blanked = 0;
|
||||
scp->start = 0;
|
||||
scp->end = scp->xsize * scp->ysize;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -237,36 +218,28 @@ daemon_saver(int blank)
|
||||
static int
|
||||
daemon_saver_load(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
#ifdef SHOW_HOSTNAME
|
||||
static const char *freebsd = " - FreeBSD ";
|
||||
#else
|
||||
static const char *freebsd = "FreeBSD ";
|
||||
#endif /* SHOW_HOSTNAME */
|
||||
int err;
|
||||
|
||||
(*current_saver)(0);
|
||||
old_saver = current_saver;
|
||||
current_saver = daemon_saver;
|
||||
messagelen = strlen(hostname) + 3 + strlen(ostype) + 1 +
|
||||
strlen(osrelease);
|
||||
message = malloc(messagelen + 1, M_DEVBUF, M_WAITOK);
|
||||
sprintf(message, "%s - %s %s", hostname, ostype, osrelease);
|
||||
|
||||
#ifdef SHOW_HOSTNAME
|
||||
messagelen = strlen(hostname) + strlen(freebsd) + strlen(osrelease);
|
||||
message = malloc(messagelen + 1, M_DEVBUF, M_NOWAIT);
|
||||
sprintf(message, "%s%s%s", hostname, freebsd, osrelease);
|
||||
#else
|
||||
messagelen = strlen(freebsd) + strlen(osrelease);
|
||||
message = malloc(messagelen + 1, M_DEVBUF, M_NOWAIT);
|
||||
sprintf(message, "%s%s", freebsd, osrelease);
|
||||
#endif /* SHOW_HOSTNAME */
|
||||
return 0;
|
||||
err = add_scrn_saver(daemon_saver);
|
||||
if (err != 0)
|
||||
free(message, M_DEVBUF);
|
||||
return err;
|
||||
}
|
||||
|
||||
static int
|
||||
daemon_saver_unload(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
current_saver = old_saver;
|
||||
int err;
|
||||
|
||||
free(message, M_DEVBUF);
|
||||
return 0;
|
||||
err = remove_scrn_saver(daemon_saver);
|
||||
if (err == 0)
|
||||
free(message, M_DEVBUF);
|
||||
return err;
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -25,23 +25,21 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: fade_saver.c,v 1.9 1997/02/22 12:49:10 peter Exp $
|
||||
* $Id: fade_saver.c,v 1.10 1997/04/06 10:48:18 dufault Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/conf.h>
|
||||
#include <sys/exec.h>
|
||||
#include <sys/sysent.h>
|
||||
#include <sys/lkm.h>
|
||||
#include <sys/errno.h>
|
||||
|
||||
#include <i386/isa/isa.h>
|
||||
|
||||
#include <saver.h>
|
||||
|
||||
MOD_MISC(fade_saver);
|
||||
|
||||
void (*current_saver)(int blank);
|
||||
void (*old_saver)(int blank);
|
||||
|
||||
static void
|
||||
fade_saver(int blank)
|
||||
{
|
||||
@ -76,18 +74,15 @@ fade_saver(int blank)
|
||||
static int
|
||||
fade_saver_load(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
old_saver = current_saver;
|
||||
current_saver = fade_saver;
|
||||
return 0;
|
||||
if (!crtc_vga)
|
||||
return EINVAL;
|
||||
return add_scrn_saver(fade_saver);
|
||||
}
|
||||
|
||||
static int
|
||||
fade_saver_unload(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
current_saver = old_saver;
|
||||
return 0;
|
||||
return remove_scrn_saver(fade_saver);
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -25,23 +25,21 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: green_saver.c,v 1.8 1997/02/22 12:49:15 peter Exp $
|
||||
* $Id: green_saver.c,v 1.9 1997/04/06 10:49:13 dufault Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/conf.h>
|
||||
#include <sys/exec.h>
|
||||
#include <sys/sysent.h>
|
||||
#include <sys/lkm.h>
|
||||
#include <sys/errno.h>
|
||||
|
||||
#include <i386/isa/isa.h>
|
||||
|
||||
#include <saver.h>
|
||||
|
||||
MOD_MISC(green_saver);
|
||||
|
||||
void (*current_saver)(int blank);
|
||||
void (*old_saver)(int blank);
|
||||
|
||||
static void
|
||||
green_saver(int blank)
|
||||
{
|
||||
@ -65,18 +63,15 @@ green_saver(int blank)
|
||||
static int
|
||||
green_saver_load(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
old_saver = current_saver;
|
||||
current_saver = green_saver;
|
||||
return 0;
|
||||
if (!crtc_vga)
|
||||
return EINVAL;
|
||||
return add_scrn_saver(green_saver);
|
||||
}
|
||||
|
||||
static int
|
||||
green_saver_unload(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
current_saver = old_saver;
|
||||
return 0;
|
||||
return remove_scrn_saver(green_saver);
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -25,47 +25,52 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: snake_saver.c,v 1.13 1997/02/22 12:49:19 peter Exp $
|
||||
* $Id: snake_saver.c,v 1.14 1997/04/06 10:49:22 dufault Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/conf.h>
|
||||
#include <sys/exec.h>
|
||||
#include <sys/sysent.h>
|
||||
#include <sys/lkm.h>
|
||||
#include <sys/errno.h>
|
||||
#include <sys/malloc.h>
|
||||
#include <sys/kernel.h>
|
||||
#include <sys/sysctl.h>
|
||||
|
||||
#include <machine/md_var.h>
|
||||
#include <i386/include/pc/display.h>
|
||||
|
||||
#include "saver.h"
|
||||
#include <saver.h>
|
||||
|
||||
MOD_MISC(snake_saver);
|
||||
|
||||
void (*current_saver)(int blank);
|
||||
void (*old_saver)(int blank);
|
||||
static char *message;
|
||||
static u_char **messagep;
|
||||
static int messagelen;
|
||||
|
||||
static void
|
||||
snake_saver(int blank)
|
||||
{
|
||||
const char saves[] = {"FreeBSD-3.0-CURRENT"};
|
||||
static u_char *savs[sizeof(saves)-1];
|
||||
static int dirx, diry;
|
||||
int f;
|
||||
scr_stat *scp = cur_console;
|
||||
|
||||
/* XXX hack for minimal changes. */
|
||||
#define save message
|
||||
#define savs messagep
|
||||
|
||||
if (blank) {
|
||||
if (!scrn_blanked) {
|
||||
if (scrn_blanked <= 0) {
|
||||
fillw((FG_LIGHTGREY|BG_BLACK)<<8 | scr_map[0x20],
|
||||
Crtat, scp->xsize * scp->ysize);
|
||||
set_border(0);
|
||||
dirx = (scp->xpos ? 1 : -1);
|
||||
diry = (scp->ypos ?
|
||||
scp->xsize : -scp->xsize);
|
||||
for (f=0; f< sizeof(saves)-1; f++)
|
||||
for (f=0; f< messagelen; f++)
|
||||
savs[f] = (u_char *)Crtat + 2 *
|
||||
(scp->xpos+scp->ypos*scp->xsize);
|
||||
*(savs[0]) = scr_map[*saves];
|
||||
*(savs[0]) = scr_map[*save];
|
||||
f = scp->ysize * scp->xsize + 5;
|
||||
outb(crtc_addr, 14);
|
||||
outb(crtc_addr+1, f >> 8);
|
||||
@ -76,8 +81,8 @@ snake_saver(int blank)
|
||||
if (scrn_blanked++ < 4)
|
||||
return;
|
||||
scrn_blanked = 1;
|
||||
*(savs[sizeof(saves)-2]) = scr_map[0x20];
|
||||
for (f=sizeof(saves)-2; f > 0; f--)
|
||||
*(savs[messagelen-1]) = scr_map[0x20];
|
||||
for (f=messagelen-1; f > 0; f--)
|
||||
savs[f] = savs[f-1];
|
||||
f = (savs[0] - (u_char *)Crtat) / 2;
|
||||
if ((f % scp->xsize) == 0 ||
|
||||
@ -89,15 +94,13 @@ snake_saver(int blank)
|
||||
(random() % 20) == 0)
|
||||
diry = -diry;
|
||||
savs[0] += 2*dirx + 2*diry;
|
||||
for (f=sizeof(saves)-2; f>=0; f--)
|
||||
*(savs[f]) = scr_map[saves[f]];
|
||||
for (f=messagelen-1; f>=0; f--)
|
||||
*(savs[f]) = scr_map[save[f]];
|
||||
}
|
||||
else {
|
||||
if (scrn_blanked) {
|
||||
if (scrn_blanked > 0) {
|
||||
set_border(scp->border);
|
||||
scrn_blanked = 0;
|
||||
scp->start = 0;
|
||||
scp->end = scp->xsize * scp->ysize;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -105,18 +108,32 @@ snake_saver(int blank)
|
||||
static int
|
||||
snake_saver_load(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
old_saver = current_saver;
|
||||
current_saver = snake_saver;
|
||||
return 0;
|
||||
int err;
|
||||
|
||||
messagelen = strlen(ostype) + 1 + strlen(osrelease);
|
||||
message = malloc(messagelen + 1, M_DEVBUF, M_WAITOK);
|
||||
sprintf(message, "%s %s", ostype, osrelease);
|
||||
messagep = malloc(messagelen * sizeof *messagep, M_DEVBUF, M_WAITOK);
|
||||
|
||||
err = add_scrn_saver(snake_saver);
|
||||
if (err != 0) {
|
||||
free(message, M_DEVBUF);
|
||||
free(messagep, M_DEVBUF);
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
||||
static int
|
||||
snake_saver_unload(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
current_saver = old_saver;
|
||||
return 0;
|
||||
int err;
|
||||
|
||||
err = remove_scrn_saver(snake_saver);
|
||||
if (err == 0) {
|
||||
free(message, M_DEVBUF);
|
||||
free(messagep, M_DEVBUF);
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -25,26 +25,22 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: star_saver.c,v 1.10 1997/02/22 12:49:22 peter Exp $
|
||||
* $Id: star_saver.c,v 1.11 1997/04/06 11:07:01 dufault Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/conf.h>
|
||||
#include <sys/exec.h>
|
||||
#include <sys/sysent.h>
|
||||
#include <sys/lkm.h>
|
||||
#include <sys/errno.h>
|
||||
|
||||
#include <machine/md_var.h>
|
||||
#include <i386/include/pc/display.h>
|
||||
|
||||
#include "saver.h"
|
||||
#include <saver.h>
|
||||
|
||||
MOD_MISC(star_saver);
|
||||
|
||||
void (*current_saver)(int blank);
|
||||
void (*old_saver)(int blank);
|
||||
|
||||
#define NUM_STARS 50
|
||||
|
||||
/*
|
||||
@ -62,7 +58,7 @@ star_saver(int blank)
|
||||
static u_short stars[NUM_STARS][2];
|
||||
|
||||
if (blank) {
|
||||
if (!scrn_blanked) {
|
||||
if (scrn_blanked <= 0) {
|
||||
scrn_blanked = 1;
|
||||
fillw((FG_LIGHTGREY|BG_BLACK)<<8|scr_map[0x20], Crtat,
|
||||
scp->xsize * scp->ysize);
|
||||
@ -83,11 +79,9 @@ star_saver(int blank)
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (scrn_blanked) {
|
||||
if (scrn_blanked > 0) {
|
||||
set_border(scp->border);
|
||||
scrn_blanked = 0;
|
||||
scp->start = 0;
|
||||
scp->end = scp->xsize * scp->ysize;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -95,18 +89,13 @@ star_saver(int blank)
|
||||
static int
|
||||
star_saver_load(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
old_saver = current_saver;
|
||||
current_saver = star_saver;
|
||||
return 0;
|
||||
return add_scrn_saver(star_saver);
|
||||
}
|
||||
|
||||
static int
|
||||
star_saver_unload(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
current_saver = old_saver;
|
||||
return 0;
|
||||
return remove_scrn_saver(star_saver);
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -1,9 +1,9 @@
|
||||
# $Id$
|
||||
# $Id: Makefile,v 1.5 1997/02/22 12:49:02 peter Exp $
|
||||
|
||||
KMOD= blank_saver_mod
|
||||
SRCS= blank_saver.c
|
||||
|
||||
NOMAN=
|
||||
CFLAGS+= -DLKM -I${.CURDIR}/.. -I${.CURDIR}/../../../sys
|
||||
CFLAGS+= -I${.CURDIR}/.. -I${.CURDIR}/../../../sys
|
||||
|
||||
.include <bsd.kmod.mk>
|
||||
|
@ -25,23 +25,21 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: blank_saver.c,v 1.8 1997/02/22 12:49:06 peter Exp $
|
||||
* $Id: blank_saver.c,v 1.9 1997/04/06 10:48:10 dufault Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/conf.h>
|
||||
#include <sys/exec.h>
|
||||
#include <sys/sysent.h>
|
||||
#include <sys/lkm.h>
|
||||
#include <sys/errno.h>
|
||||
|
||||
#include <i386/isa/isa.h>
|
||||
|
||||
#include <saver.h>
|
||||
|
||||
MOD_MISC(blank_saver);
|
||||
|
||||
void (*current_saver)(int blank);
|
||||
void (*old_saver)(int blank);
|
||||
|
||||
static void
|
||||
blank_saver(int blank)
|
||||
{
|
||||
@ -61,18 +59,15 @@ blank_saver(int blank)
|
||||
static int
|
||||
blank_saver_load(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
old_saver = current_saver;
|
||||
current_saver = blank_saver;
|
||||
return 0;
|
||||
if (!crtc_vga)
|
||||
return EINVAL;
|
||||
return add_scrn_saver(blank_saver);
|
||||
}
|
||||
|
||||
static int
|
||||
blank_saver_unload(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
current_saver = old_saver;
|
||||
return 0;
|
||||
return remove_scrn_saver(blank_saver);
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -1,15 +1,9 @@
|
||||
# $Id: Makefile,v 1.1 1997/05/21 14:18:26 yokota Exp $
|
||||
# $Id: Makefile,v 1.2 1997/06/24 12:43:18 yokota Exp $
|
||||
|
||||
KMOD= daemon_saver_mod
|
||||
SRCS= daemon_saver.c
|
||||
|
||||
NOMAN=
|
||||
CFLAGS+= -DLKM -I${.CURDIR}/.. -I${.CURDIR}/../../../sys
|
||||
|
||||
# Omits the bouncing message text and shows only the daemon.
|
||||
#CFLAGS+= -DDAEMON_ONLY
|
||||
|
||||
# Includes the host name in the message text.
|
||||
#CFLAGS+= -DSHOW_HOSTNAME
|
||||
CFLAGS+= -I${.CURDIR}/.. -I${.CURDIR}/../../../sys
|
||||
|
||||
.include <bsd.kmod.mk>
|
||||
|
@ -25,28 +25,22 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: daemon_saver.c,v 1.4 1997/05/26 01:02:41 yokota Exp $
|
||||
* $Id: daemon_saver.c,v 1.5 1997/06/24 12:43:18 yokota Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/conf.h>
|
||||
#include <sys/exec.h>
|
||||
#include <sys/sysent.h>
|
||||
#include <sys/lkm.h>
|
||||
#include <sys/errno.h>
|
||||
#include <sys/malloc.h>
|
||||
#include <sys/kernel.h>
|
||||
#include <sys/sysctl.h>
|
||||
#include <sys/malloc.h>
|
||||
|
||||
#include <machine/md_var.h>
|
||||
#include <i386/include/pc/display.h>
|
||||
|
||||
#include "saver.h"
|
||||
|
||||
MOD_MISC(daemon_saver);
|
||||
|
||||
void (*current_saver)(int blank);
|
||||
void (*old_saver)(int blank);
|
||||
#include <saver.h>
|
||||
|
||||
#define CONSOLE_VECT(x, y) \
|
||||
*((u_short*)(Crtat + (y)*cur_console->xsize + (x)))
|
||||
@ -54,10 +48,10 @@ void (*old_saver)(int blank);
|
||||
#define DAEMON_MAX_WIDTH 32
|
||||
#define DAEMON_MAX_HEIGHT 19
|
||||
|
||||
/*
|
||||
* Define this to disable the bouncing text.
|
||||
*/
|
||||
#undef DAEMON_ONLY
|
||||
MOD_MISC(daemon_saver);
|
||||
|
||||
static char *message;
|
||||
static int messagelen;
|
||||
|
||||
/* Who is the author of this ASCII pic? */
|
||||
|
||||
@ -152,10 +146,6 @@ draw_daemon(int xpos, int ypos, int dxdir)
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef DAEMON_ONLY
|
||||
static char *message;
|
||||
static int messagelen;
|
||||
|
||||
static void
|
||||
draw_string(int xpos, int ypos, char *s, int len)
|
||||
{
|
||||
@ -165,15 +155,12 @@ draw_string(int xpos, int ypos, char *s, int len)
|
||||
CONSOLE_VECT(xpos + x, ypos) =
|
||||
scr_map[s[x]]|(FG_LIGHTGREEN|BG_BLACK)<<8;
|
||||
}
|
||||
#endif
|
||||
|
||||
static void
|
||||
daemon_saver(int blank)
|
||||
{
|
||||
#ifndef DAEMON_ONLY
|
||||
static int txpos = 10, typos = 10;
|
||||
static int txdir = -1, tydir = -1;
|
||||
#endif
|
||||
static int dxpos = 0, dypos = 0;
|
||||
static int dxdir = 1, dydir = 1;
|
||||
static int moved_daemon = 0;
|
||||
@ -204,7 +191,6 @@ daemon_saver(int blank)
|
||||
dxpos += dxdir; dypos += dydir;
|
||||
}
|
||||
|
||||
#ifndef DAEMON_ONLY
|
||||
if (txdir > 0) {
|
||||
if (txpos == scp->xsize - messagelen)
|
||||
txdir = -1;
|
||||
@ -218,18 +204,13 @@ daemon_saver(int blank)
|
||||
if (typos == 0) tydir = 1;
|
||||
}
|
||||
txpos += txdir; typos += tydir;
|
||||
#endif
|
||||
|
||||
draw_daemon(dxpos, dypos, dxdir);
|
||||
#ifndef DAEMON_ONLY
|
||||
draw_string(txpos, typos, (char *)message, messagelen);
|
||||
#endif
|
||||
} else {
|
||||
if (scrn_blanked) {
|
||||
if (scrn_blanked > 0) {
|
||||
set_border(scp->border);
|
||||
scrn_blanked = 0;
|
||||
scp->start = 0;
|
||||
scp->end = scp->xsize * scp->ysize;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -237,36 +218,28 @@ daemon_saver(int blank)
|
||||
static int
|
||||
daemon_saver_load(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
#ifdef SHOW_HOSTNAME
|
||||
static const char *freebsd = " - FreeBSD ";
|
||||
#else
|
||||
static const char *freebsd = "FreeBSD ";
|
||||
#endif /* SHOW_HOSTNAME */
|
||||
int err;
|
||||
|
||||
(*current_saver)(0);
|
||||
old_saver = current_saver;
|
||||
current_saver = daemon_saver;
|
||||
messagelen = strlen(hostname) + 3 + strlen(ostype) + 1 +
|
||||
strlen(osrelease);
|
||||
message = malloc(messagelen + 1, M_DEVBUF, M_WAITOK);
|
||||
sprintf(message, "%s - %s %s", hostname, ostype, osrelease);
|
||||
|
||||
#ifdef SHOW_HOSTNAME
|
||||
messagelen = strlen(hostname) + strlen(freebsd) + strlen(osrelease);
|
||||
message = malloc(messagelen + 1, M_DEVBUF, M_NOWAIT);
|
||||
sprintf(message, "%s%s%s", hostname, freebsd, osrelease);
|
||||
#else
|
||||
messagelen = strlen(freebsd) + strlen(osrelease);
|
||||
message = malloc(messagelen + 1, M_DEVBUF, M_NOWAIT);
|
||||
sprintf(message, "%s%s", freebsd, osrelease);
|
||||
#endif /* SHOW_HOSTNAME */
|
||||
return 0;
|
||||
err = add_scrn_saver(daemon_saver);
|
||||
if (err != 0)
|
||||
free(message, M_DEVBUF);
|
||||
return err;
|
||||
}
|
||||
|
||||
static int
|
||||
daemon_saver_unload(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
current_saver = old_saver;
|
||||
int err;
|
||||
|
||||
free(message, M_DEVBUF);
|
||||
return 0;
|
||||
err = remove_scrn_saver(daemon_saver);
|
||||
if (err == 0)
|
||||
free(message, M_DEVBUF);
|
||||
return err;
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -1,9 +1,9 @@
|
||||
# $Id$
|
||||
# $Id: Makefile,v 1.5 1997/02/22 12:49:09 peter Exp $
|
||||
|
||||
KMOD= fade_saver_mod
|
||||
SRCS= fade_saver.c
|
||||
|
||||
NOMAN=
|
||||
CFLAGS+= -DLKM -I${.CURDIR}/.. -I${.CURDIR}/../../../sys
|
||||
CFLAGS+= -I${.CURDIR}/.. -I${.CURDIR}/../../../sys
|
||||
|
||||
.include <bsd.kmod.mk>
|
||||
|
@ -25,23 +25,21 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: fade_saver.c,v 1.9 1997/02/22 12:49:10 peter Exp $
|
||||
* $Id: fade_saver.c,v 1.10 1997/04/06 10:48:18 dufault Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/conf.h>
|
||||
#include <sys/exec.h>
|
||||
#include <sys/sysent.h>
|
||||
#include <sys/lkm.h>
|
||||
#include <sys/errno.h>
|
||||
|
||||
#include <i386/isa/isa.h>
|
||||
|
||||
#include <saver.h>
|
||||
|
||||
MOD_MISC(fade_saver);
|
||||
|
||||
void (*current_saver)(int blank);
|
||||
void (*old_saver)(int blank);
|
||||
|
||||
static void
|
||||
fade_saver(int blank)
|
||||
{
|
||||
@ -76,18 +74,15 @@ fade_saver(int blank)
|
||||
static int
|
||||
fade_saver_load(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
old_saver = current_saver;
|
||||
current_saver = fade_saver;
|
||||
return 0;
|
||||
if (!crtc_vga)
|
||||
return EINVAL;
|
||||
return add_scrn_saver(fade_saver);
|
||||
}
|
||||
|
||||
static int
|
||||
fade_saver_unload(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
current_saver = old_saver;
|
||||
return 0;
|
||||
return remove_scrn_saver(fade_saver);
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -1,9 +1,9 @@
|
||||
# $Id$
|
||||
# $Id: Makefile,v 1.5 1997/02/22 12:49:13 peter Exp $
|
||||
|
||||
KMOD= green_saver_mod
|
||||
SRCS= green_saver.c
|
||||
|
||||
NOMAN=
|
||||
CFLAGS+= -DLKM -I${.CURDIR}/.. -I${.CURDIR}/../../../sys
|
||||
CFLAGS+= -I${.CURDIR}/.. -I${.CURDIR}/../../../sys
|
||||
|
||||
.include <bsd.kmod.mk>
|
||||
|
@ -25,23 +25,21 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: green_saver.c,v 1.8 1997/02/22 12:49:15 peter Exp $
|
||||
* $Id: green_saver.c,v 1.9 1997/04/06 10:49:13 dufault Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/conf.h>
|
||||
#include <sys/exec.h>
|
||||
#include <sys/sysent.h>
|
||||
#include <sys/lkm.h>
|
||||
#include <sys/errno.h>
|
||||
|
||||
#include <i386/isa/isa.h>
|
||||
|
||||
#include <saver.h>
|
||||
|
||||
MOD_MISC(green_saver);
|
||||
|
||||
void (*current_saver)(int blank);
|
||||
void (*old_saver)(int blank);
|
||||
|
||||
static void
|
||||
green_saver(int blank)
|
||||
{
|
||||
@ -65,18 +63,15 @@ green_saver(int blank)
|
||||
static int
|
||||
green_saver_load(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
old_saver = current_saver;
|
||||
current_saver = green_saver;
|
||||
return 0;
|
||||
if (!crtc_vga)
|
||||
return EINVAL;
|
||||
return add_scrn_saver(green_saver);
|
||||
}
|
||||
|
||||
static int
|
||||
green_saver_unload(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
current_saver = old_saver;
|
||||
return 0;
|
||||
return remove_scrn_saver(green_saver);
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -25,18 +25,12 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: saver.h,v 1.7 1997/02/22 12:49:00 peter Exp $
|
||||
* $Id: saver.h,v 1.8 1997/05/21 14:18:00 yokota Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/tty.h>
|
||||
#include <i386/include/pc/display.h>
|
||||
#include <i386/include/console.h>
|
||||
#include <i386/include/apm_bios.h>
|
||||
#include <i386/i386/cons.h>
|
||||
#include <i386/isa/isa.h>
|
||||
#include <i386/isa/isa_device.h>
|
||||
#include <machine/apm_bios.h>
|
||||
#include <machine/console.h>
|
||||
|
||||
#include <i386/isa/syscons.h>
|
||||
|
||||
extern scr_stat *cur_console;
|
||||
|
@ -1,9 +1,9 @@
|
||||
# $Id$
|
||||
# $Id: Makefile,v 1.5 1997/02/22 12:49:18 peter Exp $
|
||||
|
||||
KMOD= snake_saver_mod
|
||||
SRCS= snake_saver.c
|
||||
|
||||
NOMAN=
|
||||
CFLAGS+= -DLKM -I${.CURDIR}/.. -I${.CURDIR}/../../../sys
|
||||
CFLAGS+= -I${.CURDIR}/.. -I${.CURDIR}/../../../sys
|
||||
|
||||
.include <bsd.kmod.mk>
|
||||
|
@ -25,47 +25,52 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: snake_saver.c,v 1.13 1997/02/22 12:49:19 peter Exp $
|
||||
* $Id: snake_saver.c,v 1.14 1997/04/06 10:49:22 dufault Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/conf.h>
|
||||
#include <sys/exec.h>
|
||||
#include <sys/sysent.h>
|
||||
#include <sys/lkm.h>
|
||||
#include <sys/errno.h>
|
||||
#include <sys/malloc.h>
|
||||
#include <sys/kernel.h>
|
||||
#include <sys/sysctl.h>
|
||||
|
||||
#include <machine/md_var.h>
|
||||
#include <i386/include/pc/display.h>
|
||||
|
||||
#include "saver.h"
|
||||
#include <saver.h>
|
||||
|
||||
MOD_MISC(snake_saver);
|
||||
|
||||
void (*current_saver)(int blank);
|
||||
void (*old_saver)(int blank);
|
||||
static char *message;
|
||||
static u_char **messagep;
|
||||
static int messagelen;
|
||||
|
||||
static void
|
||||
snake_saver(int blank)
|
||||
{
|
||||
const char saves[] = {"FreeBSD-3.0-CURRENT"};
|
||||
static u_char *savs[sizeof(saves)-1];
|
||||
static int dirx, diry;
|
||||
int f;
|
||||
scr_stat *scp = cur_console;
|
||||
|
||||
/* XXX hack for minimal changes. */
|
||||
#define save message
|
||||
#define savs messagep
|
||||
|
||||
if (blank) {
|
||||
if (!scrn_blanked) {
|
||||
if (scrn_blanked <= 0) {
|
||||
fillw((FG_LIGHTGREY|BG_BLACK)<<8 | scr_map[0x20],
|
||||
Crtat, scp->xsize * scp->ysize);
|
||||
set_border(0);
|
||||
dirx = (scp->xpos ? 1 : -1);
|
||||
diry = (scp->ypos ?
|
||||
scp->xsize : -scp->xsize);
|
||||
for (f=0; f< sizeof(saves)-1; f++)
|
||||
for (f=0; f< messagelen; f++)
|
||||
savs[f] = (u_char *)Crtat + 2 *
|
||||
(scp->xpos+scp->ypos*scp->xsize);
|
||||
*(savs[0]) = scr_map[*saves];
|
||||
*(savs[0]) = scr_map[*save];
|
||||
f = scp->ysize * scp->xsize + 5;
|
||||
outb(crtc_addr, 14);
|
||||
outb(crtc_addr+1, f >> 8);
|
||||
@ -76,8 +81,8 @@ snake_saver(int blank)
|
||||
if (scrn_blanked++ < 4)
|
||||
return;
|
||||
scrn_blanked = 1;
|
||||
*(savs[sizeof(saves)-2]) = scr_map[0x20];
|
||||
for (f=sizeof(saves)-2; f > 0; f--)
|
||||
*(savs[messagelen-1]) = scr_map[0x20];
|
||||
for (f=messagelen-1; f > 0; f--)
|
||||
savs[f] = savs[f-1];
|
||||
f = (savs[0] - (u_char *)Crtat) / 2;
|
||||
if ((f % scp->xsize) == 0 ||
|
||||
@ -89,15 +94,13 @@ snake_saver(int blank)
|
||||
(random() % 20) == 0)
|
||||
diry = -diry;
|
||||
savs[0] += 2*dirx + 2*diry;
|
||||
for (f=sizeof(saves)-2; f>=0; f--)
|
||||
*(savs[f]) = scr_map[saves[f]];
|
||||
for (f=messagelen-1; f>=0; f--)
|
||||
*(savs[f]) = scr_map[save[f]];
|
||||
}
|
||||
else {
|
||||
if (scrn_blanked) {
|
||||
if (scrn_blanked > 0) {
|
||||
set_border(scp->border);
|
||||
scrn_blanked = 0;
|
||||
scp->start = 0;
|
||||
scp->end = scp->xsize * scp->ysize;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -105,18 +108,32 @@ snake_saver(int blank)
|
||||
static int
|
||||
snake_saver_load(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
old_saver = current_saver;
|
||||
current_saver = snake_saver;
|
||||
return 0;
|
||||
int err;
|
||||
|
||||
messagelen = strlen(ostype) + 1 + strlen(osrelease);
|
||||
message = malloc(messagelen + 1, M_DEVBUF, M_WAITOK);
|
||||
sprintf(message, "%s %s", ostype, osrelease);
|
||||
messagep = malloc(messagelen * sizeof *messagep, M_DEVBUF, M_WAITOK);
|
||||
|
||||
err = add_scrn_saver(snake_saver);
|
||||
if (err != 0) {
|
||||
free(message, M_DEVBUF);
|
||||
free(messagep, M_DEVBUF);
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
||||
static int
|
||||
snake_saver_unload(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
current_saver = old_saver;
|
||||
return 0;
|
||||
int err;
|
||||
|
||||
err = remove_scrn_saver(snake_saver);
|
||||
if (err == 0) {
|
||||
free(message, M_DEVBUF);
|
||||
free(messagep, M_DEVBUF);
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -1,9 +1,9 @@
|
||||
# $Id$
|
||||
# $Id: Makefile,v 1.5 1997/02/22 12:49:21 peter Exp $
|
||||
|
||||
KMOD= star_saver_mod
|
||||
SRCS= star_saver.c
|
||||
|
||||
NOMAN=
|
||||
CFLAGS+= -DLKM -I${.CURDIR}/.. -I${.CURDIR}/../../../sys
|
||||
CFLAGS+= -I${.CURDIR}/.. -I${.CURDIR}/../../../sys
|
||||
|
||||
.include <bsd.kmod.mk>
|
||||
|
@ -25,26 +25,22 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: star_saver.c,v 1.10 1997/02/22 12:49:22 peter Exp $
|
||||
* $Id: star_saver.c,v 1.11 1997/04/06 11:07:01 dufault Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/conf.h>
|
||||
#include <sys/exec.h>
|
||||
#include <sys/sysent.h>
|
||||
#include <sys/lkm.h>
|
||||
#include <sys/errno.h>
|
||||
|
||||
#include <machine/md_var.h>
|
||||
#include <i386/include/pc/display.h>
|
||||
|
||||
#include "saver.h"
|
||||
#include <saver.h>
|
||||
|
||||
MOD_MISC(star_saver);
|
||||
|
||||
void (*current_saver)(int blank);
|
||||
void (*old_saver)(int blank);
|
||||
|
||||
#define NUM_STARS 50
|
||||
|
||||
/*
|
||||
@ -62,7 +58,7 @@ star_saver(int blank)
|
||||
static u_short stars[NUM_STARS][2];
|
||||
|
||||
if (blank) {
|
||||
if (!scrn_blanked) {
|
||||
if (scrn_blanked <= 0) {
|
||||
scrn_blanked = 1;
|
||||
fillw((FG_LIGHTGREY|BG_BLACK)<<8|scr_map[0x20], Crtat,
|
||||
scp->xsize * scp->ysize);
|
||||
@ -83,11 +79,9 @@ star_saver(int blank)
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (scrn_blanked) {
|
||||
if (scrn_blanked > 0) {
|
||||
set_border(scp->border);
|
||||
scrn_blanked = 0;
|
||||
scp->start = 0;
|
||||
scp->end = scp->xsize * scp->ysize;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -95,18 +89,13 @@ star_saver(int blank)
|
||||
static int
|
||||
star_saver_load(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
old_saver = current_saver;
|
||||
current_saver = star_saver;
|
||||
return 0;
|
||||
return add_scrn_saver(star_saver);
|
||||
}
|
||||
|
||||
static int
|
||||
star_saver_unload(struct lkm_table *lkmtp, int cmd)
|
||||
{
|
||||
(*current_saver)(0);
|
||||
current_saver = old_saver;
|
||||
return 0;
|
||||
return remove_scrn_saver(star_saver);
|
||||
}
|
||||
|
||||
int
|
||||
|
Loading…
Reference in New Issue
Block a user