"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 ***************************************************************************** S Sampling The process of measuring a variable (such as frequency) at timed intervals and storing it to analyse or manipulate that data. Quite often, it applies to converting the amplitude of an analogue waveform into a digital form, such as with sound. This is synonymous with the term digitizing. The more often the analogue signal is sampled, the more accurate the representation of the resulting digital form will be. This is the sampling frequency, and if a sample is taken 44,100 times a second then we have a sampling rate of 44.1 kHz which is that used to produce audio compact discs. As long as the sample is taken at a frequency greater than twice the highest frequency component of the signal, then no data will be lost. Since the human ear cannot hear a frequency above about 20 kHz, then the highest frequency sampled by a CD disc is 22.05 kHz which is quite adequate. The STE introduced hardware to playback sampled sound from digital data stored in a disk file and loaded into memory. The DSP system in the Falcon030 can sample sound through a stereo microphone input with eight channels and 16-bit resolution. That means that sixteen bits are used to store each sample of the analogue signal. Sampling rates are variable, but typical ones are 49.17 kHz, 44.1 kHz (CD quality), 48.0 kHz (DAT quality) and a maximum of 62.5 kHz. The Falcon can play back this digital sample at these rates as well. See DMA sound, DSP, Falcon. SASI Shugart Associates System Interface. The precursor to SCSI developed by Shugart in the 1970s as a hard disk controller. SC1224 Atari 12 inch colour monitor with .38 mm dot pitch, RGB analog input, a vertical scan rate of 60ñ10 Hz and horizontal frequency of 15.75 kHz. Maximum resolution is 640 x 200 or 80 columns x 25 lines. It has a built-in speaker and many external controls. SC1435 Atari 14 inch colour monitor effectively replacing the SC1224. It has a swivel base. Scalar Capable of being represented by a single number, as opposed to vectors which are represented by two end coordinates. Scalable font A typeface font that is constructed from a set of mathematical rules describing each character's appearance rather than using a bitmap. The advantage is that any character can be scaled to any point size without loss of detail or crude 'blockiness' that is the result of scaling bitmapped fonts. A single scalable font file can therefore give rise to any set of font sizes which saves enormous amounts of disk space as well as computer memory when utilizing fonts, in a DTP program, for instance. Such fonts can also output to any device so that there isn't the need for separate screen and different printer fonts. It has to be noted that any output from a scalable font is bitmapped when it appears on the screen of a computer or on paper when printed as computer screens, laser printers and dot matrix printers are all bitmapped devices. For very small point sizes, bitmapped fonts may be superior depending on the algorithm used by the scaling routine for scalable fonts. Some scalable fonts have a special algorithm for producing small point sizes to optimize the positioning of the few dots making up a character at that size. This is known a hinting. Scalable fonts are also called outline or vector fonts. Scale The size relationship between one entity or value and another. Also, to change values to bring them within a certain range, for instance to make the dimensions of a drawing smaller (reduce its scale). Scan In a CRT, to move the electron beam across the display area in closely spaced lines in order to place an image on the screen. Also, to pass a sensor across a graphic image in a sequence of closely spaced lines in order to detect differences in light transmission or reflectivity and so to represent that image as a series of electrical signals for transmission to a device for storage and manipulation. Also, to continually read registers or other bit positions in rotation for changes to them. Scan line A line followed by a scanning element, such as an electron beam across a CRT screen or image. Scanner A device that passes a sensor over a graphic image in a sequence of parallel lines in order to detect differences in light transmission or reflectivity converting that image to a bit-pattern for storage, manipulation and reproduction. The resulting file is a bitmap file, usually in the IMG format. Also, a device that can connect a single circuit to each of a number of other circuits in rotation, as in multiplexing. SCC ports These are two serial ports on the Mega STE, TT and Falcon using the Zilog 85C30 SCC chip. Port A can be used as the Local Area Network port or as a high-speed RS-232C port the output being directed to the appropriate connector (when bit 7 of the PSG sound chip Port A is zero, LAN mode is selected). Port B is a high-speed RS-232C serial port for modems. Both the serial ports are 9- pin DB connectors (joystick-like) compatible with IBM PC-AT style. Port B has the Ring Indicator signal connected. The Port A LAN connector port is an 8-pin female DIN connector. On the Falcon030 the SCC ports are the only serial ports, (Port A always being the LAN port) whilst the TT has two MFP 68901 ports as well. The SCC can handle both asynchronous and synchronous transfers with speeds up to 115,200 bps on Port A and 153,600 bps on Port B although there is no provision within the XBIOS to support such a speed. See LAN port, Zilog 85C30 SCC. Scope The parts of a program in which a variable can be accessed. In block structured languages such as C and Pascal, it extends to the end of the block in which it was declared, including any inner blocks. Scrap file A temporary work file often used to transfer data between applications as in the Atari Clipboard protocol. The file is normally called SCRAP.* where the extender specifies the type of data it contains. Scratch To erase data from a magnetizable surface medium. Scratch file A file allocated to a program as a temporary work file. Screen That part of a display device where the display appears. Screen image The display image. Screen saver If the monitor screen if left with an unchanging display for any length of time (no-one appears to know exactly how long) the electron beam will burn the image into the screen phosphors permanently. Subsequent use of the monitor will reveal a faint ghost image of this display on top of the current one. To stop this happening there are many programs available which come into effect only after a certain amount of time of inaction from the mouse or keyboard. Many of these will just blank the screen and will require some memory to store the display image beforehand. On a monochrome screen, some will reverse video the whole display image every few seconds. This does not require any memory and acts as a warning to the user that he hasn't done any work for the last five minutes! Others will present a constantly changing image to the screen for amusement. Another method is to blank the screen and require the user to enter a password to unblank the display. This may be useful in offices where sensitive data is being used and a user does not wish to switch off the computer when she leaves her desk. Scroll Where display elements make vertical or horizontal movements across a screen under user control. As the display image disappears at one edge it is replaced at the other thus maintaining a complete screen image. The use of the arrow keys and/or GEM window scroll arrows and scroll bars are normally used for scrolling. Scroll arrow Arrow icons on the right and bottom GEM window edges which move the display by a single increment in the direction of the arrow. If the display is of text, then the movement is normally one text line vertically and one character horizontally. If it is a graphics display, say an image file, then the movement will be some small prearranged size, for instance 8 or 16 bits. Scroll bar The right and bottom GEM window edges containing two scroll arrows, a scroll box and one or two shaded areas each. They are joined together in the bottom right-hand corner by the Size box. Scroll box The white scroll box (although it may be coloured to a user's choice in TOS 2, 3 and 4) within the scroll bar of a GEM window indicates the current position of the window's contents relative to the whole file. The size of the scroll box compared to the shaded areas next to it corresponds to the portion of the total file currently in the window. The scroll box can be used for scrolling the window, one window area unit in any direction by clicking in the shaded area. Finer control can be had by dragging the scroll box along the scroll bar to a required position. SCSI Small Computer Systems Interface. A common interface standard for linking up to seven other devices to microcomputers originally developed by Shugart Associates in the 1970s as a hard disk controller called SASI. It has a 50-pin connector (two rows of 25) allowing for two-way communication, although the SCSI port on the Mega STE and TT is a 25-way connector (the full 50-pin cabling is used internally). Theoretically, any device with the appropriate interface can be connected to a computer, such as disk drives (floppy, hard disk, CD-ROM, removable SyQuest cartridges), tape devices, scanners, typesetting machines etc. The SCSI port on the Mega STE and TT is controlled by a NCR5380 SCSI controller which is capable of a data transfer rate of 4 Mb a second with access to the full 32-bit address space on a TT. The most up-to- date version is SCSI-2 which has a theoretical transfer rate of 40 Mb per second. The Falcon's SCSI port complies to this standard and the ACSI is a subset of its commands. Third party developers provide SCSI 2 to ACSI adapters to allow the Atari SLM laser printers and Atari hard disks to be attached to the Falcon's SCSI port. Table S1: SCSI Pin Functions Pin Meaning/Function 2 Data bit SCSI ID 0 - DB(0) 4 Data bit SCSI ID 1 - DB(1) 6 Data bit SCSI ID 2 - DB(2) 8 Data bit SCSI ID 3 - DB(3) 10 Data bit SCSI ID 4 - DB(4) 12 Data bit SCSI ID 5 - DB(5) 14 Data bit SCSI ID 6 - DB(6) 16 Data bit SCSI ID 7 - DB(7) 18 Data bit parity - DB(P) 20 Ground - GND 22 Ground - GND 24 Ground - GND 26 Terminator power 28 Ground - GND 30 Ground - GND 32 Attention - ATN 34 Ground - GND 36 Busy - BSY 38 Acknowledge - ACK 40 Reset - RST 42 Message - MSG 44 Select - SEL 46 Control/Data - C/D 48 Request - REQ 50 Input/Output - I/O All odd numbered pins, except pin 25, are connected to ground (GND). Pin 25 is not connected. Pin one is marked by a triangle indentation on the connector. For the pinouts on the TT and Falcon see the Connectors Appendix C. SCU System Control Unit. A TT chip providing an additional level of interrupts control for the system, containing registers that allow the software generation of interrupts. There are two mask registers permitting independent control over which levels will be seen by the processor. There are interrupt request registers showing the current state of the seven interrupt request levels from each of the sources and there are two read/write registers for system configuration information. A system bus timer is also implemented where the SCU will signal a bus error if nothing concludes a bus cycle within sixteen microseconds. SD Single Density. An outmoded and unused form of data encoding using simple FM techniques for disk drives. SDMA The Atari custom chip in the Falcon030 which is the SoundDMA coprocessor chip. See DMA, DMA Sound. Search An operation performed to locate one or more particular items amongst a group of such items. SECAM SEquential Couleur A M‚moire. The French television standard. See PAL and NTSC. Secondary channel A data communications transmission channel that can be used as a supervisory channel for low-speed data that is independent of the main channel. Second generation computer A computer employing transistors circa 1950s-early 1960s. Sector The smallest unit of any track on magnetic disk storage that can be accessed directly by the hardware of the disk unit. Each track consists of several sectors, the norm being nine on a double density floppy disk, forming 'pie- slice' shaped divisions on the disk surface. Security The operations and checks made to prevent loss or corruption of data and to prevent unauthorized use of programs and data. Seek The operation of moving the read/write heads on a magnetic disk unit to the correct track position so as to read or write data. Seek rate/time The measurement of the time required to move a disk drive's read/write heads to a different track. It is usually expressed as an average time, that is, the time required to move to half the number of tracks on a disk surface. Segment A separately loadable sequence of instructions as part of an overlay program. Also, one of the components of a LED or LCD display character. Select To chose one of several items or possibilities, such as an item from a menu. Single-clicking on an item on the GEM Desktop will select that item which will remain highlighted to show its selection. Semantics The study of the meanings of words, concerned with their definitions rather than their use in relation to others (syntax). In programming, it is the relationship between the use of symbols and keywords and their consistency of meaning. For instance, it is a semantic rule that forbids reserved keywords, such as FOR or which, to be used as names for variables or functions. Semaphore A flag, a bit or bit-group indicating that a particular event has occurred during processing. In the concurrent processing of two interdependent programs, it is a control structure by which intermediate results are passed between programs. Semiconductor An electronic device that depends on a controlled, unidirectional flow of electrons between two types of silicon or germanium for its operation, silicon being the most commonly used. Pure silicon is a poor conductor of electricity and so if 'doped' with a small amount of another substance, usually phosphorus, free electrons become available to conduct electricity, this being N-type (negative) silicon. If boron is used, for instance, 'holes' appear between which electrons can jump, this being P-type (positive) silicon. If the two types of silicon are placed side by side, a junction is formed and a depletion layer forms where no carriers (electrons or holes) exist. If a current is maintained, the depletion layer can grow and exist as a barrier to further current. If the arrangement of N-type and P-type silicon is reversed or the polarity of the current, then the depletion layer disappears. A semiconductor device that limits current to one direction is called a diode. All semiconductor devices use depletion layers to control current. Semiconductor device An electronic component consisting of one or more semiconductors and circuit terminals for wiring into a circuit. Semiconductor memory Memory in which each storage cell consists of one or more semiconductors. ROMs have a bit permanently written in each storage cell, whilst RAM has storage cells which can be changed quickly by an electrical pulse. Semiconductor memory is normally coordinate-addressable memory in which each storage cell is arranged in a matrix with connecting 'row' and 'column' conductors by which they are selected for reading and writing. Send To move signals or messages from one location to another. Sense To detect a particular physical condition or a change in one and to output an electrical signal as a measurement of that condition or change. Sensitive Capable of detecting a small change in some condition. Separator A delimiter, a character that separates units of data in storage or transmission. Sequence A group of items arranged in some particular order one following another. Also, a set of procedural or programming steps taken one after another. Sequencer A program used in conjunction with MIDI devices that can be likened to a multi-track tape recorder on which separate music parts can be recorded building up, track by track, a more complex piece of music. A sequencer allows for the editing, storage, manipulation and play back of this music data. Sequential Arranged or occurring in sequence. Sequential access An operating system access that presents records to an application in an order according to the numeric values of their keys rather than the organization of the records in the file. Sequential file A file in which records are held in physical locations in storage in an order according to the numeric values of their keys. Serial In a string, following one another in space or time. Serial access An operating system access that presents records to an application in the order in which they are held in storage. Serial access device A device where the access of a particular item requires the reading, checking and counting of other data items first, such as in tape. Such a process is, of course, slower than random access. Serial file A file in which records are stored one after another on the storage medium without regard to the sequence of their keys. Serial interface An interface through which data can only pass in bit-serial form, such as the RS-232C port. Although many other interfaces are bit-serial (MIDI, LAN, floppy disk) the term normally refers to the modem or RS-232C port. See RS-232 port, SCC ports, RS-232C. Serial number A number, usually unique and perhaps with letters, placed on an item by a manufacturer to provide identification of that item. Serial numbers are commonly found on software as well as hardware items, that number being the unique registration or licence number of the software. Floppy disks also have a serial number which is randomly chosen and written to the disk when it is formatted. It is used by TOS which checks these numbers whenever a disk is placed into the drive. If the operating system suspects that a disk has been changed, it checks the serial number before writing to the disk assuming that it is the same disk if the serial number matches. It is important, therefore, that third party floppy disk formatters correctly provide random and unique serial numbers for disks. Unfortunately some of the earlier ones and preformatted disks do not which can cause the complete loss of a disk's data when swapped undetected in a drive. A disk's FAT data is stored in a memory buffer and if a file is copied onto the second disk the original disk's FAT is also copied which, bearing no resemblance to the second disk's contents, corrupts it. Serial port bug The most persistent bug in TOS is the notorious serial port bug. In fact, over the years it has been a series of different bugs which Atari kept introducing as they tried to deal with a much deeper underlying problem. TOS and the actual hardware in all Atari computers is incapable of handling the CTS/RTS hardware flow signals correctly. TOS 1.0 doesn't handle CTS at all and a patch program called TURBOCTS corrected the bug but added overheads to the data transmission, slowing it down. The bug was corrected in TOS 1.2 but another bug was introduced with the Rsconf() function in TOS 1.4 which meant that flow control cannot be turned on at all. Setting RTS/CTS resulted in no flow control at all. This was fixed in TOS 1.6 and 1.62. With the introduction of TOS 2 and 3 the serial port bug was reintroduced but again cured in TOS 2.06 and 3.06 which supposedly do not need any patches. However, further investigations of the root of the problem show that it is not due to an incorrectly written TOS but due to the nature of the systems hardware that goes back to the original design of the ST. It would appear that the priority of the CTS interrupt in the MFP 68901 chip is too low at Level 2, resulting in the computer's RS-232 buffer to still send data after the CTS signal has been lowered. To fix this hardware problem is likely to make a lot of software (not just comms and printer drivers) stop working. Atari took the decision a long time ago not to do that but to try to alleviate the symptoms as much as possible, hence the relevant patch programs from them and third parties. Serial processing Processing in which each item in a sequence of instructions passes through the processor one after another. See Parallel processing. Serial transfer A bit-serial transfer. Serializer A device that converts bit-parallel data to bit-serial form, such as a UART. Series A sequence, items or events occurring one after another. Also, a string, a group of items arranged contiguously. SERPTCH.PRG An official freeware Atari patch program to fix the serial port RTS/CTS problem in TOS 2.05, 3.01 and 3.05. It should run from the AUTO folder. Besides having serial ports controlled by the usual MFP chip, the Mega STE and TT also have serial ports supervised by a SCC chip. Unfortunately, additional bugs were introduced into the SCC code concerning parity and word size. Also, on the Mega STE the Iorec(0) function (which obtains information vital for any comms program to work properly) does not work correctly. SERPTCH.PRG fixes these problems as well. Server A central and controlling computer with large storage capability in a local area network supplying applications and data to the stations. Also, in any connection between two computers on the Internet, there are two pieces of software communicating with each other - a client and a server. The client runs on the computer requesting the service and the server runs on the remote computer providing it. The network using TCP/IP is the medium by which the two programs communicate. Servers normally run in the background and are often referred to as 'daemons'. When called they tell the networking software they are ready to receive commands. Any results are sent back and then they wait for the next connection. A communication protocol ensures that servers can handle a variety of clients and operating systems. See Client. Service provider A company that provides access to the Internet for a fee, such as Demon Internet Services, EasyNet or CIX. The connection is usually via SLIP or PPP using a modem and telephone line. Set A group of items of the same class to be used in sequences or combinations to perform some function, such as a character set. Also, to place a device in a particular condition or establish a particular value or condition. Also, to write a 1-bit in a particular location or to put into a form acceptable for printing. Set up To make a functional unit or program ready for operation. Setup The arrangement of a system. SF314 Atari external double-sided 3.5 inch floppy disk drive with an average access time of 96 ms and data transfer rate of 250 Kbits/s. SF354 Atari external single-sided 3.5 inch floppy disk drive with the same specifications as the SF134 but with only one head. SFP004 An Atari expansion board for the internal expansion bus of the Mega ST computer which contains a MC68881 floating point processor and the logic devices to decode addresses. The MC68881 appears as a peripheral input/output port in the memory map of the Mega ST as the MC68000 CPU does not support coprocessors unlike the MC68030. This makes the operation of the MC68881 slower, but processing is still faster than if one wasn't fitted. Using floating point routine benchmarks, the SFP004 can improve certain operations by a factor of ten. Programs specifically written for the SFP004 will not recognize a MC68882 on a TT and will not work, but 'will' work on a Mega STE. See FPU, MC68881, MC68882. SH204 First Atari external 20 Mb 5.25 inch hard disk drive in a 'brick-like' case. Using MFM encoding with 2,448 tracks, 612 cylinders and 17 sectors per track. It has a data transfer rate of 5 Mbits/s. SH205 Atari external 20 Mb 5.25 inch hard disk drive in a Mega ST type case. Shareware Shareware programs are commercial programs and not to be confused with public domain or freeware programs which carry no charge. The programmer retains copyright as with freeware programs but normally allows the user to run the program for a specified amount of time or under other conditions specified in the documentation. After those conditions are met or that time period it up, the user is under a legal obligation to pay the shareware fee for the program. If the user doesn't then he must delete the program as he will be unauthorized to use it. Shareware programs are usually cheaper than commercial programs and use this 'try before you buy' distribution method, where they are available form PD libraries and bulletin board networks. Because they are freely available does not affect their commercial nature and the legal rights and obligations of the programmer and user. Although the concept of shareware is very successful in the US, it has not seriously caught on in the UK where the majority of users do not pay the required fees. A common excuse is the perceived difficulty in sending money abroad which is, in fact, very easy through any Post Office or Bank. See Public domain, Freeware. Sheet feed A term applied to a printer that uses separate sheets of paper rather than continuous stationery. Shell A user interface program from which other programs can be run and returned to after completion, such as a menu system or GUI. Shift To move bits one bit increment at a time to the left or right. In text processing, it may be one character increments (eight bits), such as when characters are inserted into a line of text. Also, in a keyboard, to change the relationship between the keys and the characters they cause to be printed, such as the [Shift] key which changes characters between upper and lower case or provides extra punctuation marks. Also, to change a value or position as in a frequency change in frequency shift keying. Shift-click Clicking with the mouse button whilst holding down the [Shift] key. SHIFTER An Atari custom chip converting the data in video RAM into a monitor signal output from the monitor or TV modulator port. On the ST it is a 40-pin DIL packaged chip and takes its data in 16-bit parallel form from RAM with the MMU handling the addressing. The data sent to the monitor or modulator (if fitted) is in bit-serial form. The GLUE chip provides the VSYNC and HSYNC signals for synchronizing the monitor to the video output, the DE (Display Enable) and BLANK signals. The SHIFTER can produce a monochrome output signal and three sets of colour signals, red, green and blue. The SHIFTER also produces a 16 MHz clock signal from the master crystal's 32 MHz signal. On the STE and TT the SHIFTER was converted to allow for the greater colour palettes. It exists as an 84-pin PLCC chip and is normally socketed. Besides the red, green and blue colour signals, it also produces the HSYNC, VSYNC and DE signals. A separate SHIFTER, a National DP8516 graphics processor is used on the TT to generated the TT high resolution mono display. See RGB, TTVIDEO, DP8516. Shift key A keyboard key that is used to change the characters produced by other keys, such as from lower case to upper case letters or to provide a 'œ' character on the [3] key. SHIPACC.PRG An official freeware Atari program that 'ships' hard disks, that is, parks the heads of the hard disk. As most disks are auto-parking, this program is not generally required. Short, shortword A 16-bit integer on the ST-Falcon range. SI SystŠme International d'Unit‚s. The international metric system standard. Sign A symbol or character(s) associated with a number to indicate whether it is positive or negative, such as the - and + signs. Sign bit The most significant bit in a bit-pattern indicating the sign of the bit- pattern's value of a signed number. Conventionally, a 0-bit indicates a positive value and a 1-bit a negative value. See Signed number. Signal A particular line condition, or change of it that is passed between two locations to represent data or control sequences. The line condition is either a carrier wave frequency or a voltage. Also, a message from one process to another in a multitasking environment. See MiNT signals. Signed number A number with a sign associated with it, such as -45 or 378 which is assumed to imply +378. A signed 16-bit integer will have a range of -2^15 to +2^15 (- 32,768 to 32,768), the positive value being half that of an unsigned integer which has the range 0 to 2^16 (65,536), because of the loss of one bit as the sign bit. Significant digits Those digits with the highest positional values or weights in a number, at the left, are the most significant digits. Those on the right are the least significant digits. See MSD, LSD. SIL Single In-Line. An integrated circuit chip package with a single line of pins in line. Silicon - Si An abundant element which is the main constituent of glass and the wafers made to form semiconductors. Silicon Valley A term applied to the area around Palo Alto and Sunnyvale south of San Francisco where there is extensive semiconductor development and manufacturing, as well as the home of some of the leading computer companies and research institutions. SIMM Single In-line Memory Module. A compact memory expansion board containing eight or nine DRAM chips which plugs into an appropriate carrier on a computer's motherboard via a single row of connection pads on its lower surface. They are used extensively in PCs, providing a cheap and easy user- installable means of upgrading memory. Some STEs have SIMM sockets depending on their price at manufacture of the motherboard. Simplex The transmission of data in only one preassigned direction. Simulation The use of a computer and programs to form an analogue model of some system so that it can be tested with different inputs and under different conditions. Research on simulation models is cheaper than on the 'real' thing, which may have to be built many times before it is correct. Some models may be of systems that can't directly be perceived by the human senses, such as inside a molecule, on another planet or the world's weather system. Simultaneous Also, parallel or synchronous. Occurring at the same time or during the same time interval. Single precision The use of a single word to hold a numeric value. Single-stepping An operation in which instructions are translated one at a time, executed and the result displayed, such as in an interpreter or debugging monitor program. SIP Single In-line Package. A compact memory expansion board containing eight or nine DRAM chips which plugs into an appropriate carrier on a computer's motherboard via a single row of connection pins on its lower surface. They are used in PCs although less frequently than SIMMs, providing a cheap and easy user-installable means of upgrading memory. Some STEs have SIP sockets depending on their price at manufacture of the motherboard. Size box The bottom right-hand corner GEM window icon that changes the size of the window by dragging the icon and the window outline on the screen. Sizing The process of changing the size or shape of an active window. Skewing See Interleave. Slave A device that cannot initiate its own actions thus being under the control of another. Slider A mouse controlled GUI graphic device representing sliding controls to alter particular values, as in the Control Panel accessory. They work in the same way as the scroll bar of a window. SLIP Serial Line Internet Protocol. An ad hoc protocol that allows a computer to connect to the Internet and use the Internet Protocols (IP) using a modem and standard telephone line. Such connections are usually for stand-alone (unnetworked) PCs and made through a Service Provider. Although SLIP connections are better for bulk transfers via ftp it is rapidly being superseded with PPP ones. See TCP/IP, PPP. SLSI Super Large Scale Integration. An integrated circuit with more than 100,000 logic gates per chip. SLM605 Atari dumb laser printer superseding the SLM804. It has a smaller footprint than the SLM804 and a more modern and sleeker appearance. It is rated at six pages per minute and supports letter, legal, A4 and B5 paper formats. It has a resolution of 300 x 300 dpi. SLM804 The first Atari dumb laser printer. SSI Small Scale Integration. An integrated circuit with less than ten gates per chip. SSI Synchronous Serial Interface. Another name for the Falcon030 external DSP port. SM124 The first Atari 12 inch non-glare, white phosphor monochrome monitor for the ST range characterized by its sharp and stable image with a high scan rate of 71.4 Hz, a horizontal frequency of 35.7 kHz and low electromagnetic radiation. It is capable of a resolution of 640 x 400 pixels but with an overscan modification a newer version can display up to 704 x 480 pixels. An internal mono speaker was supplied. SM125 The Atari 12 inch 640 x 400 pixel monochrome monitor with swivel base, external picture controls and a mono speaker. It replaced the SM124 for a time, but some production difficulties caused Atari to revert to the older design. SM144 Atari 14 inch 640 x 400 pixel monochrome monitor, initially of poor manufacture causing many to be returned and for it to be replaced by the SM146 and SM147. It has a flatter screen than the SM124/5 and a mono speaker. SM146 Atari 14 inch monochrome monitor replacing the SM144. SM147 Atari 14 inch monochrome monitor replacing the SM144. SM194 Atari 19 inch monochrome monitor for the TT with up to 1,280 x 960 resolution. Now known as the TTM194. SM195 Atari 19 inch monochrome monitor for the TT with up to 1,280 x 960 resolution. Now known as the TTM195. Small scale integration - SSI An integrated circuit with less than ten logic gates. Smart Intelligent, with programmable memory. SMD Surface Mount Device. SMM804 An early Atari 9-pin dot matrix printer. Smiley A group of ASCII characters in e-mail and other messages that represent a simple image which, in turn, denotes a particular emotion which the writer wishes to convey in his message. They are viewed by turning the head to the left and work best with monospaced characters. The basic smileys are: :-) Happy ;-) Winking, mischievous :-( Sad :-| Frown The main reason for their use is to overcome the lack of body language and expression in e-mail which are normally present in face-to-face conversations and hence reduce misunderstanding. There are many hundreds of these, most very obscure. SMT Surface Mount Technology. SMTP Simple Mail Transfer Protocol. Part of the TCP/IP protocols which describes the format of an e-mail message and how mail programs should handle them. See TCP/IP, E-mail. Snapshot A program performing a dump of designated locations during the execution of a program, such as of processor registers and other memory locations for debugging. The term is, however, commonly associated with any program that saves the screen image to a file (rather than sending it to the printer). The normal file format is either GEM IMG or one of the Degas formats depending on resolution. Such screen dumps can be inserted into documents within a DTP program, for instance. SNDSHIFTER An Atari custom chip for the STE and TT controlling the 8-bit stereo digital sound replay timing. Socket A female connector. Soft copy Data that is displayed on a screen rather than paper (hard copy). Soft keys Keyboard keys that are user programmable. Software Any bit-patterns stored and manipulated by a computer. The term contrasts with 'hardware' and although it encompasses data, the term is often used to imply programs only. Software development The development of programs for a particular application. Software engineering Software development. Solid state A device or circuit that uses semiconductors rather than relays and valves. Son A term applied to the current version of a file. See Generation. Sort To arrange entities according to some predefined criteria into groups or sequences. Sort key A value that, if present in an item, results in it being sorted into a particular group. Sound The sound capabilities of the ST was rather crude when released, using the same family of sound chip (PSG) as the 8-bit micros, the AY-3-8910 or YM-2149. The sound system on the STE was enhanced using a full PCM stereo output with DMA support and a National LMC1992 Volume/Tone Control chip. Output is stereo to two phono sockets and can be mixed with the PSG sound at these sockets or sent to the mono monitor loudspeaker. This sound system is carried over into the Mega STE and TT. The Falcon030 introduced another sound system whilst still retaining the other two for compatibility. Here, eight channel 16-bit digital DMA sound is supported with stereo 16-bit digital input and output with up to a 50 kHz sampling rate. A SoundDMA, CODEC (DAC and ADC) and a Digital Signal Processor are used to make processing of this sound data very quick and versatile. See YM-2149, DMA sound, DSP, LMC1992, PCM. Sound chip An integrated circuit capable of generating synthesized or sampled sounds. On the ST range it is the Yamaha YM-2149 chip. SoundDMA See SDMA. Source An original or input form document. Also, a place from which data is read or a data transmission originates. In source code or consisting of source code. Source code A form of a program as produced by a programmer in a programming language before it is compiled or interpreted. The file is normally a straight ASCII text file and produced in an editor and does not constitute a program until it is translated. Source disk The disk that data is written from during a copy or diskcopy operation. Source file A file containing a program or routines in source or programming language form. Source language A programming language. Space A storage location of the correct size for a particular unit. Also, ASCII character 32, the character acting as a word delimiter in text appearing as a blank or gap between characters. Also, synonymous with a 0-bit in data transfer. Spacing The typographical control of space between letters and words. Span The difference between the highest and lowest values of a quantity. Sparrow An Atari TOS compatible computer which had similar specifications to the Falcon030. The original Falcon was a high-end machine probably a successor to the TT with a 32 MHz 68040 processor and 24-bit true-colour. Its development was slow and finally dropped by June 1992 when Atari started calling the Sparrow the Falcon030. Sparse With gaps or omissions, without all places being filled. Sparse array An array with a size greater than initially required. Special character Any character other than letters, numbers, and a space, i.e. !"œ$%^&*() etc. Specification A description of the design features and functions of an item, such as hardware or a program. SPECmark Systems Performance Evaluation Cooperative's benchMARK. A SPECmark is an average performance of a computer carrying out a set of ten benchmarks as set by the participants of SPEC. A MC68040 has a SPECmark of eleven compared to an Intel 80486 of 19. Speech chip An integrated circuit that holds speech in a digitized form and can be used to reproduce it, usually and unfortunately with a Californian accent! SpeedoGDOS A new version of GDOS using the Bitstream Speedo Font Scaler technology which replaced FSMGDOS as the Atari font scaling module. Readily available Bitstream fonts can be used which are fully compatible with the new GDOS. Bitstream is one of the largest font publishers with a huge library of fonts at reasonable prices. SpeedoGDOS is reputedly faster than Adobe Type Manager on the Mac. Development was passed to COMPO in 1994 and with the release of version 5 SpeedoGDOS now supports TrueType and PostScript Type 1 scalable fonts in addition to Bitstream Speedo fonts. See FSMGDOS. Spool Simultaneous Peripheral Operation On-Line. To use an intermediate storage when making a data transfer between high-speed storage and a slow device. Also, to redirect the normal output of data to another destination, i.e. from the screen to the printer or a disk file often with the intention of letting the processor get on with another task whilst that data is printed in the background. Spreadsheet A program using a large grid or worksheet of 'boxes' or cells arranged in columns and lines into which data can be placed in the form of numbers, formulae, text, commands etc. Columns, rows or blocks of data can be processed by formulae entered by the user, which in turn may be processed in graphical form, such as bar charts or line graphs. Most spreadsheets provide very powerful functions to aid financial and scientific analysis of numerical data to the extent that they effectively replace such things as ledger and accounts books. The orderly array of data is also useful for simple databases and time management projects. Spreadsheets are one of the three most used programs in the world together with word processors and databases. Sprite A graphic block which can be moved around the screen without affecting what is underneath it. They are usually found in video games and controlled by specifically written hardware. The GEM mouse pointer is a sprite. Sprocket feed A printer mechanism that moves continuous paper by means of a sprocket or tractor with pins that engage holes at the edges of the paper. Spurious interrupt A processor exception that results when a bus error occurs during a system interrupt and causing 24 bombs. See Exceptions vectors, Bombs. SQL Structured Query Language. A language used with databases and defined by ANSI to make queries of data and to format the results into a report or file which is portable to other systems or programs. SRAM Static Random Access Memory. See Static RAM. SS Single-Sided. A disk which has only one usable surface for data storage. SSI Small Scale Integration. SSI Synchronous Serial Interface. Another name for the Falcon's external DSP port. ST Sixteen-Thirtytwo. The ST's name is derived from the architecture of the MC68000 chip which has 16-bit external and 32-bit internal addressing. The ST came in various forms as it evolved but essentially featured an 8 MHz 68000 with 512 K of RAM although some very early models only had 256 K RAM. The TOS was loaded from disk originally, which was probably the initial impetus for the increase in memory, and a mouse and GEM interface was standard. TOS was incorporated into a 192 K ROM soon after. The single-sided 360 K floppy disk drive was a separate unit (SF354) which was incorporated into the body of the machine with the introduction of the STF. Although the 68000 CPU has the capability to address memory up to 16 Mb, the MMU has always reduced that to a maximum of 4 Mb. Screen resolutions of 320 x 200 x sixteen colours, 640 x 200 x four colours and 640 x 400 in monochrome were excellent when launched but the lower resolutions have become quickly dated. The wide range of ports, parallel, serial, MIDI, DMA (hard disks) floppy drive, joystick, mouse and video helped to make the initial machine attractive and versatile. The inspired inclusion of MIDI ports guaranteed its use in the MIDI and electronic music revolution that developed in the late 1980s making a strong niche for the ST which remains today. Table S2: ST Specification Processor 8 MHz MC68000 DMA Bus 16-bit external data, 32-bit internal data, 24-bit address RAM 512 K or 1 Mb ROM 6 sockets providing 192 K of ROM space Floppy Disk Drive 3.5" single-sided double density 360 K replaced by double-sided 720 K. Internal on 'F' designated STs or external SF354 or SF314 Input/Output MIDI in and out (5-pin DINs) Monitor port (13-pin DIN) for ST monochrome or colour monitors RF modulator output on 'M' designated STs (colour resolutions only) Parallel printer port Serial port from MFP 68901 (25-pin DB) External floppy disk (14-pin DIN) Atari ACSI connector with DMA (19-pin DB) ST compatible cartridge port (128 K) ST joystick port (9-pin DB) ST mouse port (9-pin DB) Video Colour palette of 512 colours: 320 x 200 x 16 colours ST low resolution 640 x 200 x 4 colours ST medium resolution 640 x 400 monochrome ST high resolution Text display 80 columns (high resolution) or 40 columns (low resolution) x 25 lines Sound 3 channel PSG sound Total MIDI compatibility Keyboard Integral QWERTY keyboard, 95 keys, numeric keypad, 10 function keys, cursor keys Mouse 128 dpi 2 button Power Originally external PSU. Internal on 'F' designated STs Operating System TOS 1.0 with GEM Desktop in ROM (upgradeable to TOS 1.4) Stable Capable of maintaining an operating condition without change, fluctuations or errors. Stacy Atari ST laptop, initially battery powered but later mains only and about the size of a briefcase. It has an internal hard disk drive, floppy and backlit LCD screen which is ST high resolution compatible. An external monitor can be attached. A small integral trackball is used instead of a mouse to move and control the cursor (a mouse can be plugged in) and the function keys, cursor keys and numeric keypad are all half-sized keys to fit within the smaller footprint. At 6.9 kg (15.2 lb) it was heavy and generally considered expensive at around œ1,500 but it was very popular with musicians who apparently cried out for the machine despite its faults. A major problem was that a hard disk equipped Stacy failed to run for more than an hour with its twelve C-size batteries and around half an hour with rechargeable batteries. In the summer of 1991, the battery pack was removed and the compartment sealed up with Atari ceasing to claim that the Stacy was truly portable. A major redesign of the motherboard to cater for CMOS technology and low-power drives to attain three to four hours was in hand in 1991 but the ST Book reached a stage in 1992 where it replaced the Stacy's technology. A mains only version was still available for some time if requested directly from Atari. Table S3: Stacy Specification Processor 8 MHz MC68000 (CMOS) DMA Bus 16-bit external data, 32-bit internal data, 24-bit address RAM 1, 2 or 4 Mb and 32 K static screen RAM ROM 2 sockets providing 256 K of ROM space Floppy Disk Drive 3.5" double density double-sided 720 K Hard Disk Drive 20 Mb or 40 Mb built-in Screen Supertwist backlit LCD high resolution monochrome 640 x 400 built-in compatible with ST high resolution mode Input/Output MIDI in and out (5-pin DINs) Monitor port (13-pin DIN) for ST monochrome or colour monitors Parallel printer port Serial port from MFP 68901 (25-pin DB) External floppy disk (14-pin DIN) Atari ACSI connector with DMA (19-pin DB) ST compatible cartridge port (128 K) ST joystick port (9-pin DB) ST mouse port (9-pin DB) Internal bus expansion port (64-pin) Video 640 x 400 monochrome ST high resolution With external monitors - Colour palette of 512 colours 320 x 200 x 16 colours ST low resolution 640 x 200 x 4 colours ST medium resolution Text display 80 columns (high resolution) or 40 columns (low resolution) x 25 lines Sound 3 channel PSG sound (ST compatible) Total MIDI compatibility Keyboard Integral QWERTY keyboard, 95 keys, half-size numeric keypad, 10 half-size function keys, half-size cursor keys, trackball Mouse 128 dpi 2 button Real-Time Clock Battery backed Power External PSU (originally battery powered) Operating System TOS 1.4 with GEM Desktop in ROM Stack A data structure in which data items can be added or removed at one end only. Stacks are closely associated with processors to provide a storage space for holding the operands of an operation or the return addresses from routines. See Push, Pop, LIFO. Stack pointer - SP The address of the location of a stack. The MC68000 in the ST and STE has two 32-bit wide Stack Pointers, one the System Stack Pointer (SSP) for its Supervisor mode and the other the User Stack Pointer (USP) for User mode. Stand-alone Capable of functioning independently not requiring the support of other systems or devices. Standard form Normalized form. See Normalization. Standby Where a functional unit is ready to operate and awaiting inputs. Also, a system that is available to perform some function in the event of a failure of another system or device. Also, a low-voltage condition used with static RAM to reduce power consumption when not being read or written to. Star network A data network in which the remote stations are connected radially to the master station or server. Each has an individual circuit thus enabling the whole network to perform if one station goes down. However, communication from one station to another is slow and places extra demands on the central, master station. Start bit A 0-bit (usually) indicating the start of a character byte in an asynchronous data transmission. Start-stop transmission Data transmission where a character is preceded by a start element (commonly a 0-bit) and followed by a stop element (commonly one or two 1-bits). Continuous 1-bits are sent when no character is being sent and the appearance of a 0-bit indicates to a receiving station that a character follows. This station's equipment is programmed as to the length of each character (seven or eight bits usually) and uses this to separate these characters bits from the 'framing' bits. Start-stop transmission are normally asynchronous. Start up To place a device into an operational state. A cold or a warm boot of a computer. Statement In a high-level language, a complete instruction. Static Not occurring or performed during the time a program is being executed. Also, interference on a communications channel. Static allocation The allocation of processing resources, such as memory and devices, to a program when initially run rather than during execution. See Dynamic allocation. Static memory See Static RAM. Static RAM Static Random Access Memory. Very fast, volatile RAM in which each bit is held in four or more transistor flip-flops needing no refreshing. However, the resulting circuit is more complex than that of DRAM which only needs one capacitor per memory bit and so less data can be stored in the same amount of space. SRAM chips are more expensive than dynamic RAM but very much faster. See DRAM, Wait states. Static variable A variable that is allocated storage space at run time and remains active throughout execution, thus retaining its value. Station A user terminal or computer attached to a network. Status The condition that a device or operation is in at a particular time. ST Book Atari A4-size notebook computer weighing about 1.9 kg (4.2 lb). Based on an 8 MHz MC68HC000 ST running TOS 2.06 in a 512 K ROM, with a BLiTTER and a built- in 640 x 400 mono LCD screen. It can be run for five to ten hours on seven AA batteries with an optional rechargeable NiCad battery pack. Storage is 1 or 4 Mb of RAM and an internal 20 Mb hard disk drive. A separate small 3.5 inch 1.44 Mb floppy disk drive was to be an optional extra as well as larger hard disks, FAX modems, external keyboard and a mouse. An expansion bus to the MC68HC000 is fitted in place of the cartridge port. Built-in software included a diary, calendar, alarm, calculator and a scheduler. File transfer software utilizing the parallel port is also included which is vital without a built-in floppy disk. Either the external disk drive is necessary or the ST Book can be connected to another ST back at home or work. With PC compatible disks, it is even possible to transfer ST software into a PC and port it across using a serial connection and comms terminal software. One innovation is the VectorPad. This consists of a pressure sensitive circular pad which is pressed in the direction that the mouse cursor is to move, the greater the pressure the faster the movement. Two extra pads act as mouse buttons. Apparently, in practice some found it difficult to use. There were several other problems in the design which caused its withdrawal from release in 1992 for a redesign. The LCD screen (unlike the Stacy) did not have backlighting making it useless in poor lighting situations and the cartridge port was absent making it difficult for musicians (many of the perceived buyers) to use because of the cartridge port dongles that most MIDI software use. A 120-pin expansion bus to 40-pin ROM cartridge connector was available but apparently presented problems. The ST Book has a 'Suspend and Resume' feature whereby it can be turned off in the middle of an application without loss of data. Features such as this, its long battery life, its lightness and portability and excellent screen and operating system place it well on a par with comparable PC note books. With backlighting, a cartridge port, a faster processor and 4 Mb RAM (and the right price!) this would have been an excellent computer and a great advance on the Stacy. Table S4: ST Book Specification Processor 8 MHz MC68000 8 MHz BLiTTER DMA Bus 16-bit external data, 32-bit internal data, 24-bit address RAM 1 Mb low power pseudo-static. Upgradeable to 4 Mb ROM 4 socketed 1 Mbit ROMs providing 512 K of ROM space Floppy Disk Drive Optional external battery powered 3.5" double density double-sided 720 K Hard Disk Drive 20 Mb built-in Screen Supertwist Nematic LCD high resolution monochrome 640 x 400 built-in compatible with ST high resolution mode Input/Output MIDI in and out (5-pin DINs) Parallel printer port Serial port from MFP 68901 (25-pin DB) External floppy disk (14-pin DIN) Atari ACSI connector with DMA (19-pin DB) Expansion bus port (120-pin) ST mouse port (9-pin DB) External keyboard connector Video 640 x 400 monochrome ST high resolution Text display 80 columns (high resolution) or 40 columns (low resolution) x 25 lines Sound 3 channel PSG sound (ST compatible) Total MIDI compatibility Keyboard Integral QWERTY keyboard, 84 keys, VectorPad mouse cursor control Mouse Optional Real-Time Clock Battery backed Power 7 alkaline AA battery pack with optional AC adaptor with rechargeable NiCad battery pack Operating System TOS 2.06 with GEM Desktop in ROM Options 3.5" battery powered floppy disk drive Internal FAXmodem, 2400 bps data, 9600 bps FAX, MIDI/SMPTE adaptor STE Sixteen-Thirtytwo Enhanced. A development of the ST with 8-bit PCM stereo DMA sound capabilities with variable playback frequencies and an enhanced colour palette of 4,096 colours compared to the ST's 512 (only sixteen colours can be shown on screen at once). PCM stereo sound is in addition to the normal programmable sound generator. Hardware support for horizontal and vertical scrolling, external Genlock support and analogue joystick, light-gun and paddle controller ports are included. A major improvement over previous designs was the inclusion of SIMM or SIP sockets for memory expansion, using cheap SIMMs or SIPs used on PCs. However, Atari would not standardize on the use of these sockets, using whatever was cheapest at the time of manufacture. The TOS supplied is TOS 1.6 and 1.62. The Cookie Jar was introduced with this version of the ST and the MICROWIRE bus interface. See DMA sound, PCM, Hardware scrolling, Genlock, MICROWIRE. Table S5: STE Specification Processor 8 MHz MC68000 DMA 8 MHz BLiTTER Bus 16-bit external data, 32-bit internal data, 24-bit address RAM 512 K or 1 Mb expandable to 4 Mb with SIMMs ROM 2 sockets providing 256 K of ROM space Floppy Disk Drive 3.5" double-sided double density 720 K Input/Output MIDI in and out (5-pin DINs) Monitor port (13-pin DIN) for ST monochrome or colour monitors RF modulator output for TV (colour resolutions only) Parallel printer port Serial port from MFP 68901 (25-pin DB) External floppy disk (14-pin DIN) Atari ACSI connector with DMA (19-pin DB) ST compatible cartridge port (128 K) ST joystick port (9-pin DB) ST mouse port (9-pin DB) 2 enhanced joystick ports for analogue joysticks, light guns and paddles (15-pin DB) 2 stereo sound output RCA-style phono sockets Video Colour palette of 4,096 colours 320 x 200 x 16 colours ST low resolution 640 x 200 x 4 colours ST medium resolution 640 x 400 monochrome ST high resolution Text display 80 columns (high resolution) or 40 columns (low resolution) x 25 lines Hardware assisted scrolling External Genlock support Sound 8-bit stereo PCM DMA sound 3 channel PSG sound Total MIDI compatibility Keyboard Integral QWERTY keyboard, 95 keys, numeric keypad, 10 function keys, cursor keys Real-Time Clock Battery backed Mouse 128 dpi 2 button Power Internal PSU Operating System TOS 1.6 and 1.62 with GEM Desktop in ROM STE_FIX.PRG TOS 1.6 contains a bug in the Desktop code that prevents the user from booting into medium resolution. Examination of the DESKTOP.INF file will show a line that starts with #E. The last number on this line is the resolution number and always shows 3 instead of 2 for medium resolution. This simple patch which is placed in the AUTO folder cures this problem. This bug is fixed in TOS 1.62. The _INF Cookie shows that the TOS 1.06 Desktop medium resolution bug patch is installed. STF Early model Atari ST with built-in single-sided (later double-sided) floppy disk drive and power supply unit. STFM Early model Atari ST with built-in floppy disk drive (initially single-sided) and RF modulator for connection to TV sets for colour resolutions only. STM Early model Atari ST with built-in RF modulator for connection to TV sets but separate floppy disk drive and power supply unit. Stop bit A 1-bit used as a character delimiter in asynchronous start-stop transmission. Storage A device or medium that can receive, retain and output bit-patterns representing data. Data is either read from or written to storage usually by means of making a physical change in the medium, such as by using an electrical pulse in RAM or magnetic field in disks. Data is stored in either of two physical conditions representing a 0-bit or a 1-bit. Storage allocation The allocation of storage locations, usually memory, to executing programs which is normally an operating system task. Storage capacity The amount of data that a unit of storage can hold, normally measured in bytes. Storage cell The amount of storage medium that can hold one bit. The term normally applies to a transistor flip-flop in semiconductor storage, such as RAM, but can apply to the smallest unit of magnetizable disk track. Storage code The code in which data in a character form is stored, usually ASCII or EBCDIC. Storage device A functional unit that is capable of receiving, retaining and outputting data. The term applies to any semiconductor memory as well as peripheral devices, such as hard disks and tape drives. Storage location An addressable position where data can be held. Storage medium Computer storage as identified by its physical form - semiconductor, disk, tape - rather than the device that operates the medium. Storage protection The procedures used to prevent corruption, loss and unauthorized access to data. As an operating system function, it is concerned with preventing executing programs from accessing locations other than those that they are intended to access. See Memory protection. Store To place data into storage. ST Pad The early name for the Atari Stylus computer. See Stylus. ST RAM This is dual purpose RAM used for both video and system memory on a ST and TT but only referred to as such on the latter. It consists of 120 ns or less DRAM chips yielding a 64-bit wide internal bus for fast video access. The video chip on a TT can only display screen data from ST RAM. The memory access cycles are interleaved between the processor and the video controller in 250 ns RAM time slices allowing the video display memory to reside as part of the main memory. During active display cycles the processor cannot access the memory but is allocated the next 250 ns time slice. It interfaces to this RAM through a 32-bit bus, but the video subsystem access memory on a 64-bit wide bus, the TT SHIFTER having on-chip buffering to provide high bandwidths for data. The DMA sound chip can only play data stored in ST RAM. See FUNNEL, Fast RAM. Stream A continuous flow of bit-patterns between two points in a computer or data transmission circuit. Streamer A high-speed magnetic tape unit normally used to backup a hard disk unit. String A sequence or series of items (usually characters) in contiguous positions. String handling The operations involved with forming and manipulating strings of characters, such as counting, sorting, concatenating and appending. Strobe Pulses applied in a high-speed sequence to a group of contiguous locations. Structure The way elements are organized or arranged. A data structure is a group of data items (which may be similar or of different types) arranged in a way to aid access to them. Structured program A program produced by structured programming techniques. Usually, it has a hierarchy of modules each with a single entry and exit point and through which control passes in a downward sequence without unconditional branches to higher levels of the structure. Structured programming A programming method intended to provide efficient, logical and non- individualistic programs with economy of effort and ease of maintenance. It is particular suited to large complex applications where these techniques force attention on to the logical analysis and breakdown of the problem rather than on trial and error and individualistic techniques. Each program consists of modules of code representing the individual elements of the problem. STTL Schottky Transistor Transistor Logic. A development of TTL chips with faster operation and using less power, which themselves form the basis of a whole family of chips. Stylus A pen-like element of a graphics device, moveable by hand and used to identify and manipulate coordinate data, such as used in a graphics pad or light pen. In a matrix printer, the element of the print head that produces the dot, a pin or needle. Stylus Atari A4-sized hand-held computer using a stylus as the main input device rather than a keyboard and mouse and containing handwriting recognition software. It is STE compatible, running TOS with a 640 x 400 monochrome LCD touch-sensitive screen accommodating 1 Mb or 4 Mb of main RAM but with no hard or floppy disk. It is to use Flash RAM or silicon drives - low power plug in cards - to store data. It is powered by an 8 MHz MC68000 which is underpowered for the type of software it is to run and the ports are the same as those on the ST Book. The handwriting character recognition (HCR) code is contained in the ROMs and tied into the operating system and Desktop such that a gesture in the Menu Bar area will bring up a window (as invisibly to existing applications as possible) into which handwritten characters are drawn. As they are written, the characters are converted to ASCII. When the user is satisfied, the characters are sent, via the keyboard input stream to the application. This way, existing applications will have HCR capabilities. The 'hooks' to call the HCR system were intended to be available to software developers, so that they may call it directly, to recognize ASCII characters, special character sets or even gestures. The HCR software is a neural-net simulation. Ahead of its time in 1991-92 it has been officially dropped by Atari because the cost of making the necessary market penetration was too high. However, it is also rumoured that the HCR software only recognized the handwriting of one person - the programmer! Subdirectory A directory contained within another parent directory and often called a folder under GEM. Subprogram A labelled module of a program intended to be executed more than once during the execution of a program being specific to that program and compiled with it. Subroutine A short sequence of instructions written to perform a certain operation, often available from a library of such routines to be included in or to be called by different programs. There is really no difference between a routine and a subroutine except that routines may be constructed from subroutines. Subscript That which is printed in a lower position on a line of text and usually of a smaller size, as in H2O. Also, a value identifying a location in a table or array, such as list[10]. Subset A group of items from a set. The ASCII character set is a subset of the ISO-7 character set, for instance. Substrate A base or supporting medium. The substrate of a floppy disk is a Mylar disk, the substrate of a hard disk is an aluminium disk and the silicon chip is that of an integrated circuit. Substring A section of a string. Suite A group of items that are used together to accomplish some operation, such as a programming language program suite. Superscript That which is printed in a higher position on a line of text and usually of a smaller size, as in xý. Supervisor A group of interrelated programs or routines performing some recurring operations required in the execution of user programs. They generally form the backbone of an operating system. Supervisor mode The processing state in which the instructions of system software (the operating system) are executed. The MC68000 runs in one of two operating modes. The operating system is driven at the first level or supervisor mode. The user mode is intended for user programs. If a user program tries to access protected areas of memory, containing systems data (for instance, the first 2,048 bytes containing the exception vectors and system variables) then a bus error is generated. The processor stops execution of the instruction, saves the program counter and status register on the stack and branches to a routine, the address of which is normally contained at address $008. To access these areas of memory intentionally, the programmer has to make a conscious effort by placing the processor into supervisor mode. In this way, accidental and potentially damaging accesses are prevented. Supervisory channel A backward channel. A channel of narrower bandwidth than the main channel in a data communications system that is used to carry acknowledgements and other supervisory messages, such as ACK or NAK and error detection characters. See Asymmetric duplex. Support That which a manufacturer or supplier gives to users in assisting them with their products. Suppress To prevent from happening, to reduce or limit. Surface mount device - SMD Electronic components are normally connected to a circuit board by placing pins or legs through holes drilled in it. The size and spacing of these holes limits the size and amount of components that can be placed on the board. More and more devices are now being soldered directly to the surface of the circuit board which means that they and the finished product can be made smaller. The production costs are also cheaper. The biggest disadvantage is that these components are very difficult to remove and replace for upgrading or repair purposes. Surface mount technology - SMT The technology of soldering electronic components directly to the surface of a circuit board. See Surface mount device. Suspend To temporarily discontinue a program whilst retaining storage and register values to permit its continuation when conditions permit. SVGA Super Video Graphics Adaptor. A screen display standard usually found on IBM PC compatibles which is a development of the VGA system, giving 800 x 600 pixels with sixteen or 256 colours. Also known as EVGA. Switch To change the contents of a storage cell from a 1-bit to a 0-bit or vice versa. A basic logic circuit, such as an AND, OR or NOT operation. A conditional branch instruction, such as the C language switch...case or if...else statements. A manually operated device used to open and close circuits. Symbol A single or group of characters that represent an entity, an operation or concept in accordance with some convention. For instance, a 'œ' represents 'Pounds', '+' indicates 'addition' and 'Kb' means 'Kilobytes'. Symbolic address A name in source code assigned to a storage location by the programmer. It is converted to a relative or virtual address by a compiler and to an absolute address by the operating system when the program is running. Symbolic logic A system for solving non-numerical problems by using a set of unambiguous symbols to represent logical conditions and relationships. See Logic and Boolean algebra. Symmetric channel A duplex circuit where both channels have the same speed and characteristics. See Asymmetric duplex. Symmetric circuit A full-duplex data transmission circuit. SYNC SYNChronization. Synchronization The condition in which two or more operations are performed with common timing. Also, the process of adjusting event timing of a system or functional unit so that events occur in time frames established by another system or functional unit. Also, the process of aligning numeric data to the correct word or half-word boundary in memory for performing arithmetic operations. Synchronization pulses Pulses sent from one system or functional unit to another for purposes of establishing, checking and adjusting event timing. Synchronous A system or operation in which events occur in a sequence of fixed time frames. Syntax The rules or practice governing the placement of words of different types in relation to each other in a sentence. In a programming language, the rules for forming valid instructions or statements. Synthesizer A device holding bit-pattern representations of analogue waves (speech, musical instrument) and performing the digital to analogue conversion to produce sound. Sysop SYStems OPerator. The person in charge of a local area network or a node on a wide area network. The term commonly refers to a person who owns and/or runs a bulletin board system. System A group of complementary elements organized to work together to perform some operation, such as a computer, its display, storage (disks) and peripherals (printer, modem). Also, pertaining to the control and management of processing functions. System crash A complete failure of the operating system caused by an attempt to execute an illegal instruction or access illegal and protected memory. System data Data held in a file and used by the operating system to control processing operations, such as the DESKTOP.INF file. System disk A disk containing the operating system, in a system where it is loaded from disk and not stored in ROM, such as in MS-DOS-based PCs. System font The operating system font used for screen display. On the ST-Falcon range there are three, a 16 x 8 pixel character font, an 8 x 8 font and a 6 x 6 font used on the Desktop for icon labels, for instance. All three are monospaced and can be replaced by others using appropriate software. System program A program other than an application, a program concerned with the operating functions of the computer but not necessarily part of the operating system. Systems analysis The job of determining how best to implement particular user applications on particular systems, typically transferring the techniques of 'manual' methods into a computer system. System variables The addresses in a protected area of memory storing important system data needed by the operating system. System variables - TOS The addresses and meanings of the system variables will not change in future revisions of TOS except to be added to. Any other variables in RAM, routines in the ROM or vectors below $400 that are not documented here will, and have been known to change, so if you are a programmer do not use them. It is important not to depend on undocumented variables or ROM locations. The system variables start in low RAM directly above the exception vectors at address $400 (1,024) and space for them continues to address $7FF (2,047) although the highest to date is at $600. Please note that these can only be accessed in MC680x0 supervisor mode as these address ranges are protected. All the system variable names are official Atari names (they do, however, change from time to time), with one or two adjustments by the author (themd and _bufl have personalized suffixes). Each starts with its address followed by its name, the length of its value and an example value in hex taken from TOS 1.4. A long = 32 bits, a word = sixteen bits and a byte = eight bits. Table S7: TOS System Variables Address Name Length Typical TOS 1.4 value in hex $400 etv_timer long $FCB36C GEM event timer interrupt chain vector. $404 etv_critic long $FDD20C Critical error chain handler. $408 etv_term long $FC0652 GEM vector for ending a program. $40C etv_xtra 5 longs $0 $0 $0 $0 $0 Additional GEM vectors. $420 memvalid long $752019F3 If it contains the magic number shown it validates, together with memval2, the configuration of the memory controller memcntrl and indicates a successful cold start. As of TOS 1.2, memval3 must also be correct. $424 memcntrl word $A00 The value is a copy of the configuration value of the memory controller. Only the low nybble of the high byte (bits 8-11) applies, ST only. Value Meaning 0 256 K 4 512 K 5 1,024 K 8 2,048 K 9 2,560 K 10 ($A) 4,160 K $426 resvalid long $31415926 If the value is as shown on a system reset, the system will jump to the address shown in resvector. $42A resvector long $66BE2 A system reset will jump to the vector contained here if resvalid contains the magic number as above. The return address is placed in CPU register A6. $42E phystop long $400000 Physical top of ST RAM (not Alternative TT RAM). It contains a pointer to the first unusable byte. RAM disks, for instance will set phystop to below their memory space giving what appears to be a strange value at first. $432 _membot long $A84E Bottom of available ST RAM, the start of the TPA. The GEMDOS free memory is initialized from this value. $436 _memtop long $3F8000 Top of available ST RAM, the end of the TPA and usually the start of the video RAM. The GEMDOS free memory is initialized up to this value. $43A memval2 long $237698AA If it contains the magic number shown, it validates the memory configuration together with memvalid and indicates a successful cold start. $43E flock word $0 A non-zero value indicates that a disk (DMA registers) access is in progress and prevents TOS or another process from accessing the DMA registers at the same time. $440 seekrate word $3 Floppy disk seek rate. The value is contained in bits 0 and 1 only: Value Seek rate 0 6 ms 1 12 ms 2 2 ms 3 3 ms (default) $442 _timer_ms word $14 The interval between two system timer calls and should be the value shown ($14 = decimal 20 ms) which corresponds to 50 Hz. $444 _fverify word $FF00 Floppy verify flag. If the value is non-zero a verify is performed after each disk write operation. The default is to do a verify. $446 _bootdev word $2 This contains the device number the system was booted from, where 0 = drive A: and 2 = drive C: etc. $448 palmode word $0 When non-zero, the colour system is in PAL video mode (50 Hz), if zero the colour system is in NTSC video (60 Hz) mode. $44A defshiftmd word $0 Default colour video resolution. If the ST resets from monochrome mode to colour mode, the resolution is taken from here where 0 = low and 1 = medium resolution. First byte only. $44C sshiftmd word $200 A copy or shadow of the shiftmd hardware register at $00FF8260 which indicates the current ST SHIFTER mode for screen resolution. The value is contained in the high byte: Value Resolution 0 320 x 200 x 4 planes (ST low resolution) 1 640 x 200 x 2 planes (ST medium resolution) 2 640 x 400 x 1 plane (ST high resolution) 3 Any Falcon resolution 4 640 x 480 x 4 planes (TT medium resolution) 6 1,280 x 960 x 1 plane (TT high resolution) 7 320 x 480 x 8 planes (TT low resolution) $44E _v_bas_ad long $3F8000 Pointer to the physical video RAM, the logical screen base. For TOS versions before TOS 1.6 screen RAM has to be 256 byte aligned, otherwise it can be word (sixteen bits) aligned. $452 vblsem word $1 VBL semaphore. If this value is zero then a vertical blank routine is not executed. If the value is one then VBLs are enabled. $454 nvbls word $8 Number of vertical blank routines which defaults to a value of eight. It is the number of long words that _vblqueue points to. $456 _vblqueue long $4CE Pointer to a list (nvbls long) of routines that will be executed during a vertical blank. $45A colorptr long $0 If this value is non-zero it is a pointer to a colour palette of sixteen values which are loaded on the next vertical blank into the hardware registers. $45E screenpt long $0 Pointer to the start of the screen memory which will be loaded into the hardware register pointing to the base of the physical screen on the next vertical blank. If the value is zero then no new address is to be set. $462 _vbclock long $7F128 Count of the number of vertical blank interrupts since the last reset. $466 _frclock long $7F12F Count of the number of vertical blank interrupt routines that have been executed and not blocked by vblsem. $46A hdv_init long $FC16BA The address of the hard disk initialization routine. If zero then no hard disk is installed. $46E swv_vec long $FC0030 Vector for monitor change. The system continues at the address contained here if the monochrome monitor detect signal is changed (i.e. switching to a colour monitor from a monochrome one or vice versa). The vector is normally the start of the operating system (after the operating system header block) thus performing a reset. $472 hdv_bpb long $A91E Address of a routine to get a hard disk's BIOS Parameter Block (BPB). If zero then no hard disk is installed. $476 hdv_rw long $A92E Vector to a routine to read and write to a hard disk. If zero then no hard disk is installed. $47A hdv_boot long $FC1CC6 Vector to a routine to boot from a hard disk. If zero then no hard disk is installed. $47E hdv_mediach long $A93E Vector to a routine to get a hard disk's media change mode. If zero then no hard disk is installed. $482 _cmdload word $0 If the boot program sets this to a non-zero value an attempt is made to load and execute a program called COMMAND.PRG from the boot device. This can be a shell or an application which will replace the Desktop. $484 conterm byte $6 Contains some attribute bits for the console output: Bit Meaning 0 Key click on/off 1 Key repeat on/off 2 Bell on/off (The tone when [Cntl-G] or ASCII 7 is sent to console) 3 kbshift on/off. If set it enables BIOS function Bconin() (and GEMDOS Cconin() and others) to return the key shift status. Defaults to off. $485 reserved $486 trp14ret long $0 Return address for a TRAP #14. $48A criticret long $0 Return address for critical error handler (etv_critic) routine. $48E themd_m_link long $0 Memory descriptor filled in by the BIOS function Getmpb(). It indicates to GEMDOS the size of the TPA. This and the next three system variables form part of the structure which cannot be changed once it has been initialized: typedef struct md { struct md *m_link; /* next MD */ void *m_start; /* start of block */ long m_length; /* length of block in bytes */ BASEPAGE *m_own; /* owner's basepage */ } MD; $492 themd_m_start long $A84E See themd_m_link. $496 themd_m_length long $4909C See themd_m_link. $49A themd_m_own long $5FB2 See themd_m_link. $49E ___md 2 words $0 $0 Space for additional memory descriptors. $4A2 savptr long $90C Pointer to a save area for the processor registers after a BIOS call. $4A6 _nflops word $1 Number of floppy disk drives attached to the system. $4A8 con_state long $FCA320 Console state. Vector for screen output which can be set by various VT52 Esc functions. $4AC save_row word $B Temporary store for the cursor position with the VT52 Esc Y command. $4AE sav_context long $0 Saved processor context. Pointer to a temporary area for exception handling. $4B2 _bufl_sect long $4E1F8 Pointer to first GEMDOS Buffer Control Block used to store data sectors. $4B6 _bufl_FAT long $50FB0 Pointer to second GEMDOS Buffer Control Block used to store FAT and directory sectors. The Buffer Control Block has the structure: typedef struct _bcb { struct _bcb *_link; /* point to next BCB */ int b_neg1; /* = -1 */ int b_private[5]; /* private parts */ char *b_buf; /* point to data buffer */ } BCB; $4BA _hz_200 long $177D Counter for the 200 Hz system timer and used to seed the Random() function. $4BE the_env 4 bytes $0 $0 $0 $0 Default environment string, containing four zero bytes. It is currently not used by TOS and is reserved by Atari. $4C2 _drvbits long $1FF 32-bitmap of connected drives. Bit 0 is drive A:, bit 1 drive B:, bit 2 drive C: and so on. The shown value equals binary %111111111 which is drives A: to I: inclusive. If only one floppy drive is connected, both floppy bits will be set, drive B: being a virtual drive. $4C6 _dskbufp long $181C Pointer to a 1024 byte disk buffer also used for GSX graphic operations and should not be used by interrupt routines. $4CA _autopath long $0 Pointer to AUTO folder path. Usually zero to indicate default. $4CE _vbl_list 8 longs $FD0A8C $0 $0 $0 $0 $0 $0 $B19E Eight vectors pointing to the installed VBL routines. $4EE _prt_cnt word $FFFF Pressing [Alt-Help] to dump the screen to the printer increments this value by one from the default value of -1 ($FFFF) to zero. The screen dump code will only dump the screen when this contains a value of zero. Pressing [Alt-Help] again will abort the dump. $4F0 _prtabt word $0 Printer abort flag due to a time out. $4F2 _sysbase long $FC0000 Pointer to the start of the operating system header block in ROM or RAM. See System header block. $4F6 _shell_p long $0 Points to global shell specific information. $4FA end_os long $A84E Pointer to the byte after the last byte of the low RAM used by the operating system. This is the equivalent to the start of the TPA. $4FE exec_os long $FD3B34 Pointer to the start of the shell that is executed by the BIOS after the system initialization. This is normally the AES start-up code. $502 scr_dump long $FC0D0C Pointer to the screen dump routine. $506 prv_lsto long $FC3392 Vector for getting the printer (PRN: or LST:) output status for the screen dump routine. $50A prv_lst long $FC32F6 Vector for the printer (PRN: or LST:) output for the screen dump routine. $50E prv_auxo long $FC3408 Vector for getting the serial (SER: or AUX:) output status for the screen dump routine. $512 prv_aux long $FC3422 Vector for the serial (SER: or AUX:) output for the screen dump routine. The following were introduced with TOS 1.2 $516 pun_ptr long $C70A Pointer to the hard disk driver data pun_info structure. See PUN_INFO. $51A memval3 long $5555AAAA Contains the shown magic number if a cold start was successful. See memvalid and memval2. $51E xconstat 8 longs $FC0652 $FC33A6 $FC3494 $FC32A6 $FC0652 $FC0652 $FC0652 $FC0652 Eight pointers to routines for getting input status of a character device jumped to by BIOS function 1, Bconstat(). Each applies to a different device starting from 0 to 7. Where there isn't a specific physical device the routine points to a RTS command, as at $FC0652 in TOS 1.4. The devices are: Device Meaning 0 Parallel printer port 1 Auxiliary device, currently-mapped serial port 2 Console device 3 MIDI port $53E xconin 8 longs $FC3372 $FC33BE $FC34AA $FC32C0 $FC0652 $FC0652 $FC0652 $FC0652 Eight pointers to routines for getting a character from a device jumped to by BIOS function 2, Bconin(). The devices are the same as for Bconstat(). $55E xcostat 8 longs $FC3392 $FC3408 $FC34E0 $FC344A $FC326A $FC0652 $FC0652 $FC0652 Eight pointers to routines for getting the output status for devices 0 to 7 jumped to from BIOS function 8, Bcostat(). There are two additional devices: Device Meaning 4 Keyboard port (IKBD) 5 Raw screen device Due to a bug, the 4th address is for IKBD and the 5th for MIDI. $57E xconout 8 longs $FC32F6 $FC3422 $FCA30A $FC327A $FC345C $FCA2FE $FC0652 $FC0652 Eight pointers to routines for writing a character to a device jumped to by BIOS function 3, Bconout(). The devices are the same as for Bcostat(). The following were introduced with TOS 1.6 $59E _longframe word $0 If this value is non-zero the CPU has long exception stack frames (an extra word after the SR and PC) and is therefore not a MC68000. A value of zero signifies a short stack frame and therefore a MC68000 processor. Although introduced with TOS 1.6 it can be used with earlier TOS versions. $5A0 _p_cookies long $66EB6 Pointer to Cookie Jar list. $5A4 fmemtop long $0 Top of available Alternative Fast RAM (TT RAM) if fmemvalid is correct. If the value is zero there is no Fast RAM. A value of $1400000 means 4 Mb of Fast RAM which starts at $1000000. $5A8 fmemvalid long $0 Contains the magic number $1357BD13 if Alternative Fast RAM is installed and validates the configuration of the memory controller. However, this value is also present in TOS 1.6 to TOS 2.06 where Alternative RAM is impossible but the value of fmemtop is zero anyway. $5AC bell_hook long $0 Pointer to a TSR bell routine. $5B0 kcl_hook long $0 Pointer to a TSR key-click routine. $600 patchzone long $BADC0DE Area for patching, set to shown value if empty (usually TOS 1.4) or zero. Introduced with TOS 1.4. S 253 entries EOF