Subject: Quadra 610 (and others) internal video
To: None <port-mac68k@NetBSD.ORG>
From: Erik Bertelsen <erik@sockdev.uni-c.dk>
List: port-mac68k
Date: 01/14/1997 23:22:59
Based on a hint from Scott, I tried to tell the kernel explicitly
about the address of the internal video.

I found a table in machdep.c, that I had not seen before, where
I could add this information.

With this patch
Index: machdep.c
===================================================================
RCS file: /usr/cvs-base/src/sys/arch/mac68k/mac68k/machdep.c,v
retrieving revision 1.1.1.2
diff -c -r1.1.1.2 machdep.c
*** machdep.c   1997/01/09 15:45:06     1.1.1.2
--- machdep.c   1997/01/14 22:11:58
***************
*** 2254,2259 ****
--- 2254,2260 ----
        {MACH_MACPB165C,        (caddr_t) 0xfc040000,   512 * 1024},
        {MACH_MACPB180C,        (caddr_t) 0xfc040000,   512 * 1024},
        {MACH_MACPB500,         (caddr_t) 0x60000000,   512 * 1024},
+       {MACH_MACQ610,          (caddr_t) 0xf9001000,   512 * 1024},
        {0,                     (caddr_t) 0x0,          0},
  };                            /* End of intvid_info[] initialization. */
  


The Quadra 610 configures an intvid0 device, which in consequence 
causes grf0 to be configured.

When running with the Mac monitor in black-and-white, this grf is
usable by dt (and I guess, also by X), but not when booting in
8-bit colour.

This patch works, but I do not know whether the 512*1024 is good or
bad -- how do I determine this ?

By adding the similar data for Centris 610, 650, Quadra 650, and
Quadra 800, they should be supported as well. All these systems
are covered by the same "Developer note", which confirms that
video memory is in are starting from 0xf900 0000.

The value f9001000 is taken from the values dumped as env.
variables by the booter. Owners of the above mentionened computers
may verify this value with their computer. Running hte booter and
examining the env. variables does not require a BSD partition, nor
does it require a kernel.

regards
Erik Bertelsen