GLOSSARY

$

This symbol in front of a number indicates that the number should be interpreted as hexadecimal.

ANTIC

This is a separate microprocessor, contained within the ATARI 400/800 Computers, which is dedicated to the television display. ANTIC is user-programmable with an instruction set, a program (the "display list"), and data (the "display memory").

ATTRACT MODE

This is a feature provided by the operating system which, after nine minutes without a key being pressed, cycles the colors on the screen through random hues at lowered luminances. This ensures that a computer left unattended for several hours doesn't burn a static image into the television screen.

BACKGROUND

The area of the television screen display upon which player-missile graphics objects or playfield objects and/or text are projected. Background has its own user-definable color.

BCD

Acronym for Binary Coded Decimal. A numbering system in which each number is broken into a sequence of decimal digits. These decimal digits are then coded into binary, a task which requires four bits per digit, and stored in the resultant form. In the ATARI Computer, two such digits are stored in each 8-bit byte.

BORDER

In BASIC Mode 0, this is the area of the television screen display which is formed by the four edges of the screen. The border takes background color.

BRKKEY

A flag set when the OS senses that the BREAK key is typed. BRKKEY'S normal value is $FF — if it changes, then the BREAK key has been pressed.

BYTE COUNT

This is the file pointer's position within a sector on diskette.

CASSETTE BOOT FILE

A standard or user-created file which boots from cassette at power-up or SYSTEM RESET.

CHARACTER GRAPHICS

The technique of redefining the individual characters of a character set to form graphics images instead of text characters.

CHARACTER IMAGE

The unique 8 X 8 pixel grid which defines a particular character's shape.

CHARACTER MODE

This is a specific type of ANTIC display mode which displays screen display memory data bytes as characters, using a character set. There are six ANTIC character modes, three of which are accessible from BASIC.

CHARACTER NAME BYTE

A one-byte ANTIC display memory value which selects a unique character within the current character set using the character's sequential position in that set.

CHARACTER SET INDIRECTION

The technique of specifying to ANTIC a particular character set to be used by placing that set's beginning page address into CHBAS.

CHBAS

The OS shadow location which ANTIC uses to find the current character set which is to be used for character display modes. CHBAS is at decimal address 756.

CHECKSUM

This is a single byte sum of all the bytes in a record (either disk I/O or cassette I/O). For cassette I/O, this includes addition of the two marker characters, computed with end-around carry.

CIO

Acronym for Central I/O system routine. CIO routes I/O control data to the correct device handler and then passes control to the handler. CIO is also the common entry point for most of the OS I/O functions.

COARSE SCROLLING

The process of altering the display list LMS (Load Memory Scan) address bytes in order to vertically or horizontally scroll the screen image, one byte at a time. This is accomplished by adding 1 to or subtracting 1 from the LMS address bytes.

COLDSTART

Synonym for the power-up process which performs a series of system database initializations when the computer power switch is turned on. After coldstart, the system surrenders control to the user.

COLLISION

This occurs when a player or missile image coincides with another image. There are 60 possible collisions and each one has a bit assigned to it that can be checked. These bits are mapped into 16 registers in CTIA (with only the lower 4 bits used).

COLOR

One of 128 values obtained from a hue-luminance combination which is stored in a color register.

COLOR CLOCK

The standard unit of horizontal distance on the television screen. There are 228 color clocks in a horizontal scan line, but only 160 are displayed in a normal width playfield.

COLOR REGISTER

A hardware register (with corresponding OS shadow location) used to define the color for various portions of the screen display. There are nine color registers available on the ATARI Home Computer.

COLOR REGISTER INDIRECTION

The technique of specifying a particular color by pointing to its color register rather than directly specifying it.

COLOR SIGNAL

This contains the color information which is combined with the primary signal to form the modulating television signal. The color signal oscillates at 3.579 Mhz.

COLRSH

A zero-page location ($4F) set up and updated by the OS during vertical blank interrupts for ATTRACT mode processing. When ATTRACT mode is in force, COLRSH is given a new random value every 4 seconds.

COMMAND

In BASIC, this is the first executable token of a BASIC statement that tells BASIC to interpret the tokens that follow in a particular way.

CONSTANT

In BASIC, this is a 6-byte BCD value preceded by a special token. This value remains unchanged throughout the program execution.

