OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [mw/] [doc/] [index.html] - Blame information for rev 1776

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 673 markom
<html>
2
 
3
<head>
4
<title>Greg Haerr's Microwindows and NanoGUI Page</title>
5
</head>
6
 
7
<body BGCOLOR="#ffffff">
8
 
9
<table border="0" cellpadding="4" cellspacing="10">
10
  <tr>
11
    <td valign="top"><img border="0" src="file:///C:/My%20Documents/My%20Webs/myweb2/images/cat.gif" width="85" height="41"> </td>
12
    <td><h1 align="center">Microwindows and NanoGUI Projects</h1>
13
    </td>
14
  </tr>
15
  <tr>
16
    <td valign="top"><!--left-column contents --> <p><b>Downloads</b> <br>
17
    <a href="ftp://microwindows.censoft.com/pub/microwindows/">Microwindows</a> <br>
18
    <a href="ftp://microwindows.censoft.com/pub/microwindows/ScreenShots">Screen&nbsp;Shots</a>
19
    <br>
20
    <a href="ftp://microwindows.censoft.com/pub/microwindows/LinuxExamples">Linux&nbsp;Binaries</a>
21
    <br>
22
    <a href="ftp://microwindows.censoft.com/pub/microwindows/ElksExamples">ELKS&nbsp;Binaries</a>
23
    <br>
24
    <a href="ftp://microwindows.censoft.com/pub/microwindows/DosExamples">MSDOS&nbsp;Binaries</a>
25
    </p>
26
    <p><b>Docs</b> <br>
27
    <a href="faq.html">FAQ</a> <br>
28
    <a href="microwindows_architecture.html">Architecture</a> </p>
29
    <p><b>Links</b> <br>
30
    <a href="http://www.linuxhacker.org/nanogui/">NanoGUI</a> <br>
31
    <a href="http://www.linuxce.org/">Linux&nbsp;CE</a> <br>
32
    <a href="http://www.elks.ecs.soton.ac.uk/">ELKS</a> <br>
33
    <a href="http://ltc.com/linux-mips">Brad's&nbsp;Linux MIPS&nbsp;Pages</a> <!--end left-column contents --> <br>
34
    <a href="http://members.xoom.com/rosimildo/rtems_gui.html">RTEMS Port</a></td>
35
    <td><!--main contents --> <h3>Welcome</h3>
36
    <p>Microwindows is an Open Source project aimed at bringing the features of modern
37
    graphical windowing environments to smaller devices and platforms.&nbsp; Microwindows
38
    allows applications to be built and tested on the Linux desktop, as well as cross-compiled
39
    for the target device.&nbsp; Microwindows' genesis was with the NanoGUI project, and has
40
    now been combined into a single distribution.&nbsp; The Win32 API implementation is known
41
    as Microwindows, and the Xlib-like API implementation is known as Nano-X. Please read the <a href="faq.html">FAQ</a> for more information.&nbsp; An extensive <a href="microwindows_architecture.html">Architecture</a> document is also available. &nbsp;
42
    To get involved, please join <a href="http://www.linuxhacker.org/nanogui/">the NanoGUI
43
    mailing list.</a></p>
44
    <h3>News</h3>
45
    <h3>Version 0.87pre2 release</h3>
46
      <p>December 14, 1999<br>
47
      The second prerelease for version 0.87 has just been released, and is
48
      available for download at:<br>
49
      <a href="ftp://microwindows.censoft.com/pub/microwindows/microwindows-0.87pre2.tar.gz">ftp://microwindows.censoft.com/pub/microwindows/microwindows-0.87pre2.tar.gz</a>&nbsp;
50
      This release is primarily intended for inspection and testing of the
51
      changes before the directory tree reorganization, planned next.<br>
52
      The major enhancements include:</p>
53
      <ul>
54
        <li>Portrait mode driver for framebuffer systems.&nbsp; This is a big
55
          win for handhelds and palmtops, many of which require portrait mode
56
          for normal operation.&nbsp; All graphics output, including mouse
57
          movement, hotspots, and text output, are rotated and displayed in
58
          portrait mode.&nbsp; In addition, your Microwindows applications can
59
          be viewed in portrait mode on the desktop.&nbsp; Try moving the mouse
60
          without holding your head sideways!</li>
61
        <li>The RTEMS operating system port source has been integrated with the
62
          main tree.</li>
63
        <li>Fixes to allow Microwindows to be run on big-endian machines are now
64
          included.</li>
65
        <li>Various bug fixes including the Microwindows terminal emulator pty
66
          fix for X11, and Nano-X GrMovewindow fixes for child windows.&nbsp;
67
          There are still some issues relating to Nano-X clipping during window
