Point-and-Click for the Atari 8-bit, Reviewed by Matthew Ratcliff
Touted as the "ST junior," Alan Peeve's long-awaited Diamond Operating System is finally here on a bank-switched, piggyback, supercartridge. Diamond gives your 8-bit Atari a high-tech graphic user interface. Typing is replaced with "pointing and clicking." Commands are selected from "drop-down menus" and "pop-up dialog boxes".
First and foremost, Diamond is a replacement for DUP.SYS, the disk utilities package that comes on your Atari DOS disk. The graphic user interface is friendly, almost intuitive. Although Diamond is not exactly a junior ST, it is well executed.
With this cartridge comes a lot of potential. Soon to be delivered in final form, Diamond Paint and Diamond Write are graphics and desktop publishing-style word processing packages which will run under Diamond.
The advantage of Diamond is that the same graphic user interface can be employed for many applications. This minimizes relearning as you go from one program to the next. Think of all the different programs you use on your 8-bit machine now, each requiring a different command set. Programs that run under Diamond can eliminate all the confusion.
When you first put Diamond to work, you want to configure it for operation under your DOS of choice. I had no problem using the utility programs provided to create a CONFIG.OS file for ICD's SpartaDOS. Diamond even works with the SpartaDOS X cartridge.
It's possible, though rather bizarre, to have MAC/65 piggybacked on top of the Diamond cartridge, on top of the SpartaDOS X cartridge, on top of the R-Time 8 clock cartridge. This is not very practical, however and I had some problems on my system when running Diamond on top of the SpartaDOS X cartridge (Version 4.19). Diamond does run well from disk-based SpartaDOS 3.26.
After the Diamond "desktop" is up and running, you need to load and run CONFIGUR.APP from the supplied utility disk. This lets you set up your system for ST mouse, joystick, KoalaPad, or Atari Touch Tablet operation. The default configuration is for an ST mouse in the second joystick port, which worked fine for my setup.
If you do not have a mouse, you can still control the system with the arrow keys on the keyboard, the space bar acting as the "mouse button". Pressing [RETURN] selects "default" menu options.
The desktop presented by Diamond places a menu bar across the top of the screen. Each menu heading (Desk, File, Disk, and Options) has a drop-down menu associated with it. For example, if the mouse pointer (black arrow) is moved over the word Options, a box will drop down below it. Underneath, the words Display, Confirm, Install, and Save Desktop will appear.
Moving the arrow over any of these words will highlight it in reverse video text. Press the [SPACEBAR] once (or double-click the mouse, or other external device button) to then activate this option.
For example, highlight Install and press [SPACEBAR]. A dialog box will pop up. This small menu usually comes up centered on the screen, on top of whatever was already there. In this case, the dialog box shows two prompts, Unit Number and Drive Number, each followed by a single blank.
Any time a series of underline characters is displayed within a dialog box, this indicates a field in which some text should be entered. Move the mouse pointer to the Unit Number field and press the [SPACEBAR].
The pointer disappears, replaced by a flashing vertical bar which is the text cursor. Type the number of the drive you wish to install, such as 3, and press [RETURN]. The pointer will reappear, allowing a similar operation for the Drive Letter field. It is only logical to assign drive Letter A to drive number 1, B to 2, and so on.
Below these fields are three smaller boxes with text inside them, referred to as "radio buttons" or simply "buttons". They are Install, Remove, and Cancel respectively. Cancel has an extra dark outline, indicating that this is the default selection, chosen whenever [RETURN] only is pressed. This default system works for any dialog box in the system. Place the arrow on Install and press the [SPACEBAR] and a new disk drive icon will pop up on the screen. The placement is automatic, but you may "drag" the icon elsewhere.
Drag?, you ask. If you point at any icon or window on the display, press and hold the button, and then move the pointer, a ghost outline of the item will move along with the pointer. Release the button and your icon or window will be transplanted to this new location, if it can fit. The Diamond keeps track of where everything is placed on the screen, and it will not allow icons to overlap.
I found it is best to allow Diamond to automatically place the drive icons. When I tried to place them manually, Diamond was very particular about how close together I set them, which made it very difficult to get my drives (all seven of them) laid out the way I wanted.
Diamond provides drop-down menus and dialog boxes in a format very similar to the Atari ST's desktop in low resolution. The icons are oversized, taking up a big chunk of the screen. You won't find the "icon mode" for windows very useful (but then I never did on the ST either). Fortunately, an alternative "text mode" is provided.
At first, double-click response to the mouse was poor. I found myself using the [SPACEBAR] more often than the ST mouse button, until I discovered that the mouse click speed may be adjusted with the CONFIGUR.APP utility, under the Set Mouse Port option.
Whenever you double-click on a disk drive icon, that drive is "opened" by Diamond. A window is created with a directory of that disk displayed inside it. Date and time stamps are shown for SpartaDOS users, and subdirectories are indicated properly.
Double-clicking on a directory name will open up that directory. No more CHDIR command, followed by a separate DIR command is required here, simply point and click. The current directory path is shown at the top of the window, referred to as the title bar. I have found that, when several directory levels deep, Diamond does not always keep track of the current path.
For example, if I went down to directory \FRED\JAMES\BROWN and then clicked on the close button (the small X at the top left of every window), Diamond would indeed go back one directory, as expected. The files listed in the window would be from directory path \FRED\JAMES, but the title bar would only display \FRED. Closing the window and reopening it corrects the title bar.
In the drop-down menu under File, you will find options for opening a file, checking disk status, duplicating disks, creating a new folder, closing a file, or quitting. Selecting Quit will return control to built-in Atari BASIC, or to the cartridge, if one is mounted piggyback on top of the Diamond cartridge.
NO SPEED DEMON
For normal disk maintenance, such as duplicating disks, you may still prefer your old-fashioned Atari DOS or SpartaDOS, since Diamond is much slower in all disk operations by comparison. Duplicating an Atari DOS 2.OS disk with Diamond takes over six minutes (with two drives), when it takes just over two minutes when using Atari's DUP.SYS.
In fact, just about anything you do with Diamond is going to be slower than you are accustomed to. This is the price you pay for all those lovely graphics. Any DOS for your Atari simply manages a 940 byte text display. Diamond must manage nearly 8K of graphics memory, including multiple objects like icons, menus, and windows. It does the job well, but it does take time. The Atari 800XL or 130XE cannot be expected to emulate the ST's desktop at the same speed.
Under the Disk menu you may format a floppy disk or copy files. Files may also be copied by dragging a file from one drive's open window to another. The Options menu allows you to set display preferences. Files may be shown as icons or text. If you choose icons, lots of time will be wasted scrolling around the window. Sort selections for file listings include no sorting (for faster window updates), sort by filename, extender, or file size. I generally sort by name, making files easier to find in a list.
The confirm option has a check mark by it to indicate that Diamond will ask you to confirm any operations that may destroy a file on your disk. Clicking on this entry removes the check mark highlight, indicating that no confirmation requests will be issued.
Install lets you add another disk drive definition, so Diamond will recognize your drives. I find it peculiar that Diamond will allow only seven drives, A-G, to be defined. An eighth drive is not allowed, limiting use with RAMdisks that must be addressed as D8:
I was able to install both my 10 meg FA-ST hard drive partitions, my XF551 floppy disk, my 1050 disk, and multiple MIO RAMdisks. I was even able to generate a RAMdisk using SpartaDOS's RD.COM, which then resided in the 800XL's internal 256K RAMbo-XL) memory. Diamond honored this RAMdrive definition and functioned properly with it. Certain memory configurations for Diamond may not allow internal RAMdisks to be used.
When your window placements, drive icon definitions and other preferences are complete, simply select Save Desktop from the Options menu. Diamond will create a file called DESKTOP.INF on the default drive A. The next time your system is booted with Diamond and this disk, the initial display and settings will match those in place when the desktop was saved.
The trash can icon is for deleting files, of course. Simply drag a file from any open window over to the trash can and Diamond will delete it for you.
I have not run into too many problems with Diamond. The key to smooth Diamond operation is proper setup with DOSCONFG.BAS and then CONFIGUR.APP.
Diamond usually ran fine with the SpartaDOS X cartridge, but occasionally it would crash. I'm not sure if the problem is with my own highly- customized set-up or not--no one else I talked to had this problem.
Diamond does not return DOS error codes when a disk error occurs. It simply states that "A disk error has occurred". For example, SpartaDOS can access Atari DOS 2.0 and 2.5 disks, with no problems. However, when operating Diamond with SpartaDOS you cannot access disks in Atari DOS format. Diamond simply returns a disk error without an associated error code, I have no idea what the problem may be.
I have found that sometimes, when a disk error dialog box pops up, a crash of Diamond soon follows. Under normal operation (working with only one DOS, and disks formatted in that DOS, throughout one session with Diamond), problems are rare.
When two windows are open simultaneously, the bottom window does not get refreshed until it becomes the top (active) window. According to the programmer's reference for Diamond, up to four windows can be opened at once, but the Diamond cartridge allows only two disk drive windows open at any one time. The documentation mentions this, but doesn't explain why. If the cartridge supports four windows, I would expect the desktop to use them as well.
Copying multiple files can be tedious with Diamond. With the Atari ST you can draw a "lasso" box around multiple files, and then drag the whole passel of them over to another window or drive icon for duplication. This "lasso" feature seems to be lacking in Diamond.
The file selector employed in the CONFIGUR.APP program does not allow navigation of subdirectories. Nor does it allow the user to input wild cards to narrow down a set of file selections. Fortunately, this is not built into the Diamond cartridge, but is a function of a separate program file. The program is provided as FILESEL.M65, in MAC/65 source code, on the Diamond utilities disk. Ambitious progranmers should be able to perfect it.
Dragging files, icons, and other objects is very basic to the operation of any graphic user interface. You can drag with the joystick, touch tablet, or mouse, but not with the keyboard. The arrow keys, coupled with a console keypress could easily be implemented as a keyboard-controlled drag function, which should have been added for completeness.
The Diamond User's Manual covers the basics of the desktop as briefly as possible. The short manual has no table of contents, nor an index. Screen graphics are provided, which are very helpful for the novice.
The Diamond OS Programmer's Manual is provided for those who wish to write applications or accessories. The manual serves as a fair overview, but is in no way a complete reference guide. However, the source code for CONFIGUR.APP is provided, CONFIGUR.M65. It presents examples of dialog boxes, drop-down menus, a file selector, and more.
With slightly more complete documentation, and final versions of Diamond Paint and Write, Diamond OS is likely to become a very popular operating environment for the 8bit Ataris. The current release is quite workable, and I am eager to see what develops for Diamond.
DIAMOND OPERATING SYSTEM
29W150 Old Farm Lane
Warrenville, IL 60555
Requires minimum 48K memory.
$79.95 cartridge and Programmer's Kit
(Limited introductory special--five units per store--cartridge, Programmer's Kit and Diamond Paint oll for $79.95)
The file SKELETON.M65 was included in Diamond to assist you in writing your own desktop accessory. The skeleton file was incorrect, and I took a bit of deciphering of RESET.ACC to get it right. I spent several hours studying the source files and came up with COLORME.ACC. This accessory, when activated, will shift the desktop color to the next hue value (same intensity) and display a dialog box. Click the button, and the desk top will return to normal operation in the new color.
I was not successful in developing my own event handling, and did not explore the possibilities of radio buttons and more complicated structures for a dialog box. The source listing for COLORME.M65 is presented below.