home *** CD-ROM | disk | FTP | other *** search
- Ack I just killed some mail (actually archived it but its pretty hard
- to get at now) So I don't have the Xami's authors name sorry.
-
- What I wanted to say is about using the view stuff. The problem is
- currently we have no way to to allow multiple things like console and
- X I guess we need to chnage some stuff (will be working on these now)
- in ite and other places to support swapping the input focus around and
- such. This will allow multiple consoles etc. Currently however I was
- under the impression (as markus informed me) that X somehow co-exists
- with /dev/console so that both cannot be run at the same time (displayed)
-
- As for right now I would say code it using the mix of grf0 (ick).
- Currently grf0 is only a hack into the view code but this hack also
- works to syncronize things. -OR better yet-
-
- If you wanted to open up other screens however you can use the view
- devices, actually you do all your graphics into views, how? tell
- grf[0] to turn off (not needed but at least it avoids the consoel
- popinng up sometime when the user won't be able to type into it.)
-
- Then open /dev/view00 .. /dev/viewXX for each screeen you want (view00
- currently will return EBUSY but thats ok you should be handling this :^)
-
- Is your input and output coming from the /dev/console?
-
- I am not sure that is all clear so I will try and do a walk through
- pseudo boot of an X like thing:
-
- tell /dev/console to turn off. This should cause /dev/console to lose
- the input focus.
-
- open /dev/ms and /dev/kbd to get input from user.
-
- open /dev/viewXX where XX is 00 then 01 until you get either a valid
- fd or your error is not EBUSY (signifying someone else is using it)
-
- use ioctl to get bitmap VIEW_GETBITMAP
- use ioctl to get colors VIEW_GETCOLORMAP
- use mmap to map the bitmap into your process space.
-
- Now you can do anything to the view/bitmap that you want render into
- it using the mapped mem and can change the colors (ex: in iteconfig
- and view code I uploaded) using ioctl VIEW_SETCOLORMAP. Whats so nice
- abou tthis? You don't have to worry about the silly stuff behind
- whats happening. Oh BTW ioctl VIEW_SETSIZE and VIEW_GETSIZE to set or
- find a new display size (whatchout however as this will possibly
- de-allocate and re-allocate the bitmap so you should get the bitmap
- struct again and remap it into your process.
-
- As you can see this was my first attempt at RTG I guess becuase there
- are some really kooky boards out ther it doesn't quite work becuase
- the boards cannot mmap the entire bitmap at once. Dunno how to handle
- this I have some ideas at how retina could be done but I don't know
- much about other display cards.
-
- I also want to add to the view spec (and my grf monitor stuff) some
- more ways to ask for specific display types Right nowit just uses a
- closest fit algorithm to pick the display mode. This is not good
- enough as we need to allow programs to say *NO INTERLACE* or *NO
- HIRES* etc...
-
- The view device alsocan be expanded (backward compatibly) to allow
- oversized bitmaps as my /dev/grf (in dev/grf/*) allows for this.
- Although my /dev/grf probably needs some more params to specify the X
- and Y deltas inside the oversized bitmap (I used the speced deltas for
- giving everyone there adustable display offsets :^) )
-
- Anyway I really hope you do use this method as its the cleanest and
- will in the future I am sure add support transparently to your X
- server for other display cards (or AGA mode etc :^)
-
- Chris.
-
-
-