# A2osX Glossary

### Updated February 10, 2020

This document contains a glossary of terms used throughout the A2osX documentation.

**128K Apple II**: Any standard Apple II with both main and auxiliary 64K banks of RAM. That includes all models of the Apple IIc and some models of the Apple IIe, including those with the Extended 80-Column Text Card installed.

**640 mode**: An Apple IIGS video display mode, 640 pixels horizontally by 200 pixels vertically.

**65O2**: The microprocessor used in the Apple II, in the Apple II Plus, and in early models of the Apple IIe. The 65O2 is an MOS device with 8-bit data registers and 16-bit address registers.

**65C02**: A CMOS version of the 6502; the microprocessor used in the enhanced Apple IIe, the extended keyboard IIe, and the Apple IIc.

**65816**: A general term for the type of microprocessor used in the Apple IIGS. The 65816 is related to, but more advanced than, the 6502 microprocessor. It has a 16-bit data bus and a 24-bit address bus.

**65816 assembly language**: A low level programming language written for the 65816 family of microprocessors.

**65C816**: The microprocessor used in the Apple IIGS. The 65C816 is a CMOS device with 16-bit data registers and 24-bit address registers.

**8O-column text card**: A peripheral card that allows the Apple II, Apple II Plus, and Apple IIe computers to display text in 80 columns (in addition to the standard 40 columns).

**access (or access byte)**: An attribute of a ProDOS file that controls whether the file may be read from, written to, renamed, or backed up.

**access byte**: An attribute of a ProDOS file that determines what types of operations, such as reading or writing, may be performed on the file.

**ADTPro**: Apple Disk Transfer ProDOS (ADTPro) transfers physical disks and disk images between Apple II-era computers and the modern world. It can even get your Apple running if you don't have any disks at all. The host (server) component runs on today's computers with Java, and the 8-bit Apple (client) component runs on any Apple II computer with 64k of memory or more.

**algorithm**: A step-by-step procedure for solving a problem or accomplishing a task.

**American Standard Code for Information Interchange**: See ASCII.

**AND**: A logical operator that produces a true result if both its operands are true, and a false result if either or both its operands are false. Compare OR, NOT.

**ANSI**: Acronym for American National Standards Institute, which sets standards for many technical fields and is the most common standard for computer terminals.

**Apple II**: A family of computers, including the original Apple II, the Apple II Plus, the Apple IIe, the Apple IIc, and the Apple IIGS.

**Apple II Pascal**: A software system for the Apple II family that lets you create and execute programs written in the Pascal programming language. Apple II Pascal was adapted by Apple Computer from the University of California, San Diego, Pascal Operating System (UCSD Pascal).

**Applesoft BASIC**: The Apple II dialect of the BASIC programming language. An interpreter for creating and executing Applesoft BASIC programs is built into the firmware of computers in the Apple II family. See also BASIC, Integer BASIC.

**Apple II Plus**: A personal computer in the Apple II family with expansion slots that allow the user to enhance the computer's capabilities with peripheral and auxiliary cards.

**Apple IIc**: A transportable personal computer in the Apple II family, with a disk drive, serial ports, and 80-column display capability built in.

**Apple IIe**: A personal computer in the Apple II family with seven expansion slots and an auxiliary memory slot that allow the user to enhance the computer's capabilities with peripheral memory and video enhancement cards.

**Apple IIe 80-Column Text Card**: A peripheral card that plugs into the Apple IIe's auxiliary memory slot and enables the computer to display text as either 40 or 80 characters per line.

**Apple IIe Extended 80-Column Text Card**: A peripheral card that plugs into the Apple IIe's auxiliary memory slot and allows the computer to display either 40 or 80 characters per line while extending the computer's memory capacity by 64K.

**Apple IIGS**: The most advanced computer in the Apple II family. It features expanded memory, advanced sound and graphics, and the Apple IIGS Toolbox of programming routines. The Apple IIGS uses a 1,6-bit microprocessor and has 256K of RAM. It has slots like the Apple IIe and ports like the Apple IIc, and contains a 15-voice custom sound chip.

**Apple key**: A modifier key on the Apple IIGS keyboard, marked with both an Apple icon and a spinner, the icon used on the equivalent key on some Macintosh keyboards. It performs the same functions as the Open Apple key on standard Apple II machines.

**AppleTalk**: Apple's local-area network for Apple II and Macintosh personal computers and the LaserWriter and ImageWriter II printers. Like the Macintosh, the Apple IIGS has the AppleTalk interface built in.  The Apple WorkStation Card adds AppleTalk to an Enhanced Apple IIe.

**AppleTalk connector**: A piece of equipment consisting of a connection box, a short cable, and an 8-pin miniature DIN connector that enables an Apple IIGS to be part of an AppleTalk network.

**application**: A stand-alone program that performs a specific function, such as word processing, drawing, or telecommunications. Compare, for example, library or device driver.

**archive file**: An archive file is a file that is composed of one or more computer files along with metadata. Archive files are used to collect multiple data files together into a single file for easier portability and storage, or simply to compress files to use less storage space. Archive files often store directory structures, error detection and correction information, arbitrary comments, and sometimes use built-in encryption.

**argument**: A value on which a function or statement operates; it can be a number or a variable. For example, in the BASIC statement VTAB 10, the number 10 is the argument.

**arithmetic expression**: A combination of numbers and arithmetic operators (such as 3 + 5) that indicates some operation to be carried out.

**arithmetic operator**: An operator, such as +, that combines numeric values to produce a numeric result. Compare logical operator, relational operator.

**ASCII**: Acronym for American Standard Code for Information Interchange, pronounced "ASK-ee." A code in which the numbers from 0 to 127 stand for text characters. ASCII code is used to represent text inside a computer and to transmit text between computers or between a computer and a peripheral device. Compare EBCDIC.

**assembler**: A language translator that converts a program written in assembly language into an equivalent program in machine language. The opposite of a disassembler. Compare compiler.

**assembly language**: A low-level programming language in which individual machine language instructions are written in a symbolic form that's easier to understand than machine language itself. Each assembly-language instruction produces one machine-language instruction. See also machine language.

**auxiliary slot**: The special expansion slot inside the Apple IIe used for the Apple IIe 80-Column Text Card or Extended 80-Column Text Card, and also for the RGB monitor card. The slot is labeled 'AUX. CONNECTOR" on the circuit board.

**auxiliary type**: A secondary classification of ProDOS files. A file's auxiliary type field may contain information of use to the applications that read it. Compare file type.

**background color**: The color of background pixels in text; by default it is black.

**background process**: A procedure run concurrently in the background, not associated with a user, for example a daemon like TELNETD.

**backup bit**: A bit in a file's access byte that tells backup programs whether the file has been altered since the last time it was backed up.

**BASIC**: Acronym for Beginners All-purpose Symbolic Instruction Code. BASIC is a high-level programming language designed to be easy to learn. Two versions of BASIC are available from Apple Computer for use with all Apple ll-family systems: Applesoft BASIC (built into the firmware) and Integer BASIC.

**batch**: A mode of executing a computer program which all code and data required by the program are loaded into the computer at the beginning, the program is run, and all results are output at the end. Batch mode is non-interactive.

**baud**: A unit of data transmission speed: the number of discrete signal state changes per second. Often, but not always, equivalent to bits per second. Compare bit rate.

**baud rate**: The rate which serial data is transferred, measured in signal transitions per second. It takes approximately 10 signal transitions to transmit a single character.

**binary**: A method of numeric representation using abase-2 system. Valid digits are 0 and 1. Compare hexadecimal, decimal. Characterized by having two different components, or by having only two alternatives or values available; sometimes used synonymously with binary system.

**binary digit**: The smallest unit of information in the binary number system; a 0 or a 1. Also called a bit.

**binary file**: (1) A file whose data is to be interpreted in binary form. Machine-language programs and pictures are stored in binary files. Compare text file. (2) A file in binary file format.

**binary operator**: An operator that combines two operands to produce a result. For example, + is a binary arithmetic operator; < is a binary relational operator; OR is a binary logical operator. Compare unary operator.

**binary system**: The representation of numbers in the base-2 system, using only the two digits 0 and 1. For example, the numbers 0, 1, 2,3, and 4 become 0, 1, 10, 11, and 100 in binary notation. The binary system is commonly used in computers because the values 0 and 1 can easily be represented in a variety of ways, such as the presence or absence of current, positive or negative voltage, or a white or black dot on the display screen. A single binary digit-a 0 or a 1-is called a bit. Compare decimal, hexadecimal.

**bit**: A contraction of binary digit. The smallest unit of information that a computer can hold. The value of a bit (1 or 0) represents a simple two-way choice, such as yes or no, on or off, positive or negative, something or nothing.

**bit rate**: The speed at which bits are transmitted, usually expressed as bits per second, or bps. Compare baud.

**bits per second**: See bit rate.

**block**: (1) A unit of data storage or transfer, typically 512 bytes. (2) A contiguous region of computer memory of arbitrary size, allocated by the Memory Manager. Also called a memory block.

**block device**: A device that transfers data to or from a computer in multiples of 1 block (512 bytes) of characters at a time. Disk drives are block devices. Also called block l/O device.

**block IO device**: See block device.

**board**: See printed-circuit board. 

**body**: The statements or instructions that make up a part of a program or function, such as a loop or a subroutine.

**Boolean logic**: A mathematical system in which every expression evaluates to one of two values, usually referred to as TRUE or FALSE.

**Boolean variable**: A variable that can have one of two values, usually referred to as TRUE or FALSE.

**boot**: Another way to say start up. A computer boots by loading a program into memory from an external storage medium such as a disk. Starting up is often accomplished by first loading a small program, which then reads a larger program into memory. The program is said to "pull itself up by its own bootstraps"hence the term bootstrapping or booting.

**boot disk**: See startup disk.

**bootstrap**: See boot.

**BREAK**: A SPACE (0) signal, sent over a communication line, of long enough duration to interrupt the sender. This signal is often used to end a session with a time-sharing service. BREAK is also used to stop execution of a program. It's generated by pressing control-c.

**buffer**: A holding area in the computer's memory (for example, a print buffer) where information can be stored by one program or device and then read at a different rate by another.

**bug**: An error in a program that causes it not to work as intended. The expression reportedly comes from the early days of computing when an itinerant moth shorted a connection and caused a breakdown in a room-size computer.

**byte**: A unit of information consisting of 8 bits. A byte can have any value between 0 and 255, which may represent an instruction, a letter, a number, a punctuation mark, or another character. See also bit, kilobyte, megabyte. 

**C**: A high-level programming language. One of the languages available for the Apple IIGS Programmer's Workshop.

**c flag**: See carry flag.

**C string**: An ASCII character string terminated by a null character (ASCII value : 0). Compare Pascal string.

**C-type string**: Same as C string.

**cable**: An insulated bundle of wires with connectors on the ends; the number of wires varies with the type of connection. Examples are serial cables, disk drive cables, and AppleTalk cables. 

**call**: (v) To request the execution of a subroutine, function, or procedure. (n) A request from the keyboard or from a procedure to execute a named procedure. See procedure.

**card**: See peripheral card.

**carriage return**: An ASCII character (decimal 13) that ordinarily causes a printer or display device to place the next character on the left margin.

**carrier**: The background signal on a communication channel that is modified to carry information. Under RS-232-C rules, the carrier signal is equivalent to a continuous MARK (1) signal; a transition to 0 then represents a start bit.

**carry flag**: A status bit in the 6502 or 65C02 microprocessor, used as a ninth bit with the eight accumulator bits in addition, subtraction, rotation, and shift operations.  A status bit in the microprocessor indicating whether an accumulator calculation has resulted in a carry out of the register. Also called c flag.

**central processing unit (CPU)**: The "brain" of the computer; the microprocessor that performs the actual computations in machine language. See microprocessor.

**character**: (1) Any symbol that has a widely understood meaning and thus can convey information. Some characters-such as letters, numbers, and punctuation-can be displayed on the monitor screen and printed on a printer. Most characters are represented in the computer as l-byte values.

**character code**: A number used to represent a character for processing by a computer system.

