Subject: Re: hp300 X
To: None <carrel@cisco.com, mike@cs.utah.edu>
From: Mike Hibler <mike@cs.utah.edu>
List: port-hp300
Date: 06/17/1994 11:41:40
> To: mike@cs (Mike Hibler)
> Subject: Re: hp300 X 
> Date: Fri, 17 Jun 1994 10:30:10 -0700
> From: David Carrel <carrel@cisco.com>
> 
> > What are the shared memory extensions?
> 
> X11 has a set of shared memory extensions in libXext.a.  They are extra and
> not mandatory.  A flag in the Imake config file causes them to get built.
> They utilize the SYSV shared memory routines.  Since they were recently
> "re-added" to NetBSD, I thought I would try them out.  I only have one app
> that uses the X11 shared memory extensions.  It is an mpeg player called
> mpeg_play.
> 
So it is sharing memory between the client and the server?  Does it use this
shared memory in place of sockets for taking the X protocol?

> Sounds great.  But you forgot to add the diffs at the end.
Oops!  Lets try again.

> I was just running mpeg_play and KABLEWEY.  I don't remember the panic
> message offhand, I have it written down at home.  The post-mortem debugging
> sounds cool.  But I don't have access to 44Lite code.  Is it public on the
> net???  All I play with is NetBSD, and while it is more 44Lite-ish every
> day, it doesn't have a /usr/src/contrib that I know of.  I'm definitely not
> UP on the politics of BSD.
> 
I thought the netbsd people had a copy of Lite now?

--------
diff -r -R ./mit/server/ddx/hpbsd/hpsprite.c /n/critter/usr/src/X11R5/mit/server/ddx/hpbsd/hpsprite.c
39c39
< 
---
> # include   "hildef.h"
48a49
> static void	    hpSpriteBlockHandler();
197a199
>     pPriv->BlockHandler = pScreen->BlockHandler;
213a216
>     pScreen->BlockHandler = hpSpriteBlockHandler;
248a252
>     pScreen->BlockHandler = pScreenPriv->BlockHandler;
380a385,406
> }
> 
> static void
> hpSpriteBlockHandler (i, blockData, pTimeout, pReadmask)
>     int i;
>     pointer     blockData;
>     pointer     pTimeout;
>     pointer     pReadmask;
> {
>     ScreenPtr		pScreen = screenInfo.screens[i];
>     hpPrivScreenPtr	pPriv;
>     extern HPInputDevice *hpPointer;
> 
>     pPriv = getPrivScreenPtr(pScreen);
> 
>     SCREEN_PROLOGUE(pScreen, BlockHandler);
>     
>     (*pScreen->BlockHandler) (i, blockData, pTimeout, pReadmask);
> 
>     SCREEN_EPILOGUE(pScreen, BlockHandler, hpSpriteBlockHandler);
> 
>     (*pPriv->MoveMouse) (pScreen,hpPointer->coords[0],hpPointer->coords[1],0);
diff -r -R ./mit/server/ddx/hpbsd/include/hppriv.h /n/critter/usr/src/X11R5/mit/server/ddx/hpbsd/include/hppriv.h
60a61
>     void	    (*BlockHandler)();
diff -r -R ./mit/server/ddx/hpbsd/topcat/tcText.c /n/critter/usr/src/X11R5/mit/server/ddx/hpbsd/topcat/tcText.c
208,210c208
<     while (screenPlanes & hardware->move_active)
< 	waitAwhile(screenPlanes);
<     
---
>     waitbusy(screenPlanes, hardware);
384,385c382
< 			while (screenPlanes & hardware->move_active) 
< 			    waitAwhile(screenPlanes);
---
> 			waitbusy(screenPlanes, hardware);
493,494c490
< 			while(screenPlanes & hardware->move_active) 
< 			    waitAwhile(screenPlanes);
---
> 			waitbusy(screenPlanes, hardware);
diff -r -R ./mit/server/ddx/hpbsd/topcat/topcat.c /n/critter/usr/src/X11R5/mit/server/ddx/hpbsd/topcat/topcat.c
75a76
> int IsCatseye;
85a87
> static char _catseye_ident[] = "@(#)98548A, 98549A, 98550A";
378d379
<     int       k;
381,382c382
<     while ((gp_hardware -> move_active) & pMask)
< 	for (k=0; k<100; k++); /* delay to let topcat mover work */
---
>     waitbusy(pMask, gp_hardware);
519a520
> 	IsCatseye = 1;
521a523
>     {
522a525,526
> 	IsCatseye = 0;
>     }
diff -r -R ./mit/server/ddx/hpbsd/topcat/topcat.h /n/critter/usr/src/X11R5/mit/server/ddx/hpbsd/topcat/topcat.h
45c45,57
<  * $Log: topcat.h,v $
---
>  * $Log:	topcat.h,v $
>  * Revision 1.4  93/04/30  17:51:09  mike
>  * get rid of old code
>  * 
>  * Revision 1.3  93/04/30  16:03:24  mike
>  * latest changes from Mark D.
>  * 
>  * Revision 1.2  93/04/22  16:50:10  mike
>  * use catseye status register for testing busy
>  * 
>  * Revision 1.1  93/04/20  10:32:08  mike
>  * Initial revision
>  * 
265c277
<     u_char  start_move;		/* start window move		*/
---
>     u_char start_move;		/* start window move		*/
295c307,309
<     u_char filler99[7919];
---
>     u_char filler98[1772];
>     u_short catseye_status;	/* catseye status		*/ /* 0x4800 */
>     u_char filler99[6145];
332a347
> extern int IsCatseye;
333a349,352
> 	if (IsCatseye) \
> 		while ((gp_hardware)->catseye_status & 1) \
> 			{ int i; for (i=0;i<20;i++); } \
> 	else \

------------------------------------------------------------------------------