New GUI for the Atari 8-bit
Atari 8-bit fans have long hankered after a GUI similar to GEOS on the Commodore 64. Diamond GOS went some way to addressing this deficiency, and since then there have been several creditable attempts at implementing a GUI OS on the A8. Now there's another one in the pipeline: an as yet unnamed project which aims to bring a small port of the "Classic" Mac OS to the Atari, with elements of Windows and GEM mixed in.
The latest ATR demo version can be downloaded here (ZIP format):
Atari 8-bit GUI demo, 20 June 2011
This project has grown out of a simple mouse demo, based on the interrupt driven mouse handler by John Maris. The original demo implemented the mouse pointer using a maskable software sprite, and after adding a proportional text render engine at the beginning of 2011, I decided to commit fully to the GUI as a major project. This would not have been possible without the assistance of Paul Fisher (MrFish, who was also responsible for the graphic design in LW 3.x), who has accepted the job of preparing all the fonts and icon bitmaps for the new GUI. He has also created several developmental screen mock-ups which depict how the finished product is likely to look:
The mock-ups are realistic representations of screen elements currently being implemented. The GUI (which will require at least 128KB of RAM) will include:
- Overlapping, movable, sizeable windows
- Cascading pull-down and pop-up menus
- Movable desktop icons and shortcuts
- Dialogue boxes with a rich control set (list boxes, spinners, sliders)
- Memory-resident desk accessories
- 256 character unicode fonts from 6 to 24 points in size
- Italics, boldface and underlining for all fonts
- Keyboard shortcuts
- Special features for SpartaDOS X
- Support for launching legacy (non-GUI) applications
- Smooth, quick and responsive mouse control
- Desktop file manager with drag-and-drop support
- Fully event-driven interface with callbacks
- Comprehensive API and technical documentation for developers
It is hoped the product will ship with at least a small set of desk accessories and a text editor. The first major application (probably released some time after the first beta of the GUI) will be the GUI version 4 of The Last Word. We rely upon interested software developers to take on the task of writing other large applications for the GUI, since it is envisaged that the first complete beta of the GUI will not be released until the first quarter of 2012, and that the first beta of LW 4.0 will not be finished until late 2012.
To help potential developers, Dan Winslow has offered to ensure that the API is supported by a CC65 library. A resource editor will also be provided at some stage, so that developers can prepare icons, menus, fonts and dialogues in-situ, before importing the resource files into their projects, either on the Atari or in their preferred cross-compilation environment.
Coding for the developmental version of the GUI library is currently about half completed. In order to overcome the inherent hardware limitations of the A8 system, efficiency has taken precedence over brevity. This means that unrolled loops, lookup tables and other memory-hungry techniques commonly seen in games and demos are being employed to ensure the interface is responsive.
This is a video of the first demo release, which uses a software sprite mouse-pointer drawn and erased during a blocking DLI and 1KHz mouse sampling, developed with the help of AtariAge forum member popmilo:
This is certainly the most ambitious Atari project I have ever embarked upon, but I believe the finished product will fully live up to its promise.

_thm.png)