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

Alu problem



I have some problem with alu values. I am running Allegro 3.1 on a
DECstation3100, UWS 2.2.

First my query: can somebody who has xlib:screen-black-pixel to 0 and
displaying working properly give me the values of its xlib boolean
constants?(You just have to eval the following forms and give me the result:

(XLIB:SCREEN-BLACK-PIXEL (xlib:display-default-screen ew::*X-DISPLAY*))
(dolist (x '(boole-1 boole-2 boole-andc1 boole-andc2 boole-and boole-c2
		     boole-clr boole-eqv boole-ior boole-nand
		     boole-nor boole-orc1 boole-orc2 boole-set boole-xor))  
	(format t "~% ~a ~s" x (eval x)))


Now the bug description:

Alu values are set in this function (in x-interface.lisp):

(defun init-alu-values (black-color)
  (ecase black-color
    #+excl
    ((255 1) (setq *Draw-Alu-Value* 7
	     *Erase-Alu-Value* 0
	     *Flip-Alu-Value* 8
	     *Magic-Alu-Value* 2))
    #-excl
    ((255 1) (setq *Draw-Alu-Value* 7
	     *Erase-Alu-Value* 2
	     *Flip-Alu-Value* 6
	     *Magic-Alu-Value* 5))
    (0 (setq *Draw-Alu-Value* 1
	     *Erase-Alu-Value* 15
	     *Flip-Alu-Value* 9
	     *Magic-Alu-Value* 10))))

I fall in the last case because my xlib:screen-black-pixel is 0.

The behavior I get in the Lisp Interactor is: 

When I try to type sys (space) me (space) I get:

The first s is not echoed (it should echo a S)
then ys is echoed
then tem is echoed, The S appears in inverse video, and ys is overwritten by a
black blob.
then men is echoed normally, 
then, no more echo but the system menu appears.

In the system menu, menu items appear as a black bar when the mouse is over
them. In the Lisp Window, previous commands are higlighted correctly when the
mouse is over.


I've tried the other (255 1) cases, they are much worse (nothing appears in
the mouse panel and the system menu).

I hope that by getting the boolean xlib values from a working implementation,
I can translate them to correct integer values, hence my query. Is there a
reason why this is not done directly in the code?

Right now, these values are for me:
 *Draw-Alu-Value* 1	SET
 *Erase-Alu-Value* 15	ORC2
 *Flip-Alu-Value* 9	EQV
 *Magic-Alu-Value* 10	NAND


Jean-Francois Rit               Tel: (415) 725 8813
CS Dept Robotics Laboratory     e-mail: rit@cs.stanford.edu      
Cedar Hall                   
Stanford, CA 94305-4110