CONTROL BYTE

In cassette I/O, this is part of every record. It contains one of three possible values.

CTIA

A television interface chip which is controlled primarily by ANTIC. CTIA converts ANTIC's digital commands into a signal that is sent to the television.

CURRENT STATEMENT

In BASIC, this is the current token within a line of the Statement Table.

CYCLE STEALING

This occurs when ANTIC halts 6502 processing in order to perform DMA functions for memory refresh and screen display purposes.

CYCLIC ANIMATION

The technique of repetitively flipping through colors, graphics images, or character graphics sets to animate screen images.

DCB

Acronym for Device Control Block. The DCB is used by the I/O subsystem to communicate between the device handler and SIO.

DEVICE HANDLERS

Routines present in OS ROM which are called through CIO (as long as the handler has an entry in HATABS) to communicate with particular devices. Currently supported are the display editor, the screen, the keyboard, the printer, and the cassette. More handlers can automatically boot in during power-up.

DEVICE SPEC

A special HATABS code which specifies a particular I/O device.

DIAGONAL SCROLLING

This results from the combination of horizontal and vertical scrolling of the screen image.

DISPLAY LIST

ANTIC's "program" defined by the user or provided automatically (through a GRAPHICS command) by BASIC. The display list specifies where the screen data may be found, what display modes to use to interpret screen data, and what special display options (if any) should be implemented.

DISPLAY LIST INTERRUPT

A special ANTIC display list instruction which interrupts the 6502 microprocessor during the drawing of the screen image, allowing the 6502 to change the screen parameters.

DISPLAY MODE

Either a BASIC or ANTIC methodology for interpreting text or map data bytes in screen memory and displaying them on the screen. ANTIC provides 15 display modes; BASIC, through the OS, supports only 9 of these modes.

DLI VECTOR

This is a 2-byte vector (low byte, high byte) to the Display List Interrupt service routine. This vector is set by the user and is located at [512,513] decimal.

DMA

Direct Memory Access. This occurs when ANTIC halts the 6502 and takes control of the system buses to fetch an instruction or data byte from memory.

DMACTL

The hardware register whose bit settings control the use of DMA by the ANTIC chip. This affects, among other things, player vertical resolution and player-missile graphics enabling.

DOS

Acronym for Disk Operating System which is an extension of the OS that allows the user to access disk drive mass storage as files.

DOUBLE-LINE RESOLUTION

A unit of vertical resolution for a player in player-missile graphics. Each player byte occupies two horizontal scan lines on the screen, and each player table is 128 bytes long.

DRKMSK

A zero-page ($4E) location set up and updated by the OS during vertical blank interrupts for ATTRACT mode process color register's value. This ensures a low luminance for ATTRACT mode.

DUP

Acronym for Disk Utility Package. DUP is a set of utilities for disk drive usage, familiarly seen as the DOS menu. DUP executes commands by calling FMS through CIO.

DYNAMIC DISPLAY LIST

This is an ANTIC display list which the 6502 changes during vertical blank periods, allowing for even greater flexibility in the screen display.

EOL

In BASIC, "End-of-Line", a character with the value $9B.

FILE

In cassette I/O, this consists of a 20-second leader of the mark tone plus any number of data bytes, and end-of-file. In diskette I/O, this consists of a number of sectors linked by pointers (125 data bytes per sector).

FILE POINTER

For diskette I/O, this is a value which indicates the current position in a file by specifying the Sector Number and the Byte Count. DOS keeps a file pointer for every file currently open.

FINE SCROLLING

The process of horizontally or vertically scrolling a screen image in color clock or scan line increments. The horizontal scrolling and vertical scrolling hardware registers must be used to fine scroll.

FMS

File Manager System. FMS is a nonresident device handler which supports some special CIO functions.

FONT

A collection of characters which constitutes a character set. These characters can be either text or graphics images.

FOREGROUND

Equivalent to playfield, the area of the screen which directly overlays the background of the screen. Foreground is formed by map displays and/or text.

FORMAT

A resident disk handler command that clears all the tracks on diskette.

FUNCTION

In BASIC, a token that when executed returns a value to the program.

GRAPHICS INDIRECTION

