XaAES
This article provides insufficient context for those unfamiliar with the subject.(October 2009) |
FreeMint, MultiTOS, and MagiC are all successors to TOS, the proprietary operating system of the Atari ST computer and compatibles. Later models of the ST Computer were called the TT 030 and the Falcon 030. TOS stands for The Operating System or Tramiel Operating System, as Jack Tramiel was the then owner of [[Atari, Inc.|Atari Corporation] (however neither terms were confirmed, as it was internally known as TOS). GEMDOS itself was a near clone of PC-DOS (or MS-DOS) (supposedly), the then current IBM PC OS, and was programmed with assistance from Digital Research, where GEM was being developed. This was most visible to users in the 8.3 character file naming system, and the ability to read IBM PC formatted DOS disks. Like all personal computer operating systems of the day, Atari TOS was single tasking. GEM, the graphical user interface, was licensed from Digital Research and was not included in [[Apple Inc.|Apple's lawsuit against DR, thus the Macintosh like appearance and ways of doing things remained on Atari ST computers. As time went on, the big goal for the Atari ST within and without Atari was to have a multi-tasking 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 Windows is all very well, but I can't run GEM programs on it. MultiTOS (even AES 4.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 AES 4.1 is quite stable, if a little slow). MagiC lives in a very fast, very small world all its own, with no networking support (ed - at the time on Atari ST), few programs written to exploit it (ed -later this would change)."
Craig worked actively on XaAES until 1997 when he stopped the development, 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 maintainer-ship 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.
Odd Skancke (aka Ozk) continued 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 (of AHCC fame) 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 was reworked by Odd Skancke (aka Ozk), something that also resulted in a complete rewrite of the XDD. The 'moose.xdd (mouse device driver) is now coded in C too, just like the rest of the XaAES code.
Development was later moved from AtariForge to an SVN repository at SourceForge, and from there to the publicly browsable FreeMiNT GIT repository on GitHub[1].
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.