[comp.sys.3b1] 3B1 bitmap screen at bootup

forrie@morwyn.UUCP (Forrie Aldrich) (02/13/91)

Here's a couple of questions for those technical hackers ...

1) Is there a way to CHANGE the bitmap 'blanket of dots' that is 
   produced by the wind driver?  If so, HOW?

2) Can one also change the MOUSE ICON to something else?


I can only assume that these are possible... particularly if a program
were written and then run out of /etc/rc or whatever with the proper
permissions.

It would be nice to be able to change that bitmap to something like a 
drawing or a digitized picture from pbm or .gif formats...

Just curious...

Thanks

Forrie
-- 
--------------------=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--------------------
Forrest Aldrich, Jr.|   ...uunet!eci!morwyn!forrie       |forrie@morywn.UUCP
                    |  ...uunet!eci!zinn!morwyn!forrie   | 
CREATIVE CONNECTIONS|...uunet!unhd!unhtel!morwyn!forrie  |Graphic Illustration
------------------\-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-/------------------
                   \___ PO Box 1541 - Dover, NH  03820 ___/                   

jbm@uncle.uucp (John B. Milton) (02/24/91)

In article <68@morwyn.UUCP> forrie@morwyn.UUCP (Forrie Aldrich) writes:
>Here's a couple of questions for those technical hackers ...
>
>1) Is there a way to CHANGE the bitmap 'blanket of dots' that is 
>   produced by the wind driver?  If so, HOW?
>
>2) Can one also change the MOUSE ICON to something else?
The mouse cursor is given a default by the window driver when the window is
created. It can then be changed once the window is open. As the mouse is dragged
from window to window the pointer will change. One could probably patch "windy"
to change the mouse pointer for a window. Perhaps embed a "1" for window 1, etc.

>I can only assume that these are possible... partic...
>were written and then run out of /etc/rc or whatever with the proper
>permissions.
>
>It would be nice to be able to change that bitmap to something like a 
>drawing or a digitized picture from pbm or .gif formats...

Well, too bad. It would cost 32k of kernel memory and would slow things down
quite a bit. I suppose one could run a pbmto3b1 in the background from /etc/rc
and just leave it. If you patch pbmto3b1 to change the name of the window
opened (see windy.c for how to do this), and change the name to one of:
"Phone Manager", "Status Manager", "Window Manager", then the window manager
will not switch to it or show it in the "Suspd" list. Go ahead, try it with
windy -n and the Shift-Rsume away from it, you can't get back to it.

The window manager does, however use an array "syspat", which contains four
pointers to the four fill patterns described below. One could patch the
kernel and change the values in these arrays to get a different pattern. As
you can see below, certain window "things" are mapped to certain patterns, so
if you hack patltgray, everything that uses that pattern will get changed. The
patterns are 32 bytes each, organized as 2 bytes across by 16 down, which is
16x16=256 bits. One could make some ok desktop patterns from this.  If you
have access to a Mac control panel, you can get some ideas. I don't know
what the deal is with PATDKGRAY, there is no patdkgray. As far as I know,
nothing uses the patgray entry at all. There also seems to be something weird
with the patltgray symbol in the kernel (static, below), so if you want to
change it with adb, you hvae to use patgray+20 as the address. Note that the
patwhite pattern is used to draw EVERYTHING that's white, except fonts, so
EVEN THE CURSOR WILL CHANGE. Note that the patterns are fill patterns, so they
are aligned to the screen, NOT what is being filled.

Ok, everyone post your favorite patltgray patches. Post them in this format:

echo "patgray+20,10/w 0aaaa 05555 0aaaa 05555 0aaaa 05555 0aaaa 05555 0aaaa 05555 0aaaa 05555 0aaaa 05555 0aaaa 05555" | sudo adb -w /unix /dev/kmem

The "/w" causes only the RAM version to be changed. If "?w" is used, it will
permanently change /unix.

--- nm /unix|grep pat ---
syspat              |  133916|extern|                  |      |     |.data
patblack            |  133932|extern|                  |      |     |.data
patwhite            |  133964|extern|                  |      |     |.data
patgray             |  133996|extern|                  |      |     |.data
patltgray           |  134028|static|                  |      |     |.data

--- from /usr/include/sys/wd.h ---
/* system patterns							*/
#define PATBLACK	0		/* all black			*/
#define PATWHITE	1		/* all white			*/
#define PATGRAY		2		/* half-tone			*/
#define PATLTGRAY	3		/* quarter-tone			*/
#define PATDKGRAY	4		/* reverse semi 1/4 tone	*/

#define PATBGROUND	PATLTGRAY	/* background			*/
#define PATFGROUND	PATBLACK	/* foreground			*/
#define PATCURSE	PATWHITE	/* cursor pattern		*/


BTW, I got 19 HD2 address confirmations, not very good really. I'm sending
them out anyway Monday.

HD2 address confimations:
1	Bill Carpenter
2	Steve Engelhardt
3	Augustine Cano
4	Scott Emery
5	Elliot Dierksen
6	Thomas Tkacik
7	Brad Isley
8	Bill Confare
9	Mark Hartman
10	Kevin O'Gorman
11	Michel Adam
12	Frank Pedroni
13	Alan Lundin
14	Norman Yarvin
15	Neal Murphy
16	Scott Ballantyne
17	Robert Haar
18	Andrew Hay
19	Michael Gersten

John
-- 
John Bly Milton IV, jbm@uncle.UUCP, n8emr!uncle!jbm@osu-cis.cis.ohio-state.edu
(614) h:252-8544, w:785-1110; N8KSN, AMPR: 44.70.0.52; Don't FLAME, inform!