A special feature of the ATARI Computer which allows color register and character set generality by using indirect pointers to color and character set values.

HATABS

The device handler entry point table which is used by CIO. HATABS is located at $031A.

HORIZONTAL BLANK

This is the period during which the electron beam (as it draws the screen image) turns off and returns from the right edge of the screen to the left edge.

HORIZONTAL POSITION REGISTER

A special register which contains a user-definable value for the horizontal position of a player in player-missile graphics. This value is measured in units of color clocks.

HORIZONTAL SCAN LINE

The fundamental unit of measurement of vertical distance on the screen. The scan line is formed by a single trace of the electron beam across the screen.

HORIZONTAL SCROLL ENABLE BIT

This is bit D6 of the ANTIC display instruction which enables horizontal scrolling through the HSCROL register.

HORIZONTAL SCROLLING

This is the process of sliding the screen window to the left or right over display memory in order to display more information than could be seen with a static screen. Both coarse and fine horizontal scrolling and available.

HSCROL

This is the horizontal fine scrolling register located at $D404, containing the number of color clocks by which a line is to be horizontally scrolled.

HUE

The upper nybble value of a color register's color. There are 16 possible hues ($0 to $F) which in combination with a luminance value constitute distinct colors. Examples of hues are black, red, and gold.

IMMEDIATE MODE

In BASIC, the mode where the input line is not preceded by a line number. BASIC immediately executes the line.

INPUT BAUD RATE

For cassette I/O, this is assumed to be a nominal 600 baud (physical bits per second). However, this rate is adjusted by SIO to account for drive motor variations, stretched tape, etc.

INPUT LINE BUFFER

In BASIC, from $580 to $5FF.

INTER-RECORD GAP

For cassette I/O records, this consists of the Post-record Gap of a given record followed by the Pre-record Write Tone of the next record.

I/O

Input/Output.

IOCB

Acronym for Input/Output Control Block. There are eight of these whose function is to communicate between the user program and CIO.

IRQ

Maskable (can be enabled or disabled by the 6502) interrupts such as the Break Key IRQ.

IRQEN

The write-only register that contains the IRQ enable/disable bits. IRQEN is shadowed at POKMSK.

KERNEL

A primitive software/hardware technique which consists of a 6502 program loop which is precisely timed to the display cycle of the television set. The kernel code monitors the VCOUNT register and consults a table of screen changes catalogued as a function of VCOUNT values so that the 6502 can arbitrarily control all graphics values for the entire screen.

LINE

In BASIC, a line consists of one or more BASIC statements preceded either by a line number in the range of 0 to 32767, or an immediate mode line with no line number.

LOMEM

In BASIC, this is the pointer ([80,81] decimal) to a buffer used to tokenize one line of code. The buffer is 256 bytes long, residing at the end of the operating system's allocated RAM.

LSI

Acronym for Large Scale Integration. This refers to a technology for manufacturing silicon chips. LSI chips are the largest and most powerful chips in mass production; they contain many thousands of components.

LUMINANCE

The lower nybble of a color register's color. There are eight even-numbered values for luminance ($0 to $F, even values only) which in combination with hue values produce the 128 colors available on the ATARI 400/800 Computer.

MAP MODE

This is a specific type of ANTIC display mode using simple colored screen pixels instead of characters for the screen display. There are eight ANTIC map modes, with varying degrees of resolution. Six of these are callable from BASIC.

MARK

For cassette I/O, this is a 5327-Hz frequency.

MARKER CHARACTER

For cassette I/O, this is a 55 (hex) value whose purpose is for adjusting the baud rate. Including the start and stop bits, each marker character is 10 bits long.

MEMTOP

In BASIC, a pointer ([90,91] decimal) to the top of application RAM, the end of the user program. Program expansion can occur from this point to the end of free RAM, which is defined by the start of the display list. This MEMTOP is not the same as the OS variable called MEMTOP.

MISSILE

A one-dimensional image in RAM used in player-missile graphics which is 2 bits wide. There is a maximum of four missiles, one for each player.

MODE LINE

A collection of horizontal scan lines for screen displays. Depending upon the BASIC or ANTIC display mode in effect, a mode line will be composed of varying numbers of scan lines. By the same token, depending upon the display mode, a screen image will be composed of varying numbers of mode lines.