68
          movement.</li>
69
      </ul>
70
    <h3>RTEMS Port</h3>
71
    <p>December 3, 1999<br>
72
    There's been alot of interest and development with Microwindows lately.&nbsp; Rosimildo
73
    daSilva has ported Microwindows 0.86 to the RTEMS operating system, available at <a href="http://members.xoom.com/rosimildo/rtems_gui.htm">http://members.xoom.com/rosimildo/rtems_gui.htm</a>.
74
    &nbsp; <a href="http://www.oarcorp.com/">RTEMS</a> is a POSIX-threads compliant real time
75
    multitasking operating system which runs on Intel, Motorola, Hitachi, Mips, and many other
76
    CPUs.</p>
77
    <h3>Version 0.87pre1 release</h3>
78
    <p>December 2, 1999<br>
79
    I have prepared an interim release of Microwindows and Nano-X enhancements, which
80
    completes many things folks have asked for, version 0.87pre1. This is available for
81
    download at <a href="ftp://microwindows.censoft.com/pub/microwindows/microwindows-0.87pre1.tar.gz">ftp://microwindows.censoft.com/pub/microwindows/microwindows-0.87pre1.tar.gz</a>
82
    <br>
83
    The major enhancements include:<ul>
84
      <li>Support for running under X11. Microwindows and Nano-X can now run as a user-defined
85
        (default 640x480) window under X Windows. The graphics output and look and feel are
86
        identical to framebuffer, but will run on any X display server.</li>
87
    </ul>
88
    <ul>
89
      <li>Compile-time options allow configuration to emulate any of the Microwindows truecolor or
90
        palette modes, in any pixel depth, including grayscale. This allows a Microwindows or
91
        Nano-X application to be emulated exactly, regardless of the host's or target's
92
        framebuffer characteristics. Thanks to Tony Rogvall for the X11 driver.<br>
93
      </li>
94
      <li>The client/server network code has been completely rewritten for speed!!!
95
        I studied the
96
        X11 Xlib implementation and came up with a similar implementation. By queuing all client
97
        data until an event or reply is required, Nano-X now runs at extremely high speed.
98
        For benchmarking, use the world demo, which plots several thousand
99
        points.&nbsp; This demo now runs extremely quickly.&nbsp; Unlike
100
        the Xlib implementation, Nano-X still runs synchronously per client, meaning that once a
101
        client request packet is sent, the server waits until the whole packet has arrived until
102
        servicing another client. This keeps the server code immensely simpler, while still
103
        running very quickly.&nbsp; I urge interested folks to check out the implementation, in
104
        mwin/src/nanox/nxproto.{ch}, and mwin/src/nanox/client.c.<br>
105
      </li>
106
      <li>Routines were added to allow Nano-X to be used as a &quot;passive library&quot;, meaning
107
        that an application with it's own main loop can now call into Nano-X occasionally
108
        (after a
109
        select returns a file descriptor that Nano-X is interested in), and it will all work. This
110
        was done for Morten. See mwin/src/nanox/client.c, functions GrPrepareSelect(),
111
        GrServiceSelect(), GrMainLoop(). <br>
112
      </li>
113
      <li>Routines were added to get the system palette, and translate an RGB color to a PIXELVAL
114
        palette index. This was for Richard and the Opera browser. See mwin/src/nanox/srvfunc.c,
115
        functions GrGetSystemPalette, GrFindColor(). <br>
116
      </li>
117
      <li>A null mouse driver was added for systems without a mouse, by setting NOMOUSE=1 in
118
        Makefile.<br>
119
        <br>
120
        This is released as 0.87pre1 because I still haven't finished the directory tree
121
        reorganization, and adding Martin's cool X11 graphics makefile configuration tool. The
122
        client/server code rewrite took alot more time than expected. I am also working on getting
123
        all source on CVS. </li>
124
    </ul>
125
    <h3>NanoGUI combined with Microwindows</h3>
126
    <p>November 13, 1999<br>
127
    Alex Holden, the originator of the NanoGUI project, officially handed over his role to
128
    Greg Haerr, so that the NanoGUI and Microwindows projects can officially be available as a
129
    single distribution.&nbsp; Alex continues to host the Microwindows/NanoGUI mailing list.
130
    &nbsp; Although the releases have been maintained for some time by Greg Haerr, the
131
    official distribution site is now moved here.&nbsp; A big thanks goes to Alex for thinking
132
    up the NanoGUI idea and hosting the initial web site.</p>
133
    <h3>Opera Web Browser ported to Microwindows</h3>
134
    <p>November 11, 1999<br>
135
    <a href="http://www.opera.com">The Opera Web Browser</a>, a browser known for it's small