**character device**: A device that transfers data to or from a computer as a stream of individual characters. Keyboards and printers are character devices.

**character position**: An index into text, with position 1 corresponding to the first character.

**chip**: See integrated circuit.

**circuit board**: A board containing embedded circuits and an attached collection of integrated circuits (chips).

**Clear To Send**: An RS-232-C signal from a DCE to a DTE that is normally kept false until the DCE makes it true, indicating that all circuits are ready to transfer data out. See Data Communication Equipment, Data Terminal Equipment.

**clock**: (1) The timing circuit that controls execution of a microprocessor. Also called system clock. (2) An integrated circuit, often with battery-backup memory, that gives the current date and time. Also called clock-calendar.

**clock chip**: A special chip in which parameter RAM and the current setting for the date and time are stored. This chip is powered by a battery when the system is off, thus preserving the information.

**clock speed**: The frequency of the system clock signal in megahertz.

**close**: To terminate access to an open file. When a file is closed, its updated version is written to disk and all resources it needed when open (such as its I/O buffer) are released. The file must be opened before it can be accessed again.

**CMOS**: Acronym for complementary metal oxide semiconductor, one of several methods of making integrated circuits out of silicon. CMOS devices are characterized by their low power consumption. CMOS techniques are derived from MOS techniques.

**code**: (1) A number or symbol used to represent some piece of information. (2) The statements or instructions that make up a program.

**cold start**: The process of starting up the Apple II when the power is first turned on (or as if the power had just been turned on) by loading the operating system into main memory, and then loading and running a program. Compare boot, warm start.

**column**: A vertical arrangement of graphics points or character positions on the display.

**command**: An instruction that causes the computer to perform some action. A command can be typed from a keyboard, selected from a menu with a hand-operated device (such as a mouse), or embedded in a program.

**command-line interface**: The type of interface between user and program in which information is passed in a command line.

**compiler**: A language translator that converts a program written in a high-level programming language (source code) into an equivalent program in some lower-level language such as machine  language (object code) for later execution.  A program that produces object files (containing machine language code) from source files written in a high-level language such as C. Compare assembler.

**component**: A part; in particular, a part of a computer system.

**composite video**: A standard video signal that includes all color and timing information that is needed by a composite video monitor. Several video standards aie in use around the world: NTSC video is used in northern America and Japan; PAL video is used in much of Europe; SECAM is used in the USSR and many other countries. The Apple IIGS is capable of generating both NTSC and PAL video. Compare RGB.

**compression**: Compression is the process of encoding information using fewer bits than the original representation. Compression is useful because it reduces resources required to store and transmit data.

**computer**: An electronic device that performs predefined (programmed) computations at high speed and with great accuracy. A machine that is used to store, transfer, and transform information. 

**computer language**: See programming language.

**computer system**: A computer and its associated hardware, firmware, and software.

**conditional assembly**: A feature of an assembler that allows the programmer to define macros or other pieces of code such that the assembler assembles them differently under different conditions.

**conditional branch**: A branch whose execution depends on the truth of a condition or the value of an expression. Compare unconditional branch.

**configuration**: (1) The total combination and arrangement of hardware components-CPU, video display device, keyboard, and peripheral devices-that make up a computer system. (2) The software settings that allow various hardware components of a computer system to communicate with each other.

**connector**: A plug, socket, jack, or port.

**constant**: In a program, a symbol that represents a fixed, unchanging value. Compare variable.

**control character**: A non-printing character that controls or modifies the way information is printed or displayed. In the Apple II family, control characters have ASCII values between 0 and l, and are typed from a keyboard by holding down the Control key while pressing some other key. 

**control code**: One or more non-printing characters-included in a text file-whose function is to change the way a printer prints the text. For example, a program may use certain control codes-to turn boldface printing on and off. See control character.

**control key**: (1) A general term for a key that controls the operation of other keys; for example, Apple, Caps Lock, Control, Option, and Shift. When you hold down or engage a control key while pressing another key, the combination makes that other key behave differently. Also called a modifier key. (2) A specific key on Apple II family keyboards that produces control characters when used in combination with other keys.

**Control Panel**:  A program on the IIGS that lets the user change certain system parameters, such as speaker volume, display colors, and configuration of slots and ports.

**Control-Reset**: A combination keystroke on Apple ll-family computers that usually causes an Applesoft BASIC program or command to stop immediately. If a program disables the Control-Reset feature, you need to turn the computer off to get the program to stop.

**controller card**: A peripheral card that connects a device such as a printer or disk drive to a computer's main logic board and controls the operation of the device.

**controlling program**: A program that loads and runs other programs, without itself leaving memory. A controlling program is responsible for shutting down its subprograms and freeing their memory space when they are finished. A shell, for example, is a controlling program.

**copy protect**: To make a disk uncopyable. Software publishers frequently try to copy protect their disks to prevent them from being illegally duplicated by software pirates. Compare write protect.

**COUT**: The firmware entry point for the Apple II character-output subroutine. COUT is actually an I/O link located in RAM rather than in ROM, and so can be modified to contain the address of the presently active character-output subroutine.

**COUTI**: An entry point within the Apple II character-output subroutine.

**CPU**: See central processing unit and microprocessor.

**crash**: To cease to operate unexpectedly, possibly destroying information in the process.

**creation date**: An attribute of a ProDOS file; it specifies the date on which the file was first created.

**creation time**: An attribute of a ProDOS file; it specifies the time at which the file was first created.

**CTS**: See Clear To Send.

**current input device**: The source, such as the keyboard or a modem, from which a program is currently receiving its input.

**current output device**: The destination, such as the display screen or a printer, currently receiving a program's output.

**cursor**: An icon displayed by the operating system or application program that indicates where the next input from the user is expected.

**D register**: See direct register.

**data**: Information transferred to or from or stored in a computer or other mechanical communications or storage device.

**data bits**: The bits in a communication transfer that contain information. Compare start bit, stop bit.

**data block**: A 512-bye portion of a ProDOS standard file that consists of whatever kind of information the file may contain.

**Data Carrier Detect (DCD)**: A signal from a DCE (such as a modem) to a DTE (such as an Apple IIGS) indicating that a communication connection has been established. See Data Communication Equipment, Data Terminal Equipment.
 
**Data Communication Equipment (DCE)**: As defined by the RS-232-C standard, any device that transmits or receives information. Usually this device is a modem. 

**data format**: The form in which data is stored, manipulated, or transferred. For example, when dzta is transmitted and received serially, it typically has a data format of one start bit, five to eight data bits, an optional parity bit, and one or two stop bits.

**Data Set Ready (DSR)**: A signal from a DCE to a DTE indicating that the DCE has established a connection. See Data Communication Equipment, Data, Terminal Equipment.

**data structure**: A specifically formatted item of data or a form into which data may be placed.

**Data Terminal Equipment (DTE)**: As defined by the RS-232-C standard, any device that generates or absorbs information, thus acting as an endpoint of a communication connection. A computer might serve as a DTE.

**Data Terminal Ready (DTR)**: A signal from a DTE to a DCE indicating a readiness to transmit or receive data. See Data Communication Equipment, Data Terminal Equipment.

**DCD**: Abbreviation for Data Carrier Detect, a modem signal indicating that a communication connection has been established. See Data Carrier Detect.

**DCE**: See Data Communication Equipment.

**debug**: A colloquial term that means to locate and correct an error or the cause of a problem or malfunction in a computer program. Compare troubleshoot. See also bug.

**debugger**: A utility used for software development that allows you to analyze a program for errors that cause it to malfunction. For example, it may allow you to step through execution of the program one instruction at a time.

**decimal**: A method of numeric representation using a base-10 system. Valid digits are 0 through 9. Compare hexadecimal, binary.

**default**: A preset response to a question or prompt. The default is automatically used by the computer if the user doesn't supply a different response. Default values prevent a program from stalling or crashing if no value is supplied by the user.

**delete**: To remove something, such as a character or word from a file, or a file from a disk. 

**Delete key**: A key on the upper-right corner of the Apple IIe, Apple IIc, and Apple IIGS keyboards that erases the character immediately preceding (to the left of the cursor).