MONITOR

A program in ROM that handles both the system power-up and SYSTEM RESET sequences.

NARROW PLAYFIELD

A screen display width option equal to a width of 128 color clocks.

NMI

Non-Maskable Interrupt (i.e., cannot be disabled by the 6502). The Display List Interrupt and the Vertical Blank Interrupt are both NMIs. These can be disabled with the ANTIC NMIEN register.

NMIEN

The Non-Maskable Interrupt Enable register which controls enabling of various NMI interrupts such as the Display List Interrupt (DLI).

NORMAL IRG MODE

In cassette I/O, this is a mode where the tape always comes to a stop after each record is read. If the computer stops the tape and gets its processing done fast enough, then the next read may occur so quickly that the cassette deck may see only a slight dip in the control line.

NORMAL PLAYFIELD

A screen display width option equal to a width of 160 color clocks.

OPERATOR

In BASIC, any one of the 46 tokens that in some way move or modify the values that follow them.

OPERATOR STACK

In BASIC, a software stack where operators are placed when an arithmetic BASIC expression is being evaluated.

OVERSCAN

The "spreading out" of a television image by the raster scan method of display so that the edges of the picture are off the edge of the television tube. This guarantees no unsightly borders in the television picture.

PIA

Acronym for Peripheral Interface Adaptor. This is an LSI chip which interfaces the 6502 with external devices. The joystick pins of the four user ports are connected to a PIA inside the computer.

PIXEL

The smallest screen graphics unit addressable in a particular display mode. It is a square whose size depends on the display mode.

PLAYER

A one-dimensional RAM image used in player-missile graphics which can be 128 bytes (double-line resolution) or 256 bytes (single-line resolution) long. The player appears as a vertical band 8 pixels wide stretching from the top of the screen to the bottom. There is a maximum of four independent players.

PLAYER COLOR

The color of a player in player-missile graphics. Each of the four independent players has its own color stored in its associated color register.

PLAYER-MISSILE AREA

A RAM area that contains the images of the four players and four missiles of player-missile graphics, as well as some extra RAM. The player-missile area must be on a 1K boundary for single-line resolution players or a 2K boundary for double-line resolution players.

PLAYER-MISSILE GRAPHICS

Atari's solution for simplifying animation by creating an image (a player or missile) which is one-dimensional in RAM but two-dimensional on the screen.

PLAYFIELD

The area of the screen which directly overlays the background of the screen. Map graphics and/or text form this playfield.

PLAYFIELD ANIMATION

The technique of animating an object by moving its image bytes to new locations in screen memory, and then erasing the bytes of the old image before displaying the new image.

PMBAS

A register that points to the beginning of the player-missile area.

POKEY

A digital I/O chip that handles the serial I/O bus, audio generation, keyboard scan, and random number generation. POKEY also digitizes the resistive paddle inputs and controls maskable interrupt (IRQ) requests.

POKEY TIMERS

These are hardware timers within POKEY. Unlike System Timers, which are maintained by the OS software and are fixed, the POKEY chip timers are clocked by frequencies set by the user.

POST-RECORD GAP

A pure mark tone frequency used as a post-record delimiter in cassette I/O.

PRE-RECORD WRITE TONE

A pure mark tone frequency used as a pre-record delimiter in cassette I/O.

PRIMARY SIGNAL

This contains the luminance information — brightness data, horizontal and vertical syncs and blanks — of the modulated television signal.

PRIORITY-CONTROL REGISTER

Also known as PRIOR, and shadowed at GPRIOR. This register specifies which playfield, player, or background images have priority in the case of image overlaps during the screen display process.

RAM VECTOR

Alterable system vector that contains 2-byte addresses to system routines, handler entry pointers, or to initialization routines. RAM vectors are initialized at power-up and SYSTEM RESET.

RASTER SCAN

A television display system that uses an electron beam generated at the rear of the television tube. The beam sweeps across the screen in a regular left-to-right, top-to-bottom fashion.

RECORD

For diskette I/O, a group of bytes delimited by EOLs ($9B). For cassette I/O, this is a group of 132 bytes which is composed of two marker characters for cassette speed measurement, a control byte, 128 data bytes, and the checksum byte.

RESIDENT DISK HANDLER

