Jump to content
  • entries
    46
  • comments
    9
  • views
    48,139

Seems I've been here B 4


k-Pack

1,902 views

Well, I finished inventorying my collection of 265 periodicals and disk publications. Besides reviews and overviews there is very little in the way of information on how to program the Diamond environment. Most was penned by myself between 1991 and 1994. A series of nine articles under the title “Diamond Watch” was published in the WNYAUG Newsletter disks(1991-1993). Current Notes printed three articles between 1993 – 1994.

 

An internet search yielded very little information on programming applications to run under the Diamond environment. I would like to know about any other articles/information 'cause that may save me some time while experimenting with the Diamond Function calls.

 

I found the original documentation for the first of the articles submitted to Current Notes. It has been slightly edited for grammar and spelling errors. It was in Atari ST Word Perfect format and I'm finding fewer and fewer word processors are supporting that format.

 

I am finding out that there is a lot that I need to remember and relearn. Bits and pieces are coming back to me as I reread these old articles. I also remember that there was a vast amount of information that I needed before I would consider myself proficient in the art of programming Diamond.

 

-----------------------------------------------------------------------------------------------

 

 

Current Notes Volume 13 No. 5, June/July 1993

 

Diamond In the Rough

 

QUESTION: How do you stop an argument between MyDOS and Sparta DOS users about which is the better DOS?

 

ANSWER: Mention Diamond GOS.

 

Well, at least they will stop long enough to give you a dumb look. If you're lucky enough to be acknowledged, you're going to hear things like "It's slow", "It's buggy", or "It don't have no software."

 

To which I simply reply, "So, what's your point?"

 

 

Diamond GOS, What it is

 

The Diamond GOS by ReeveSoft is a Graphic User Interface(GUI). Something like what you see on the ST, Mac, or IBM running Windows. Drop down menus, dialog boxes, windows, mouses and the rest of the usual GUI stuff is included.

 

What a GUI does is creates a standard way of interfacing computer programs with people. Whenever you use a Diamond application program, you will always know that the menu bar will be at the top of the screen, moving around in a window will always be the same, and clicking the mouse on objects will give expected results.

 

I have a lot of respect for what Alan Reeves was trying to accomplish when he wrote Diamond. A GUI for the 8 bit Atari would have been a simple task if everyone used the same 8 bit Atari, with the same DOS, with the same mouse input device, with the same disk dives, and with the same amount of memory. We all know that this is not the case.

 

Diamond was designed to deal with the diversity of setups by using programed handlers for the mouse devises and extended memory. A joystick, Koala pad, or ST mouse could be used to move the mouse pointer around on the screen depending which handler was loaded with the configuration program. Much of the input is done moving the mouse pointer around the screen. The device you choose will have a great effect on your initial impressions of Diamond. A joystick works fine, but pointer movement is slow and tedious and you feel like you're playing a game. The ST mouse is much faster at moving the pointer around the screen and improves the general feel of Diamond. This may be some what of a subjective statement on my part.

 

Several memory drivers are available and can be loaded in the same way. I have heard that there were problems with some of the memory handlers, but the ability to write your own handler to fit your system needs did give some leeway to those that wanted to tailor their system.

 

The Diamond GOS Desktop is the graphic interface between you and the DOS of your choice. For Atari DOS 2.x users, it replaces the DUP.SYS file with drop down menus, icons and windows that would normally be the menu options. For Sparta DOS it replaces the command line, but still gives access to a command line buffer. It should run on top of most DOSs, but each DOS uses memory in it's own way and conflicts can occur.

 

My system consists of a stock 130XE with TransKey, two off the shelf 1050 disk drives, and a ST mouse running with Atari DOS2.5. The fact that there is nothing special about the system may have kept my initial frustrations to a minimum.

 

 

 

What Diamond GOS really is

 

Diamond is a 64K bank switched cartridge full of machine language subroutines(functions) and the desktop program. Most of what the desktop program does is call these subroutines to get the graphics to work. There are 55 functions in version 2.0 and 57 in version 3.0.

 

Finding and using these functions could have been made difficult if it was left up to the programer to do the bank switching and locating of functions. Diamond has one routine that will do this and it's the only Diamond routine that a program will have to call. Get the function number into the accumulator of the 6502 chip and jump to the routine at location $8E00. Of course some of these functions need information or pointers to where they can find information. These are set up in specific memory locations before the call to Diamond is made.

 

