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
-
-