Ok, I made a quick and very dirty patch to allow Self to run on
16 and 32 (24, actually) bit per pixel displays. Unfortunately there
is a bug in the image/mask code that causes it to crash immediately,
but at least you get to see the debugger come up in glorious true
colors ;-)
You can download this (and my other patches) from
http://www.lsi.usp.br/~jecel/release/patches
The name is "trueColorPatch.self". It only affects two methods in
traits paintManager. While it looked at first glance that the idea
of 8 bpp was spread throughout UI2, that turned out not to be the
case. Several objects call paintManager to convert a paint object
into a colormap index (which true color doesn't have), but then all
they do with it is pass it on to X Windows. So by returning an
integer with the RGB values in it instead of an index, paintManager
can work with 16 and 32 bit color values.
The bug that keeps this from working is in the code where a "mask"
is generated from an xlib xImage. It tried to do some tricks with
color maps for converting from 8 bpp to 1 bpp mapping all colors
to black, except for one that is mapped to white. I'll look into
this next week.
-- Jecel
------------------------------------------------------------------------
Free Web-based e-mail groups -- http://www.eGroups.com
>
> David Ungar wrote:
> >
> > You might want to check with John Maloney at Disney before completely
> > giving up.
>
> Do you mean that he had a patch for UI2 to work with "true colors" or
> that I should look at what he has done in Squeak? In the latter case,
> Squeak Morphic is entirely based in WarpBitBLT and doesn't resemble
> X-Windows at all (which is good, in my opinion), so adapting that
> to Self would be a major rewrite.
>
> -- Jecel
>
>
I don't think John had such a patch. The assumption of 8 bit color map
is spread around a bit in the UI2 paint model, so for now the only
realistic option is to run your X in 8-bit deep default mode, which , of
course, you may not want to do for other apps or whatever.
Promoting the UI to full color was on John's list, but pretty far down
compared to other urgent things, so no one ever got around
to doing it, sad to say. It SHOULD be possible to make another kind of
paint and paint management system -- I don't think the 8-bit model
it is really unencapsuated beyond the edges of that part of the UI.
(Would have replied earlier, but have been out of town.)
--Randy
------------------------------------------------------------------------
Free Web-based e-mail groups -- http://www.eGroups.com
You might want to check with John Maloney at Disney before completely
giving up.
- Dave
At 5:47 PM -0200 11/18/98, Jecel Assumpcao Jr wrote:
>The answer to this is easy: unfortunately Self can't run on an
>X Window server with more than 8 bit per pixel (256 colors). None
>of the machines at LSI USP can do this anyway, but I like to use
>16bpp at home (64K colors) and got the exact same message you did.
>
>I looked into fixing this, but the idea of small color maps seems
>to be widely spread out through the whole UI2 code :-(
>
>-- Jecel
>------------------------------------------------------------------------
>For the absolute lowest price on Computer Hardware visit:
>http://ads.egroups.com/click/56/0/bottomdollar
>
>
>Free Web-based e-mail groups -- http://www.eGroups.com
- Dave
David Ungar
Sun Microsystems Laboratories
(650) 336-2618
------------------------------------------------------------------------
Free Web-based e-mail groups -- http://www.eGroups.com
Hello, all, I got processing time on an Ultra2 and installed SELF. The
VM comes up fine, but the ui2 window is this big, blank white thing that
does respond to any message (I can only type _Quit from the VM shell).
The message it spits out in the shell is:
Welcome to the Self system! (Version 4.0.2)
Copyright 1992, 1993, 1994, 1995 Sun Microsystems, Inc. and Stanford
University.
See the LICENSE file for license information.
Type _Credits for full credits.
VM version: 4.0.5
"Self 23"
Warning: A ui2 window is now using a private colormap; flashing
may occur when moving the cursor between windows.
Error: 5227889 is absent.
Receiver is: a vector.
X Error: BadMatch (invalid parameter attributes).
May I please receive some help to get the SELF system up, running and
interacting with me a la ui? Thank you in advance.
Doug Auclair
______________________________________________________
------------------------------------------------------------------------
Free Web-based e-mail groups -- http://www.eGroups.com
I tried to send this to the list from the university yesterday, but
it seems that it didn't make it.
Here is a very short report about making Java run on a modified version
of the Smalltalk/X virtual machine:
http://www.exept.de/stja97_en.html
While this is the opposite of the JSelf project and there are some
things that are unique to the ST/X VM, I think at least some of
what is discussed there is relevant. In particular, I agree with the
authors that it is easier to run Java on Smalltalk/Self than the
other way around.
-- Jecel
------------------------------------------------------------------------
Free Web-based e-mail groups -- http://www.eGroups.com
---------- Forwarded message ----------
Date: Thu, 12 Nov 1998 20:29:46 -0800
From: David Ungar <David.Ungar(a)Eng.Sun.COM>
To: Randy Smith <Randall.Smith(a)Eng.Sun.COM>, randall.smith(a)Sun.COM,
mario.wolczko(a)Sun.COM, david.ungar(a)Sun.COM, lourenci(a)lsi.usp.br
Subject: Re: Kansas (fwd)
Albertina,
Hi! Well, Randy said it far better than I ever could.
To paraphrase a joke from an American TV show:
"It's a dessert topping! No, it's a floor wax! Hey.....it's both!!!"
- Dave
At 11:09 AM -0800 11/12/98, Randy Smith wrote:
>Albertina --
>
>Well the question seems to be if Kansas is a multi-user programmable
>virtual reality or a graphical interface.
>
>I would say it is both, and here's why:
>
>It is a graphical interface in that every object in the system can be
>viewed as an object for direct manipulation.
>
>It is also a multi-user programmable virtual reality: As you know, Self
>is a fully general first class programming language in which everything
>is an object, including, for example, collections and numbers. (In this
>regard, it is more object-oriented than Java, say, which has non-object
>data such as Java integers and classes.) Kansas is the environment for
>working with Self, and it is written in Self. Since even the rules of
>arithmetic can be changed as it runs, Kansas is a fully programmable
>world, supporting multiple simultaneous users.
>
>The only argument might come from someone who defines Virtual Reality as
>necessarily 3D. Kansas is a 2D space, although much larger than a single
>screen's worth of space. For some it would *not* qualify as VR without
>being a large *3D* space. For a few, a system must be 3D AND have a
>head-mounted display to be VR.
>
>Hope that helps.
>
> --Randy
>
>
>
>
>
>> From lourenci(a)lsi.usp.br Thu Nov 12 10:50 PST 1998
>> Date: Thu, 12 Nov 1998 16:54:09 -0200 (EDT)
>> From: Albertina Lourenci <lourenci(a)lsi.usp.br>
>> To: randall.smith(a)Sun.COM, mario.wolczko(a)Sun.COM, david.ungar(a)Sun.COM
>> Subject: Kansas (fwd)
>> MIME-Version: 1.0
>>
>> Dear RAndy, Mario and Dave:
>>
>> First of all I want to congratulate you for having
>> created such a beautiful language as Self. I am developing a knowledge
>> based systems in Self with the Jecel's help.
>> I would be very happy if you make your best to answer
>> this question because people from Third World countries can feel how
>> serious researchers from First World countries are. I mean I need this
>> answer to give continuity to my studies. It will help the outdated people
>> from the financing agency FAPESP in Brazil to understand that I am not
>> that kind of person who hears of a language in unspecialized magazines
>> and create my own usage of the words.
>>
>>
>> Thank you very much for your kind attention.
>>
>> Best wishes
>>
>> Albertina Lourenci
>>
>> PhD in Architecture and Urbanism USP
>>
>> post-doctorate student Laboratory for Integrated Systems USP
>>
>> ---------- Forwarded message ----------
>> Date: Thu, 12 Nov 1998 16:46:28 -0200 (EDT)
>> From: Albertina Lourenci <lourenci(a)lsi.usp.br>
>> To: self-interest(a)egroups.com
>> Subject: Kansas
>>
>>
>> During the oral presentation of my PHD thesis on 10 November I was
>> questioned by a young researcher in computer graphics if Kansas was
>> indeed a multi-user programmable virtual reality. He suggested it
>> was rather a graphical interface. I would be extremely happy if the
>> authors of the paper RAndall Smith, Mario Wolczko and David Ungar
>> answer this question. This was stated in the paper Thrown from Kansas
>> to OZ Collaborative debugging when a shared world breaks in CACM April
>> 1997. Of course anyone else can join the dialogue.
>>
>> Albertina lourenci
>>
>> PhD in Architecture and Urbanism
>>
>> post-doctorate student at Laboratory for Integrated Systems USP
>>
>>
>>
>>
- Dave
David Ungar
Sun Microsystems Laboratories
(650) 336-2618
------------------------------------------------------------------------
Free Web-based e-mail groups -- http://www.eGroups.com
During the oral presentation of my PHD thesis on 10 November I was
questioned by a young researcher in computer graphics if Kansas was
indeed a multi-user programmable virtual reality. He suggested it
was rather a graphical interface. I would be extremely happy if the
authors of the paper RAndall Smith, Mario Wolczko and David Ungar
answer this question. This was stated in the paper Thrown from Kansas
to OZ Collaborative debugging when a shared world breaks in CACM April
1997. Of course anyone else can join the dialogue.
Albertina lourenci
PhD in Architecture and Urbanism
post-doctorate student at Laboratory for Integrated Systems USP
------------------------------------------------------------------------
Free Web-based e-mail groups -- http://www.eGroups.com
This is a general discussion list about Self, so not everyone will be
interested in hearing about the virtual machine's internals. I promised
I would say a little about it, however, so here it is:
When looking at any large C++ program, the first thing to do is to
list all the classes and make an inheritance tree showing what the
various subclasses are. Fortunately, this has already been done for
the 4.0 VM - take a look at the vm/memory/types.h file.
We can see:
- the oop hierarchy (20 types) which represent the various "object
oriented pointers" used in the system
- the map hierarchy (27 types) which are the invisible meta-objects
used in Self. They are the link to the C++ world and also serve
as the system's notion of "type".
- the memory hierarchy (20 types) which together organize space
allocation
- slots (2 types) this is what objects are made of
- frames (4 types) allow access to the execution stack
- misc (6 types) processes and stuff
- lookups (12 types) the compilers need this for message sends
- dependency (2 types) allows selective recompilation when the
programmer changes something
- code (9 types) the output of the compilers
- various helper (16 types)
- scanner (5 types) to convert Self source to bytecodes
- statistics (4 types)
- function types (10 types)
- compiler classes (7 types) the compilers themselves
- SIC classes (54 types) all of the temporary structures that the
Simple Inlining Compiler builds up as it looks through the code
- globals (3 types)
The next step is to look through the code and see what groups of
classes are used together (what "frameworks" are part of the system).
I haven't done this and it would be pretty long anyway. Understanding
the Self VM is far from trivial, and porting to another machine is
even harder. But it is certainly worth the effort.
-- Jecel
______________________________________________________________________
NextCard Internet VISA -- 2.9% intro APR
Earn free airline tickets WITH DOUBLE Rew@rds points.
http://ads.egroups.com/click/61/0/nextcard
Subscribe, unsubscribe, opt for a daily digest, or start a new e-group
at http://www.eGroups.com -- Free Web-based e-mail groups.
One very simple Home Page for the JSelf project has borned in http://www.ConsultAr.com/JSelf
All of you are invited...
(|diego. gomez. deck|)
-----
Free e-mail group hosting at http://www.eGroups.com/
------------------------------------------------------------------------
Subscribe, unsubscribe, opt for a daily digest, or start a new e-group
at http://www.eGroups.com -- Free Web-based e-mail groups.
I'd like to make the JSelf project GNU, but I'm not sure about the licenses implication of use the sunlabs sources as base of the developing.
Any of you know about this????
(|diego. gomez. deck|)
-----
Free e-mail group hosting at http://www.eGroups.com/
------------------------------------------------------------------------
Subscribe, unsubscribe, opt for a daily digest, or start a new e-group
at http://www.eGroups.com -- Free Web-based e-mail groups.