The fundamental software in the OS ROM containing the absolutely essential disk handler routines. This software performs five important low-level disk I/O functions such as FORMAT, READ SECTOR, WRITE SECTOR, WRITE/VERIFY SECTOR, and STATUS.

ROM VECTOR

Unalterable system vector that contains JMP instructions to system routines. The ROM vector allows a programmer to write software that uses the OS routines without running the risk of the routines being made unworkable by new releases of the OS ROM.

RTCLOK

One of the system timers which is 3 bytes in length and is updated during immediate VBLANK. RTCLOK can be used as a reference clock for an application program.

RUNSTK

In BASIC, a pointer ([8E,8F] decimal) to the Run Time Stack.

RUN TIME STACK

In BASIC, a software stack that contains GOSUB and FOR/NEXT return address entries.

SCREEN MEMORY

A RAM area used by the 6502 to store bytes of data that will be fetched (by DMA) by ANTIC to be interpreted and eventually displayed as images on the screen.

SECTOR

On a diskette, this is a 128-byte physical area. The diskette contains 40 tracks with 18 sectors per track.

SECTOR NUMBER

A value from 1 to 719 that specifies the sector to which the file pointer is currently pointing.

SETVBV

A system routine that sets the system timers and sets user-definable interrupt vector addresses without danger of crashes due to interrupts in mid-process.

SHADOWING

A process in which values are moved between hardware locations and RAM locations, thereby allowing the program to monitor the contents of write-only hardware registers or check the inputs form read-only hardware registers.

SHORT IRG MODE

In cassette I/O, this means the tape is not stopped between records. The BASIC commands "CSAVE" and "CLOAD" both specify this mode.

SINGLE-LINE RESOLUTION

A unit of vertical resolution for a player in player-missile graphics. Each player byte occupies one horizontal scan line on the screen, and each player table is 256 bytes long.

SIO

Serial I/O system routine which handles communication between the serial device handlers in the computer and devices on the serial bus (cassette, printer, disk drive, and RS-232).

SIO INTERRUPTS

These are three IRQ interrupts used by SIO to send and receive serial bus communications to serial bus devices. These three are VSERIR (Serial Input Ready), VSEROR (Serial Output Needed), and VSEROC (Transmission Finished).

SOUND REGISTER

Audio-producing hardware in the ATARI Home Computer System which contains frequency, volume, and distortion information, but not duration.

SPACE

For cassette I/O, this is a 3995-Hz frequency output to the cassette tape as a delimiter in conjunction with mark tones.

STARP

In BASIC, the pointer ([8C,8D] decimal) to the String Array Area.

STATEMENT

In BASIC, this is a complete "sentence" of tokens that causes BASIC to perform some meaningful task. In LIST form, statements are separated by colons.

STATEMENT TABLE

In BASIC, this is a block of data that includes all the lines of code that have been entered by the user and tokenized by BASIC. This table also includes the immediate mode line.

STMCUR

In BASIC, the pointer ([8A,8B] decimal) to the current BASIC statement.

STMTAB

In BASIC, this is the pointer ([88,89] decimal) to the Statement Table.

STRING ARRAY AREA

In BASIC, this block contains all the string and array data.

SYNC MARK

This is a 3995-Hz space frequency used as a sort of "end-of-record" marker for audio tracks on the cassette. In applications software it is useful for synchronizing the computer screen display with cassette audio.

SYSTEM DATABASE

This is an area that occupies RAM pages 0 through 4, containing many locations that store information of importance to the operating system.

SYSTEM TIMER

A timer provided by the ATARI 400/800 Computers that runs at the frequency of the television frame which for North American televisions (NTSC) is 59.923334 Hz. European (PAL) televisions run at 50 Hz. There are six system timers, and they are clocked as part of the vertical blank process.

TELEVISION ARTIFACT

A pixel on an NTSC screen, one color clock wide, that contains color not assigned by the computer. This color is derived from internal oddities of color television displays. Artifacting is possible in ANTIC modes 2, 3, and 15 which correspond to BASIC modes 0, no mode, and 8.

TEXT WINDOW

On a screen display, this is a two-dimensional area set aside for character displays.

TOKEN

In BASIC, an 8-bit byte containing a particular execution code.

TOKENIZING

