"The Atari A to Z" by Mark S Baines Copyright (c) 1998 Mark S Baines All Rights Reserved YOU MUST READ "READ_ME.NOW" BEFORE YOU LOOK AT ANY OF THIS FILE ***************************************************************************** G G Giga Gate A control junction of a transistor and a basic logic circuit, such as an AND gate. Gateway A computer that acts as an interface between two different communications networks often using different communications protocols and thus a convenient route from one to the other. GDOS Graphic Device Operating System. The part of GEM contained as a separate executable file (e.g. GDOS.PRG). It contains device-independent functions for font and graphics screen display and printing, allows the creation of metafiles and provides support for various output devices up to a resolution of 32,767 x 32,767. It allows graphics to be printed at the highest resolution of the output device. The program must be in the AUTO folder and loaded at boot-up where it reads an ASSIGN.SYS file in the root directory which associates the font names found in this file with a device driver and ID number. Once this is done, an application can open a physical or virtual workstation with an appropriate device ID and load in the fonts corresponding to that ID via a vst_load_font() call. An open physical workstation looks into each entry of the ASSIGN.SYS information structure for the device ID. Workstations have different device IDs, which by convention are: Table G1: GDOS Devices and ID Numbers Device type Device ID numbers Screen (VDI) 01-10 control graphic hardware Plotter 11-20 translates graphics to plotter commands Printer 21-30 process graphics data for printers Metafile 31-40 create vector graphic .GEM files Camera 41-50 Graphics tablet 51-60 Memory 61-90 create a monochrome image in memory IMG 91-99 saves images as an .IMG file In the VDI, a device ID of 1 is used as the default. On the ST-TT this could lead to problems depending on what resolution the computer is in. If a physical workstation was opened with an ID of 1, an application could get fonts that were designed for medium resolution on a high resolution screen, for instance. Therefore other IDs are assigned: Table G2: GDOS Screen Drivers Devices and Resolution Device Resolution ID Number 01 Default 02 ST low resolution 03 ST medium resolution 04 ST high resolution 05 Falcon (any resolution) 06 TT medium resolution 07 08 TT high resolution 09 TT low resolution 10 The device ID number can be derived from adding two to the returned value from calling the Getrez() function: device_id = Getrez() + 2; At present, only ten device IDs are catered for. Only one ASSIGN.SYS file is needed if it contains all the fonts required by each screen resolution and other device ID, e.g. path=c:\gemsys ; path of folder containing fonts and drivers 01p screen.sys ; Default workstation ID number 02p screen.sys ; ST low resolution screen driver and fonts SLSS10.FNT ; Swiss screen font 10 point SLSS14.FNT SLTR10.FNT ; Times screen font 10 point SLTR14.FNT 03p screen.sys ; ST medium resolution screen driver and fonts SMSS10.FNT SMSS14.FNT SMTR10.FNT SMTR14.FNT 04p screen.sys ; ST high resolution screen driver and fonts SHSS10.FNT SHSS14.FNT SHTR10.FNT SHTR14.FNT 08p screen.sys ; TT high resolution screen driver and fonts STHSS10.FNT STHSS14.FNT STHTR10.FNT STHTR14.FNT The screen aspect ratio for high and low resolution are similar enough for the same fonts to be used for both of them. The path= directive must be the first non-comment line in the file. If it is not, then GDOS will use the current path as the default. The path name must be no longer than 64 characters long or it will be truncated and not match what was intended. There are two mandatory parts to an ASSIGN.SYS file. The workstation ID from between 0 to 32,767 and the name of the driver file associated with that ID. In the above typical example, the file screen.sys is the VDI screen driver and the p following the device ID stands for 'permanent' and means that the driver is always present at boot-up from the ROM. A r following the device ID signifies that a driver is to be loaded when GDOS is initialized from the path contained at the head of the ASSIGN.SYS file. The driver is to remain 'resident' in memory. If none of these two are specified, then the driver is loaded up when the physical workstation is opened and removed from memory later. Comments may be included in the ASSIGN.SYS file and must begin with a semicolon (;). Anything following this will be ignored. A file name must be specified for all drivers and if a file name extender is not specified, then .SYS will be assumed. The last entry in the ASSIGN.SYS file should not be followed by a new line. Typically, the ASSIGN.SYS file will contain a list of GDOS bit-mapped printer fonts which match the relevant screen fonts in a DTP program, for instance. For this, a printer driver of the type to specifically match the printer in use has to be defined followed by the list of fonts. The format is the same format as with the screen fonts above. 21 printer.sys ; Printer is LaserJet 4: 600 dpi LPSS10.FNT ; Laser printer Swiss fonts LPSS14.FNT LPSS20.FNT LPSS28.FNT LPTR10.FNT ; Laser printer Times fonts LPTR20.FNT LPTR14.FNT LPTR28.FNT 22 necp6.sys ; Alternative 360 dpi printer driver NCSS10.FNT ; 24-pin printer Swiss fonts NCSS14.FNT NCSS20.FNT NCSS28.FNT NCTR10.FNT ; 24-pin printer Swiss fonts NCTR20.FNT NCTR14.FNT NCTR28.FNT 31r meta.sys ; Metafile driver 61r memory.sys ; Memory driver Here, two printer drivers have been given device IDs of 21 and 22. The font files following them are specific to that driver and some programs allow the driver to be changed so that different printers can be used with the same set up. Some programs, like Timeworks Publisher v1 requires that the fonts be listed in the font ID number order. Only special programs, such as Fontkit can show what these are and allow them to be changed. The Metafile driver normally is device 31 and is required if metafiles (.GEM vector image files) are to be created and printed out. The Memory driver creates a monochrome image of the page to be printed in memory. In addition, there are image drivers which create an .IMG file instead of sending the data to a printer. The best version of GDOS is Release 1.1. A PD replacement written in Germany called AMCGDOS provides good results. Replacements for GDOS were introduced in 1992. See FONTGDOS, FSMGDOS, SpeedoGDOS, ASSIGN.SYS, EXTEND.SYS. GDP Generalized Drawing Primitive. Ten basic drawing functions of the VDI such as circle, rectangle, arc etc. GEM Graphics Environment Manager. A graphics oriented operating system front-end developed by Digital Research Inc. In 1982, DRI developed the Graphics System Extension GSX as an extension to its operating systems. In 1984, it introduced the Virtual Device Interface VDI and by combining these graphical and operating system technologies with an icon-based graphics environment, GEM was developed in 1985. It is a true device-independent, WIMP environment consisting of two major subsystems, the VDI and the AES. These basically comprise of a library of routines and functions which can be used by programs to draw windows, handle menus and operate dialog boxes and mouse responses. GEM allows the same programming routines to be made on different computers that support it with the end result being the same. Originally, GEM was an extension to DOS for the PC and a competitor to a similar environment on the Apple Macintosh. The screen, which looked very similar to that of a Mac's, was entirely the work of an application called the GEM Desktop which ran under the GEM interface. Users had the option of running a GEM application without the aid of the Desktop, but since DRI bundled a free GEM Desktop with every application, there was no need to. Unlike the Macintosh, a user could launch DOS applications from the GEM Desktop. Most of them could be assigned icons, and there was even a "Launch DOS Commands" menu item. When a DOS application was started, GEM saved the Desktop and, when the DOS application ended, returned to the Desktop. This was considered much better than the DOS shells then available, and users were willing to use GEM despite a lack of applications. When the Tramiels took over Atari they wanted a new computer based on the new Motorola 68000 processor and a graphical front end. Jack Tramiel went to Digital Research and obtained GEM support. GEM was popular at this time, being packaged with all Amstrad PCs and Apricot also decided to use GEM. However, Apple bought a lawsuit against DRI charging them with a copyright violation of the "look and feel of a Macintosh". DRI didn't feel they could afford the risk of losing the case and substantial amounts of money defending it and came to an out-of-court agreement. DRI made some changes to GEM, the Desktop and removed the Trash Can icon. However, this only applied to the PC version of GEM, Apple seemingly not considering the ST a threat although part of the agreement between DRI and Apple meant that development work on GEM ceased for the Atari range. GEM.CNF An ASCII text configuration file loaded at boot-up and processed by the AES when running under MultiTOS. It is used to set some AES system and environment variables and to execute GEM programs. The AES variable names must be in upper case and no spaces are allowed between them, the '=' character and the following values. Table G3: AES System Variables in the GEM.CNF File Variable Meaning AE_FONTID= ID of the font to be used as the system font (default is 1), e.g. AE_FONTID=1 AE_PNTSIZE= Point size of font to be used as system font (default is 13), e.g. AE_PNTSIZE=13 AE_SREDRAW= AES redraws screen before a program launch (default is 1 = yes, 0 = no), e.g. AE_SREDRAW=1 AE_TREDRAW= AES redraws screen after program exit (default is 1 = yes, 0 = no), e.g. AE_TREDRAW=1 AE_LANG= Language used in Desktop (0 = English, 1 = German, 2 = French, 4 = Spanish, 5 = Italian), e.g. AE_LANG=0 SHELL= Launch an alternative Desktop or CLI shell, e.g. SHELL=c:\neodesk\neoload.prg Command names must be in lower case with a single space between the command and the following value. There are only two commands. run which will execute a program, such as run c:\utils\uis_iii.prg. The command setenv name=val is used to set environment variables such as those you might otherwise have installed in an alternative Desktop, AUTO folder program or CPX module. Examples might be: setenv USER=msbaines setenv CLIPBRD=C:\CLIPBRD GEM.CNF also contains some specific environment variables which can be installed in MINT.CNF instead, although they are best configured in GEM.CNF. They are preceded with the command setenv. Table G4: AES Environment Variables in the GEM.CNF File Variable Meaning ACCEXT= Comma-separated list of extensions to be recognized as accessories, e.g. setenv ACCEXT=ACC,ACX ACCPATH= Comma-separated list of folders to locate accessories. The boot device root is always searched, e.g. setenv ACCPATH=C:\,C:\ACC TOSEXT= Comma-separated list of extensions to be recognized as TOS programs, e.g. setenv TOSEXT=TOS,TTP GEMEXT= Comma-separated list of extensions to be recognized as GEM programs, e.g. setenv GEMEXT=PRG,PRX,APP,GTP,NPG TOSRUN= Path of TOS handler program, running TOS programs in a windowed shell, e.g. setenv TOSRUN=C:\MULTITOS\MINIWIN.APP SHPRINT= Program run by Desktop to print files, e.g. setenv SHPRINT=C:\MULTITOS\LPR.APP SHSHOW= Program run by Desktop to show files, e.g. setenv SHSHOW=D:\EVEREST\EVEREST.PRG DESKCOPY= Program run by Desktop for file copies, moves and renames, e.g. setenv DESKCOPY=C:\UTILS\KOBOLD.PRG DESKFMT= Programs run by Desktop to format and copy disks, e.g. setenv DESKFMT=C:\UTILS\FORMAT.PRG PATH= Comma-separated list of folders to search for resources for executed programs, e.g. setenv PATH=,C:\MULTITOS,C:\,C:\UTILS GEM Desktop The main screen of the Atari TOS/GEM range of computers containing the menu bar, disk icons and a trash can icon. Onto this, directory windows can be opened to perform disk housekeeping functions or to launch programs. The NewDesk Desktop introduced with TOS 2 and 3 contains more icons, such as printer and program icons. GEMDOS Graphics Environment Manager Disk Operating System. That part of TOS which is the hardware independent part of GEM. It consists of very similar functions to those of MS-DOS where even the function numbers are the same. Not all the MS- DOS functions are used, in the area of file management; only the UNIX compatible ones are implemented and those in MS-DOS that were retained for compatibility with CP/M are missing, as are those that specifically refer to Intel chip functions. GEMDOS calls (as well as the BIOS and XBIOS) have the function number and the parameters placed on the stack and not passed in the registers as with MS-DOS. GEMDOS calls are made with a TRAP #1 exception. GEMDOS functions are concerned with disk management, memory allocation and process management facilities traditionally available in any operating system. It has to be noted that of all the functions available under TOS as a whole, this is the most bugged and/or troublesome section although that has improved with new TOS versions. GEMDOS functions have a consistent set of prefixes for their naming: Table G5: GEMDOS Function Name Prefixes Prefix Meaning C Direct console, printer and auxiliary I/O e.g. Cconin() D Directory and disk management e.g. Dgetpath() F File management and manipulation e.g. Fopen() M Memory management e.g. Malloc() P Process creation and termination e.g. Pexec() S System inquiry and manipulation e.g. Super() T Time and date functions e.g. Tgetdate() GEMDOS errors GEMDOS will occasionally return non-fatal and non-processor exception error messages from a program to the Desktop or other shell program. They may appear in an alert box or written to the screen. See BIOS errors. Table G6: GEMDOS Errors Name No Meaning EOK 0 Operation was successful, no error EINVFN -32 Invalid function number EFILNF -33 File not found EPTHNF -34 Path not found ENHNDL -35 Too many files open (no more handles left) EACCDN -36 Access denied EIHNDL -37 Invalid handle number ENSMEM -39 Insufficient memory EIMBA -40 Invalid memory block address EDRIVE -46 Invalid drive specification ENSAME/EXDEV -48 Cross device rename (not the same drive) ENMFIL -49 No more files ELOCKED -58 Record is locked - (file locking and network) ENSLOCK -59 No such lock (unlock an unlocked record) E_RANGE -64 Range error ENAMETOOLONG -64 Range error (file name component too long) EINTRN -65 Internal error EPLFMT -66 Invalid program load format EGSBF -67 Setblock failure due to growth restrictions EBREAK -68 KAOS: CTRL-C user break EXCPT -69 KAOS: 68000 exception EPTHOV -70 Path overflow ELOOP -80 Too many symbolic links EMOUNT -200 Mount point crossed (indicator) ELINK -300 Data is symbolic link GEM metafile A file with a .GEM file name extender containing vector graphics data produced by an object-oriented drawing program, such as Easydraw. The file is resolution independent and therefore capable of being printed on any device at its highest output. The file also has the advantage of taking up far less storage space than an equivalent bitmapped file. See Drawing program, Bitmap image. GEMSYS Traditionally, the name of the folder where GEM GDOS fonts are stored. General-purpose language A programming language that can be used for a variety of purposes, such as PL/1. Generate To produce program object code or machine code from source code, the act of a compiler, for instance. Also, to produce a string from a macro. Generation A term used to indicate the technological state of development of computers. Current computers are of the 'third generation'. Also, the relation of a file in a hierarchy of files, each one being updated from the previous one. Three generations are normally maintained, being the 'grandfather', 'father' and 'son'. At each update the grandfather files are replaced by the new son files, the other two sets becoming a generation older. Genlock The ability of one video source to be time coincident with another. This synchronization allows a computer video image to be freely mixed with a TV broadcast video image. All STs had the ability to synchronize their video output with an external source. This is controlled by bit 0 at $00FF820A. However, to do this reliably, the system clock must also be phase-locked with the input sync signals. No way to do this was provided in the ST which meant that the only Genlock devices available are internal modifications. The STE allows Genlocking by grounding pin 3 (GPO) on the monitor connector and then injecting the clock signal into pin 4 (Mono Detect). The internal frequency of this clock is 32.215905 MHz for NTSC and 32.084988 MHz for PAL systems. On the Falcon, pin 14 VSYNC, can be programmed as in input (when pin 16 External Sync Enable is held high) where a low-level will hold the vertical timing generator in a rest condition. This is typically used by external Genlocking devices. HSYNC cannot be programmed as an input but horizontal locking is achieved with a phase locked loop controlling the external video clock in pin 15. An external video source can drive a clock input into this pin synchronous with the external video dot clock. The Falcon will use this signal as a master video clock when selected in software. The maximum frequency this input can be driven is 32 MHz. Get To obtain or fetch a data item from memory or other storage. Ghost outline An outline of an icon, file name or window used to show its current position as it is dragged to a new location on the Desktop. GIF Graphics Interchange Format. A bitmap graphics format from CompuServe which aims to maintain the correct colours of on-screen images when transferred between different computers. Such files have the .GIF file name extender. Giga - G A billion (one thousand million) or 10^9. Gigabyte A thousand million bytes which in computing is 2^30 or 1,073,741,824 bytes or 1,024 megabytes. GIGO Garbage In Garbage Out. Term used to emphasize the fact that a computer can only produce good results from good (accurate) inputs. GIOS Graphic Input/Output System. GEM's input/output system containing all the device-specific input and output functions for devices connected to the ST- Falcon range. It is the interface between GDOS and the other devices, such as printers and the screen. Global With respect to the total rather than to a part. Also, in programming, a variable or function defined in one section of a program and available to any other function and holding its value throughout execution. GLUE The Atari custom chip that 'glues' all the others together on the ST. It usually comes in a 68-pin PLCC package like the MMU. It generates the 2 MHz timing frequency for the PSG chip and 500 kHz for the keyboard and MIDI interface from an 8 MHz clock signal, the interrupt signal, the Bus Error signal, HSYNC, VSYNC, BLANK and DE video signals and it decodes the address range taking in the 23 address lines. On the STE and TT the GLUE and MMU chips were amalgamated into a single MCU chip. See MCU. Glytch On disks and tape, where the magnetization pattern of one track crosses over onto another making the reading of the data difficult. Sometimes wrongly used to describe an error or bug. Gopher A menu-based system for searching for information and resources through the Internet. It differs from WWW in not being hypertext-based. The term is derived from the phrase 'go for' and was developed at the University of Minnesota, the Gopher State. See Internet, WAIS, WWW. Golf ball printer A printer using a small sphere with characters embossed on it which when pressed against a ribbon prints the character onto paper. Effectively replaced by the daisywheel. Grabbing The action of selecting an icon in a WIMP system and moving it to another location. Under GEM, point at an icon, press and hold the left mouse button and move it or 'drag' it to another location. The act of selecting an icon is 'grabbing' whilst its movement across the screen is 'dragging'. Grandfather A term applied to the second update of a file. See Generation. Graph A two-dimensional representation of numeric values consisting of lines or curves superimposed on a grid. Graphic A meaningful two-dimensional representation of elements such as lines and dots as printed on a display device, e.g. a character, picture, icon. Graunch Term applied to a hardware failure (originally a disk head crash). Greeking A method of representing text on screen, typically in a DTP program, by a series of horizontal lines or other pattern when a font is too small to be displayed properly at the screen's low resolution. Grid A series of parallel perpendicular intersecting lines to which screen objects can be snapped into place for accurate alignment, such as in a DTP frame, CAD, drawing or painting program. Ground The connection of circuit elements in an AC mains system to earth. Group A number of items present together or considered as a unit. GSX Graphics System Extension. An early developmental project of Digital Research into graphics system software which was considered an extension to their operating systems. It was combined with the VDI to form the basis of GEM in 1985. See GEM. GTP Gem Takes Parameters. The file extension for GEM programs that can accept command parameters before being launched in the same way as .TTP programs. Guard band On magnetizable disks, a group of unused tracks that mark the inner and outer limits of the recordable surface. Guard tone A band of unused frequencies (usually 550 Hz) used to separate adjacent speech or data bands in a frequency-division multiplexed system. Guard zone A length of track on a magnetic disk that is left unrecorded between two adjacent sectors to ensure that data is never overwritten because of inaccuracies in the alignment of the read/write heads and the positioning of the sector marks. GUI Graphic User Interface. An operating system front-end that is graphics-based allowing the user to control the computer through icons and a mouse. The aim behind GUIs is to make the use of the computer intuitive to the user without the steep learning process of struggling with command words and parameters when using a command line interface. This development has been taken further with WIMP environments. GUIs, such as Windows on the PC are not necessarily full WIMP environments like GEM and that on the Mac. Gulp A group of several bytes. G 44 entries EOF