Domain: microwindows.org
Stories and comments across the archive that link to microwindows.org.
Comments · 15
-
Microwindows
I know you were being funny but there really is a microwindows and what's more it's existed since the late '90s. Trademarks must be pro-actively enforced so MicroWindows is fine, if MSFT bring a lawsuit for trademark infringement they risk losing their trademarks rights.
Ha! -
Re:Huh?
It wasn't too god-awful, actually. I worked with the S60 port of GTK+/KHTML, because it's less painful than Webcore/Webkit, and basically just followed in Nokia's footprints. I had to port several underlying libraries, including Freetype and a massively hacked Nano-X (which I've been slowly replacing with something home-grown, built on top of a platform-specific fast graphics library.)
I've got mostly-correct rendering, correct ECMA/DHTML and good (not great) font rendering. International fonts are tremendously broken. PNG works better than it does on IE. It's pretty reasonably fast, and the browser footprint is about 950k, plus another 200k from support libraries and 300k from the fonts I built in. It's enough to use to roll certain other applications, as long as I'm careful about their RAM usage.
This is actually the reason I originally started the DS WiFi Bounty. The IRC clients and whatnot that are now being built are amusing, but I have bigger plans. (No, the web browser isn't the apex of what I'm doing.) -
Re:But..!?
-
Contiki LinksContiki Links
URL: http://dunkels.com/adam/contiki/links.html
System information and emulators
Commodore 64/128
The Commodore 64 is based on the 6510 CPU, which is a 6502-derived 8-bit CPU. It has 64k of RAM and 16k ROM which includes a BASIC interpreter and some basic I/O services. Graphics is provided by the VIC chip which has 16 colors and a maximum resolution of 320x200 in hi-res mode. It provides a 40x25 raster of characters in character mode. The three voices of digital sound is produced by the SID chip.
The Commodore 128 is an extended version of the Commodore 64 that contains a 8510 CPU which is capable of 2 MHz operation and can address 128k RAM (hence the name Commodore 128). It also has a Commodore 64 compatibility mode which is extremely similar to a regular C64 but with a few minor differences.
SuperCPUThe SuperCPU is a 20 MHz 16-bit 65816-based computer that is plugged into the back of the Commodore 64 or 128. It uses the C64 keyboard and joysticks for input and the VIC and SID chips for audiovisual output. The SuperCPU is capable of addressing several megabytes of memory and is usually used together with a 16 megabytes RAM expansion board.
There are no SuperCPU emulators avaliable.
Links- The VICE emulator
is capable of emulating a large number of Commodore machines. It
emulates the C64, the C128, the VIC20, most of the PET models, and the
CBM-II. VICE runs under Windows, Linux, FreeBSD, and a number of other
host systems.
- Joakim Eriksson's Web
C64 emulator, written in Java, runs as an applet within a web
browser.
- Per Håkan Sundell's CCS64 emulator works
under Windows and DOS.
- The ec64
emulator is developed for Linux and was originally written entirely in
x86 assembler.
- An article by Simon
N Goodwin about C64 emulators.
- The Commodore
emulators category in the Dmoz has more links.
Commodore 64/128
There are plenty of alternative operating systems for the C64, mostly written in 6502 assembler. Some of them are far from complete, however, and only appear as dark shadows on a few web pages - MagerValp's SMOS and my own osT are among those.
- GEOS from 1986 probably
is the most well-known graphical operating system for the C64. It is
still sold commercially by CMDKEY.com.
- LUnix NG is an open-source multi-tasking operating system with TCP/IP/PPP-support, a *nix-like command shell, and a number of *nix-like utilities such as ls and cp.
- Craig Bruce's ACE is a
text-based single-tasking operating system for the 64 and the 128. It
provides a *nix-like command shell, a text-editor, a terminal program
for the SwiftLink RS232 interface, as well as device drivers for a
lot of devices
- GeckOS/A65 is a
multi-tasking operating system with TCP/IP support and a *nix-like
command shell.
- Wheels is a version of GEOS that requires RAM expansion to run.
With its 20 MHz and megabytes of memory, the SuperCPU is powerful enough to run fully-fledged graphical operating systems that rival early Machintosh or Microsoft Windows systems.
- Wings is a TCP/IP-enabled graphical operating system for the SuperCPU. It includes a MOD music player, JPEG viewer, web page download utility, etc.
- JOS is an older version
of Wings.
TCP/IP and PPP connectivity
To surf the web, send or read email, etc., the first step is to actually get in touch with the Internet. This requires both physical access to an ISP, either via a modem and a phone-line or an Ethernet broadband connection, and the TCP/IP software running on the C64.
There are a number of programs that make it possible to reach the Internet with a C64/C128.
- LUnix NG contains a
TCP/IP stack and a PPP implementation which makes it possible to reach
the Internet using a modem and a dial-up ISP.
- GeckOS/A65 also
contains a TCP/IP stack, but no PPP dialer.
- My own uIP TCP/IP stack
has been used for some time to run a web server on a Commodore 64. uIP
currently does not include a PPP dialer.
- Novaterm 10
contains a PPP dialer and enough TCP/IP code to be able to run telnet
over the Internet.
SuperCPU
All of the above mentioned SuperCPU operating systems have TCP/IP support.
- The
Wave is a web browser for the SuperCPU (and not for the Commodore
64/128 as the web page claims) that runs under the Wheels operating
systems. Here
is another page with information about The Wave (that also falsely
claims that The Wave is for the Commodore 64/128). The latter page
also includes screenshots of The Wave in action.
Small graphical user-interfaces (GUIs)
User interfaces for embedded systems range from the simple buttons on the front of a washing machine to those of fully fledged web browser type interfaces on information stations. The underlying technology varies from simple electronic circuits to full-scale PC compatibles.
- PicoGUI is a GUI architecture
designed for embedded systems to desktop machines. It does not require
any supporting GUI system and can be used on anything from graphical
screens to text based systems. Their smallest target system are
handheld terminals and the compiled object code size is on the order
of hundreds of kilobytes.
- Microwindows/NanoGUI is
a graphical user interface system designed to run without support from
an underlying system. On 16-bit systems Microwindows is about 64k
large.
The smallest web browsers are usually specially designed for the limitations of embedded systems and other specialized computers such as car navigation systems, set-top boxes and medical equipment. There are also a few small web browsers for old DOS PCs available.
- Interniche's NicheView Portable
Embedded Web Browser is probably the smallest full-featured web
browser around with its 35 kilobytes code footprint. There is also an
additional JavaScript module available.
- AU-systems' AU Mobile
Internet Browser supports both HTML/TCP/IP and WML/WAP as well as
SSL. It occupies 340 kilobytes of code (plus an additional 190
kilobytes for the protocol stacks) and uses 5 kilobytes of RAM when
idle (plus 8 kilobytes used by the protocol stacks). Extra RAM is used
when downloading web pages.
- The Fusion
WebPilot Embedded Micro-Browser supports much of the features
found in modern web browsers including frames, authentication, and
JavaScript. The web page does not specify memory footprint.
- MicroDigial's Graphical
MicroBrowser supports tables, frames, images as well as FTP as
uses 260 kilobytes of code memory and requires a minimum of 210
kilobytes of RAM apart from that. A demo version is available.
- The 2net Alice Web
Browser is intended for handheld computers and PC based
architectures and requires 400 kilobyte of free RAM and 200 kilobytes
of code memory. It includes a TCP/IP stack.
- WebBoy is a
fully-fledged browser with SSL support intended for 386 DOS boxes with
more than 4 megabytes of memory. Includes a TCP/IP stack.
- The Arachne web browser
runs under MS-DOS or Linux and requires at least 1 megabyte of
memory. Does not include a TCP/IP/PPP stack.
- Lynx is probably the most
well-known text-based web browser around. It is ported to many
different operating systems and architectures including MS-DOS.
- The Off by One Web Browser
has been labeled as the smallest web browser ever, but is quite large
in comparison with other small web browsers. It is 1.1 megabytes large
and requires support from an underlying Windows operating system.
- Mirko Sobe's BOSS-X
HTML browser for 8-bit Ataris is not a full web browser, but an
off-line HTML viewer with hyperlinking abilities written in three
days.
- The pre-alpha v0.3 GEMWeb browser
supports 640x480x16 VGA.
- The Atari
Phoenix Web Browser is a non-existant vapor-ware web browser
project intended for the 8-bit Ataris.
- The VICE emulator
is capable of emulating a large number of Commodore machines. It
emulates the C64, the C128, the VIC20, most of the PET models, and the
CBM-II. VICE runs under Windows, Linux, FreeBSD, and a number of other
host systems.
-
Re:If it's resource constrained, why run X?
like using the framebuffer device, or Qt/embedded
First of all, QT/embedded is just as bloated as X (maybe even more).
The framebuffer is a good idea, but by the time you end up implementing all the stuff you need to actually run a decent program, you have implemented most of the XLib anyway. Trust me, I have gone that route before.
X has its advantages when used on networks, like the client/server model, but it's overkill for personal devices.
Ok - first of all - if you want to run multiple apps in a window manager environment, you *need* to run it as a client/server setup - Thats exactly what you are looking at on a window manager - multiple clients running on a single server. IMHO, its much better to have a client and server than a monolithic application - less resources to be used.
Secondly, X uses this same client/server configuration on the desktop - and though some take advantage of the networkability of the protocol, most don't. Yet, nobody ever attacks RedHat or SuSE for using X in a client/server configuration.
-
Lots of links
None of these are X11 alternatives on the level of SVGALIB or DirectFB, but a bit higher level. They require a low-level display medium like DirectFB, SDL, or X11 (but you can ignore that option for now).
Squeak Smalltalk: A cool Smalltalk environment. Based on Smalltalk-80, for which first modern WIMP was invented. Has a bunch of little apps, simple web browser, vt100 client, few email clients, web servers, a couple different GUI toolkits and programming paradigms to choose from. Personally, what I use mostly as my OS. I like having my entire environment available to me, to be changed as I like, in a very straightforward way. Rather like Emacs users, I suppose. Except Squeak is more customizable, and has full windowing system. Also can run as the OS, no Linux or X11. DirectFB, SDL, X11, Mac (9/X), Windows, Acorn, WinCE, BeOS and lots of other ports that all run the same binaries.
ETH Oberon: Implementation of the Oberon language - derived from Pascal and Modula, by Nick Wirth. Has it's own entire GUI system, like Squeak does. Can run as an OS, without Linux or X11. Also has a VNC client, so you could still run the X11 app or two that you still needed in a window. :)
PicoGUI: A really cool GUI system especially for PDAs and other embedded applications. Super fast. Bindings for C, Perl, and Python (I think). Linux FB and SDL ports, runs wherever they can. Not much in the way of apps thus far, but it's definitely alive and under pretty active development.
QT/Embedded: You know, like runs on the Zaurus.
GTK+ on Direct FB: Can't say I've used this, but I imagine bindings for regular GTK+ work in this port, which makes for a lot of development options.
MicroWindows/Nano-X: Yet enother embedded GUI option. It's developer seems to be pushing for PDA, set-tops and such. Not many apps, but could be useful especially for custom apps.
Are there any worthwhile just-Java windowing systems out there? There are al ot of Java-OS projects, but none of them seem to have gotten past linking Kaffee with OSKit...
Probably others out there, but this is a good look at some options. -
Interesting option
I was originally going to post something negative here, but as I read the article, I came across this article on what Century Software has done working with the distro from handhelds.org. And other open software, like FLTK. FLTK is a neat tool kit that uses OpenGL as its window renderer, and pretty much works on any os that has OpenGL libraries.
I was impressed enough to revise my original opinion of Linux on a PDA. Which was the thought that it is neat to run Linux on a PDA, but why bother? I use a PDA to sync my calendar and emails. Everytime msoft changes express or whatever, the linux equivelants are broken, so why fight it?
But in reading what Century has done, well, it hasn't changed that opinion, but their package is cool enough that it makes me want to install it on my Ipaq anyway. -
Re:welcome to slashdot
where we bitch and moan all day about every fucking thing MS says instead of getting our shit together to really be able to compete.
Maybe instead of ACing instead you should show us what you're doing to help the cause.
Microwindows, QT Eand XFree86 do have their shit together and w're kicking CEs ass all over the embedded space.
Where are YOU programming today?
-
open source isn't gpl
Can we stop acting like conditioned rats every time Mundie says GPL.Mundie and MSoft have directed the public discussions pretty effectively, they just keep poking at that fanatical GPL nerve; impressive that they've made the GPL the absolute center of discussion, equating GPL and open source. Controversy of the GPL makes it a weak point for open source, by equating the two Mundie/MSoft have assigned to open source all of the restrictions of GPL.
As long as we're stuck on GPL, at least mention some of its variants -- LGPL, special-case GPLs, whatever.
Somebody help me out here, try to think of a commercial product using maybe RTEMS and Microwindows/Nano-X and the GNU MultiPrecision library? Or some other not-necessarily GPL combination of open source libraries that doesn't require derivative software to be all open-source?
A commercial product can use software libraries like these; the developers of such a product comply with the library licenses by publishing changes to the libraries, etc., so forth, to contribute to open source. But the commercial product remains proprietary.
Could do some effective MundieBashing, saying "RTEMS Nano-X GMP LGPL proprietary derivative software," proving the man wrong and derailing his agenda by focusing on open source strengths.
-
Re:Okay, so its a sows ear. Where do we start?Short answer: http://developer.agendacomputing.com
Bit longer answer... Yes, you get source...you can browse the CVS tree from the developer site. There are FAQs on building apps...heck, as sold, it's X! The cross-compiler tools are readily available at the Linux VR site. Another good Agenda development site is here.
Potential?? TONS. X is pretty heavy on the thing...so I'm probably not gonna use it! I'm working on setting up a rootdisk with Microwindows, an OSS windowing environment that's a lot lighter-weight than X. Still in development, but I think there's a lot of promise there. If you can still get into the Developer's Program rates, you can get an Agenda for $179. (I got one for that price two weeks ago). As a hacker, you Cannot Beat That. It's awesome...I'm running a full-fledged Linux box in my hand, and I have total control, source, development tools, etc. It may not be ready for the Masses yet...but we aren't exactly the Masses now, are we?? *grin*
-
Re:Linux application development for Handhelds
My company, Century Software, (shameless self plug), has been working for many months to bring Linux and the graphics engine Microwindows to the Ipaq platform (www.microwindows.org). Amid the kernel tweeking (thanks to the fine folks at www.handhelds.org, and basic graphics apps (load monitor, clock, keyboard, scribble, etc...), we have also tried to create some PIM apps (e-mail, etc...), and I have developed a few observations.
1) - Kernel work is sexy, designing PIM suites is not. A majority of the members of the open source community are willing to do kernel and driver work on their spare time, but precious few are willing to make a datebook without compensation.
2) - Thus, it falls more to companies that are able to pay engineers to work on PIM applications. However, these days engineers are expensive, and the companies are unwilling to pay an engineer 40 bucks an hour, and then turn around and give the suites away. Thats has nothing to do with open source or code sharing, thats just business.
3) - Because of this, the only other solution would be for the companies to try to sell the PIM suites (either on a royalty basis to corporations, or directly to the consumer). And then they come right up against Palm, Microsoft, and the other big giants that have more organized marketing networks and market share.
The solution? You got me! Many kudos and $$ to the company that figures it out first. Until then, at least I can still play Doom on my Ipaq!!! -
Karma, Karma, Karma...
Oh man, I've waited years to finally be an authority on a Slashdot article... wait a sec, let me bask in the glory..... Ok, I'm over it.
Here are some URLS for those who want to know more about Microwindows and the stuff running specifically on the Ipaq:
www.microwindows.org (Microwindows source and home page)
embedded.censoft.com (Century software home page)
-
Re:usability of Linux on an iPAQ.I don't have an iPaq, but I think I should mention a few links because I have not seen them in any other comment yet. =)
href="http://www.handhelds.org">www.handhelds.org There is a lot of work under way on modifying X-Windows down to handheld computers. The server has been seriously slimmed down to use a simplified and more powerful rendering model. There is also Clear Type-like font renderer in the works as well as an extension for flipping the aspect (vertical vs. horizontal.) I am not sure as to what who is doing what, but I know that Jim Gettys is involved (he is one of the original authors of X-windows btw.) If you want something that is even slimmer, check out the MicroWindows project, which provides both a win32-like and a NanoX-like interface on top of a slim graphics library.
There is also the Pocket Linux project that is producing a set of applications for handheld Linux.
-
Re:One answer
WHY in the hell you want to run Linux and X on a ridiulously underpowered Palm, I have no idea, but I hope you know about Palm Linux and Clinux. Whats funny, to me, is that your request for X windows is even dismissed as silly on their page as well.
"Windowing Environment? I don't think windows has much of a place here, but it would be funny!"
However, some fools are working on this too. and Nano-X could probably be ported to it.
Anyway, how much for the 16mb Palm? ;) -
Nano-X has always been Open Source!
I'm not quite sure why several people here have got the idea that NanoGUI/Microwindows is closed source, as it has always been Open Source. Nano-X is based on Mini-X, which was completely public domain. As some people insisted on more protection for their code, we decided to go for the MPL with a "convert to GPL if you wish" clause. This ensures that it can be linked into proprietory projects whilst still ensuring that changes to NanoGUI itself are contributed back to the community, and it can be converted to GPL if you want to link it into a GPLed project. NanoGUI (or Microwindows as it is called now) has exactly the same license as Mozilla will have once it relicenses itself in order to be GPL compatible. See http://www.microwindows.org/ for more information.