In BASIC, this is the process of getting a line of ATASCII character input and creating a series of 8-bit bytes which contain tokens, meaningful execution codes.

VARIABLE

In BASIC, a token that is an indirect pointer to an entries in variable tables that contain the variable name and the variable value.

VARIABLE NAME TABLE

In BASIC, this is the table containing a list of all the variable names that have been entered in a program.

VARIABLE VALUE TABLE

In BASIC, this table contains the numerical value of each variable.

VBREAK

This is the 6502 BRK instruction IRQ vector. Whenever a $00 opcode (the software break instruction) is executed, this interrupt occurs. VBREAK normally points to an RTI instruction.

VCOUNT REGISTER

The ANTIC register which keeps track of which horizontal scan line ANTIC is displaying.

VDSLST

This is the Display List Interrupt NMI vector located at [$0200,$0201].

VERTICAL BLANK

The period during which the electron beam (as it draws the screen image) returns from the bottom of the screen to the top. This period is about 1400 microseconds in duration.

VERTICAL BLANK INTERRUPT

A non-maskable interrupt which occurs every 60th of a second during the vertical blank time of the television display. In responding to this interrupt, the OS performs various housekeeping functions such as shadowing color registers.

VERTICAL SCROLL ENABLE BIT

This is bit D5 of the ANTIC display list instruction byte which enables vertical fine scrolling through VSCROL ($D405), the vertical fine scroll register.

VERTICAL SCROLLING

The process of vertically "rolling" the display screen "window" over a larger amount of screen data in display memory than can be displayed by a static screen window. Both coarse and fine vertical scrolling are available on the ATARI 400/800 Computers.

VIMIRQ

This is the immediate IRQ vector. All IRQs vector through this location. VIMIRQ normally points to the IRQ handler. This vector can be "stolen" to do user IRQ processing.

VINTER

This is the Peripheral Interrupt IRQ vector. The interrupt line is also available on the serial bus. VINTER normally points to an RTI instruction.

VKEYBD

This is the keyboard IRQ vector which is activated by pressing any key except BREAK. This vector normally points to the OS's own keyboard IRQ routine.

VNTD

In BASIC, this is the pointer ([84,85] decimal) to the Variable Name Table Dummy end. BASIC uses this pointer to indicate the end of the name table. This pointer normally points to a dummy zero byte when there are less than 128 variables. When 128 variables are present, this points to the last byte of the last variable name.

VNTP

In BASIC, the pointer ([82,83] decimal) to the Variable Name Table.

VPRCED

This is the Peripheral Proceed IRQ vector. The proceed line is available to peripherals on the serial bus. This IRQ is unused at the present and normally points to an RTI instruction.

VSCROL

This is the vertical fine scroll register located at $D405. Into VSCROL the user stuffs the number of scan lines by which the screen line is to be vertically scrolled.

VSERIN

This is the POKEY serial Input Ready IRQ vector.

VSEROR

This is the POKEY serial Output Ready IRQ vector.

VTIMR1

This is the POKEY timer 1 IRQ vector.

VTIMR2

This is the POKEY timer 2 IRQ vector.

VTIMR4

This is the POKEY timer 4 IRQ vector.

VVBLKD

This is the Vertical Blank Deferred NMI interrupt vector located at [$0224,$0225].

VVBLKI

This is the Vertical Blank Immediate NMI interrupt vector located at [$0222,$0223].

VVTP

In BASIC, this is the pointer ([86,87] decimal) to the Variable Value Table.

WARMSTART

Another name for SYSTEM RESET routine. The warmstart initializes most of the system vectors but does not check RAM size.

WIDE PLAYFIELD

A screen display width option equal to a width of 192 color clocks.

WSYNC

Wait for Horizontal Sync of the electron beam which is drawing the screen image. The WSYNC register, when written to in any way, pulls down the RDY line on the 6502 microprocessor, freezing the 6502 until the electron beam drawing the screen image returns to the left edge of the screen.

ZERO-PAGE

In the ATARI Home Computer System, this is the stretch of memory which spans locations $0000 to $00FF.

ZIOCB

Zero-page I/O Control Block is used to communicate I/O control data between CIO and the device handlers.


Return to Table of Contents | Previous Chapter | Next Chapter