**delimiter**: A character that is used for punctuation to mark the beginning or end of a sequence of characters, and which therefore is not considered part of the sequence itself. For example, Applesoft BASIC uses the double quotation mark (") as a delimiter for string constants: the string "DOG" consists of the three characters D, O, and G, and does not include the quotation marks.

**delta**: The differences between two files, possibly as shown by a file comparison utility. The name comes from the way mathematicians use the Greek letter delta (Å) to represent a difference.

**development environment**: A program or set of programs that allows you to write applications. It typically consists of a text editor, an assembler or compile¡ a linker, and support programs such as a debugger.

**device**: A piece of equipment (hardware) used in conjunction with a computer and under the computer's control. Also called a peripheral device because such equipment is often physically separate from, but attached to, the computer.

**device driver**: A program that handles the transfer of data to and from a peripheral device, such as a printer or disk drive.

**device handler**: See device driver

**DHCP**: The Dynamic Host Configuration Protocol (DHCP) is a network management protocol used on Internet Protocol networks whereby a DHCP server dynamically assigns an IP address and other network configuration parameters to each device on a network so they can communicate with other IP networks.

**dialog box**: A box on the screen that contains a message requesting more information from the user. See also alert.

**DIP switches**: A bank of tiny switches, each of which can be moved manually one way or the other to represent one of two values (usually on and off. See dual inline package.

**direct memory access (DMA)**: A means of fast data transfer into or out of computer memory to or from a computer peripheral. A peripheral device, usually a card in a peripheral I/O expansion slot, puts the 65C816 microprocessor in an idle state, and takes control of the computer for a short period of time.  Data in memory may be directly accessed without the time-consuming usual handshaking and protocol.

**directory**: A file that contains a list of the names and locations of other files stored on a disk. Directories are either volume directories or subdirectories. A directory is sometimes called a catalog.

**directory file**: A directory. One of the two principal categories of ProDOS 16 files. Directory files contain specially formatted entries that give the names and disk locations of other files.

**disassembler**: A language translator that converts a machine-language program into an equivalent program in assembly language, which is easier for programmers to understand. The opposite of an assembler.

**disk**: An information-storage medium consisting of a flat, circular, magnetic surface on which information can be recorded in the form of small magnetized spots, in a manner similar to the way sounds are recorded on tape. See floppy disk, hard disk.

**disk controller card**: A peripheral card that provides the connection between one or two disk drives and the computer. (This connection, or interface, is built into the Apple IIc, the Apple IIGS, and all Macintosh-family computers.)

**disk device**: See block device. (P16)

**disk drive**: A computer peripheral device that stores digital data on a revolving magnetic surface. Disk drives may be floppy disk drives (which use a removable, flexible Mylar disk as the medium) or hard disk drives (which use a fixed aluminum platter as the medium). Disk drives retain the information after the computer is turned off, but are capable of altering the data as requested by the computer program.

**disk envelope**: A removable, protective paper sleeve used when handling or storing a 5.25-inch disk. It must be removed before you insert the disk in a disk drive. Compare disk jacket.

**Disk II, Disk II drive:** A type of disk drive made and sold by Apple Computer, Inc., for use with the Apple II, II Plus, and IIe computers. It uses 5.25-inch disks.

**disk jacket**: A permanent, protective covering for a disk. 5.25-inch disks have flexible, paper or plastic jackets; 3.5-inch disks have hard plastic jackets. The disk is never removed from the jacket. Compare disk envelope.

**disk operating system**: An operating system whose principal function is to manage files and communication with one or more disk drives. DOS and ProDOS are two families of Apple II disk operating systems.

**Disk Operating System (DOS)**: An optional software system for the Apple II family of computers that enables the computer to control and communicate with one or more disk drives. The acronym DOS rhymes with boss.

**disk port**: The connector on the rear panel of the Apple IIGS for attaching disk drives.

**disk-based**: See disk-resident.

**disk-resident**: A program that does not remain in memory. The computer retrieves all or part of the program from the disk, as needed. Sometimes called disk-based. Compare memory-resident.

**display**: (1) A general term to describe what you see on the screen of your display device when you're using a computer. (2) Short for a display device.

**display device**: A device that displays information, such as a television set or video monitor.

**display screen**: The screen of the monitor; the area where you view text and pictures when using the computer. 

**dispose**: To permanently deallocate (a memory block). The Memory Manager disposes of a memory block by removing its master pointer. Any handle to that pointer will then be invalid. Compare purge.

**DMA**: See direct memory access.

**DNS**: The Domain Name System (DNS) is a hierarchical and decentralized naming system for computers, services, or other resources connected to the Internet or a private network. It associates various information with domain names assigned to each of the participating entities. Most prominently, it translates more readily memorized domain names to the numerical IP addresses needed for locating and identifying computer services and devices with the underlying network protocols.

**document**: A file created by an application.

**DOS**: Acronym for disk operating system. An Apple II disk operating system. See Disk Operating System.

**DOS 3.2**: An early Apple II operating system. DOS stands for Disk Operating System; 3.2 is the version number. Disks formatted using DOS 3.2 have 13 sectors per track.

**DOS 3.3**: An operating system for the Apple II family of computers. DOS stands for Disk Operating System; 3.3 is the version number.

**Double Hi-Res**: A high-resolution graphics display mode on Apple II computers with at least 128K of RAM, consisting of an array of points 560 wide by 792 high with 16 colors.

**drive**: See disk drive.

**driver**: See device driver.

**DSR**: Abbreviation for Data Set Ready, a signal indicating that a modem has established a connection. See Data Set Ready.

**DTE**: See Data Terminal Equipment.

**DTR**: Abbreviation for Data Terminal Ready, a signal indicating that a terminal is ready to transmit or receive data. See Data Terminal Ready.

**dual in-line package (DIP)**: An integrated circuit packaged in a narrow rectangular box with a row of metal pins along each side. DIP switches on the box allow you to change settings. For example, Imagewriter printer DIP switches control functions such as line feed, form  length, and baud setting.

**editor**: A program that helps you create and edit information of a particular form; for example, a text editor or a program editor.

**embedded**: Contained within. For example, the string 'HUMPTY DUMPTY' is said to contain an embedded space.

**Encryption**: Ehe process of converting information or data into a code, especially to prevent unauthorized access.

**environment**: The complete set of machine registers associated with a running program. Saving the environment allows a program to be restored to its original operating mode with all of its registers intact as though nothing had happened. Saving and restoring an environment is most often associated with calling system functions or processing interrupts.  With respect to A2osX, the environment is an area in memory used by the shell to store various information, especially variables.

**EOF (end-of-file)**: The logical size of a ProDOS file; it is the number of bytes that may be read from or written to the file.

**erase**: See delete.

**error**: The state of a computer after it has detected a fault in one or more commands sent to it. Also called error condition.

**error code**: A number or other symbol representing a type of error.

**error condition**: See error.

**error message**: A message displayed or printed to tell you of an error or problem in the execution of a program or in your communication with the system. An error message is often accompanied by a beep. A message issued by the system or application program when it has encountered an abnormal situation or an error in data.

**Esc key**: See Escape key.

**ESCAPE character**: An ASCII character that, with many programs and devices, allows you to perform special functions when used in combination keypresses.

**escape code**: A key sequence formed by pressing the Esc (Escape) key, followed by pressing another key. Escape codes are used to control the video firmware.

**Escape key**: A key on Apple ll-family computers that generates the Escape character. The Escape key is labeled Esc. In many applications, pressing Escape allows you to return to a previous menu or to stop a procedure.

**escape mode**: A state of the Apple IIe and IIc entered by pressing the Esc key and certain other keys. The other keys take on special meanings for positioning the cursor and controlling the display of text on the screen.

**escape sequence**: A sequence of keystrokes, beginning with the Esc key. In escape mode, escape sequences are used for positioning the cursor and controlling the display of text on the screen. Escape sequences are also used as codes to control printers.

**even parity**: In data transmission, the use of an extra bit set to 0 or 1 as necessary to make the total number of 1 bits an even number; used as a means of error checking. Compare MARK parity, odd parity.

**even/odd parity check**: In data transmission, a check that tests whether the number of 1 bits in a group of binary digits is even (even parity check) or odd (odd parity check).

**execute**: To perform the actions specified by a program command or sequence of commands.

**expression**: A formula in a program that defines a calculation to be performed.

**Extended 80-Column Text Card**: See Apple IIe Extended 80-Column Text Card.

**extended SmartPort call**: A SmartPort call that allows data transfer to or from anywhere in the Apple IIGS system memory space. Compare standard SmartPort call.

**fatal error**: An error serious enough that the computer must halt execution.

**field**: A string of ASCII characters or a value that has a specific meaning to some program. Fields may be of fixed length or may be separated from other fields by field delimiters. For example, each parameter in a segment header constitutes a field.

**FIFO**: Acronym for "first in, first out" order, as in a queue.

**file**: A named, ordered collection of information stored on a disk. A file is an object on a computer that stores data, information, settings, or commands used with a computer program.

**file control block (FCB)**: A data structure set up in memory by ProDOS to keep track of all open files.

**file entry or flle directory entry**: The part of a ProDOS directory or subdirectory that describes and points to another file. The file so described is considered to be "in" or "under" that directory.

**file system ID**: A number describing the general category of operating system to which a file or volume belongs. The file system ID is an input to the ProDOS FORMAT call, and a result from the VOLUME call.

**file type**: An attribute in a ProDOS file's directory entry that characterizes the contents of the file and indicates how the file may be used. On disk, file types are stored as numbers; in a directory listing, they may be displayed as a number or a text mnemonic.

**filename**: The string of characters that identifies a particular file within its directory. ProDOS filenames may be up to 15 characters long. Compare pathname.

**filing calls**: Operating system calls that manipulate files. In ProDOS, filing calls are subdivided into file housekeeping calls and file access calls.

**floating-point**: A method of representing numbers inside the computer in which the decimal point (more correctly, the binary point) is permitted to "float" to different positions within the number. Some of the bits within the number itself are used to keep track of the point's position. Compare fixed-point.

**floppy disk**: A disk made of flexible plastic, as compared to a hard disk, which is made of metal. The term floppy is now usually applied only to disks with thin, flexible disk jackets, such as 5.25-inch disks. With 3.5-inch disks, the disk itself is flexible, but the jacket is made of hard plastic; thus, 3.5-inch disks aren't particularly "floppy."

**flush**: To update an open file (write any updated information to disk) without closing it.

**folder**: The visual representation of a subdirectory. See also subdirectory.

**format**: (n) (1) The form in which information is organized or presented. (2) The general shape and appearance of a printed page, including page size, character width and spacing, line spacing, and so on. (v) To divide a disk into tracks and sectors where information can be stored. Blank disks must be formatted before you can save information on them for the first time; same as initialize.

**Fortran**: Short for Formula Translator. A high-level programming language especially suitable for applications requiring extensive numerical calculations, such as in mathematics, engineering, and the sciences.

**fragmentation**: A condition in which free (unallocated) portions of memory are scattered due to repeated allocation and deallocation of blocks by the Memory Manager.

**frequency**: In alternating current (AC) signals, the number of complete cycles transmitted per second. Frequency is usually expressed in hertz (cycles per second), kilohertz (kilocycles per second), or megahertz (megacycles per second). In acoustics, frequency of vibration determines musical pitch. Compare duration.

**froob**: a French boob, more specifically, the crazy French man who torments the great American document, script and specification writing Ameriboob.

**full duplex**: A four-wire communication circuit or protocol that allows two-way data transmission between two points at the same time. Compare half duplex.

**full pathname**: The complete name by which a file is specified, starting with the volume directory name. A full pathname always begins with a slash (/), because a volume directory name always begins with a slash. See also pathname.

**function**: A preprogrammed calculation that can be carried out on request from any point in a program. A function takes in one or more arguments and returns a single value. It can therefore be embedded in an expression.

**GECOS**: The gecos field, or GECOS field is a field of each record in the /etc/passwd file on Unix, and similar operating systems. On UNIX, it is the 5th of 7 fields in a record. It is typically used to record general information about the account or its user(s) such as their real name and phone number.

**global page**: Under ProDOS, 256 bytes of data at a fixed location in memory, containing useful system information (such as a list of active devices) available to any application.

**global page bit map**: A portion of the ProDOS global page that keeps track of memory use in the computer. Applications under ProDOS are responsible for marking and clearing parts of the bit map that correspond to memory they have allocated or freed.

**graphic interface**: An interface between computer and user in which all screen drawing or other output, including text, is done by graphic routines. Desktop programs use a graphic interface. Compare text-based interface.

**guest file system**: A file system, other than ProDOS's, whose files can be read by ProDOS.

**half duplex**: A two-wire communication circuit or protocol designed for data transmission in either direction but not both directions simultaneously. Compare full duplex.

**handshaking**: The exchange of status information between a DCE (Data Communications Equipment) and a DTE (Data Terminal Equipment), usually a computer and a peripheral device, used to control the transfer of data between them. The status information can be the state of a signal connecting the DCE and the DTE, or it can be in the form of a character transmitted with the rest of the data. See also XOFF, XON.

**hang**: To cease operation because either an expected condition is not satisfied or an infinite loop is occurring. A computer that's hanging is called a hung system. Compare crash.

**hard disk**: A disk made of metal and sealed into a drive or cartridge. A hard disk can store very large amounts of information compared to a floppy disk.

**hard disk drive**: A device that holds a hard disk, retrieves information from it, and saves information to it. Hard disks made for microprocessors ate permanently sealed into the drives.

**hardware**: Collectively, electronic circuit components and associated fittings and attachments. In computers, the computer itself (the processor), disk drives, and other peripheral equipment. The saying goes, "If you can touch it, it's hardware. If you can't, it's software." Compare firmware, software.

**Hash**: The result of an algorithm that generates a numeric, or fixed-size character output from a variable-sized piece of text or other data; used in cryptography and in error-checking

**hertz**: The unit of frequency of vibration or oscillation, defined as the number of cycles per second. Named for the physicist Heinrich Hertz and abbreviated Hz. The 6502 microprocessor used in the 8-bit Apple II systems operates at a clock frequency of about 1 million hertz, or 1 megahertz (MHz).

**hex**: See hexadecimal.

**hexadecimal**: The base-16 system of numbers, using the ten digits 0 through 9 and the six letters A through F. Hexadecimal numbers can be converted easily and directly to binary form, because each hexadecimal digit corresponds to a sequence of 4 bits. In Apple manuals, hexadecimal numbers are usually preceded by a dollar sign ($).

**hexadecimal, hex**: The representation of numbers in the base-16 system, using the ten digits 0 through 9 and the six letters A through F. Each hexadecimal digit corresponds to a sequence of four binary digits, or bits. Hexadecimal numbers are usually preceded by a dollar sign ($). (GSTR)

**hierarchical file system**: A method of organization in which disk files are grouped together within directories and subdirectories. In a hierarchical file system, a file is specified by its pathname, rather than by a single filename.

**high ASCII characters**: ASCII characters with decimal values of 128 to 255. Called high ASCII because their high bit (first binary digit) is set to 1 (for on) rather than 0 (for off ).

**high-level language**: A programming language that is relatively easy for people to understand. A single statement in a high-level language typically corresponds to several instructions of machine language. Compare low-level language.

**HTTPD**: A daemon process designed to serve HTTP requests and data.

**I/O**: Input/Output. A general term that encompasses input/output activity, the devices that accomplish it, and the data involved. See input/output.

**I/O device**: Input/output device. A device that transfers information into or out of a computer. See input, output, peripheral device.

**I/O expansion slots**: The seven rectangular connectors located on an Apple main logic board. These slots will accept standard Apple II peripheral cards and allow the computer to communicate with peripherals such as printers and disk drives. See also peripheral card.

**I/O space**: The portion of the memory map in a standard Apple II (and in banks $00, $01, $80, and $81 of an Apple IIGS) with addresses between $C000 and $Cpnn. Programs perform I/O by writing to or reading from locations in this I/O space.

**IC**: See integrated circuit.

**intermediate execution**: The execution of a program statement as soon as it is typed. In BASIC, immediate execution occurs when the line is typed without a line number; immediate execution allows you to try out nearly every statement immediately to see how it works. Compare deferred execution.

**immovable**: See fixed.

**implement**: To put into practical effect, as to implement a plan. For example, a language translator implements a particular language.

**IN#**: This command designates the source of subsequent input characters. It can be used to designate a device in a slot or a machine-language routine as the source of input.

**index**: (1) A number used to identify a member of a list or table by its sequential position. (2) A list or table whose entries are identified by sequential position. (3) In machine language programming, the variable component of an indexed address, contained in an index register and added to the base address to form the effective address. 

**index block**: A 512-byte part of a ProDOS standard file that consists entirely of pointers to other parts (data blocks) of the file.

**index register**: A register in a computer processor that holds an index for use in indexed addressing. The 6502 and 65C816 microprocessors used in the Apple II family of computers have two index registers, called the X register and the Y register.

**index variable**: A variable whose value changes on each pass through a loop. Often called control variable or loop variable.

**indexed addressing**: A method used in machine language programming to specify memory addresses. See also memory location.

**infinite loop**: A section of a program that will repeat the same sequence of actions indefinitely.

**information bar**: An optional component of the displaym if present, the information bar may contain any information the application wishes.

**initialization file**: A file read at computer, operating system or application startup that contains variables or preferences used to set or control initialization behavior such as specifying which hardware drivers to load or enable.

**initialize**: (1) To set to an initial state or value in preparation for some computation. (2) To prepare a blank disk to receive information by organizing its surface into tracks and sectors; see format.

**initialized disk**: A disk that has been organized into tracks and sectors by the computer and is therefore ready to store information.

**input**: (n) Information transferred into a computer from some external source, such as the keyboard, a disk drive, or a modem.

**input device**: The keyboard is the main input device for the Apple.

**input routine**: A machine-language routine; the standard input routine reads characters from the keyboard. A different input routine might, for example, read them from an external terminal.

**input/output (IO)**: The process by which information is transferred between the computer's memory and its keyboard or peripheral devices.

**instruction**: A unit of a machine-language or assembly-language program corresponding to a single action for the computer's processor to perform.

**integer**: A whole number in fixed-point form. Compare real number.

**Integer BASIC**: A version of the BASIC programming language used by the Apple II family of computers. Integer BASIC is older than Applesoft BASIC and is capable of processing numbers in integer (fixed-point) form only. Many games are written in Integer BASIC because its instructions can be executed very quickly. Compare Applesoft BASIC.

**Integer value**: A 16-bit signed or unsigned value.

**integrated circuit**: An electronic circuit, including components and interconnections, entirely contained in a single piece of semiconducting material, usually silicon. Often referred to as an IC or a chip.  A miniature electronic circuit consisting of many thousands of transistors and other electronic components by processing a chip of semiconductor material. This chip is then cast in a plastic or ceramic package with metal leads or "legs" used to connect it to a circuit board. Categories of ICs are labeled due to their construction process: monolithic, hybrid, and thin-film are some. Almost any electronic circuit may be miniaturized and made into an integrated circuit.

**intelligent device**: A device containing a microprocessor and a program that allows the device to interpret data sent to it as commands that the device is to perform.

**interactive**: Operating by means of a dialog between the computer system and a human user.

**interface**: (1) The point at which independent systems or diverse groups interact. The devices, rules, or conventions by which one component of a system communicates with another. Also, the point of communication between a person and a computer. (2) The part of a program that defines constants, variables, and data structures, rather than procedures themselves.

**interface card**: A peripheral card that implements a particular interface (such as a parallel or serial interface) by which the computer can communicate with a peripheral device such as a printer or modem.

**interpreter**: A language translator that reads a program instruction by instruction and immediately translates each instruction for the computer to carry out. compare compiler.

**interrupt**: A request made of the microprocessor by a device, either built-in or external, to receive urgent data or respond to a recent event. Disk drives make interrupt requests of the microprocessor, as do the real time clock and the mouse firmware in the Apple IIGS.  A temporary suspension in the execution of a program that allows the computer to perform some other task, typically in response to a signal from a peripheral device or other source external to the computer.

**interrupt environment**: The machine state, including register length and contents, that the interrupt handler executes within.

**interrupt handler**: A program, associated with a particular external device, that executes whenever that device sends an interrupt signal to the computer. The interrupt handler performs its tasks during the interrupt, then returns control to the computer so it may resume program execution.

**interrupt mode**: A mode in which interrupts are used to synchronize drawing with vertical blanking.

**interrupt vector table**: A table maintained in memory by ProDOS 16 that contains the addresses of all currently active (allocated) interrupt handlers.

**inverse video**: The display of text on the computer's display screen in the form of dark dots on a light (or other single phosphor color) background, instead of the usual light dots on a dark background.

**IP**: Internet Protocol, part of TCP/IP.  Used to define the transmission of data over network interfaces.

**IP Address**: a unique string of numbers separated by periods that identifies each computer using the Internet Protocol to communicate over a network.

**IRQ**: A 65C816 signal line that, when activated, causes an interrupt request to be generated.

**IWM**: "Integrated Woz Machine"; the custom chip that controls Apple's 3.5-inch disk drives.

**JML**: Unconditional Long Jump; a 65C816 assembly-language op code. It takes a 3-byte address operand. A JML can reach any address in the Apple IIGS memory space.

**JMP**: Unconditional Jump; a 65O2 and 65C816 assembly-language op code. It takes a 2-byte address operand. A JMP can reach addresses only within a single 641<bank of the Apple IIGS memory space.

**joystick**: A peripheral device with a lever, typically used to move creatures and objects in game programs; a joystick can also be used in applications such as computer-aided design and graphics programs.

**JSL**: Jump to Subroutine (Long), a 65816 assembly-language instruction that requires a long (3-byte) address. JSL can be used to transfer execution to code in another memory bank.

**JSR**: Jump to Subroutine, a 6502 and 65816 assembly language instruction that requires a 2-byte address.  A JSR can access addresses only within a single 64K bank of the Apple IIGS memory space.

**K**: Abbreviation for the prefix kilo-, meaning 1024. A kilobyte (expressed as 1K) of memory is 1,024 memory locations. See kilobyte.

**kernel**: The central part of an operating system. ProDOS is the kernel of the Apple operating system.  The A2osX "Kernel" is the core process that manages all other processes and handles task switching between processes and overall memory management.

**key block**: The first block in any ProDOS file.

**keyboard**: The set of keys, similar to a typewriter keyboard, used for entering information into the computer.

**keyboard equivalent**: The combination of the Apple key and another key, used to invoke a menu item from the keyboard.

**keyboard input connector**: The connector inside the Apple II family of computers by which the keyboard is connected to the computer.

**KEYIN**: The firmware entry point that a program calls to obtain a keystroke from the currently active input device (normally the keyboard).

**keyword**: A special word or sequence of characters that identifies a particular type of statement or command, such as RUN, BRUN, or PRINT.

**kilobit**: A unit of measurement, 1024 bits, commonly used in specifying the capacity of memory ICs. Not to be confused with kilobyte.

**kilobyte**: A unit of measurement, 1024 bytes, commonly used in specifying the capacity of memory or disk storage systems. In this usage, kilo (from the Greek, meaning a thousand) stands for 1,024. Thus, 64K memory equals 65,536 bytes. See also megabyte. Compare kilobit.

**kilohertz**: A unit of measurement of frequency, equal to L000 hertz (abbreviated kHz). See also megahertz.

**LanCeGS**: An Ethernet card for the Apple II series of computers. 

**landscape mode**: A printing mode in which text is printed top to bottom (that is, longways) on the paper.

**language**: See programming language.

**language card**: Memory with addresses between $D000 and $FFFF in any Apple ll-family computer. It includes two RAM banks in the $D000 space, called bank-switched memory. The language card was originally a peripheral card for the 48K Apple II or Apple II Plus that expanded the computer's memory capacity to 64K and provided space for an additional dialect of BASIC.

**language translator**: A system program that reads another program written in a particular programming language and either executes it directly or converts it into some other language (such as machine language) for later execution. See interpreter, compiler, assembler.

**language-card memory**: Memory with addresses between $D000 and $FFFF on any Apple ll-family computer. It includes two banks in the $Dxxx space, called bank switched memory. The language card was originally a peripheral card for the 48K Apple II or Apple II Plus computer that expanded the computer's memory capacity to 64K and provided space for an additional dialect of BASIC.

**last-changeable location**: The last location whose value the user inquired about through the Monitor.

**leading zeros**: A zero occurring at the beginning of a decimal number, deleted by most computing programs.

**least significant bit**: The rightmost bit of a binary number. The least significant bit contributes the smallest quantity to the value of the number. Compare most significant bit.

**length byte**: The first byte of a Pascal string. It specifies the length of the string, in bytes. 

**library (or library file)**: An object file containing program segments, each of which can be used in any number of programs.

**LIFO**: Acronym for "first in, last out" order, as in a stack.

**line feed**: An ASCII character (decimal 10) that ordinarily causes a printer or video display to advance to the next line.

**line number**: A number identity String; a program line in an Applesoft BASIC program.

**line width**: The number of characters that fit on a line on the screen or on a page.

**load**: To transfer information from a peripheral storage medium (such as a disk) into main memory for use-for example, to transfer a program into memory for execution. 

**local**: Connected to or close by the host system.

**local area network**: A high-speed data communication channel that provides connections between computers, disk drives, printers, and other peripherals in a limited geographic area, such as within a single building or campus.

**location**: See memory location.

**lock**: (1) For files, a lock prevents a file from being overwritten or changed. (2) For processes, a lock can restrict write access to a portion of memory so only one process can make a change at a time.  (3) In A2osX libraries, a lock counter is incremented for the library as each application registers its use of the library and decrements the count as they exit.  When the count reaches zero, the library is automatically unloaded. 

**logic**: (1) In microcomputers, a mathematical treatment of formal logic using a set of symbols to represent quantities and relationships that can be translated into switching circuits, or gates. AND, OR, and NOT are examples of logical gates. Each gate has two states, open or closed, allowing the application of binary numbers for solving problems. (2) The systematic scheme that defines the interactions of signals in the design of an automatic data processing system.

**logic board**: See main logic board.

**logical operator**: An operator, such as AND, that combines logical values to produce a logical result, such as true or false; sometimes called a Boolean operator. Compare arithmetic operator, relational operator.

**long (or long word)**: A double-length word. For the Apple II, a long word is 32 bits (4 bytes) long.

**Longint value**: A 32-bit signed or unsigned value.

**loop**: A section of a program that is executed repeatedly until a limit or condition is met, such as an index variable's reaching a specified ending value.

**loop variable**: See index variable.

**Lo-Res**: The lowest resolution graphics display mode on the Apple II family of computers, consisting of an array of blocks 48 high by 40 wide with 16 colors.

**low-level language**: A programming language that is relatively close to the form the computer's processor can execute directly. One statement in a low-level language corresponds to a single machine language instruction. Compare high-level language.

**low-order**: Referring to the least significant part of a numerical quantity. In normal representation, the low-order bit of a binary number is in the rightmost position; likewise, the low-order b¡e of a binary word or long word consists of the rightmost 8 bits.

**low-order byte**: The least significant byte of a memory address or other multi-byte quantity. In the 6502 and 65C816 microprocessors used in the Apple II family of computers, the low-order byte of an address is usually stored first, and the high-order byte last.

**low-resolution graphics**: The display of graphics on a display screen as a 1.6-color array of blocks, 40 columns wide and 48 rows high. For example, on a Macintosh when the text window is in use, the visible low-resolution graphics display is 40 by 40 plotting points that is, 40 by 40 pixels. See high-resolution graphics.

**m flag**: One of three flags in the 65816 microprocessor's Processor Status register that controls execution mode. When the m flag is set to 1, the accumulator is 8 bits wide; otherwise, it is 16 bits wide. See also e flag, x flag.

**machine language**: The form in which instructions to a computer are stored in memory for direct execution by the computer's processor. Each model of computer processor (such as the 6502 microprocessor used in 8-bit Apple II computers) has its own form of machine language.

**macros**: A single keystroke or command that a program replaces with several keystrokes or commands. For example, the A2osX Assembler allows you to define macros that execute instructions and directives. Macros are almost like higher level language instructions, making assembly-language programs easier to write and complex keystrokes easier to execute.

**macro assembler**: A type of assembler that allows the programmer to define sequences of several assembly-language instructions as single pseudo-instructions called macros.

**macro library**: A file of related macros.

**main logic board**: A large circuit board that holds RAM, ROM, the microprocessor, custom integrated circuits, and other components that make the computer a computer. 

**main memory**: The part of a computer's memory whose contents are directly accessible to the microprocessor; usually synonymous with random-access memory (RAM). Programs are loaded into main memory, and that's where the computer keeps information while you're working. Sometimes simply called memory. See also read-only memory, read-write memory.

**Mark**: The current position in an open file. It is the point in the file at which the next read or write operation will occur.

**MARK parity**: A bit of value 1 appended to a binary number for transmission. The receiving device checks for errors by looking for this value on each character. Compare even parity, odd parity.

**mask**: (n) A parameter, typically one or more bytes long, whose individual bits are used to permit or block particular features. See, for example, event mask. (v) To apply a mask.

**master index block**: The key block in a ProDOS tree file, the largest organization of a standard file that ProDOS can support. The master index block consists solely of pointers to one or more index blocks.

**Mb**: See megabyte.

**megabit**: A unit of measurement equal to 1,048,576 (216) bits, or 1024 kilobits. Megabits are commonly used in specifying the capacity of memory integrated circuits. Not to be confused with megabyte.

**megabyte**: A unit of measurement equal to 1,048,576 bytes, or 1024 kilobytes. Megabytes are commonly used in specifying the capacity of memory or disk storage systems.

**megahertz (MHz)**: A unit of measurement of frequency, equal to 1,000,000 hertz (cycles per second).

**memory**: A hardware component of a computer system that can store information for later retrieval. See main memory, random-access memory, read-only memory, read-write
memory.

**memory block**: See block (2).

**memory expansion card**: A slot card that contains additional RAM and ROM memory. In the Apple IIGS, this optional expansion card is to be used only in the memory expansion slot. Memory expansion cards for use in the Apple IIe are not to be used in this computer.

**memory expansion slot**: The single slot located on the Apple IIGS main logic board which accepts an Apple IIGS memory expansion card. Memory expansion cards designed for other Apple II computers will not work in this slot.

**memory fragmentation**: A condition in which free (unallocated) portions of memory are scattered because of repeated allocation and deallocation of blocks by the Memory Manager. See fragmentation.

**memory handle**: A number that identifies a

**memory block**: A handle is a pointer to a pointer; it is the address of a master pointer, which in turn contains the address of the block. Also called simply handle. The identifying number of a particular block of memory. It is a pointer to the master pointer to the memory block. A handle rather than a simple pointer is needed to reference a movable memory block; that way the handle will always be the same though the value of the pointer may change as the block is moved around.

**memory location**: A unit of main memory that is identified by an address and can hold a single item of information of a fixed size. In the Apple II family of computers, a memory location holds one byte, or eight bits, of information.

**Memory Manager**: A program that manages memory use. The Memory Manager keeps track of how much memory is available and allocates memory blocks to hold program segments or data.

**memory-mapped IO**: The method used for I/O operations in Apple II computers, where certain memory locations are attached to I/O devices, and l/O operations are just memory load and store instructions.

**memory-resident**: Held continually in RAM even while not in use. ProDOS is a memory-resident program. Compare disk resident.

**menu**: A list of choices presented by a program, from which the user can select an action.

**menu bar**: The horizontal strip at the top of the screen that contains menu titles for the pull-down menus.

**menu item**: On a menu, the text of a command or a line dividing groups of choices.

**MHz**: Abbreviation for megahertz, one million hertz. See hertz.

**microcomputer**: Any small computer whose central processing element is contained on a single small circuit board or within a single integrated circuit.

**microprocessors**: The heart of a microcomputer. Usually, a single-chip computer element that contains the control unit, central processing circuitry, and arithmetic and logic functions and is suitable for use as the central processing unit of a microcomputer or a dedicated automatic control system. In the Apple IIGS computer, the microprocessor is the 65C816. Previous Apple II computers utilize the 6502 and 65C02 microprocessors. Some microprocessors used in other computers are the 68000, the 8080, the Z,80, and the 8086.

**microsecond**: One millionth of a second.

**millisecond**: One thousandth of a second. Abbreviated ms.

**MLI**: Machine Language Interface-the part of ProDOS 8 that processes operating system calls.

**modal dialog box**: A dialog box that puts the machine in a state where the user cannot execute functions outside of the dialog box until the dialog box is closed. Compare modeless dialog box.

**mode**: A state of a computer or system that determines its behavior, A manner of operating.

**modeless dialog box**: A dialog box that does not require the user to respond before doing anything else. Unlike a modal dialog box, it is possible to keep working even if the box is still in use. Compare modal dialog box.

**modem**: Acronym for modulator-demodulator. A computer peripheral device that allows computers to transfer digital information over conventional telephone lines. Modems usually connect to the computer's serial port, but may instead plug into a peripheral expansion slot.

**modification date**: An attribute of a ProDOS file; it specifies the date on which the content of the file was last changed.

**modification time**: An attribute of a ProDOS file; it specifies the time at which the content of the file was last changed.

**modifier key**: A key (Apple, Caps Lock, Control, Option, Shift) that generates no keyboard events of its own, but changes the meaning of other keys or mouse actions. Also called a control key.

**modulate**: To modify or alter a signal so as to transmit information. For example, conventional broadcast radio transmits sound by modulating the amplitude (amplitude modulation, or AM) or the frequency (frequency modulation, or FM) of a carrier signal.

**monitor**: See video monitor.

**Monitor program**: A firmware program built into the firmware of Apple II computers, used for directly inspecting or changing the contents of main memory and for operating the computer at the machine-language level.

**monochrome**: Displaying video in one color and the background in another, frequently black and white, but not necessarily. The Apple IIGS monochrome default is white characters on a medium blue background.

**MOS**: Abbreviation for metal oxide silicon, a method of semiconductor integrated-circuit fabrication on silicon using layers of silicon dioxide in the make-up of the devices. Compare CMOS.

**most significant bit**: The leftmost bit of a binary number. The most significant bit contributes the largest quantity to the value of the number. For example, in the binary number 10110 (decimal value 22), the leftmost bit has the decimal value 76 (24). Compare least significant bit.

**Multi-tasking**: A system that executes more than one program or task simultaneously.

**Multi-user**: A computer system able to be used by a number of people simultaneously.

**nanosecond**: One billionth of a second. Abbreviated ns.

**native mode**: The 16-bit configuration of the 65C816 microprocessor.

**negate**: Make a program condition or statement negative in meaning.

**Network Stack**: The protocol stack or network stack is an implementation of a computer networking protocol suite or protocol family. Strictly speaking, the suite is the definition of the communication protocols, and the stack is the software implementation of them.  In A2osX, the device drivers, the network libraries and the NetworkD program manage the network stack that network aware applications utilize.

**newline (read) mode**: A file-reading mode in which each character read from the file is compared to a specified character (called the newline character); if there is a match, the read is terminated. Newline mode is typically used to read individual lines of text, with the newline character defined as a carriage return.

**nibble**: A unit of data equal to half a byte, or four bits. A nibble can hold any value from 0 to 15 ($0 and $F hexadecimal).

**NIL**: Pointing to a value of 0. A memory handle is NIL if the address it points to is filled with zeros. Handles to purged memory blocks are NIL. Compare null.

**NMOS**: One of several methods of making integrated circuits out of silicon; a metal-oxide semiconductor device made on a p-type substrate using n-type source and drain contacts.

**non-special, normal memory**: Memory that has no special restrictions on it. On the Apple IIGS, such memory includes banks $2-$DF and parts of banks $E0 and $E1.

**NOT**: A unary logical operator that produces a true result if its operand is false, and a false result if its operand is true. Compare AND, OR, exclusive OR.

**NSC, No Slot Clock**: The No-Slot Clock, also known as the Dallas Smartwatch (DS1216E), was a 28-pin chip-like device that could be used directly in any Apple II or Apple II compatible with a 28-pin ROM.

**NTSC**: (1) Abbreviation for National Television Standards Committee, which defined the standard format used for transmitting broadcast video signals in the United States. (2) The standard video format defined by the NTSC; also called composite because it combines all video information, including color, into a single signal.

**null**: Zero. A pointer is null if its value is all zeros. Compare NIL.

**odd parity**: In d¿ta transmission, the use of an extra bit set to 0 or 1 as necessary to make the total number of I bits an odd number; used as a means of error checking. Compare even parity, MARK parity.

**offset**: The number of character positions or memory locations away from a point of reference.

**OK**: One of two predefined item ID numbers for dialog box buttons (OK : 1). Compare Cancel.

**op code**: See operation code.

**open**: To allow access to a file. A file may not be read from or written to until it is open.

**Open Apple key**: A modifier key on some Apple ll-family keyboards; on the Apple IIGS keyboard, the equivalent key is marked with both an Apple icon and a spinner, the icon used on some Macintosh keyboards, and called simply the Apple key.

**operand**: (1) In assembly language, the part of an instruction that follows the operation code. The operand is used as a value or an address, or to calculate a value or an address. (2) In object module format, an operation code that is followed by a single value that constitutes part of an expression. The value following the operand op code is acted on by an operator. A value to which an operator is applied. The value on which an operation code operates. Compare argument. An item on which an operator (such as + or AND) acts.

**operating environment**: The overall hardware and software setting within which a program runs. Also called execution environment.

**operating system**: A general-purpose program that manages the actions of the parts of the computer and its peripheral devices for the benefit of the application programs. See disk operating system.

**operating system call**: A request to execute a named operating system function; also, the name of the function itself. OPEN, GET_FILE_INFO, and QUIT are ProDOS operating system calls.

**operation code**: The part of a machine-language instruction that specifies the operation to be performed. Often called op code.

**operator**: A symbol or sequence of characters, such as + or AND, specifying an operation to be performed on one or more values (the operands) to produce a result. See arithmetic operator, relational operator, logical operator, unary operator, binary operator.

**option**: (1) Something chosen or available as a choice; for instance, items in a menu. (2) An argument whose provision is optional.

**OR**: A logical operator that produces a true result if either or both of its operands are true, and a false result if both of its operands are false. Compare exclusive OR, AND, NOT.

**output**: Information transferred from a computer to some external destination, such as the display screen, a disk drive, a printer, or a modem.

**output routine**: A machine-language routine that performs the sending of characters. The standard output routine sends characters to the screen. A different output routine might, for example, send them to a printer.

**overflow**: The condition that exists when an attempt is made to put more data into a given memory area that it can hold; for example, a computational result that exceeds the allowed range.

**P register**: See status register. (PI) pack: To compress data into a smaller space to conserve storage space.

**page**: (1) A portion of memory 256 bytes long and beginning at an address that is an even multiple of 256. Memory blocks whose starting addresses are an even multiple of 256 are said to be page-aligned. (2) An area of main memory containing text or graphic information being displayed on the screen. (3) A screenful of information on a video display. In the Apple II family of computers, a page consists of 24 lines of 40 or 80 characters each. (4) An area of main memory containing text or graphical information being displayed on the screen.

**page zero**: See zero page.

**page-aligned**: Said of a memory block that starts at a memory address that is an even multiple of 256 (a memory block attribute). See also page (1).

**PAL**: Acronym for phase alternating lines. A video standard originated in England and used in other European countries.

**palette**: The set of colors from which the user can choose a color to apply to a pixel on the screen.

**parallel**: (1) The simultaneous occurrence of more than one phenomenon. (2) The connection of a group of wires for the purpose of conducting bits of data simultaneously, rather than one at a time (via a serial connection).

**parallel interface**: An interface in which several bits of information (typically I bits, or 1 byte) are transmitted simultaneously over different wires or channels. Compare serial interface. 

**parameter**: An argument that determines the outcome of a command. For example, in the command write(n,msg), n and msg are parameters.

**parity**: Sameness of level or count, usually the count of 1 bits in each character, used for error checking in data transmission. See even parity, MARK parity, odd parity, parity bit.

**parity bit**: A bit that is sometimes transmitted along with the other bits that define a serial character. It is used to check the accuracy of the transmission of the character. Even parity means that the total number of 1 bits transmitted, including the parity bit itself, is even. Odd parity means that the total number is odd. The parity bit is generated individually for each character and checked, a character at a time, at the receiving end.

**partial pathname**: A pathname that includes the filename of the desired file but excludes the volume directory name (and possibly one or more of the subdirectories in the path). It is the part of a pathname following a prefix-a prefix and a partial pathname together constitute a full pathname. A partial pathname does not begin with a slash because it has no volume directory name.

**Pascal**: A high-level programming language with statements that resemble English phrases. Pascal was designed to teach programming as a systematic approach to problem solving. Named after the philosopher and mathematician Blaise Pascal.

**Pascal string**: An ASCII character string preceded by a single byte whose numerical value is the number of characters in the string. Compare C string.

**Pascal-type string**: Same as Pascal string.

**pass**: A single execution of a loop.

**paste**: To place the desk scrap (contents of the Clipboard-whatever was last cut or copied) at the insertion point.

**patch**: To replace one or more bytes in memory or in a file with other values. The address to which the program must jump to execute a subroutine is patched into memory at load time, when the System Loader performs relocation on a file.

**pathname**: A name that specifies a file. It is a sequence of one or more filenames separated by slashes, tracing the path through subdirectories that a program must follow to locate the file. See full pathname, partial pathname, prefix.

**PB register**: See program bank register.

**PC board**: See printed-circuit board.

**PC register**: A register within the 65816 microprocessor that keeps track of the memory address of the next instruction to be executed. PC stands for program counter. 

**peek**: To read information directly from a location in the computer's memory.

**peripheral**: (adj) At or outside the boundaries of the computer itself, either physically (as a peripheral device) or in a logical sense (as a peripheral card). (n) Short for peripheral device.

**peripheral bus**: The bus used for transmitting information between the computer and peripheral devices connected to the computer's expansion slots or ports.

**peripheral card**: A hardware device placed inside a computer and connected to one of the computer's peripheral expansion slots. Peripheral cards perform a variety of functions, from controlling a disk drive to providing a clock/calendar.  A removable printed-circuit board that plugs into one of the seven l/O expansion slots, allowing the computer to use a peripheral device or to perform some subsidiary or peripheral function. These cards may be self-contained (such as a clock card) or an interface card (such as a disk interface card) with a cable connecting the card and the peripheral.

**peripheral device**: A piece of hardware such as a video monitor, disk drive, printer, or modern-used in conjunction with a computer and under the computer's control. Peripheral devices are often (but not necessarily) physically separate from the computer and connected to it by wires, cables, or some other form of interface. They often require peripheral cards. See device.  An input or output (or input/output) device, usually external to the computer (but which may reside on a card in a peripheral-expansion slot), that performs some secondary function for the computer. Printers, disk drives, modems, and video monitors are examples of peripheral devices. See device.

**peripheral expansion slot**: The seven slots at the rear of the main logic board that will accept most Apple II peripheral expansion cards. Each slot has 50 pins, which carry required power and signals to and from the peripheral cards.

**peripheral slot**: See peripheral expansion slot.

**phase**: (1) A stage in a periodic process. A point in a cycle. For example, the 6502 and 65C816 microprocessors use a clock cycle consisting of two phases called F0 and F1. (2) The relationship between two periodic signals or processes.
 
**ping**: Ping is a computer network administration software utility used to test the reachability of a host on an Internet Protocol (IP) network.

**pipe**: In computer programming, especially in UNIX operating systems, a pipe is a technique for passing information from one program process to another. Basically, a pipe passes a parameter such as the output of one process to another process which accepts it as input.

**pixel**: A contraction of picture element, the smallest dot you can draw on the screen. Also a location in video memory that corresponds to a point on the graphics screen when the viewing window includes that location. In the Super Hi-Res display on the Apple IIGS, each pixel is represented by either 2 or 4 bits.

**pointer**: (1) An item of information consisting of the memory address of some other item. For example, the 65816 stack register contains a pointer to the top of the stack. (2) The mouse pointer, an arrow-shaped cursor whose screen location is controlled by mouse movements.

**poke**: To store information directly into a location in the computer's memory.

**pop**: To remove the top entry from a stack, moving the stack pointer to the entry below it. Synonymous with pull. Compare push.

**port**: (1) A socket on the back panel of the computer where the user can plug in a cable to connect a peripheral device, another computer, or a network. (2) In the Apple IIc, slots are called ports.

**position-independent**: Code that is written specifically so that its execution is unaffected by its position in memory. It can be moved without needing to be relocated. Compare absolute, relocatable.

**power supply**: A circuit that draws electrical power from a power outlet and converts it to the kind of power the computer can use. The large metal box inside the
Apple IIGS that divides and conditions the household current, supplying the voltages required by the main logic board and some peripheral devices. The metal case inside most Apple II and Macintosh computers that houses the power supply. The Apple IIc uses an external power supply case.

**PR#**: An Applesoft BASIC command that directs output to a slot or a machine-language program. It activates an output routine in the ROM on a peripheral card or in equivalent RAM by changing the address of the standard output routine used by the computer.

**precedence**: The order in which operators are applied in evaluating an expression. Precedence varies from language to language, but usually resembles the precedence rules of algebra.

**Preemptive**: Preemptive multitasking is task in which a computer operating system uses some criteria to decide how long to allocate to any one task before giving another task a turn to use the operating system. The act of taking control of the operating system from one task and giving it to another task is called preempting.

**prefix**: A pathname starting with a volume name and ending with a subdirectory name. It is the part of a full pathname that precedes a partial pathname-a prefix and a partial pathname together constitute a full pathname. A prefix always starts with a slash "/" because a volume directory name always starts with a slash.

**procedure**: In the Pascal and Logo programming languages, a sequence of instructions that work as a unit; approximately equivalent to the term function in C or subroutine in BASIC.

**Process**: In computing, a process is the instance of a computer program that is being executed by one or many threads. It contains the program code and its activity. Depending on the operating system (OS), a process may be made up of multiple threads of execution that execute instructions concurrently.

**process id**: The unique identifier A2osX uses to identify a running process.

**processor**: The hardware component of a computer that performs the actual computation by directly executing instructions represented in machine language and stored in main memory. See microprocessor.

**processor status register**: See status register.

**ProDOS**: A disk operating system for the Apple II family of computers. ProDOS stands for Professional Disk Operating System, and includes ProDOS 8 and ProDOS 16. Compare
Disk Operating System (DOS).

**ProDOS 1.0**: The first released version of ProDOS by Apple. 

**ProDOS 2.0.3**: The last official ProDOS release by Apple.

**ProDOS 2.0.3tc**:  A modified version of ProDOS 2.0.3 to correct the date table to support years through 2023.  See the ProDOS.md doc for more information.

**ProDOS 2.4.2**: See https://prodos8.com/releases/prodos-242/

**ProDOS 2.5**: https://prodos8.com/releases/prodos-25/

**ProDOSfx**:   A new version of ProDOS made by the A2osX to support enhancements such as lowercase in file names, volumes and directories.  See the ProDOS.md doc for more information.

**ProDOS 16**: A disk operating system developed for 65816 native-mode operation on the Apple IIGS. It is functionally similar to ProDOS 8 but more powerful.

**ProDOS 8**: A disk operating system developed for standard Apple II computers. It runs on 6502-series microprocessors and on the Apple IIGS when the 65C816 processor is in
6502 emulation mode.

**ProDOS command**: Any one of the 28 commands recognized by ProDOS.

**program**: (n) A set of instructions describing actions for a computer to perform in order to accomplish some task, conforming to the rules and conventions of a particular programming language. (v) To write a program.

**program line**: The basic unit of an Applesoft BASIC program, consisting of one or more statements separated by colons (:).

**programmable read-only memory (PROM)**: A type of ROM device that is programmed after fabrication, unlike ordinary ROM devices, which are programmed during fabrication.

**programming language**: A set of symbols and associated rules or conventions for writing programs. BASIC, Logo, and Pascal are programming languages.

**PROM**: See programmable read-only memory

**prompt**: A message on the screen that a program provides when it needs a response from the user. A prompt is usually in the form of a symbol, a dialog box, or a menu of choices.

**prompt character**: A text character displayed on the screen, usually just to the left of a cursor, where your next action is expected. The prompt character often identifies the program or component of the system that's prompting you. For example, Applesoft BASIC uses a square bracket prompt character O; Integer BASIC, an angle bracket (>); and the system Monitor program, an asterisk (*).

**prompt line**: A specific area on the display reserved for prompts.

**protocol**: A formal set of rules for the interchange of information between two programs or devices; for example, the rules for sending and receiving data on a communication line.

**Protocol Converter**: A set of machine language routines used in the Apple II family for performing block device I/O. See Smartport. A set of ROM-based assembly language
routines used to support external I/O devices such as the Apple Memory Expansion Card and the Apple 3.5 Drive.

**pull**: To remove the top entry from a stack, this instruction moves the stack pointer to the entry below it. Synonymous with pop. Compare push.

**push**: To add an item to the top of a stack, moving the stack pointer to the next entry above the top. Compare push.

**queue**: A list in which entries are added (pushed) at one end and removed (pulled) at the other end, causing entries to be removed in first-in, first-out (FIFO) order. Compare stack.

**quit**: To terminate execution in an orderly manner. Apple II applications quit by making a ProDOS QUIT call or the equivalent.

**QWERTY keyboard**: The standard layout of keys on a typewriter keyboard; its name is formed from the first six letters on the top row of letter keys. Compare Dvorak keyboard.

**RAM**: See random-access memory.

**RAM disk**: A feature of some operating systems which makes it possible to use programmable memory (RAM) as a disk volume. Large applications designed for machines with limited amounts of RAM must load program segments from disk as needed; on machines with RAM disk, the entire application is first loaded into RAM, where it runs as if still resident on disk, but much faster.

**RamWorks**: A memory board and access specification for extended memory on Apple II computer systems.

**random-access device**: See block device.

**random-access memory (RAM)**: Memory in which information can be referred to in an arbitrary or random order. As an analogy, a book is a random-access storage device in that it can be opened and read at any point. RAM  usually means the part of memory available for programs from a disk; the programs and other data are lost when the computer is turned off. A computer with 512K RAM has 512 kilobytes available to the user. (Technically, the read-only memory (ROM) is also random access, and what's called RAM should correctly be termed read-write memory.) Compare read-only memory, read-write memory.

**random-access text file**: A text file that is partitioned into an unlimited number of uniform-length compartments called records. When you open a random-access text file for the first time, you must specify its record length. No record is placed in the file until written to. Each record can be individually read from or written to-hence, random-access.

**RDKEY**: The firmware routine that a program uses to read a single keystroke from the keyboard.

**read**: To transfer information into the computer's memory from outside the computer (such as a disk drive or modem) or into the computer's processor from a source external to the processor (such as the keyboard or main memory).

**read-only memory (ROM)**: Memory whose contents can be read, but not changed; used for storing firmware. Information is placed into read-only memory once, during manufacture; it then remains there permanently, even when the computer's power is turned off. Compare random-access memory, read-write memory, write-only memory.  Nonvolatile, permanent memory. ROM ICs may be written once, usually in the development of the computer. Data are retained in the memory even after power is disconnected. Special ROM ICs allow you to change the data in them under specific conditions such as ultraviolet light (EPROMs erasable programmable read-only memory, or high voltages (EEPROMs electrically erasable programmable read-only memory). Normally, however, ROM ICs are written once.

**read-write memory**: Memory whose contents can be both read and changed (or written to); commonly called RAM. The information contained in read-write memory is erased when the computer's power is turned off and is permanently lost unless it has been saved on a disk or other storage device. Compare random-access memory, read-only memory.

**real number**: In computer usage, a number that may include a fractional part; represented inside the computer in floating-point form. Because a real number is of infinite precision, this representation is usually approximate. Compare integer.

**real-time clock (RTC)**: A custom IC that, once set, retains the current time of day, day, month, and year. Chapter 7 provides details of the RTC and other built-in I/O devices.

**record**: A portion of data file for one entity.  For example all the information about one person in a contact or address book data file.

**redirection**: Redirection describes the process of sending a data or other information to an alternate location. In A2osX, redirection allows sending data intended for one location such as standard output (the screen) to another (a file).

**reentrant**: Said of a routine that is able to accept a call while one or more previous calls to it are pending, without invalidating the previous calls. Under certain conditions, the Apple IIGS Scheduler manages execution of routines that are not reentrant.

**reference**: (n) The name of a segment or entry point to a segment; same as symbolic reference. (v) To refer to a symbolic reference or to use one in an expression or as an address.

**register**: A location in a processor or other chip where an item of information is held and modified under program control.

**relational operator**: An operator, such as > that operates on numeric values to produce a logical result. Compare arithmetic operator, logical operator.

**relocation**: The act of modifying a program in memory so that its address operands correctly reflect its location and the locations of other segments in memory. Relocation is performed by the System Loader when a relocatable segment is first loaded into memory.

**repeat delay**: The time interval before the first auto-key event is generated.

**repeat speed**: The time interval between auto-key events, except for the first auto-key event. See also repeat delay.

**Request-To-Send**: An RS-232-C signal from a DTE to a DCE that serves to prepare the DCE for data transmission.

**reserved word**: A word or sequence of characters reserved by a programming language for some special use and therefore unavailable as a variable name in a program.

**resident**: See memory-resident, disk-resident.

**return address**: The point in a program to which control returns on completion of a subroutine or function.

**return code**: An exit code, or sometimes known as a return code, is the code returned to a parent process by an executable.

**RF**: See radio frequency.

**RF modulator**: See radio-frequency modulator.

**RGB**: Abbreviation for red, green, and blue. A method of displaying color video by transmitting these three colors as three separate signals. There are two ways of using RGB with computers: TTL RGB, which allows the color signals to take on only a few discrete values; and analog RGB, which allows the color signals to take on any values between their upper and lower limits, for a wide range of colors. The Apple IIGS uses analog RGB; connect only RGB monitors using analog RGB to the RGB video connector at the rear of the computer. Compare composite video.

**RGB monitor**: A type of color monitor that receives separate signals for each color (red, green, and blue). Compare composite video. 

**ROM**: See read-only memory.

**ROM disk**: A feature of some operating systems making it possible to use read-only memory (ROM) as a disk volume. Often used for making applications permanently resident. See also RAM disk.

**rounded result**: The nearest representable value to the actual value, with ties going to the value with the larger magnitude.

**routine**: A part of a program that accomplishes some task subordinate to the overall task of the program.

**row**: A horizontal arrangement of character cells or graphics pixels on the screen.

**RS-232**: A common standard for serial data communication interfaces.

**RS-232 cable**: Any cable that is wired in accordance with the RS-232 standard, which is the common serial data communication interface standard.

**RS-232-C**: A common standard for serial data communication interfaces.

**RS-422**: A standard for serial data communication interfaces, different from the RS-232 standard in its electrical characteristics and in its use of differential pairs for data signals. The serial ports on the Apple IIGS use RS-422 devices modified so as to be compatible with RS-232-C devices.

**RTC**: See Real Time Clock.

**RTI**: Return from Interrupt, a 65816 assembly language instruction.

**RTL (Return from Subroutine Long)**: Return from subroutine Long; a 65C816 assembly-language instruction. It is used in conjunction with a JSL instruction.

**RTS**: See Request-To-Send.

**RTS (Return from Subroutine)**: Return from Subroutine; a 6502 and 65C816 assembly language instruction. It is used in conjunction with a JSR instruction.

**run**: (1) To execute a program. When a program runs, the computer performs the instructions. (2) To load a program into main memory from a peripheral storage medium,
such as a disk, and execute it.

**run-time library file**: A load file containing program segments-each of which can be used in any number of programs-that the System Loader loads dynamically when they are
needed.

**S register**: See stack register.

**SANE (Standard Apple Numeric Environment)**: The set of methods that provides the basis for floating-point calculations in Apple computers. SANE meets all requirements for extended-precision, floating-point arithmetic as prescribed by IEEE Standard and ensures that all floating-point operations are performed consistently and return the most accurate results possible. See Standard Apple Numeric Environment.

**sapling file**: An organizational form of a ProDOS standard file. A sapling file consists of a single index block and up to 256 data blocks.

**save**: To store information by transferring the information from main memory to a disk. Work not saved disappears when you turn off the computer or when the power is interrupted.

**SCC**: Abbreviation for Serial Communications Controller, a type of communications IC used in the Apple IIGS. The SCC can run synchronous data transmission protocol and thus transmit data at faster rates than the ACIA. See Serial Communications Controller.

**screen**: See display screen.

**screen holes**: Locations in the text display buffer (text Page 1) used for temporary storage either by l/O routines running in peripheral card ROM or by firmware routines addressed as if they were in card ROM. Text Page 1 occupies memory from $0400 to $07FF; the screen holes are locations in that area that are neither displayed nor modified by the display firmware.

**scroll**: To move all the text on the screen upward or downward, and, in some cases, sideways. See viewport, window.

**SCSI**: Small Computer System Interface is a set of standards for physically connecting and transferring data between computers and peripheral devices. The SCSI standards define commands, protocols, electrical, optical and logical interfaces.

**SCSI Cable**: A cable used to connect a SCSI device to a SCSI controller or interface card.

**SCSI Card**: A card for the computer that implements the SCSI standard.

**SCSI Drive**: A block devices that utilizes the SCSI standard.

**SCSI Interface**: See SCSI Card.

**SECAM**: A French acronym meaning "sequential color with memory." A video standard originating in France and used in the USSR and other countries.

**sector**: A division of a tack on a disk. When a disk is formatted, its surface is divided into tracks and sectors.

**sector**: See track.

**seedling file**: An organizational form of a ProDOS standard file. A seedling file consists of a single data block.

**sequential-access device**: See character device.

**serial**: A single-wire connection for the purpose of transferring bits of data one at a time, usually between a computer and a peripheral device. Compare parallel.

**Serial Communications Controller (SCC)**: A type of communications IC used in the Apple. The SCC can run synchronous data transmission protocol and thus transmit data at faster rates than the ACIA. Compare ACIA.

**serial interface**: A standard method, such as RS-232, for transmitting data serially (as a sequence of bits). An interface in which information is transmitted sequentially, a bit at a time, over a single wire or channel. Compare parallel interface.

**serial port**: The connector for a peripheral device that uses a seial interface. The two connectors located at the back of the Apple IIGS main logic board that provide a means for communicating with peripherals (such as printers and local area networks) using a serial interface.

**shell**: A program that provides an operating environment for other programs, and that is not removed from memory when those programs are running. For example, the A2osX Shell provides a command processor interface between the user and the other components of A2osX, and remains in memory when utility programs are running. A shell is one type of controlling program.

**shell application**: A type of program that is launched from a shell and runs under its control. Shell applications are ProDOS file type $85. In APW, compilers and certain Shell commands are shell applications that are launched from the A2osX Shell. 

**shell call**: A request from a program to the A2osX Shell to perform a specific function.

**shut down**: To remove from memory or otherwise make unavailable, as a tool set that is no longer needed or an application that has quit.

**simple variable**: A variable that is not an element of an array.

**slot**: A narrow socket inside the computer where the user can install peripheral cards. Also called an expansion slot.

**SmartPort**: (1) A set of firmware routines supporting multiple block devices connected to the Apple IIGS disk port. See also extended SmartPort call and standard SmartPort call.  (2) A set of machine language routines used in the Apple II family for performing block device I/O. See Protocol Converter.

**soft switch**: Also called a software switch; a means of changing some feature of the computer from within a program. For example, DIP switch settings on ImageWriter printers can be overridden with soft switches.  Specifically, a soft switch is a location in memory that produces some special effect whenever its contents are read or written.

**software**: A collective term for programs, the instructions that tell the computer what to do. Software is usually stored on disks. Compare firmware, hardware.  A group of instructions to the microprocessor, instructing it to perform certain functions, such as performing computations, displaying data on a monitor, reading data from and writing data to a disk. The group of instructions is known collectively as a program. Compare application program.

**source**: See source location. (PI)

**source code**: See source program.

**source file**: An ASCII file consisting of instructions written in a particular language, such as Pascal or assembly language. An assembler or compiler converts source files into object files.

**source program**: The form of a program given to a language translator, such as a compiler or assembler, for conversion into another form; sometimes called source code. Compare object program.

**space character**: A text character whose printed representation is a blank space, typed from the keyboard by pressing the Space bar.

**SPACE parity**: A bit value of 0 appended to a binary number for transmission. The receiving device can look for this value on each character as a means of error checking. 

**sparse file**: A variation of the organizational forms of ProDOS 1.6 standard files. A sparse file may be either a sapling file or a tree file; what makes it sparse is the fact that its logical size (defined by its EOF) is greater than its actual size on disk. This occurs when one or more data blocks contain nothing but zeros. Those data blocks are considered to be part of the file, but they are not actually allocated on disk until nonzero data is written to them.

**special memory**: On an Apple IIGS, all of banks $00 and $01 and all display memory in banks $E0 and $E1. It is the memory directly accessed by standard Apple II programs running on the Apple IIGS.

**spool printing**: A two-step printing method used to print graphics on the Imagewriter. In the first step, it writes out (spools) a representation of your document's printed image to a disk file or to memory. In the second step, this information is converted into a bit image and printed. Compare draft printing.

**SSC**: Abbreviation for Super Serial Card, peripheral card that enables an Apple II to communicate with serial devices.

**stack**: A list in which entries are added (pushed) and removed (pulled) at one end only (the top of the stack), causing entries to be removed in last-in, first-out (LIFO) order. The stack usually refers to the particular stack pointed to by the 65C816's stack register. Compare queue.

**stack pointer**: See stack register.

**stack register**: A hardware register in the 65C816 processor that contains the address of the top of the processor's stack. Also called S register.

**standard Apple II**: Any computer in the Apple II family except the Apple IIGS. That includes the Apple II, the Apple II Plus, the Apple IIe, and the Apple IIc.

**Standard Apple Numerics Environment (SANE)**: The set of methods that provides the basis for floating-point calculations in Apple computers. SANE meets all requirements for extended-precision, floating-point arithmetic as prescribed by IEEE Standard 754 and ensures that all floating-point operations are performed consistently and return the most accurate results possible.

**standard file**: One of the two principal categories of ProDOS 16 files. Standard files contain whatever data they were created to hold; they have no predefined internal format. Compare directory file.

**standard SmartPort call**: A SmartPort call that allows data transfer to or from anywhere in standard Apple II memory, or the lowest 64K of Apple IIGS memory. Compare extended SmartPort call.

**start bit**: Transition from a MARK signal to a SPACE signal for one bit-time, indicating that next string of bits represents a character. One or two bits that indicate the beginning of a character in a string of serially transmitted characters.

**start up**: To get the system running. Starting up involves loading system software from disk, and then loading and running an application. Also called boot.

**starting value**: The value assigned to the index variable on the first pass through a loop.

**startup disk**: A disk with all the necessary program files to set the computer into operation. In Apple II, sometimes called a boot disk.

**statement**: A unit of a program in a high-level language that specifies an action for the computer to perform. A statement typically corresponds to several instructions of machine language.

**static text**: Text on the screen that cannot be altered by the user.

**status registers**: A location in the ACIA (at $C099 for port 1 and $COe9 for port 2) that stores the state of two RS-232-C signals and the state of the transmit and receive data registers, as well as the outcome of the most recent character transfer. A register in the 65816 microprocessor that contains flags reflecting the various aspects of machine state and operation results.

**StdErr**: Standard error is another output stream typically used by programs to output error messages or diagnostics. It is a stream independent of standard output and can be redirected separately.

**StdIn**: Standard input is a stream from which a program reads its input data. The program requests data transfers by use of the read operation. Not all programs require stream input. Unless redirected, standard input is inherited from the parent process. In the case of an interactive shell, that is usually associated with the keyboard.

**StdOut**: Standard output is a stream to which a program writes its output data. The program requests data transfer with the write operation. Not all programs generate output. Unless redirected, standard output is inherited from the parent process. In the case of an interactive shell, that is usually the text terminal which initiated the program.

**step value**: The amount by which the index variable changes on each pass through a loop.

**stop bit**: A bit indicating the end of a character in a string of serially transmitted characters. A MARK signal following a data string (or the optional parity bit), indicating the end of a character.

**storage type**: An attribute of a ProDOS file that describes the file's organizational form (such as directory file, seedling file, or sapling file).

**string**: A sequence of characters. See C string, Pascal string.

**strobe**: A signal whose change is used to trigger some action.

**subdirectory**: A file that contains information about other files. In a hierarchical file system, files are accessed through the subdirectories that reference them.

**subroutine**: A part of a program that can be executed on request from another point in the program and that returns control, on completion, to the point of the request.

**Super Hi-Res**: Either of two high-resolution Apple display modes. 320 mode consists of an array of pixels 320 wide by 200 high, with 16 available colors; 640 mode is an array 640 wide by 200 high, with 16 available colors (with restrictions).

**switcher**: A controlling program that rapidly transfers execution among several applications.

**symbolic reference**: A name or label, such as the name of a subroutine, that is used to refer to a location in a program. When a program is linked, all symbolic references are resolved; when the program is loaded, actual memory addresses are patched into the program to replace the symbolic references. (This process is called relocation.)

**synchronous**: A mode of data transmission in which a constant time interval exists between transmission of successive bits, characters, or events. Compare asynchronous.

**synchronous transmission**: A transmission process that uses a clocking signal to ensure an integral number of unit (time) intervals between any two characters. Compare asynchronous transmission.

**syntax**: (1) The rules governing the structure of statements or instructions in a programming language. (2) A representation of a command that specifies all the possible forms the command can take.

**system**: A coordinated collection of interrelated and interacting parts organized to perform some function or achieve some purposefor example, a computer system comprising a processor, keyboard, monitor, disk drive, and software.

**system call**: See operating system call.

**system clock**: See clock.

**system configuration**: See configuration.

**system disk**: A disk that contains the operating system and other system software needed to run applications.

**system file**: See system program.

**system file level**: A number between $00 and $FF associated with each open ProDOS file. Every time a file is opened, the current value of the system file level is assigned to it. If the system file level is changed (by a SET-LEVEL call), all subsequently opened files will have the new level assigned to them. By manipulating the system file level, a controlling program can easily close or flush files opened by its subprograms.

**system prefix (ProDOS 8)**: The one prefix maintained by ProDOS 8.

**system program**: (1) A software component of a computer system that supports application programs by managing system resources such as memory and I/O devices. Also called system software. (2) Under ProDOS 8, a stand-alone and potentially self-booting application. A ProDOS 8 system program is of file type $FF; if it is self-booting, its filename has the extension .SYSTEM.

**system software**: The component of a computer system that supports application programs by managing system resources such as memory and I/O devices.

**TAB**: An ASCII character that commands a device such as a printer to start printing at a preset location (called a tab stop). There are two such characters: horizontal tab (hex 09) and vertical tab (hex 0B). TAB works like the tabs on a typewriter.

**TCP**: The Transmission Control Protocol (TCP) is one of the main protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, the entire suite is commonly referred to as TCP/IP. TCP provides reliable, ordered, and error-checked delivery of a stream of octets (bytes) between applications running on hosts communicating via an IP network. Major internet applications such as the World Wide Web, email, remote administration, and file transfer rely on TCP, which is part of the Transport Layer of the TCP/IP suite. SSL/TLS often runs on top of TCP.

**television set**: A display device capable of receiving broadcast video signals (such as commercial television broadcasts) by means of an antenna. Can be used in combination with a radio-frequency modulator as a display device for the Apple II family of computers. Compare video monitor.

**Telnet**: Telnet is an application protocol used on the Internet or local area network to provide a bidirectional interactive text-oriented communication facility using a virtual terminal connection. User data is interspersed in-band with Telnet control information in an 8-bit byte oriented data connection over the Transmission Control Protocol (TCP).

**Telnet Server**: See TelnetD.

**TelnetD**: The telnetd program is a server which supports the DARPA telnet interactive communication protocol.

**terminal**: A computer terminal is an electronic or electromechanical hardware device that is used for entering data into, and displaying or printing data from, a computer or a computing system.

**terminal emulator**: A terminal emulator, terminal application, or term, is a computer program that emulates a video terminal within some other display architecture. A terminal window allows the user access to a text terminal and all its applications such as command-line interfaces (CLI) and text user interface (TUI) applications.

**terminal mode**: The mode of operation in which the Apple acts like an intelligent terminal.

**text**: (1) Information presented in the form of readable characters. (2) The display of characters on a display screen. Compare graphics.

**text editor**: A text editor is a type of computer program that edits plain text. Text editors are provided with operating systems and software development packages, and can be used to change files such as configuration files, documentation files and programming language source code.

**text file**: A file consisting of the ASCII representation of characters.

**text file format (TFF)**: A file that consists of ASCII representations of characters. Compare object module format. 

**text window**: A window on the desktop within which text is displayed and scrolled. An area on the video display screen within which text is displayed and scrolled.  That portion of the screen that is reserved for text. After starting the computer, the firmware uses the entire display for text. However, if you wish, you can restrict the text video activity to any rectangular portion of the display.

**text-based interface**: An interface between computer and user in which all screen drawing (or other output) consists of characters. The form of each character is stored in ROM and can be involved with a single byte of data. Compare graphic interface.

**tick count**: The (approximate) number of 60th second intervals since system startup.

**traces**: Electrical paths that connect the components on a circuit board.

**track**: (1) One of a series of concentric circles magnetically recorded on the surface of a disk when it is formatted. Each track is further divided into sectors. Each sector can hold several K of data.

**transistor-transistor logic (TTL)**: (1) A family of integrated circuits having bipolar circuit logic; TTL ICs are used in computers and related devices. (2) A standard for interconnecting such circuits, which defines the voltages used to represent logical zeros and ones.

**tree file**: An organizational form of a ProDOS standard file. A tree file consists of a single master index block, up to "J.27 index blocks, and up to 32,572 data blocks.

**troubleshoot**: To locate and correct the cause of a problem or malfunction, especially in hardware. Compare debug.

**TRUE**: Not zero. The result of a Boolean operation. The opposite of FALSE.

**TTL**: See transistor-transistor logic.

**TTL RGB**: A type of video monitor that can accept only a limited number of digital values and display only a correspondingly limited number of colors. Stands for transistor-transistor logic, red, green, blue. Compare analog RGB.

**turnkey disk**: See startup disk.

**type-ahead buffer**: A buffer that accepts and holds characters that" are typed faster than the computer can process them.

**UDP**: UDP (User Datagram Protocol) is an alternative communications protocol to Transmission Control Protocol (TCP) used primarily for establishing low-latency and loss-tolerating connections between applications on the internet.

**unary operator**: An operator that applies to a single operand. For example, the minus sign (-) in a negative number such as 4 ts a unary arithmetic operator. Compare binary operator.

**unbuffered**: A style of input and output that does not use a buffer for I/O; reading and writing is done one character at a time.

**unclaimed interrupt**: This occurs when the hardware Interrupt Request Line is active, indicating that an interrupt-producing device needs attention, but none of the installed interrupt handlers claims responsibility for the interrupt.

**unload**:  To remove from memory, such as to unload a program or library from memory.

**update**:  An update is new, improved, or fixed software, which replaces older versions of the same software. For example, updating your operating system or A2osX brings it up-to-date with the latest drivers, system utilities, and program libraries.

**user**: A person operating or controlling a computer system.

**User ID**: An identification number that specifies the owner of a resource of the record of that user in the system user database.

**user interface**: The rules and conventions by which a computer system communicates with the person operating it.

**User Name**: The full name of a user.

**Uthernet**: An Ethernet card for the Apple II series of computers. 

**Uthernet II**: An Ethernet card for the Apple II series of computers. 

**utilities**: Programs that let you rename, copy, format, delete, and otherwise manipulate files and volumes.

**value**: An item of information passed from a calling routine to a function. Compare result. An item of information that can be stored in a variable, such as a number or a string.

**variable**: (1) A location in the computer's memory where a value can be stored. (2) The symbol used in a program to represent such a location. Compare constant.

**version**: A number indicating the release edition of a particular piece of software. Version numbers for most system software (such as ProDOS and the System Loader) are available through function calls.

**video monitor**: A display device that can receive video signals by direct connection only, and that cannot receive broadcast signals such as commercial television. Can be connected directly to the computer as a display device. Compare television set.

**volume**: An object that stores data; the source or destination of information. A volume has a name and a volume directory with the same name; information on a volume is stored in files. Volumes typically reside in devices; a device such as a floppy disk drive may contain one of any number of volumes (disks).

**volume bit map**: A portion of every ProDOS formatted disk that keeps track of free disk space.

**volume control block (VCB)**: A data structure set up in memory by ProDOS to keep track of all volumes/devices connected to the computer.

**volume directory**: A ProDOS directory file that is the principal directory of a volume. It has the same name as the volume. The pathname of every file on the volume starts with the volume directory name.

**volume name**: The name by which a particular volume is identified. It is the same as the filename of the volume directory file.

**VSDrive**: A virtual drive over Super Serial Card emulator supported by ADTPro software.

**VT-100**: The VT-100 is a video terminal, introduced in August 1978 by Digital Equipment Corporation (DEC). It was one of the first terminals to support ANSI escape codes for cursor control and other tasks, and added a number of extended codes for special features like controlling the status lights on the keyboard.

**VT100 Escape Code**: The set of special control codes used by the VT-100 to control the behavior of the display.

**warm start**: The process of transferring control back to the operating system in response to a failure in an application program. Compare cold start.

**Web Server**: A web server is server software, or hardware dedicated to running said software, that can satisfy World Wide Web client requests. A web server can, in general, contain one or more websites. A web server processes incoming network requests over HTTP and several other related protocols.

**WiModem**: WiModem is an internet modem for your 8 bit computer that emulates a standard Hayes compatible modem.

**wraparound**: The automatic continuation of text from the end of one line to the beginning of the next; wraparound means that you don't have to press the Return key at the end of each line as you type.

**write**: To transfer information from the computer to a destination external to the computer (such as a disk drive, printer, or modem) or from the computer's processor to a destination external to the processor (such as main memory).

**write protect**: To protect the information on a 5.25-inch disk by covering the write-enable notch with a write-protect tab, preventing the disk drive from writing any new information onto the disk. Compare copy protect.

**write-enable notch**: The square cutout on one edge of a 5.25-inch disk's jacket. If there is no write-enable notch, or if it is covered with a write-protect tab, the disk drive can read information from the disk, but cannot write on it.

**write-protect tab**: (1) A small adhesive sticker used to write protect a 5.25-inch disk by covering the write-enable notch. (2) The small plastic tab in the corner of a 3.5-inch disk jacket. You lock (write protect) the disk by sliding the tab toward the edge of the disk; you unlock the disk by sliding the tab back so that it covers the rectangular hole.

**X register**: One of the two index registers in the 6502 OR 65C816 microprocessor.

**XOFF**: A special character (ASCII value $11) used for controlling the transfer of data between a microcomputer and a serial peripheral device. When one piece of equipment receives an XOFF character from the other, it stops transmitting characters until it receives an XON. See handshaking, XON.

**XON**: A special character (ASCII value $13) used for controlling the transfer of data between a microcomputer and a serial peripheral device. See handshaking, XOFF.

**Y register**: One of the two index registers in the 6502 OR 65C816 microprocessor.

## License
A2osX is licensed under the GNU General Public License.

    This program is free software; you can redistribute it and/or modify 
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

The full A2osX license can be found **[Here](../LICENSE)**.

## Copyright

Copyright 2015 - 2020, Remy Gibert and the A2osX contributors.
