Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/amiga/dev Make the console framebuffer visible when...



details:   https://anonhg.NetBSD.org/src/rev/a8f673617c60
branches:  trunk
changeset: 829380:a8f673617c60
user:      jandberg <jandberg%NetBSD.org@localhost>
date:      Sun Jan 28 10:00:31 2018 +0000

description:
Make the console framebuffer visible when polling mode console input is used.

diffstat:

 sys/arch/amiga/dev/amidisplaycc.c |  26 +++++++++++++++++++-------
 1 files changed, 19 insertions(+), 7 deletions(-)

diffs (61 lines):

diff -r 8fb65198dd79 -r a8f673617c60 sys/arch/amiga/dev/amidisplaycc.c
--- a/sys/arch/amiga/dev/amidisplaycc.c Sun Jan 28 01:09:57 2018 +0000
+++ b/sys/arch/amiga/dev/amidisplaycc.c Sun Jan 28 10:00:31 2018 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: amidisplaycc.c,v 1.30 2016/02/06 20:20:18 jandberg Exp $ */
+/*     $NetBSD: amidisplaycc.c,v 1.31 2018/01/28 10:00:31 jandberg Exp $ */
 
 /*-
  * Copyright (c) 2000 Jukka Andberg.
@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: amidisplaycc.c,v 1.30 2016/02/06 20:20:18 jandberg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: amidisplaycc.c,v 1.31 2018/01/28 10:00:31 jandberg Exp $");
 
 /*
  * wscons interface to amiga custom chips. Contains the necessary functions
@@ -438,6 +438,7 @@
                       aga_enable ? "(AGA)" : "");
 
                if (amidisplaycc_consolescreen.isconsole) {
+                       amidisplaycc_consolescreen.device = adp;
                        adp->currentscreen = &amidisplaycc_consolescreen;
                        printf(" (console)");
                } else
@@ -1060,11 +1061,6 @@
                                               (struct wsdisplay_cmap*)data));
        }
 
-       dprintf("amidisplaycc: unknown ioctl %lx (grp:'%c' num:%d)\n",
-               (long)cmd,
-               (char)((cmd&0xff00)>>8),
-               (int)(cmd&0xff));
-
        return (EPASSTHROUGH);
 
 #undef UINTDATA
@@ -1878,6 +1874,22 @@
 void
 amidisplaycc_pollc(void *cookie, int on)
 {
+       if (amidisplaycc_consolescreen.isconsole)
+       {
+               if (on) 
+               {
+                       /* About to use console, so make it visible */
+                       grf_display_view(amidisplaycc_consolescreen.view);
+               }
+               if (!on && 
+                   amidisplaycc_consolescreen.isconsole && 
+                   amidisplaycc_consolescreen.device != NULL && 
+                   amidisplaycc_consolescreen.device->currentscreen != NULL) 
+               {
+                       /* Restore the correct view after done with console use */
+                       grf_display_view(amidisplaycc_consolescreen.device->currentscreen->view);
+               }
+       }
 }
 
 /*



Home | Main Index | Thread Index | Old Index