136
    footprint and operation on different operating systems, including Windows, BeOS, Linux,
137
    Solaris, MacOS and OS/2, has announced they have completed initial work porting Opera to
138
    Microwindows.&nbsp; This is a crticial milestone for Microwindows, since it shows that
139
    larger, graphics intensive applications can run on top of the Microwindows graphics
140
    engine.&nbsp; The Opera port uses the Nano-X api and features jpeg and gif image support,
141
    as well as transparent image drawing.&nbsp; The codefile size is 670k.&nbsp; The current
142
    Microwindows footprint is less than 100k with no compiled-in images.</p>
143
    <h3>Version 0.86 release</h3>
144
    <p>October 28, 1999<br>
145
    Thanks to Brad LaRonde for helping me get this web page out.&nbsp; I have posted an update
146
    v0.86 to Microwindows/Nano-X at: </p>
147
    <blockquote>
148
      <a href="ftp://microwindows.censoft.com/pub/microwindows/microwindows-0.86.tar.gz"><p>ftp://microwindows.censoft.com/pub/microwindows/microwindows-0.86.tar.gz</a>
149
      </p>
150
    </blockquote>
151
    <p>This version completes a major effort, that of implementing off-screen drawing, as well
152
    as screen-to-screen blitting. The screen driver interface had to change to accommodate
153
    this, and I had to rewrite all the screen drivers. In addition, the blitting routines were
154
    written for 1, 2, 4, 8, 16 and 32bpp linear framebuffer devices, as well as the 16 color 4
155
    planes vga (this was a royal pain...) The blitting uses a clipping region traversal
156
    algorithm so that blitting is always high speed, even when the destination window is
157
    partly obscured. </p>
158
    <p>This release also auto-detects most Linux framebuffer implementations, and should have
159
    a compiled in driver for it. </p>
160
    <p>The standard Microwindows demo is now a graphical terminal emulator, mterm. (No, it
161
    doesn't run vi yet, and it doesn't repaint it's screen contents, but it will ;-) This demo
162
    requires screen-to-screen blitting for scrolling. The 3d graphics demo now uses offscreen
163
    blitting to enhance (read no flicker) the display. Check it out. </p>
164
    <p>There is also some experimental full-blown region handling code included, which uses
165
    X11's y-x banding region algorithms. (This stuff is truly for those with extra time and
166
    brains). It is currently not compiled in, but can be included by replacing devclip.c with
167
    devclip2.c. In the next release, arbitrary multi-rectangle clipping regions will be
168
    available. I also plan on implementing separate clip regions from update regions for
169
    windows, with the system computing the update region as a subset of the clip region.
170
    Anyway, this sophisticated region handling is required for smart window painting as well
171
    as higher end graphics primitives. Eventually, this will also allow separate source and
172
    destination clipping for bitblit operations. Only destination clipping is working now. </p>
173
    <p>The next release will have a reorganized directory structure, allowing separate
174
    development of Nano-X, widgets, core engine, and Microwindows. I plan on moving the whole
175
    thing to a CVS soon. BTW, Microwindows now supports three processor families, according to
176
    reports emailed me. We've got i386, 8086, MIPS Vr41xx, and ARM families running ;-) </p>
177
    <p>Following is a summary of the ChangeLog: <br>
178
    Version 0.86 - 28th October 1999 - greg@censoft.com <ul>
179
      <li>merged framebuffer, elks and msdos vga 16 color 4 planes drivers </li>
180
      <li>wrote vga bitbit routines (a herculean effort) </li>
181
      <li>optimized bitblit by traversing window clip region </li>
182
      <li>added experimental multi-rectangle dynamically allocated regions </li>
183
      <li>wrote scrolling terminal emulator demo for microwindows </li>
184
      <li>added WM_FDINPUT msg, WndRegisterFdInput call for terminal emulator </li>
185
      <li>changed SCREENINFO struct, removed black/white, added bpp, planes </li>
186
      <li>added offscreen (memory DC) drawing to microwindows </li>
187
      <li>added BitBlt, CreateCompatibleBitmap, CreateCompatibleDC, DeleteDC </li>
188
      <li>retired BOGL library, must use new interface for blitting </li>
189
      <li>converted framebuffer, svgalib, elks and msdos screen drivers (we need blit routines for
190
        herc and svgalib still) </li>
191
      <li>major screen driver interface change, old drivers not compatible </li>
192
    </ul>
193
    <p>Page maintained by Greg Haerr &lt;<a href="mailto:greg@censoft.com">greg@censoft.com</a>&gt;</td>
194
  </tr>
195
  <tr>
196
    <td valign="top"></td>
197
    <td></td>
198
  </tr>
199
</table>
200
</body>
201
</html>

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.