summaryrefslogtreecommitdiffstats
path: root/sys/dev/syscons/warp/warp_saver.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/syscons/warp/warp_saver.c')
-rw-r--r--sys/dev/syscons/warp/warp_saver.c135
1 files changed, 68 insertions, 67 deletions
diff --git a/sys/dev/syscons/warp/warp_saver.c b/sys/dev/syscons/warp/warp_saver.c
index c775b28..e8f8c4f 100644
--- a/sys/dev/syscons/warp/warp_saver.c
+++ b/sys/dev/syscons/warp/warp_saver.c
@@ -40,98 +40,99 @@
#include <dev/fb/splashreg.h>
#include <dev/syscons/syscons.h>
-static u_char *vid;
-static int blanked;
-
-#define SCRW 320
-#define SCRH 200
-#define SPP 15
-#define STARS (SPP*(1+2+4+8))
-
-static int star[STARS];
-static u_char warp_pal[768] = {
- 0x00, 0x00, 0x00,
- 0x66, 0x66, 0x66,
- 0x99, 0x99, 0x99,
- 0xcc, 0xcc, 0xcc,
- 0xff, 0xff, 0xff
- /* the rest is zero-filled by the compiler */
+#define SAVER_NAME "warp_saver"
+#define SCRW 320
+#define SCRH 200
+#define SPP 15
+#define STARS (SPP * (1 + 2 + 4 + 8))
+
+static u_char *vid;
+static int blanked;
+static int star[STARS];
+static u_char warp_pal[768] = {
+ 0x00, 0x00, 0x00,
+ 0x66, 0x66, 0x66,
+ 0x99, 0x99, 0x99,
+ 0xcc, 0xcc, 0xcc,
+ 0xff, 0xff, 0xff
+ /* the rest is zero-filled by the compiler */
};
static void
warp_update(void)
{
- int i, j, k, n;
-
- for (i = 1, k = 0, n = SPP*8; i < 5; i++, n /= 2)
- for (j = 0; j < n; j++, k++) {
- vid[star[k]] = 0;
- star[k] += i;
- if (star[k] > SCRW*SCRH)
- star[k] -= SCRW*SCRH;
- vid[star[k]] = i;
+ int i, j, k, n;
+
+ for (i = 1, k = 0, n = SPP*8; i < 5; i++, n /= 2) {
+ for (j = 0; j < n; j++, k++) {
+ vid[star[k]] = 0;
+ star[k] += i;
+ if (star[k] > SCRW*SCRH)
+ star[k] -= SCRW*SCRH;
+ vid[star[k]] = i;
+ }
}
}
static int
warp_saver(video_adapter_t *adp, int blank)
{
- int pl;
-
- if (blank) {
- /* switch to graphics mode */
- if (blanked <= 0) {
- pl = splhigh();
- set_video_mode(adp, M_VGA_CG320);
- load_palette(adp, warp_pal);
-#if 0 /* XXX conflict */
- set_border(adp, 0);
-#endif
- blanked++;
- vid = (u_char *)adp->va_window;
- splx(pl);
- bzero(vid, SCRW*SCRH);
- }
-
- /* update display */
- warp_update();
+ int pl;
- } else {
- blanked = 0;
- }
- return 0;
+ if (blank) {
+ /* switch to graphics mode */
+ if (blanked <= 0) {
+ pl = splhigh();
+ set_video_mode(adp, M_VGA_CG320);
+ load_palette(adp, warp_pal);
+ set_border(adp, 0);
+ blanked++;
+ vid = (u_char *)adp->va_window;
+ splx(pl);
+ bzero(vid, SCRW*SCRH);
+ }
+
+ /* update display */
+ warp_update();
+ } else {
+ blanked = 0;
+ }
+ return (0);
}
static int
warp_init(video_adapter_t *adp)
{
- video_info_t info;
- int i;
-
- /* check that the console is capable of running in 320x200x256 */
- if (get_mode_info(adp, M_VGA_CG320, &info)) {
- log(LOG_NOTICE, "warp_saver: the console does not support M_VGA_CG320\n");
- return ENODEV;
- }
-
- /* randomize the star field */
- for (i = 0; i < STARS; i++) {
- star[i] = random() % (SCRW*SCRH);
- }
-
- blanked = 0;
-
- return 0;
+ video_info_t info;
+ int i;
+
+ /* check that the console is capable of running in 320x200x256 */
+ if (get_mode_info(adp, M_VGA_CG320, &info)) {
+ log(LOG_NOTICE,
+ "%s: the console does not support M_VGA_CG320\n",
+ SAVER_NAME);
+ return (ENODEV);
+ }
+
+ /* randomize the star field */
+ for (i = 0; i < STARS; i++)
+ star[i] = random() % (SCRW*SCRH);
+
+ return (0);
}
static int
warp_term(video_adapter_t *adp)
{
- return 0;
+ return (0);
}
static scrn_saver_t warp_module = {
- "warp_saver", warp_init, warp_term, warp_saver, NULL,
+ SAVER_NAME,
+ warp_init,
+ warp_term,
+ warp_saver,
+ NULL
};
SAVER_MODULE(warp_saver, warp_module);
OpenPOWER on IntegriCloud