MUX-Window


Concept by Bill Kendrick, New Breed Software, 1995.
Started September 18, 1995.
Last update December 4, 1995.


This is an in-progress idea for an X Window-like system for the Atari Classic (400/800/XL/XE) computer line. The X Window System is a network transparent window system which runs on a wide range of computing and graphics machines. "X Window System" is a trademark of X Consortium, Inc. The "MUX-Window System" will be a DOS-transparent, networked window system which runs on multiple Atari classic computers.

MUX-Window Programming Guide

I have already began coding a MUX-Less (self-contained, networkless) library in Action!, a powerful and fast high-level language for the Atari. Parts of the MUX-Window Programming Guide, a document based on the great book X Window Applications Programming, are online below, as are source codes and screenshots.

  1. Building A First MUX-Window Program
    chap1.act / [chap1out.txt]
  2. Creating Windows
    chap2.act / [chap2out.gif]
  3. Drawing With MUX-Window
    chap3.act / [chap3out.gif]
  4. Color
    chapr4.act / [chap4out.gif]
  5. Text and fonts
    chap5.act / [chap5out.gif]
  6. Events
    chap6.act / [chap6out.gif]

Also download the current reference manual and Action! includes:


Simple Definition of the Window Server

One Atari runs as the Window Server. It simply acts as the interface between the user and the running applications. Applications, running on other Ataris, tell the Server to do things like "make a new window", and the Server informs the Applications of events such as "the pointer has moved" or "a key has been pressed."


Connecting The Machines Together

What would seem the most useful and efficient setup with which to make a networked windowing system on the Atari would be to use a Local Area Network (LAN) via a "Multiplexer" ("MUX") setup from Computer Software Services, although other setups are possible (using a "GameLink" cable, Null-Modem cables, or other multicomputer connection devices). For the Window Server and the Application Clients to share the same filesystem, there would need to be two servers, though: the Window Server, as well as the standard MUX fileserver. At least three machines would be required to run only one application at a time if the Window Server and application were to share files, but it is of course feasible that only two machines were used, each with only their own local file systems. See Figure 1, below.


[mux.gif]
Figure 1:Using a MUX Local Area Network to connect a MUX-Window Window Server, a MUX File Server, and multiple MUX-Window Application Clients


Advantages of Multi-computer Windowing Systems over Single-computer Setups:

The biggest advantages of using one computer for the graphical user interface and other computers for the applications (clients) are:

  1. Resources: The machine running the Window Server would have all of its resources (memory, CPU time) available for its job. The machines running the applications would have all of their resources available to run their programs. The application machines wouldn't need to waste their resources on the memory-hungry and time-consuming graphical user interface.
  2. Multitasking: Since many (up to 6 or 7) application clients can be running at the same time, your end interface looks like a single multitasking machine running many applications simultaneously. It can be thought of as each process getting its own memory, its own CPU, its own window(s), and optionally, its own file systems (via hard and floppy drives connected directly and not through the MUX FileServer machine). (See Figure 2, below.)

[mux2.gif]
Figure 2: Some application clients with their own file systems.


Comments? Questions? Suggestions? E-mail me:
nbs@sonic.net