home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
- EVERYTHING YOU EVER WANTED TO KNOW ABOUT GDOS (AND MORE)
-
- by Douglas N. Wheeler
-
-
- WHAT IS GDOS?
-
- GDOS is an extension to GEM which adds new capabilities to
- your ST. GDOS is available with many commercial Atari programs,
- as well as to registered Atari developers ($500 if it is to be
- distributed with a product, free if it is not going to be
- distributed).
- The three primary new capabilities are:
-
- 1. The ability to use multiple fonts in various point sizes
- on the screen, printer, and other output devices.
-
- 2. Allows the creation of metafiles, which are standardized
- files intended to be usable by many different applications. This
- allows files created in one program to be used in another.
-
- 3. Support for various output devices with resolutions up
- to 32,767 x 32,767 (including emulation of this resolution on the
- screen). This allows graphics to be printed at the highest
- resolution of the output device.
-
-
- HOW TO USE GDOS
-
- In theory, using GDOS is as simple as putting GDOS.PRG in
- your AUTO folder and booting the computer. In practice, though,
- a series of conditions must be met. The most important of these
- conditions is that there must be a valid ASSIGN.SYS file present
- in the root directory of the boot disk.
- The following is a typical ASSIGN.SYS file.
-
- PATH=C:\GDOS.SYS
- ;
- 01p SCREEN.SYS ; default screen
- ;
- 02p SCREEN.SYS ; low resolution
- ATSS10.FNT ; fonts
- ATSS12.FNT
- ATSS18.FNT
- ATSS24.FNT
- ATTP10.FNT
- ATTR10.FNT
- ATTR12.FNT
- ATTR18.FNT
- ATTR24.FNT
- ;
- 03p SCREEN.SYS ; medium resolution
- ATSS10CG.FNT
- ATSS12CG.FNT
-
-
-
-
-
- ATSS18CG.FNT
- ATSS24CG.FNT
- ATTP10CG.FNT
- ATTR10CG.FNT
- ATTR12CG.FNT
- ATTR18CG.FNT
- ATTR24CG.FNT
- ;
- 04p SCREEN.SYS ; high resolution
- ATSS10.FNT
- ATSS12.FNT
- ATSS18.FNT
- ATSS24.FNT
- ATTP10.FNT
- ATTR10.FNT
- ATTR12.FNT
- ATTR18.FNT
- ATTR24.FNT
- ;
- 21 FX80.SYS ; Epson 9-pin dot-matrix printer
- ATSS10EP.FNT
- ATSS12EP.FNT
- ATSS18EP.FNT
- ATSS24EP.FNT
- ATTP10EP.FNT
- ATTR10EP.FNT
- ATTR12EP.FNT
- ATTR18EP.FNT
- ATTR24EP.FNT
- ;
- 31r META.SYS ; metafile driver
- ATSS10MF.FNT
- ATSS12MF.FNT
- ATSS18MF.FNT
- ATSS24MF.FNT
- ATTP10MF.FNT
- ATTR10MF.FNT
- ATTR12MF.FNT
- ATTR18MF.FNT
- ATTR24MF.FNT
-
- As you can see, I have divided the file into distinct
- groups. The first line of the ASSIGN.SYS file is used to tell
- GDOS where the fonts and device drivers are located. This line
- must always start with PATH= which is followed by a pathname of
- up to 64 characters locating the fonts and drivers.
- Following the path identifying line is the list of device
- drivers and their associated fonts. Each group is composed of
- four parts. First if a number representing the type of device:
-
- 01-10 Screen drivers
- 11-20 Plotter drivers
- 21-30 Printer drivers
- 31-40 Metafile drivers
-
-
-
-
-
- 41-50 Camera drivers
- 51-60 Tablet drivers
-
- The Atari STs have four built-in device drivers, they are:
-
- 01 Default screen (used when an application doesn't care
- about the screen resolution)
- 02 Low resolution screen
- 03 Medium resolution screen
- 04 High resolution screen
-
- Immediately following the device number may be a "load flag"
- of either "p" or "r". A "p" indicates that the device driver is
- "p"ermanent and does not need to be loaded by GDOS. Because the
- ST has it's screen drivers built into ROM, there will be a "p"
- after devices 01-04. An "r" indicates that the device driver
- should be kept "r"esident, causing GDOS to load the device driver
- immediately and hold it in memory. If a load flag is not
- present, GDOS will only load the device driver when an
- application opens (accesses) that device.
- After the device number and load flag is the filename of the
- device driver as it appears in the disk directory. In the case
- of ROM-resident drivers, the filename is only a place-holder (but
- must be present). Keep in mind that the device driver must be in
- the folder specified in the path line.
- On the lines following those three items is a list of fonts
- associated with that device (again, these are the filenames as
- they appear in the indicated path of the disk).
- You may have noticed a few lines with semicolons (;) in
- them. GDOS will treat any text on a line to the right of a
- semicolon as a comment and will ignore it.
- Some ASSIGN.SYS files have a device 00 (00p SCREEN.SYS).
- This can help prevent incompatibilities between GDOS and some
- older (pre-GDOS) programs. On the other hand, including it can
- cause other problems. It is suggested you leave it out unless
- absolutely necessary.
-
-
- EDITING/CREATING ASSIGN.SYS
-
- Now, why would you want to change your ASSIGN.SYS file?
- Well, if you have just one program which uses GDOS, and you are
- happy with the fonts you have, then there is no reason to change
- it. But, now that GDOS is beginning to be used more on the ST,
- many of us are acquiring a collection of GDOS applications and
- fonts. By editing or creating a new ASSIGN.SYS, you could create
- a "universal" ASSIGN.SYS and font/driver folder to be used with
- all of these programs!
- Luckily, the ASSIGN.SYS file is a standard text (ASCII) file
- which may be edited with most text editors and word processors.
- The only requirement is that the file does not contain any
- formatting codes. This can usually be accomplished in a word
- processor by turning document mode off, or selecting "Save as
- text" (check your word processor manual for exact instructions
-
-
-
-
-
- for doing this). If you are using a text editor, such as
- MicroEmacs or Tempus, there shouldn't be any special saving
- techniques.
- Starting at the top, the first thing you may want to change
- is the PATH= line at the beginning of the ASSIGN.SYS file. By
- changing this line, you can put your fonts and printer drivers on
- another disk or hard drive partition (instead of your boot disk).
- If you are using floppies, keep in mind that this directory
- (folder) must be present when an application accesses any of the
- GDOS devices. Also, to speed booting, this directory should be
- present when GDOS is loaded.
- Below is a list of my recommended configurations based on
- what arrangement of disk drives is being used.
-
- One floppy drive:
- Boot disk (drive A) with:
- AUTO folder containing GDOS.PRG
- GDOS.SYS folder containing the fonts and drivers
- ASSIGN.SYS with PATH=A:\GDOS.SYS
- Any GDOS application(s) (you may wish to create
- separate boot disks for each GDOS
- application)
-
- Two floppy drives:
- Boot disk (drive A) with:
- AUTO folder containing GDOS.PRG
- ASSIGN.SYS with PATH=B:\GDOS.SYS
- Font/driver disk (drive B) with:
- GDOS.SYS folder containing fonts and drivers
- Application disk (drive A after booting GDOS) with:
- Any GDOS application(s) (you may wish to create
- separate application disks for each GDOS
- application)
-
- Hard drive (booting from floppy):
- Boot disk (drive A) with:
- AUTO folder containing hard drive boot program and
- GDOS.PRG
- ASSIGN.SYS with PATH=C:\GDOS.SYS
- Hard drive partition C with:
- GDOS.SYS folder containing fonts and drivers
- Any hard drive partition with:
- Any GDOS application(s) (may be on any partition)
-
- Hard drive (autobooting):
- Hard drive partition C with:
- AUTO folder containing GDOS.PRG
- GDOS.SYS folder containing fonts and drivers
- ASSIGN.SYS with PATH=C:\GDOS.SYS
- Any hard drive partition with:
- Any GDOS application(s) (may be on any partition)
-
- Of course, these are only suggestions, and other
- configurations may be better for different applications.
-
-
-
-
-
- Hopefully you should now be able to create other set-ups without
- too much difficulty. There are a few "musts" that have to be
- observed:
- 1. GDOS.PRG must be in the AUTO folder of the boot disk.
- 2. ASSIGN.SYS must be in the root directory of the boot
- disk.
- 3. The PATH= line in the ASSIGN.SYS file must contain the
- complete pathname of the folder containing the fonts and drivers
- (GDOS.SYS is Atari's current name for this folder--previously,
- Atari called it GEMSYS. You may, of course, choose any name you
- like).
- 4. The fonts and drivers must be in the right place when
- an application tries to open a device.
-
- Adding a new device driver or new fonts is very simple. All
- you have to do is put the device driver and/or fonts in the
- correct folder (as defined by PATH=) then add the filenames to
- the ASSIGN.SYS file.
-
-
- A BIT ABOUT FONTS
-
- One question about GDOS fonts that people ask is, "when are
- the fonts loaded?" Many people are under the impression that all
- the fonts are loaded when GDOS is initially loaded. This is not
- true (and cannot be done). An "r" load flag in the ASSIGN.SYS
- file will cause GDOS to load only the device driver, not the
- fonts. Fonts are loaded only after an application opens a device
- and asks for the fonts to be loaded. At that time, GDOS will
- attempt to load all the fonts for that device. If there is an
- error (can't find the find, not enough memory, etc.) GDOS will
- skip over that font and continue with the next one. When an
- application is through with the fonts, it can "unload" the fonts
- to free up that memory.
- Another fact that many people don't understand is that the
- font filename is irrelevant to GDOS. Each font has a "header"
- consisting of various parameters, some of these are: point size,
- font name, and a font ID which is used to identify fonts of the
- same type (i.e. all swiss fonts have the same ID). Another thing
- to note is that GDOS does not handle line spacing, this is
- handled by the application regardless of the actual size of a
- given font. Some programs use the point size to determine line
- spacing, and others use the actual height of the font (yes, the
- point size can be set different from the actual size).
- For those of you creating your own fonts (with GEMFED,
- FONTZ!, or any other way), you must assign a unique font ID (from
- 0 to 32,767) to each of your fonts, and all font of the same type
- (i.e. Times), but of different size, must have the same ID. You
- should also note that some GDOS applications can only use fonts
- with an ID between 0 and 255. Because of this, it is advisable
- to keep your font IDs in that range.
- Another thing you must know when creating your own fonts, is
- the resolution of the devices you are creating the fonts for.
- The following is a list of most of the currently available
-
-
-
-
-
- devices and their resolution.
-
- Low resolution screen 45 x 45 (horizontal dpi x vertical
- dpi)
- Medium resolution screen 91 x 45
- High resolution screen 91 x 91
- 9-pin dot-matrix printer 120 x 144
- 24-pin printer 180 x 180 or 360 x 360 (NEC P-series only)
- Laser printer 150 x 150 (some) or 300 x 300
-
- (dpi figures for the screen are approximate)
-
- As you can see, most of these devices have square (round)
- pixels. This allows for sideways printing using the same fonts
- as for vertical (normal) printing. A notable exception to this
- is with the 9-pin dot-matrix printers, which will distort
- characters when printing them sideways. Different drivers handle
- this differently, they either ignore the fact (and print
- distorted characters sideways), or they print the left and right
- sides of a horizontal page on two separate vertical pages, which
- must then be taped together. The first method is the easier (and
- faster) of the two, but the second method will produce correct
- characters, and the taping isn't too bad if you are going to
- photocopy the final product.
- It would be possible to create separate fonts for sideways
- printing. but so far this has not been done. Also, some Epson
- printers have a 144 x 144 dpi mode (double plotter mode) which
- could be utilized. This would not only allow non-distorted
- sideways printing, but offers slight higher resolution in the
- horizontal axis.
-
-
- FONT FILENAMES
-
- As I stated earlier, font filenames are not used by GDOS.
- To us humans, though, consistent filenames can greatly simplify
- things. With the official release of GDOS (late 1987), Atari
- adopted a standardized way of naming font files. Here I will
- explain Atari's idea and add a few extensions.
- A font filename like ATSS10EP.FNT may look meaningless to
- someone who doesn't know how the filename was derived, but is, in
- fact, very functional.
- The first and second characters (AT) indicates the
- creator/distributor of the font (in this case Atari). Atari has
- suggested that these characters be "AT" for all fonts used on the
- Atari; this seems meaningless to me, as I don't have any fonts
- for any other computers on my ST disks (why would I?). I feel
- these two characters can be put to better use to specify the
- creator or distributor of the font.
- The third and fourth characters (SS) identify the typestyle
- (in this case sans serif). These should be unique to a
- particular rendition of a typeface.
- The fifth and sixth characters (10) specify the point size
- of the font. This should be the point size as printed on the
-
-
-
-
-
- device the font was designed for, not the pixel height. Also,
- sizes less than 10 should have a leading zero (i.e. 06) to
- maintain the overall structure.
- The seventh and eighth characters (EP) specify the device
- for which the font was designed (in this case the Epson 9-pin
- driver). If there are no seventh and eighth characters, the font
- is assumed to be for the high-resolution screen.
- The filename extender on all fonts will be .FNT.
- Although not many companies/individuals have produced GDOS
- fonts for the ST (yet), I recommend that all font filenames
- follow this convention to avoid confusion. I also suggest a few
- standard identifiers:
-
- Creator/distributor:
- AT - Atari
- MG - Migraph*
- TW - Timeworks*
- NC - Neocept*
-
- Typestyles:
- SS - Sans Serif (Atari's Swiss)
- TR - Times Roman (Atari's Dutch)
- TP - Typewriter (Atari)
- DB - Dingbats (Timeworks' Bullets)*
- DL - Drury Lane (Timeworks)*
- MA - Madison (Timeworks)*
- RK - Rockface (Timeworks)*
- RA - Ravinia (Timeworks)*
- CL - Camelot (Neocept)*
-
- Device:
- (none) - Monochrome graphics (high/low resolution screen)
- CG - Color graphics (medium resolution screen)
- EP - Epson 9-pin dot-matrix printer (120 x 144)
- SP - Star NB-15 24-pin dot-matrix printer (180 x 180)
- LB - Atari SMM804 9-pin dot-matrix printer (120 x 144)
- LS - Standard laser printer (300 x 300)
- MF - Metafile
- MG - Monochrome graphics (high/low resolution)*
- NC - NEC P-series 24-pin dot-matrix printer (360 x 360)*
- LL - Low resolution laser printer (150 x 150)*
- LQ - Epson LQ-series 24-pin printers (180 x 180)*
-
- * indicates unofficial representations which I suggest in an
- effort to standardize font filenames, and to simplify the whole
- matter.
-
- In many cases, the creator/distributor is not important, in
- which case the first four characters can be used for the
- typestyle. You will also notice that I have listed typestyles
- from various companies, I have done this because I recommend that
- you rename all of the font you currently have to match the above
- conventions, this will save you a lot of confusion in the future
- when you may have ten times as many fonts. One thing to note if
-
-
-
-
-
- you create a master ASSIGN.SYS file, is that although the
- Timeworks Swiss and Dutch fonts are different from Atari's, they
- use the same font IDs. GDOS could get very confused if you have
- two fonts with the same ID and point size. My personal
- recommendation is to replace Timeworks' Swiss and Dutch fonts in
- the 10, 12, 18, and 24 point sizes with the ones from Atari, as I
- feel these are much more professional and true to the original
- Helvetica and Times Roman typefaces.
- Because the font filename convention has changed since GDOS
- was first made available, it is helpful to know the old format
- (which is still being used in many cases). The old font
- filenames were laid out as follows:
-
- cccrttpp.FNT
-
- ccc - Creator/distributor (for screen fonts, i.e. MIG =
- Migraph) or Device (for other fonts, i.e. EPS = Epson 9-pin
- printer)
- r - Resolution (i.e. L = low res, H=high res)
- tt - Typeface (i.e. SS = sans serif, as above)
- pp - Point size (as above)
-
-
- METAFILES
-
- Metafiles are theoretically ideal graphics files (keeping in
- mind that text is represented graphically) which can be exchanged
- between different GDOS applications. Metafiles are those files
- with a .GEM extender. Metafiles are "ideal" in the respect that
- they are resolution independent. They are simply instructions
- for the computer to recreate a page on any output device at that
- device's highest resolution. This is accomplished by storing
- commands for drawing lines, circles, rectangles, text, etc.,
- unlike most picture files (.NEO, PI?, etc.) which store the dots
- making up an image.
- Unfortunately, the metafile standard is not being used
- consistently yet. This results in programs not being able to
- read metafiles created by another application. In most cases,
- the fault lies with the program trying to load the metafile, not
- the creator. Many different parameters may be present in the
- header of a metafile, but only a few of these are required.
- Many applications expect (and need) some of the optional
- parameters to be present to properly represent the image. As
- such, they have difficulty loading files which don't have these
- parameters. Currently Easy-Draw (version 2.3) is the most
- capable of the available GDOS applications, and can read just
- about any metafile.
- Some of the more recent GDOS applications are allowing the
- use of GEM image files (those ending in .IMG). These are
- bit-mapped images similar to those created by the various ST
- paint programs (but without the screen size and resolution
- limitations). As is the case with other paint files, these
- images may be jagged or blocky when printed on a high resolution
- device.
-
-
-
-
-
- A very important fact about images in metafiles is that the
- metafile does not actually contain a copy of the image. The
- metafile only contains the filename of the image on disk. This
- means that you must not remove the disk containing an image while
- the metafile is being printed, and every time you print that
- metafile, the image must be in the same disk (or you will have to
- change your file). If GDOS can't find the image, it will just
- skip over it. Be warned.
- For all you programmers, currently some programs (such as
- OUTPUT.PRG and OUTPRINT.PRG) have difficulty handling metafiles
- with large coordinates. Try to keep the coordinate space as
- small as possible while still maintaining enough for good output
- quality.
-
-
- MISCELLANEOUS COMMENTS
-
- If you are using the Timeworks Desktop Publisher ST (TDTP),
- you must run the FONTWID.APP program each time you modify the
- ASSIGN.SYS file. Another important fact is that the relative
- widths of the Timeworks fonts are not the same for different
- devices. What this means is that if you create a document with
- TDTP installed for use with an Epson 9-pin printer, then load the
- file into TDTP installed for use with a laser printer, the text
- will be re-flowed. This may result in different page breaks,
- lost text, extra white space, etc. The best solution to this
- problem is to create the document with a TDTP installed for the
- device which will create the final copy. Another idea is to use
- Atari's fonts (if you have them--they are not public domain), as
- the relative sizes between devices is very close (there still may
- be a few differences, but can be fixed readily).
- It should also be noted that Timeworks' ASSIGN.SYS files is
- a mess. Apparently they list all the fonts they have available
- for all their device drivers in one ASSIGN.SYS file. I suggest
- you create your own based on the information presented here.
-
- For those of you who have seen a lot of DEGAS Elite GDOS
- fonts floating around, don't get too excited. For those to print
- properly (even blocky), you must have matching printer fonts for
- the screen fonts. GEMFED or FONTZ! greatly simplify this
- process, but if you intend to create a complete set of fonts in
- four or five sizes, you will have a lot of work ahead of you.
-
- Anyone creating fonts for the general public (either
- commercial or public domain), try to remember that not everyone
- is using the same kind of monitor or printer you are. If at all
- possible, create fonts for all the devices I have listed above.
-
- For those of you creating fonts with FONTZ!, you should be
- aware that scaling fonts may change the aspect ratio of the
- characters. I'll say it again: Creating high quality fonts is a
- lot of work. Period.
-
- One thing I didn't mention are metafile fonts. These are
-
-
-
-
-
- not really fonts, but merely width tables designed to keep
- correct character spacing in a file when used with different GDOS
- applications. They are rarely used and, in most cases, can be
- eliminated without any loss of quality.
-
- Because GDOS has gone through many revisions, there is some
- confusion over which is the latest. When GDOS is loaded, a
- message is displayed on the screen saying it is installed, and
- the version number. The original GDOS displayed "GEMVDI
- Installed". After that, it switched to "GDOS Version 1.x
- Installed". The most common were 1.1, 1.2, 1.3, 1.5, and 1.8.
- The newest revisions of GDOS display "GDOS RELEASE 1.x
- Installed", with 1.1 being the newest (1.0 is still widely used).
- As you can see, it is very important to read the boot-up message
- when determining which revision you are using. Also, as a
- sidenote, if you can't get RELEASE 1.0 or 1.1, you should try to
- avoid Version 1.8, which had some problems.
-
- To prevent problems with some of the device drivers
- available, fonts should be listed in the ASSIGN.SYS file in
- ascending order by font ID. Some device drivers will not find
- fonts which are listed out of ID order.
-
- Some of the GDOS fonts available have the entire ST
- character set defined, including greek, hebrew, and other
- character (most are unused by the average person). As you might
- imagine, these take up space, usually, more than 50% of the font
- file! So, if you're running out of memory (especially with a
- Mega ST2 and SLM804), you can use FONTZ! to strip out the upper
- characters. Do this by setting the upper ASCII value to 127.
-
- Many people who have seen printouts of GDOS text have
- complained that the text is blocky. This blockiness is usually
- the result of font scaling. If a device driver does not have a
- font available in the requested size, it will use the next
- smaller size, or it may double the size of a smaller font. It it
- uses the next smaller size, the text will look strange, because
- it will have the spacing of the requested size, with the
- character size of the actually used size. When doubling a
- smaller font, blockiness will occur, and even then, the requested
- size may not be obtained. The best solution to this problem is
- to be aware of what size fonts are available, and only use those
- in your files.
-
- Currently there are rumors of a future version of GDOS which
- supports scalable outline (or vector) fonts. It's important to
- realize that GDOS does not create the characters. The device
- drivers are responsible for creating the actual characters, and
- could be rewritten to support outline fonts without any (or very
- minor) changes to GDOS.
-
- Ever since GDOS was released for the ST, people have been
- complaining, saying that GDOS was supposed to be included with
- the ST. While Atari may have planned that originally, I don't
-
-
-
-
-
- believe Atari ever stated publicly that GDOS was to be included.
- Keep in mind that much of the early ST documentation was based on
- the IBM version of GEM, and reflects DRI's handling of GDOS, not
- Atari's.
- Also, at this time, Atari has no plans to incorporate GDOS
- into the TOS ROMs.
-
-
- GLOSSARY
-
- Aspect Ratio - The relation of width to height. Maintaining
- a constant aspect ratio ensures the same proportions regardless
- of size.
-
- Device (Graphics Device) - Anything used to create some form
- of output, usually on a video screen or printed on paper or film.
-
- Device Driver - A computer program used to control a device
- as specified by a "master" application.
-
- Font - A typeface of a given style and point size.
-
- GDOS - Graphics Device Operating System; an extension to the
- Atari ST's operating system allowing for the use of various fonts
- and graphics devices.
-
- GEM - Graphics Environment Manager; the portion of the ST's
- operating system which is responsible for most of the visual
- aspects of the ST.
-
- Header - A portion of a file (usually at the beginning)
- containing various parameters describing the file.
-
- Line Spacing - The distance between successive line of text,
- usually measured in points.
-
- Parameter - A number or other symbol used to represent a
- given attribute (dimension, color, direction, size, mode, etc.)
-
- Pixel - Picture element; a single dot, usually one of many
- used to create a complete image on a video screen or printed on
- paper or film.
-
- Point - A typographical unit of measure; approximately
- 1/72".
-
-
- COPYRIGHTS, TRADEMARKS, ETC.
-
- This document is copyright 1988 by Douglas N. Wheeler, all
- rights reserved.
-
- This document may be reproduced for non-commercial use
- without further permission. For commercial reproduction, please
-
-
-
-
-
- contact the author.
-
- Any questions or comments about this document can be
- directed to:
-
- Douglas N. Wheeler
- PSC 3 Box 6096
- Travis AFB, CA 94535
- (707) 437-3786
- GEnie address D.N.WHEELER.
-
- This document mentions several commercial/copyrighted
- products. In each case, it is to be understood that the names
- are trademarks of their respective companies and are used here
- only as references. I am in no way connected, either through
- employment or otherwise, to any of these companies.
-
- I cannot be held responsible for any damages resulting from
- the use or misuse of the information contained in this document.
- This document was created for the purpose of providing
- information, it is up to the reader to accept responsibility for
- the results of the use of this information.
-
- I'd like to thank Paul Mazurek, from Migraph, for his
- comments and suggestions for this document.
-
-