XaAES
This article provides insufficient context for those unfamiliar with the subject.(October 2009) |
FreeMint, MultiTOS, and a few more obscure OSes are all successors to TOS the proprietary operating system of the Atari ST computer. Later models of the ST Computer were called the TT and the Falcon. TOS stands for The Operating System or Tramiel Operating System, as Jack Tramiel was the owner of Atari. GEMDOS itself was a near clone of DOS, the IBM PC OS. This was most visible to users in the 8.3 character file naming system. Like all personal computer operating systems of the day, TOS was single tasking. GEM, the graphical user interface, was licensed from Digital Research and was not included in Apple's lawsuit against DR, thus the Macintosh like appearance and ways of doing things remained on Atari computers. As time went on, the big goal for the ST within and without Atari was to have a multitasking TOS.
XaAES is a graphical user interface for the OS kernel FreeMiNT. MiNT (nowadays named FreeMiNT) is aimed at systems that are compatible with 16/32 bit Atari computers such as the ST, TT or Falcon. The combination of MiNT and XaAES is the natural successor to MultiTOS.
History
XaAES -The beginning
XaAES is a free AES (Application Environment Service) written with MiNT in mind, originally developed by Craig Graham (Data Uncertain Software) back in September 1995. Taken from the XaAES beta6, here is a snippet of the readme.txt in which Craig explains his motives for initiating XaAES: "After using MultiTOS, then AES4.1, I became frustrated at the lack of a decent GUI to use the real power of the MiNT kernel - X Window is all very well, but I can't run GEM programs on it. MultiTOS (even AES4.1) is too slow. Geneva didn't run with MiNT (and, having tried the new MiNT compatible version, I can say it wasn't very compatible - at least AES4.1 is quite stable, if a little slow). MagiC lives in a very fast, very small world all its own (no networking support, few programs written to exploit it)."
Craig worked actively on XaAES until 1997 when he stopped the development, and already at that time a plethora of applications were already usable under XaAES.
In 1998 the project was taken up by Swedish programmer Johan Klockars. He had been involved already during Craig's maintainership and at this point he stepped forward after a period of inactivity.
Johan's work resulted in several bugfixes which eventually were released as Beta7+. Shortly after this beta Johan also made the decision to hand over the project to someone else. This time it really seemed like XaAES had hit the end of the road, with no one interested in taking up the project again. After a period of complete standstill Dutch coder Henk Robbers took over the project in November 1999. During Henk's maintainership loads of progress was made, and XaAES went from interesting to becoming rather usable and showing great potential. The visual appearance was made to look closer to that of N.AES, as this was the obvious reference target - the AES that at the time was the GUI for FreeMiNT. XaAES also become a lot more robust although the response for key and mouse input was still somewhat of a problem.
Johan came back to the development of XaAES, and together with Frank Naumann (then FreeMiNT maintainer), XaAES graphical improvements (skinning) were released with FreeMiNT 1.16. Alan Hourihane, as then FreeMiNT maintainer, was left to do bug fixes until round 2010, when after a resurgence of interest in the FreeMiNT OS, XaAES was then maintained and extended considerably by Helmut Karlowski, especially in the area of Atari TOS application compatibility.
XaAES goes CVS
In early 2003 Henk Robbers decided it was time to let someone else carry on his work, as he wanted to move on to other computing issues. When Henk went looking for someone who could take care of the continued development, the idea that XaAES should be part of the FreeMiNT project was suggested. After all, it was developed to be an AES for MiNT exclusively, and since FreeMiNT is being administrated via CVS, anyone could access the sources and contribute.
The move to CVS was made possible thanks to great efforts from the FreeMiNT maintainer Frank Naumann, who made the necessary changes to allow XaAES to compile under gcc. In earlier XaAES builds, one of the major problems has been the somewhat irregular response to mouse buttons. This has since been reworked by Odd Skancke (aka Ozk), something that also resulted in a complete rewrite of the XDD. The moose.xdd is now coded in C too, just like the rest of the XaAES code.
XaAES - A FreeMiNT kernel module
In order to get a clean and fast XaAES, the best solution turned out to be changing XaAES into a kernel module. To achieve this goal a completely new API was constructed, and it was quickly apparent that the new kernel module offered massively improved performance. Most noticeably, the response time was significantly improved, resulting in a much more snappy and responsive experience when trying to click a button to see live window redraws, etc. All in all, XaAES reached a whole new level after being integrated this tightly with FreeMiNT and as of the 1.16.1 FreeMiNT release it must be considered highly usable. With the implementation of window shading the list of missing features was getting short.