The Desktop and most of the application software uses the high resolution graphics 8 screen. Everything that is put onto the screen has to be poked into screen memory; and if windows, icons, or dialog boxes are going to cover something up, this information has to be stored in case something gets moved. Moving the byte data in and out of screen memory has a tendency to slow things down.

 

Because each character has to be drawn on the screen, Diamond has routines that will manipulate the font data. Imbed the control codes within a character string and the font can be resized, inverted, bold, outlined, underlined, and/or italic.

 

Diamond fonts don't have to be the normal 8 by 8 bit fonts. A Diamond font contains header information to define the number of bits high and wide the font is. This is what made the 80 column mode of Diamond Write possible.

 

 

 

SOFTWARE

 

Diamond Paint and Write were rather disappointing. Both were attempts to use the Diamond environment but fell short of being usable. The slow screen redraws of Diamond Write and the bugs in both programs made them undesirable for use. Each program did have special functions that made them unique and in special circumstances their use may be advantageous.

 

There are several programs that can be down loaded from CIS or Genie. I know of at least two games and accessories. There is a check writing program and a disk directory printer. If you have Diamond, you should take the time to check them out.

 

Diamond does have the ability to run a lot of software. When loading ML programs from the desktop, Diamond will examine the file extension and determine it's course of action. If the file extension is .APP or .COM, Diamond remains active and the programs can use the environment. APP files are application files designed to work with Diamond. If the file is an executable program with a different extension, Diamond will kick itself out of the system and free up the RAM normally used by the cartridge.

 

What determines if a program is runnable from the desktop is if the program needs the portion of memory were handlers and system variables are stored. If this memory is disturbed jumping back to the desktop will send the computer into la-la land. The only course of action with this type of program is to run the program from the desktop and then reboot. If this memory interferes with the program then there isn't much you can do short of removing the Diamond cartridge.

 

Atari BASIC programs suffer from the same fate, but there are so many more of them that finding the ones that work with Diamond in the system is easier. The real hassle is not being able to load the BASIC program from the desktop. This problem has been solved with the application program called BASIC Loader(BASLOAD.APP). This program will create an ML routine that will autorun a BASIC program when you QUIT the desktop. Not as direct as double clicking on a filename but much more convenient then typing the RUN command every time. [Note: BASLOAD.APP does not work with version 3 of diamond]

 

 

 

SUPPORT

 

Very little and quickly approaching none.

 

Support from ReeveSoft ended a couple of years ago because of poor sales and having to cope with the diversity of computer setups that were incompatible with Diamond. With the owner base so small and the user base ever smaller, the effort to program applications is a non-profit endeavor.

 

Without the diversity of program applications there wasn't much use in booting the system with Diamond, communications between users was nil, and the snowball keeps rolling down hill.

 

 

WHAT WORKS

 

When I got Diamond, I too was disappointed in what it wouldn't do. I finally made the realization that the 8-bit with Diamond was a different computer from the 8-bit without. It became apparent that expecting Diamond to work the way I wanted it to was like asking an IBM to run my 8-bit software.

 

Now when I want a laid back computer session and I can do what I need, I'll boot up with Diamond. Any other time I'll boot up my standard system or use my ST.

 

As Diamond software becomes available, that do the things my standard Atari will do, I'll start to use it. Slowly the Diamond sessions will increase in length. But make no mistake, if your into a power user mode, Diamond will never replace your usual DOS.

 

 

PROGRAMING DIAMOND

 

The only programing information that I have seen is in the Diamond Developers Kit. This contains the basics needed to program the Diamond environment, but its like reading a beginners guide for experts. Not only is it important what the kit says, what it doesn't say is also important. Its like trying to learn Atari BASIC with the manual that comes with the computer.

 

At this point, choosing a program to write should be no problem. With such a limited number, a program that will do anything would be of great interest. The problem isn't what to write, its what to write first.

 

 

 

ONE LAST THOUGHT

 

I didn't cover any subject in great detail because, to tell you the truth, I'm not sure if anyone wants to hear it. I'm not sure how many people have Diamond Cartridges. I'm not sure if there are people that have discovered the secret of Diamond and are not sharing it.

 

I am sure that I will continue to use and program my Diamond system when time is available and the mood hits me. You'll just have to check the file section when you're online to see what's new.

 

0 Comments


Recommended Comments

There are no comments to display.

Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...