# APPENDIX C - GLOSSARY ACCESS TIME The time required to locate and read or write data on a direct access storage device, such as a diskette drive. ADDRESS The numeric location of a piece of data in memory. Usually given as a hexadecimal number from $0000 to $FFFF (65535 decimal). A disk address is the location of a data sector, expressed in terms of its track and sector numbers. ALGORITHM A sequence of steps which may be performed by a program or other process, which will produce a given result. ALPHANUMERIC An alphabetic character (A-Z) or a numeric digit (0-9). The term used to refer to the class of all characters and digits. ANALOG As opposed to digital. Having a value which is continuous, such as a voltage or electrical resistance. AND The logical process of determining whether two bits are both ones. 0 AND 1 results in 0 (false), 1 AND 1 results in 1 (true). ARM The portion of a disk drive which suspends the read/write head over the disk's surface. The arm can be moved radially to allow access to different tracks. ASCII American Standard Code for Information Interchange. A hexadecimal to character conversion code assignment, such that the 256 possible values of a single byte may each represent a alphabetic, numeric, special, or control character. ASCII is used when interfacing to peripherals, such as keyboards, printers, or video text displays. ASSEMBLY LANGUAGE Also known as MACHINE LANGUAGE. The native programming language of the individual computer. Assembly language is oriented to the machine, and is not humanized, as is BASIC, PASCAL, or FORTRAN. An assembler is used to convert assembly language statements to an executable program. BACKUP The process of making a copy of a program or data against the possibility of its accidental loss or destruction. BASE The number system in use. Decimal is base 10, since each digit represents a power of 10 (1,10,100,...). Hexadecimal is base 16 (1,16,256,...). Binary is base 2 (1,2,4,8,...). BINARY A number system based upon powers of 2. Only the digits 0 and 1 are used. 101 in binary, for example, is 1 units digit, 0 twos, and 1 fours, or 5 in decimal. BIT A single binary digit (a 1 or a 0). A bit is the smallest unit of storage or information in a computer. BIT CELL The space on a diskette, between two clock pulses, which can hold the value of a single binary 0 or 1 (bit). BIT SLIP MARKS The epilogue of a disk field. Used to double check that the disk head is still in read sync and the sector has not been damaged. BOOT/BOOTSTRAP The process of loading a very large program into memory by loading successively larger pieces, each of which loads its successor. The program loads itself by "pulling itself up by its bootstraps". BRK BREAK. An assembly langauge instruction which can be used to force an interrupt and immediate suspension of execution of a program. BUFFER An area of memory used to temporarily hold data as it is being transferred to or from a peripheral, such as a disk drive. BUG A programming error. Faulty operation of a program. BYTE The smallest unit of addressable memory in a computer. A byte usually consists of 8 bits and can contain a decimal number ranging from 0 to 255 or a single alphanumeric character. CARRIAGE RETURN A control character which instructs the printer to end one line and begin another. When printing a carriage return is usually followed by a line feed. CARRY FLAG A 6502 processor flag which indicates that a previous addition resulted in a carry. Also used as an error indicator by many system programs. CATALOG A directory of the files on a diskette. See DIRECTORY. CHAIN A linked list of data elements. Data is chained if its elements need not be contiguous in storage and each element can be found from its predecessor via an address pointer. CHECKSUM/CRC A method for verifying that data has not been damaged. When data is written, the sum of all its constituent bytes is stored with it. If, when the data is later read, its sum no longer matches the checksum, it has been damaged. CLOBBERED Damaged or destroyed. A clobbered sector is one which has been overwritten such that it is unrecoverable. CODE Executable instructions to the computer, usually in machine language. COLDSTART A restart of a program which reinitializes all of its parameters, usually erasing any work which was in progress at the time of the restart. A DOS coldstart erases the BASIC program in memory. CONTIGUOUS Physically next to. Two bytes are contiguous if they are adjoining each other in memory or on the disk. CONTROL BLOCK A collection of data which is used by the operating system to manage resources. Examples of a control block used by DOS are the file buffers. CONTROL CHARACTER A special ASCII code which is used to perform a unique function on a peripheral, but does not generate a printable character. Carriage return, line feed, form feed, and bell are all control characters. CONTROLLER CARD A hardware circuit board which is plugged into an APPLE connector which allows communication with a peripheral device, such as a disk or printer. A controller card usually contains a small driver program in ROM. CSWL A vector in zero-page through which output data is passed for display on the CRT or for printing. CYCLE The smallest unit of time within the central processor of the computer. Each machine language instruction requires two or more cycles to complete. One cycle (on the APPLE) is one micro-second or one millionth of a second. DATA Units of information. DATA SECTOR BUFFER On the APPLE, a 256 byte buffer used by DOS to hold the image of any given sector on the diskette. As information is read from the file, data is extracted from the data sector buffer until it is exhausted, at which time it is refilled with the next sector image. DATA TYPE The type of information stored in a byte. A byte might contain a printable ASCII character, binary numeric data, or a machine language instruction. DCT Device Characteristics Table. Used as an input parameter table to Read/Write Track/Sector (RWTS) to describe the hardware characteristics of the diskette drive. DECIMAL A number system based upon powers of 10. Digits range from 0 to 9. DEFERRED COMMANDS DOS commands which may (or must) be invoked from within an executing BASIC program. OPEN, READ, WRITE, and CLOSE are all examples of deferred commands. DIGITAL As opposed to analog. Discrete values as opposed to continuous ones. Only digital values may be stored in a computer. Analog measurements from the real world, such as a voltage or the level of light outside, must be converted into a numerical value which, of necessity, must be "rounded off" to a discrete value. DIRECT ACCESS Peripheral storage allowing rapid access of any piece of data, regardless of its placement on the medium. Magnetic tape is generally not considered direct access, since the entire tape must be read to locate the last byte. A diskette is direct access, since the arm may be rapidly moved to any track and sector. DIRECTORY A catalog of all files stored on a diskette. The directory must contain each file's name and its location on the disk as well as other information regarding the type of data stored there. DISK INITIALIZATION The process which places track formatting information, including sectors and gaps, on a blank diskette. During disk initialization, DOS also places a VTOC and directory on the newly formatted disk, as well as saving the HELLO program. DISPLACEMENT The distance from the beginning of a block of data to a particular byte or field. Displacements are usually given beginning with 0, for the first byte, 1 for the second, etc. Also known as an offset. DRIVER A program which provides an input stream to another program or an output device. A printer driver accepts input from a user program in the form of lines to be printed, and sends them to the printer. DUMP An unformatted or partially formatted listing of the contents of memory or a diskette in hexadecimal. Used for diagnostic purposes. ENCODE To translate data from one form to another for any of a number of reasons. In DOS 3.3, Data is encoded from 8 bit bytes to 6 bit bytes for storage on a DISK II. ENTRY POINT (EPA) The entry point address is the location within a program where execution is to start. This is not necessarily the same as the load point (or lowest memory address in the program). EOF End Of File. This mark signals the end of a data file. $00 for APPLE DOS text files. EPILOGUE The last three bytes of a field on a track. These unique bytes are used to insure the integrity of the data which preceeds them. EXCLUSIVE OR A logical operation which compares two bits to determine if they are different. 1 EOR 0 results in 1. 1 EOR 1 results in 0. FIELD A group of contiguous bytes forming a single piece of data, such as a person's name, his age, or his social security number. In disk formatting, a group of data bytes surrounded by gaps. FILE A named collection of data on a diskette or other mass storage medium. Files can contain data or programs. FILE BUFFERS In APPLE DOS, a collection of buffers used to manage one open file. Included are a data sector buffer, a Track/Sector List sector buffer, a file manager workarea buffer, the name of the file, and pointers. The DOS command, MAXFILES 3, causes 3 of these file buffers to be allocated. FILE DESCRIPTOR A single entry in a diskette directory which describes one file. Included are the name of the file, its data type, its length, and its location on the diskette. FILE MANAGER That portion of DOS which manages files. The file manager handles such general operations as OPEN, CLOSE, READ, WRITE, POSITION, RENAME, DELETE, etc. FILE TYPE The type of data held by a file. Valid DOS file types are Binary, Applesoft, Integer-BASIC, Text, Relocatable, S, A, and B. FIRMWARE A middle ground between hardware and software. Usually used to describe micro-code or programs which have been stored in read-only memory. GAPS The spaces between fields of data on a diskette. Gaps on an APPLE diskette contain self-sync bytes. HARD ERROR An unrecoverable Input/Output error. The data stored in the disk sector can never be successfully read again. HARDWARE Physical computer equipment, as opposed to programs which run on the equipment. A disk drive is an example of a hardware component. HEAD The read/write head on a diskette drive. A magnetic pickup, similar in nature to the head on a stereo tapedeck, which rests on the spinning surface of the diskette. HEXADECIMAL/HEX A numeric system based on powers of 16. Valid hex digits range from 0 to 9 and A to F, where A is 10, B is 11, ... , and F is 15. B30 is 11 256's, 3 16's, and 0 1's, or 2864 in decimal. Two hexadecimal digits can be used to represent the contents of one byte. Hexadecimal is used with computers because it easily converts with binary. HIGH MEMORY Those memory locations which have high address values. $FFFF is the highest memory location. Also called the "top" of memory. HIMEM APPLE's zero-page address which identifies the first byte past the available memory which can be used to store BASIC programs and their variables. IMMEDIATE COMMAND A DOS command which may be entered at any time, especially when DOS is waiting for a command from the keyboard. Deferred commands are the opposite of immediate commands. INDEX A displacement into a table or block of storage. INSTRUCTION A single step to be performed in an assembly language or machine language program. Instructions perform such operations as addition, subtraction, store, or load. INTEGER As opposed to floating point. A "whole" number with no fraction associated with it. INTERCEPT A program which logically places itself in the execution path of another program, or pair of programs. A video intercept is used to re-direct program output from the screen to a printer, for example. INTERLEAVE The practice of selecting the order of sectors on a diskette track to minimize access time due to rotational delay. Also called "skewing" or interlacing. INTERRUPT A hardware signal which causes the computer to halt execution of a program and enter a special handler routine. Interrupts are used to service real-time clock time-outs, BRK instructions, and RESET. IOB Input/Output Block. A collection of parameter data, passed to Read/Write Track/Sector, describing the operation to be performed. I/O ERROR Input/Output Error. An error which occurs during transmission of data to or from a peripheral device, such as a disk or cassette tape. JMP A 6502 assembly langauge instruction which causes the computer to begin executing instructions at a different location in memory. Similar to a GOTO statement in BASIC. JSR A 6502 assembly langauge instruction which causes the computer to "call" a subroutine. Similar to a CALL statement in BASIC. K A unit of measurement, usually applied to bytes. 1 K bytes is equivalent to 1024 bytes. KSWL A vector in zero-page through which input data is passed for from the keyboard or a remote terminal. LABEL A name associated with a location in a program or in memory. Labels are used in assembly langauge much like statement numbers are used in BASIC. LATCH A component into which the Input/Output hardware can store a byte value, which will hold that value until the central processor has time to read it (or vice versa). LINK An address pointer in an element of a linked chain of data or buffers. LIST A one dimensional sequential array of data items. LOAD POINT (LP) The lowest address of a loaded assembly language program -- the first byte loaded. Not necessarily the same as the entry point address (EPA). LOGICAL A form of arithmetic which operates with binary "truth" or "false", 1 or 0. AND, OR, NAND, NOR, and EXCLUSIVE OR are all logical operations. LOOP A programming construction in which a group of instructions or statements are repeatedly executed. LOW MEMORY The memory locations with the lowest addresses. $0000 is the lowest memory location. Also called the "bottom" of memory. LOMEM APPLE's zero-page address which identifies the first byte of the available memory which can be used to store BASIC programs and their variables. LSB/LO ORDER Least Significant Bit or Least Significant Byte. The 1's bit in a byte or the second pair of hexadecimal digits forming an address. In the address $8030, $30 is the LO order part of the address. MASTER DISK A DOS diskette which will boot in an APPLE II of any size memory and take full advantage of it. MICROSECOND A millionth of a second. Equivalent to one cycle of the APPLE II central processor. Also written as "Usec". MONITOR A machine language program which always resides in the computer and which is the first to receive control when the machine is powered up. The APPLE monitor resides in ROM and allows examination and modification of memory at a byte level. MSB/HI ORDER Most Significant Bit or Most Significant Byte. The 128's bit of a byte (the left-most) or the first pair of hexadecimal digits in an address. In the byte value $83, the MSB is on (is a 1). NULL Empty, having no length or value. A null string is one which contains no characters. The null control character ($00) produces no effect on a printer (also called an idle). NIBBLE/NYBBLE A portion of a byte, usually 4 bits and represented by a single hexadecimal digit. $FE contains two nibbles, $F and $E. OBJECT CODE A machine language program in binary form, ready to execute. Object code is the output of an assembler. OBJECT MODULE A complete machine language program in object code form, stored as a file on a diskette. OFFSET The distance from the beginning of a block of data to a particular byte or field. Offsets are usually given beginning with 0, for the first byte, 1 for the second, etc. Also known as a displacement. OPCODE Operation Code. The three letter mnemonic representing a single assembly langauge instruction. JMP is the opcode for the jump instruction. OPERATING SYSTEM A machine language program which manages the memory and peripherals automatically, simplifying the job of the applications programmer. OR The logical operation comparing two bits to determine if either of them are 1. 1 OR 1 results in 1 (true), 1 OR 0 results in 1, 0 OR 0 results in 0 (false). OVERHEAD The space required by the system, either in memory or on the disk, to manage either. The disk directory and VTOC are part of a diskette's overhead. PAGE 256 bytes of memory which share a common high order address byte. Zero page is the first 256 bytes of memory ($0000 through $00FF). PARALLEL Opposite of serial. A communication mode which sends all of the bits in a byte at once, each over a separate line or wire. PARAMETER LIST An area of storage set aside for communication between a calling program and a subroutine. The parameter list contains input and output variables which will be used by the subroutine. PARITY A scheme, similar to checksums but on a bit level rather than a byte level, which allows detection of errors in a single data byte. An extra parity bit is attached to each byte which is a sum of the bits in the byte. Parity is used in expensive memory to detect or correct single bit failures, and when sending data over communications lines to detect noise errors. PARSE The process of interpreting character string data, such as a command with keywords. PATCH A small change to the object code of an assembly language program. Also called a "zap". PERIPHERAL A device which is external to the computer itself, such as a disk drive or a printer. Also called an Input/Output device. PHYSICAL RECORD A collection of data corresponding to the smallest unit of storage on a peripheral device. For disks, a physical record is a sector. POINTER The address or memory location of a block of data or a single data item. The address "points" to the data. PROLOGUE The three bytes at the beginning of a disk field which uniquely identify it from any other data on the track. PROM Programmable Read Only Memory. PROMs are usually used on controller cards associated with peripherals to hold the driver program which interfaces the device to applications programs. PROMPT An output string which lets the user know that input is expected. A "*" is the prompt character for the APPLE monitor. PROTECTED DISK A diskette whose format or content has been modified to prevent its being copied. Most retail software today is distributed on protected disks to prevent theft. PSEUDO-OPCODE A special assembly language opcode which does not translate into a machine instruction. A pseudo-opcode instructs the assembler to perform some function, such as skipping a page in an assembly listing or reserving data space in the output object code. RANDOM ACCESS Direct access. The capability to rapidly access any single piece of data on a storage medium without having to sequentially read all of its predecessors. RAM Random Access Memory. Computer memory which will allow storage and retrieval of values by address. RECAL Recalibrate the disk arm so that the read/write head is positioned over track zero. This is done by pulling the arm as far as it will go to the outside of the diskette until it hits a stop, producing a "clacking" sound. RECORD A collection of associated data items or fields. One or more records are usually associated with a file. Each record might correspond to an employee, for example. REGISTER A named temporary storage location in the central processor itself. The 6502 has 5 registers; the A, X, Y, S, and P registers. Registers are used by an assembly language program to access memory and perform arithmetic. RELEASE A version of a distributed piece of software. There have been several releases of DOS. RELOCATABLE The attribute of an object module file which contains a machine language program and the information necessary to make it run at any memory location. RETURN CODE A numeric value returned from a subroutine, indicating the success or failure of the operation attempted. A return code of zero usually means there were no errors. Any other value indicates the nature of the error, as defined by the design of the subroutine. ROM Read Only Memory. Memory which has a permanent value. The APPLE monitor and BASIC interpreters are stored in ROM. RWTS Read/Write Track/Sector. A collection of subroutines which allow access to the diskette at a track and sector level. RWTS is part of DOS and may be called by external assembly language programs. SEARCH The process of scanning a track for a given sector. SECTOR The smallest updatable unit of data on a disk track. One sector on an APPLE DISK II contains 256 data bytes. SECTOR ADDRESS A disk field which identifies the sector data field which follows in terms of its volume, track, and sector number. SECTOR DATA A disk field which contains the actual sector data in nibbilized form. SEEK The process of moving the disk arm to a given track. SELF-SYNC Also called "auto-sync" bytes. Special disk bytes which contain more than 8 bits, allowing synchronization of the hardware to byte boundaries when reading. SEQUENTIAL ACCESS A mode of data retreival where each byte of data is read in the order in which it was written to the disk. SERIAL As opposed to parallel. A communication mode which sends data bits one at a time over a single line or wire. SHIFT A logical operation which moves the bits of a byte either left or right one position, moving a 0 into the bit at the other end. SLAVE DISK A diskette with a copy of DOS which is not relocatable. The DOS image will always be loaded into the same memory location, regadless of the size of the machine. SOFT ERROR A recoverable I/O error. A worn diskette might produce soft errors occasionally. SOFTWARE Computer programs and data which can be loaded into RAM memory and executed. SOURCE CODE A program in a form which is understandable to humans; in character form as opposed to internal binary machine format. Source assembly code must be processed by an assembler to translate it into machine or "object" code. SKEWING The process of interleaving sectors. See INTERLEAVE. STATE MACHINE A process (in software or hardware) which defines a unique target state, given an input state and certain conditions. A state machine approach is used in DOS to keep track of its video intercepts and by the hardware on the disk controller card to process disk data. STROBE The act of triggering an I/O function by momentarily referencing a special I/O address. Strobing $C030 produces a click on the speaker. Also called "toggling". SUBROUTINE A program whose function is required repeatedly during execution, and therefore is called by a main program in several places. TABLE A collection of data entries, having similar format, residing in memory. Each entry might contain the name of a program and its address, for example. A "lookup" can be performed on such a table to locate any given program by name. TOGGLE The act of triggering an I/O function by momentarily referencing a special I/O address. Toggling $C030 produces a click on the speaker. Also called "strobe". TOKENS A method where human recognizable words may be coded to single binary byte values for memory compression and faster processing. BASIC statements are tokenized, where hex codes are assigned to words like IF, PRINT, and END. TRACK One complete circular path of magnetic storage on a diskette. There are 35 concentric tracks on an APPLE diskette. TRANSLATE TABLE A table of single byte codes which are to replace input codes on a one-for-one basis. A translate table is used to convert from 6 bit codes to disk codes. T/S LIST Track/Sector List. A sector which describes the location of a file by listing the track and sector number for each of its data sectors in the order that they are to be read or written. TTL Transistor to Transistor Logic. A standard for the interconnection of integrated circuits which also defines the which voltages represent 0's and 1's. UTILITY A program which is used to maintain, or assist in the development of, other programs or disk files. VECTOR A collection of pointers or JMP instructions at a fixed location in memory which allow access to a relocatable program or data. VOLUME An identification for a diskette, disk platter, or cassette, containing one or more files. VTOC Volume Table Of Contents. Based upon the IBM OS/VS VTOC. On the APPLE, a sector mapping the free sectors on the diskette and giving the location of the directory. WARMSTART A restart of a program which retains, as much as is possible, the work which was in progress at the time. A DOS warmstart retains the BASIC program in memory. WRITE PROTECTED A diskette whose write protect notch is covered, preventing the disk drive from writing on it. ZAP From the IBM utility program, SUPERZAP. A program which allows updates to a disk at a byte level, using hexadecimal. ZERO PAGE The first 256 bytes of memory in a 6502 based machine. Zero page locations have special significance to the central processor, making their management and assignment critical.