4211:'s graphics modes. The pixel resolution is 320 across but the color resolution half that, thus each group of two pixels will "blend" together to form a single color and four artifact colors may be generated this way. They will be tinted if the foreground and background color are set to something other than black/white/gray. The exact colors produced this way vary with different Atari 8-bit models and also between the CTIA and GTIA chips, thus undesirable artifact colors may result from running software that uses Mode F on a machine other than the one it was developed for. It was not possible to obtain artifact coloring on PAL machines and Mode F will be monochrome on them.
6711:
scrolling. ANTIC presents fake data for the area emptied by the shifted screen—on the left side of the display the background color will be shifted in and on the right side a few color clocks of random data will appear at the end of the scrolling range. This pixel data is not usually noticeable, since this occurs in the overscan area where it is not ordinarily visible. However, if these false
Playfield pixels intersect Player/Missile pixels a collision will be flagged. The solution for Players/Missiles that have moved into the overscan area is to reset their positions to zero to remove them from the display and so prevent false collisions.
2970:, adds three alternative color interpretations for each ANTIC graphics mode providing a total of 56 (14 times four) graphics modes. However, only the ANTIC graphics modes based on half-color clock pixels are capable of expressing the complete color palette provided by the new color interpretations, and of those modes the ones convenient for use are ANTIC modes 2 (OS Graphics mode 0 text) and ANTIC mode F (OS Graphics mode 8). Thus the reasonable number of unique graphics modes available using the inherent hardware capabilities of ANTIC + CTIA/GTIA is 20–14 ANTIC modes + 3 additional color interpretations each for ANTIC modes 2 and F.
5462:". The usual purpose is to change display-related values at a known location so transitions are visually precise or occur where they will not conflict with display activity. Possibilities include, but are not limited to changing color register values, Player/Missile horizontal positions, and fine scrolling values. Since the DLI is 6502 machine code executed by the CPU, any kind of processing work is possible provided it is short enough to not conflict with other activity and does not overrun a subsequent Display List Interrupt. A good example is mouse controller polling which must be done more frequently than 1/60th of a second.
353:
2958:. A BASIC or 6502 machine language program's job is to initialize the display—set up the display List instructions, organize screen memory (and character set if applicable), and then direct ANTIC to start the display. After this, ANTIC automatically takes care of generating the screen display. This allows the Atari 8-bit computers to produce complex, mixed-mode displays without direct CPU intervention. Other platforms, even those designed much later, cannot either mix graphics modes in one display, or do so without complex CPU interrupts.
616:
4244:
which is the minimum time needed to guarantee correct and consistent color regardless of the pixel's horizontal location on the screen. The result is accurate pixel size and coloring that does not display color "strobing" defects when horizontally scrolled. (Color strobing is unsightly hue changes in pixels based on horizontal position which is caused when signal changes do not align with the color clock and so do not provide the TV/monitor hardware adequate time to reach the correct color.)
5821:) of the DMACTL register controls the frequency of new data retrieval. ANTIC retrieves data and updates CTIA/GTIA every scan line. The DMACTL resolution settings affect how often ANTIC increments its internal DMA pointer for fetching new data. Single Line resolution Player/Missile graphics increments the DMA address every scan line, and Double Line resolution increments the DMA address with every even scan line. The DMACTL bit values for Player/Missile resolution:
5251:
output continued with the introduction of video displays as computers presented a metaphor of the screen as a view port over an imagined, infinite roll of paper. Information is displayed on screen beginning at the top until it reaches the bottom of the screen and when the computer needs to introduce new information it shifts all the screen information up providing an empty space at the bottom for the new information and consequently erasing the topmost information.
5255:
animating a display the results can be jerky when the CPU cannot update the screen memory faster than the display hardware reads the memory to generate the video output. Motion fluidity is impaired, since the minimum amount of shifting the display is the size of an entire character. Most computers including the Atari 8-bits accomplish coarse scrolling as described above — common examples are viewing a long BASIC program listing or directory of files.
2453:
reading the hardware register directly unless the program is certain the register is read at a time insuring the value is valid. Light guns for the Atari function the same way as light pens with the addition of an optical magnifier allowing the screen to be read from a greater distance. The light pen/light gun input device requires a conventional CRT using a scanning electron beam. The light pen/light gun cannot work with modern LCD TVs and monitors.
2524:
hardware register directly unless the program is certain the register is read at a time insuring the value is valid. Light guns for the Atari function the same way as light pens with the addition of an optical magnifier allowing the screen to be read from a greater distance. The light pen/light gun input device requires a conventional CRT using a scanning electron beam. The light pen/light gun cannot work with modern LCD TVs and monitors.
124:
226:
40:
6792:
5667:
background color to the new color written by the DLI will be visible somewhere on the current scan line. (The exact location varies based on DMA requirements for the display mode and Player/Missile graphics.) To produce a clean transition from scan line to scan line the code should first write to WSYNC which halts the DLI execution until the end of the scan line, and then write to the desired registers.
1967:
color clock of the last buffered byte and progressing to the left. When HSCROL is 0 no color clocks are output from the buffer, so the first screen byte displayed is the first byte after the buffered data. As HSCROL increases more color clocks from the end (right side) of the buffered data are added to the left edge of the display causing the fine scroll shift to move the screen contents to the right.
3607:). When the OS VBI routine is enabled direct updates to the ANTIC DLIST registers by the CPU or the ANTIC Jump instructions will be overwritten by the OS during the next Vertical Blank. This implies that an ANTIC JVB (Jump and wait for Vertical Blank) instruction that specifies an invalid address (or a valid address that differs from the shadow SDLST value) has no real effect on the display.
5412:
simply directs ANTIC how many color clocks it can output from the buffered 16 color clocks starting at the last (right most) color clock of the buffered memory. Zero (0) is no color clocks output from the buffer. 1 is the last (right most) color clock of the buffer. The color clocks are inserted at the left edge of the screen, causing the scrolling area of the screen to shift to the right.
6536:
81:
833:
implemented in regular RAM as places to store the last value written to registers. Operating System Shadow registers are copied from RAM to the hardware registers during the vertical blank. Therefore, any writes to hardware registers which have corresponding shadow registers will be overwritten by the value of the Shadow registers during the next vertical blank.
6608:
lower vertical resolution where each pixel is 2 or more scan lines tall, but has higher DMA overhead due to ANTIC needing to re-read the same bytes from screen memory. Rather than using repeated LMS modifiers, a quirk of vertical scrolling can be exploited to create a four scan-line mode that displays pixels using the hi-res or GTIA color interpretation modes.
5869:. This value of PMBASE provides the starting page of the base address for Player/Missile graphics. When double line resolution P/M graphics are operating the PMBASE value must begin on a 1K boundary. When single line resolution P/M graphics are operating the PMBASE value must begin on a 2K boundary. The memory maps for the Player/Missile graphics modes:
4083:
is in Normal mode ANTIC retrieves the number of bytes needed for Wide screen mode. In Wide screen mode ANTIC does not retrieve any additional screen bytes. Scrolling in Wide screen will cause blank data to be shifted into the scrolled area. This is not a problem, because it occurs in the overscan area which is not visible on a normal NTSC/PAL display.
6504:
boundary. The 4K boundary cannot be crossed within the middle of a
Graphics Mode line, but only between the end of one Mode line and the beginning of the next line. In other words, the memory for the previous Mode line ends at the exact last byte of the 4K block and the next Mode line begins at the exact first byte of the next 4K block.
5275:
modifier's address; adding the number of bytes used for a line in the current Text or Map Mode shifts the screen contents up one line while subtracting the same amount moves the screen down. So, the display is actually a view port that is moved to look at a different areas of memory rather than moving the memory into a fixed screen map.
3060:). When the OS VBI routine is enabled direct updates to the ANTIC DLIST registers by the CPU or the ANTIC Jump instructions will be overwritten by the OS during the next Vertical Blank. Since VBI processing is the usual state of the system, most programs rely on this and only update the OS shadow registers (SDLSTL/SDLSTH $ 0230-$ 0231
4602:
Since the character value is reduced to six bits the character set uses 64 characters and requires 512 bytes of RAM. 0 value bits in the character glyph show the background color. 1 value bits in the glyph data shows one of four possible color choices based on the two high bits of the character value. Character value bits 7 and 6:
5437:
assembly. So, if this scrolling process involves a full screen Mode 2 or Mode 4 text display (rather worst case) and uses the entire 4K capability of ANTIC's automatic screen memory addressing, then the horizontal scrolling can continue in this manner for about 3,000 steps; equivalent to 75 full screens.
5828:- Double line resolution. New data is fetched by DMA on even scan lines, but an update to CTIA/GTIA Player/Missile Graphics pattern registers still occurs on every scan line. Consequently, each Player/Missile byte pattern is two scan lines tall. When Double line resolution is enabled CTIA/GTIA register
4122:. In other words, the screen memory does not have to be completely contiguous memory scanned sequentially towards higher addresses - only that a single Mode line must be provided with adequate sequential bytes of memory to meet the requirements of that Mode, width of the display, and Scrolling feature.
4181:"GRAPHICS" command, and to some other languages, via similar system calls. Oddly, the modes not directly supported by the original OS and BASIC are modes most useful for games. The later version of the OS used in the Atari 8-bit XL/XE computers added support for most of these "missing" graphics modes.
6710:
The
Horizontal Fine Scrolling display list modifier causes ANTIC to fetch extra screen memory corresponding to the next larger Playfield width which provides the data needed to scroll into the display. Since there is no Playfield width larger than the Wide Playfield, ANTIC has no extra data for fine
6629:
ANTIC Map Modes 8 and 9 will be corrupted when immediately following a horizontally scrolled line of a different mode using normal or wide playfield width. This occurs if the Mode 8 or 9 line is horizontally scrolled or not, but the corruption results are different in each case. The problem appears
6616:
vertical scrolling region needs to have VSCROL reset to 3 allowing ANTIC to count from 0 to 3 (four scan lines). The end result is a Mode F display where the lines are four scan lines tall rather than one, but with the DMA overhead of only one screen memory data read occurring on the first scan line.
6503:
option where screen memory crosses a 4K boundary. ANTIC's graphic modes E and F require more than 7.5K of screen memory for a full screen display. The
Display Lists for these displays require the LMS option added to a Mode instruction near the middle of the display where screen memory crosses the 4K
5521:
When updating display control values care must be taken to ensure ANTIC is not currently using them. If ANTIC is processing the
Display List containing an Instruction with the DLI modifier, then an interrupt could be dispatched while changing the VDSLST address, potentially crashing the system. If a
5352:
Horizontal coarse scrolling requires a little more effort than vertical scrolling. While horizontal scrolling is expected to present the illusion of a view port moving left and right across a wide panoramic scene made of screen memory, ANTIC's automatic memory scan increment conflicts with this idea
5250:
Before video displays became a common part of the user interface many computers used a teletype—a printer usually with continuously-fed paper. User input and the computer generated output were printed on the paper fed through the printer. This widely understood interface for user input and computer
3492:
Blank Mode lines cannot be contained within a scrolling region, because Blank Mode line instructions inherently do not have Fine
Scrolling Modifier bits. However, a Blank Mode instruction can be used to end a vertical scrolling region and is still subject to the expected scan line height changes per
1962:
When
Horizontal scrolling is enabled for a mode line ANTIC fetches the next size increment greater than the current screen width to provide the buffer of data subject to the horizontal scrolling control. When displaying Narrow width ANTIC fetches the screen RAM needed for Normal width. Likewise, for
1740:
The Video
Reflect bit affects all Text Modes. Video Reflect is useful for situations requiring mirroring effects without defining a new character set. An ideal use is card games displaying accurate card faces showing upside down suits. As this vertically mirrors the glyph data before it is used,
6491:
instruction to cross a 1K boundary. This is not a serious limitation, because the size of a single
Display List usually varies from 32 to 202 bytes, and virtually never exceeds 720 bytes. Since it can be located anywhere in the memory, there is little difficulty finding a sufficiently sized place in
5444:
Fine scrolling this arrangement requires a little more planning. When fine scrolling is enabled in the
Display List ANTIC retrieves more information than the Mode line requires for display. As each mode line now uses more memory, the new information scrolled into the side of the display is not the
5440:
However, even the 4K memory use is not required. After all the data from the first full screen has been shifted off the display the scrolling application can rebuild the first screen to contain a known transition point so that the scrolling action can jump back to the first address in the block with
5415:
When the fine scrolling limit is reached, continue scrolling by resetting the HSCROL value and performing a coarse horizontal scroll of the scrolling region. ANTIC's 16 color clock range permits fine scrolling multiple Text Mode characters or more than one byte worth of Map mode pixels. Therefore,
5411:
register. The maximum HSCROL value range covers fine scrolling 16 color clocks from 0 to 15. The color clock information used is buffered from the beginning of the mode line (ANTIC's current memory scan pointer) using enough screen memory bytes to satisfy the 16 color clocks. Horizontal scrolling
5299:
One other limit to be aware of is that the two byte LMS modifier address must not be updated when ANTIC is processing the LMS. If ANTIC reads the LMS address while it is partially updated ANTIC will display the incorrect section of memory for that Mode line. When the scrolling region of a display
5278:
Since ANTIC's memory scan counter cannot automatically increment over a 4K boundary the limit of vertical scrolling in this simple manner is up to 4K of movement. A full screen of Mode 2 text using approximately 1K can continuously scroll the height of four screens until reaching the 4K boundary.
5274:
always includes the LMS instruction modifier specifying the start of screen memory. As it generates the display, ANTIC automatically increments its memory scan pointer from Mode line to Mode line to display memory contiguously. Therefore, a display can be "moved" by merely updating the initial LMS
5254:
This kind of scrolling is called, "coarse scrolling". It is achieved by moving bytes of memory through a designated screen display area. Moving a kilobyte (or more) of memory is CPU intensive and slower computers may not be able to accomplish anything else while updating screen data. As a means of
4171:
DLI routines are ordinarily short and quick, changing the color registers or Player-Missile positions before exiting. However, brevity is not required. As long as the DLI routine exits before the start of the next DLI routine the DLI routine can continue updating values across multiple scanlines.
4082:
When horizontal scrolling is enabled ANTIC retrieves more screen memory bytes than displayed in order to show partially scrolled display bytes at the beginning and end of the line. If the display is in Narrow mode ANTIC retrieves the number of screen bytes necessary for Normal mode. If the display
2978:
The Atari display is built as a series of ANTIC instructions each describing a line of text or graphics mode progressively from the top to the bottom of the screen until the desired display area is filled. In effect, the screen is a vertical stack of ANTIC mode instructions. Different modes occupy
2313:
This register allows programs to synchronize to the display. A write to this register halts the 6502 program through the end of the current scanline. This behavior is commonly used during Display List Interrupts to produce clean transitions/changes from one scanline to the next. The value written
2087:
Blank Mode lines cannot be contained within a scrolling region, because Blank Mode line instructions inherently do not have a Vertical Scroll Modifier bit. (Blank Mode line instructions specify the blank line count using the bits 7 through 5 that function as LMS, HS, and VS Modifiers for "regular"
2079:
Mode instructions as described and the VSCROL value is set to 2 then the first Mode line in the region begins displaying at scan line 2 showing scan lines 2 to 7 (six scan lines or 8 - VSCROL), the second Mode line is displayed completely (eight scan lines), and the final Mode line ends at
2070:
Example: Given an eight scan line ANTIC Mode (Text Modes 2, 4, or 6) with the VS bit set on two adjacent Mode lines the scrolling region then consists of three Mode lines—the third line in the scrolling region is the first Mode line encountered without the VS bit set. When Vertical scrolling is not
6593:
can produce unexpected results. Also, some of ANTIC's activities have critical timing. Changes to registers outside of proper time windows may result in delayed effect or unexpected results. Some of these situations are exploitable for interesting effects and others produce display corruptions.
5336:
ANTIC's process of vertical fine scrolling works by simply directing ANTIC to skip a number of scan lines for the first mode line of the scrolling region. Subsequent Mode lines in the scrolling region are not affected. The last line of the region supplies the bottom border of the scrolling region
5316:
Vertical Fine Scrolling allows single scan line movement of the scrolling region for Text and Map modes which are greater than one scan line tall. Vertical Fine Scrolling for Map modes only one scan line tall is logically not practical. The effect of vertical "fine" scrolling for single scan line
4713:
In these character modes each pair of bits in the character glyph represents a pixel one color clock wide, thus a single byte of glyph information represents 4 pixels rather than the 8 pixels of other modes. The character set uses 128 characters and requires 1024 bytes of RAM. The background color
4106:
The LMS option loads ANTIC's screen memory scan address with the 16-bit value in the two bytes following the instruction. The Character or Map mode specified will begin displaying bytes from that address. The LMS option must appear in the first Playfield Mode Instruction line (not Blank Line) in
4094:
The Vertical scrolling region in a display is defined by setting the VS bit ($ 20) on a sequential series of ANTIC Mode Lines in the Display List. The first Mode line without the VS bit set becomes the end of the scrolling region and is used as a buffer line to supply the new information to scroll
3610:
The JVB's argument usually points to the beginning of the same Display List, but it can also point to another Display List, so that a chain of Display Lists is executed after consecutive vertical blanks. Of course, to give ANTIC control over the start of the next Display List the OS Vertical Blank
3496:
The DLI modifier bit is available for blank line instructions. When the DLI bit is enabled a Display List Interrupt will be triggered during the last blank scan line of the instruction. Since playfield DMA does not occur during blank lines (only Display list DMA and Player/Missile DMA (if enabled)
2764:
To set a new jump target for VVBLKD (Deferred) set the Y register to the low byte of the target address, the X register to the high byte of the target address, and the Accumulator to 7, then JSR SETVBV.. The user code called through VVBLKD must exit by jumping to the OS Vertical Blank exit routine
2055:
This register specifies the distance of the Vertical fine scrolling in scan lines. The lowest 4 bits are significant, however the Vertical scroll value should range from 0 to the ANTIC Mode line's scan line height - 1. Scrolling farther than the ANTIC Mode's number of scan lines results
435:
The display list specifies where the data for each row comes from. For character modes, the base address of the character bitmaps is stored in an on-chip register and can be changed. Display list instructions can enable horizontal and vertical fine scrolling and mark that an interrupt should occur.
6701:
A display list should not be built with a hi-res (Mode F) instruction in scan line 247—the last displayable scan line. If the DMACTL Playfield Width bits are not 00 then ANTIC will not generate the vertical sync properly potentially causing display distortion. In any case, this is easy to avoid,
6238:
Since the Player/Missiles are an overlay independent from Playfield graphics and are rendered in the overscan area the vertical coordinates for Player/Missile data must be offset to align objects with the Playfield. In the Operating System's 192-scan line default graphics modes the Player/Missile
5662:
If a value changed by a DLI has an Operating System Shadow register and the Vertical Blank Interrupts are enabled, then the value in effect before (above) the screen position of the Display List Interrupt is the value of the Shadow, and the value after (below) the screen position is the value from
4243:
The video display system was designed with careful consideration of NTSC display methods and limitations. The system CPU clock and video hardware are synchronized to one-half the NTSC clock frequency. Consequently, the pixel output of all display modes is based on the size of the NTSC color clock
4199:
The ANTIC screen geometry is not fixed. A hardware register can direct ANTIC to display narrow playfield (128 color clocks/256 hi-res pixels wide), normal width playfield (160 color clocks/320 hi-res pixels wide), and wide, overscan playfield (192 color clocks/384 hi-res pixels wide). While the
4114:
Full screen displays using Playfield Map Modes E or F will have a second occurrence of the LMS modifier on a Map Instruction near the middle of the screen, since the full display requires more than 4K of screen memory. (Mode F displays include high res 320 pixel lines, and the GTIA display modes.)
836:
Some Write hardware registers do not have corresponding Shadow registers. They can be safely written by an application without the value being overwritten during the vertical blank. If the application needs to know the last state of the register then it is the responsibility of the application to
6607:
One method of using the enhanced GTIA color modes without the large memory requirements of ANTIC mode F is to direct ANTIC to repeat each line of data one or more times by using Mode line instructions with the LMS modifier to redisplay the same screen data on multiple scan lines. This produces a
4180:
The ANTIC chip allows a variety of different Playfield modes and widths. However, the original Atari Operating System included with the Atari 800/400 computers provides easy access to a limited subset of these graphics modes. ANTIC Playfield modes are exposed to users through Atari BASIC via the
2986:
Mixing multiple graphics modes in one display is done simply by providing different character or map mode instructions for the desired position on screen. For example, the Atari Operating System graphics modes 1 through 8 offer full screen display, or an option for a four-line text window at the
2946:
is the list of instructions directing ANTIC how to generate the display. The data processed by this Display List "program" is the screen memory. The output is the graphics display. The kinds of graphics in the output (text vs addressable pixels) is determined by the instructions in the Display
2752:
To set a new jump target for VVBLKI (Immediate) set the Y register to the low byte of the target address, the X register to the high byte of the target address, and the Accumulator to 6, then JSR SETVBV. The user code called through VVBLKI simply needs to exit by jumping to the OS Vertical Blank
2688:
If multiple DLIs are used the first interrupt updates VDSLST to point to the address of the next interrupt, and so on for subsequent interrupts. The last Display List Interrupt routine on the screen points VDSLST back to the address of the first Display List Interrupt. Alternatively, a Vertical
2523:
This contains the VCOUNT value captured when the light pen/light gun trigger is pressed. The shadow register is the recommended source for reading this information, since it will be updated during the vertical blank guaranteeing consistent and reliable results. Programs should avoid reading the
2381:
This register tracks the scan line currently being generated. The value returned is the actual scan line divided by 2. Blank lines generated at the start of the display are included. The value for NTSC will range from 0 to 130 for NTSC, and 0 to 155 for PAL. This value is useful during Display
2083:
Since fine scrolling is based on scan lines not pixel height, and scrolling region movement is done simply by skipping scan lines from the first Mode line and adding scan lines to the last Mode line, it is possible to use different graphics Modes within the scrolling region. This merely requires
1966:
ANTIC buffers the first few bytes read from screen memory that are sufficient to cover the 16 color clock range of movement. (Two to four bytes depending on display mode.) The HSCROL value specifies how many color clocks should be output from the buffered data beginning from the last (right most)
1590:
ANTIC DMA and Player/Missile pattern register updates occur on each scan line regardless of resolution. When Double line resolution is in effect the Player/Missile memory can be modified between the redundant DMA fetches thus changing the pattern sent to the GRAF* registers and producing apparent
5453:
ANTIC includes a feature to trigger a CPU-serviced interrupt at specific vertical positions on the screen. This is built into the ANTIC Display List which directs ANTIC to launch the interrupt during the last scan line of the current Mode instruction, and so is called "Display List Interrupt".
5258:
Coarse scrolling implemented by bulk movement of data is often the only method of scrolling possible on most computers. However, ANTIC provides direct hardware support for vertical and horizontal, coarse and fine scrolling taking the concept of a "view port moving over data" from a metaphorical
4601:
In these modes each bit in the character glyph represents one pixel that is one color clock wide. The background color is COLBK. Characters may be displayed in a choice of one of four colors. The six low bits of the character value identifies the glyph and the two high bits identify a color.
6615:
instruction, and the VSCROL register is set to 13, then ANTIC's line counter will count from 13 to 0 (four scan lines—13, 14, 15, 0). In doing so ANTIC outputs the same line of graphics for each scan line from its internal buffer without re-reading the same screen memory again. The end of the
5750:
chip. CTIA/GTIA controls position, size, color, priority, and collision detection for Player/Missile graphics objects, but its actual shape rendering implementation goes no farther than a single byte pattern per object presented uniformly on all scan lines. (The patterns are set in CTIA/GTIA's
5654:
The 6502 Accumulator, X and Y register contents are not preserved before entry to the DLI routine. It is the responsibility of the DLI routine to save the state of the registers that will be used during the DLI routine, and then the last action is to restore the original values of the registers
5428:
ANTIC's automatic memory scan increment from Mode line to Mode line conflicts with the idea that the rows of screen data are wider than the display. Using memory actually organized as a long, horizontal, contiguous series of bytes requires an LMS modifier for every Display List Text or Map Mode
2739:
User programs can insert execution of custom code either before (Immediate) or after (Deferred) the Operating System's Vertical Blank Interrupt routines. Since the OS Vertical Blank interrupt could be called while a user program is updating the vectors, the Operating system provides a routine,
2684:
The 6502 Accumulator, X and Y register contents are not preserved before entry to the DLI routine. It is the responsibility of the DLI routine to save the state of the registers that will be used during the DLI routine, and then the last action is to restore the original values of the registers
2452:
This contains the horizontal color clock position when the light pen/light gun trigger is pressed. The shadow register is the recommended source for reading this information, since it will be updated during the vertical blank guaranteeing consistent and reliable results. Programs should avoid
5295:
Further enhancement of this concept uses the LMS modifier option on every line that does scroll. Vertical scrolling on this display requires updating one LMS modifier address for each Mode line in the scrolling region. When the display is managed at this level of detail ANTIC's 4K screen RAM
4594:
begin with two blank scan lines at the top, and then display the glyph bytes in the bottom 8 scan lines. The first two bytes in the glyph are moved to the bottom two scan lines. This allows a properly designed character set to display true descenders. The character set uses 128 characters and
4167:
The 6502 Accumulator, X and Y register contents are not preserved before entry to the DLI routine. It is the responsibility of the DLI routine to save the state of the registers used during the DLI, and then restore the original values of the registers before exiting with an RTI instruction.
5436:
The second half of this strategy requires the last byte/character of every line in the scrolling region to be updated to show the desired, new information. For a typical scrolling display this would mean updating the last byte of one or two dozen lines which takes a trivial amount of time in
5432:
Instead of using an LMS modifier for every line this method uses a more "normal" display list that only requires one LMS modifier at the start of the scrolling region. An increment (+1) to the LMS modifier address makes the scrolling region appear to move toward the left. However, the "new"
832:
ANTIC provides 15 Read/Write registers controlling Playfield display parameters, DMA for Player/Missile graphics, fine scrolling, light pen input, and interrupts. Hardware registers do not return the written values back when read. This problem is solved by Operating System Shadow registers
5666:
If a graphics object is being displayed while the DLI changes its value the results may be inconsistent. The most common example is changing the background color. Since the DLI begins executing while the electron beam is in a visible portion of the screen, the transition from the previous
5368:. So, where Horizontal scrolling is implemented, vertical scrolling is also supported just by changing the value incrementing or decrementing the LMS addresses. The other benefit of this arrangement is that it is easy to manage screen memory around ANTIC's 4K screen memory boundary limit.
1871:). The address registers are updated during Display List execution by ANTIC's JMP (Jump) and JVB (Jump and wait for Vertical Blank). The address is also updated by the Operating System's Vertical Blank Interrupt (VBI) routine using the values in shadow registers SDLSTL/SDLSTH (0230-0231
1958:
This register specifies the distance of the Horizontal fine scrolling shift in color clocks. Only the lowest 4 bits are significant. The value range of 16 color clocks allows ANTIC to shift Mode 2 Text four characters, and Mode 6 text two characters before a coarse scroll is needed.
1732:
The CHACTL Video Inverse and Video Blank bits affect the display of characters in ANTIC Text Modes 2 and 3 which have the high bit set (characters $ 80 through $ FF). Toggling the values of the CHACTL bits allow blinking or blanking these characters globally for the entire display.
2226:
This specifies the page of the base address for the character set. ANTIC Modes 2, 3, 4, and 5 use 128 characters in the character set and require the CHBASE value begin on a 1K boundary. ANTIC Modes 6 and 7 use 64 characters, so the CHBASE value must begin on a 512 byte boundary.
5388:
color interpretations must be scrolled by an entire GTIA pixel (two color clocks). Only even values should be used to ensure correct GTIA pixel scrolling. Odd values of HSCROL will shift the GTIA pixel stream into a different state that will be interpreted as different colors.
5383:
Horizontal Fine Scrolling allows single color clock movement of the scrolling region for Text and Map modes. For all normal color interpretations this is by color clock, not pixel even when pixels are larger (or smaller) than the color clocks. ANTIC Modes using the alternate
2155:
This specifies the page of the base address for Player/Missile graphics. When double line resolution P/M graphics are operating the PMBASE value must begin on a 1K boundary. When single line resolution P/M graphics are operating the PMBASE value must begin on a 2K boundary.
5670:
While the usual operation of the DLI is to change a few display-oriented values, and then return to the main code, this is not a requirement. It is safe for a DLI to run for several, or many scan lines as long as it exits before the next DLI or the Vertical Blank Interrupt.
5300:
requires multiple LMS address updates the possibility of a partial update increases, and the possibility of having two subsequent lines display the same data also increases. Programs solve this in a number of ways—performing updates during the Vertical blank, monitoring the
1882:
When the OS Vertical Blank Interrupt is enabled, direct updates to the ANTIC DLIST registers by the CPU or the ANTIC Jump instructions will be overwritten by the OS during the next Vertical Blank by the values in the shadow registers. Therefore, page flipping implemented by
2701:. The Operating System uses the Vertical Blank to perform various housekeeping chores (among other things - updating timers, copying controller input values to their Shadow registers, and copying the contents of Shadow registers to the custom chips hardware registers.)
5658:
If multiple DLIs are used the first interrupt updates VDSLST to point to the address of the next interrupt, and so on for subsequent interrupts. The last Display List Interrupt routine on the screen points VDSLST back to the address of the first Display List Interrupt.
2852:
Any value written to NMIRES resets the bits in NMIST which indicate the reason for the most recent Non-Maskable Interrupt. This is used by interrupt dispatch code in the Operating System and there would ordinarily not be a reason for a user program to write here.
5645:
A program tightly integrated with the display cycle and aware of the electron beam position relative to the current display can bypass turning off Display List DMA. Likewise, turning off the display is not needed if the setup occurs during the vertical blank.
2979:
different numbers of scan lines and use different amounts of RAM. Designing a display requires counting the scan lines of each Mode instruction and tracking the memory for each Mode line to prevent overrunning ANTIC or video standard limitations. (See the
3045:). The address registers are incremented by ANTIC automatically as each instruction is executed. ANTIC can only update the lowest 10 bits of the address during the automatic increment limiting the display list to begin and end within a 1K address range.
4111:. ANTIC will automatically increment its LMS address at the end of each mode line in preparation for the next line. As long as screen memory does not cross over a 4K boundary the LMS modifier is not needed on subsequent Playfield Mode Instructions.
4214:
Mode F was not widely used by software due to its high memory requirements (8k) and inconsistent artifact colors that did not appear the same on every model of Atari 8-bit computer. Games that utilize it include Sierra graphical adventures such as
1736:
Video Inverse and Video Blank enabled together result in reverse video characters displayed as an inverse blank space. Video Inverse and Video Blank bits work in ANTIC modes 2 and 3, and have no effect on the other text modes 4, 5, 6, and 7.
598:
Atari, Inc. intended to combine functions of the ANTIC and GTIA chips in one integrated circuit to reduce production costs of Atari computers and 5200 consoles. Two such prototype circuits were being developed, but neither entered production.
3048:
The registers are also updated during Display List execution by ANTIC's JMP (Jump) and JVB (Jump and wait for Vertical Blank). These instructions load the full 16-bits of address, so can be used to circumvent the 1K Display List limitation.
453:
The list below describes ANTIC's inherent hardware capabilities meaning the intended functionality of the hardware by itself, not including results achieved by CPU-serviced interrupts or display kernels frequently driving register changes.
6234:
ANTIC does not use the first and last 8 scan lines worth of data of Player/Missile memory in the memory map. In double line resolution the first and last four bytes are ignored, in single line resolution the first and last eight bytes.
5522:
Display List uses multiple interrupts, and interrupts are enabled in NMIEN after ANTIC has already passed Mode Instructions with DLI modifiers, then the Display List Interrupts will be started out of order, causing unexpected results.
5291:
would add Mode instructions using LMS modifiers on the first mode line of the screen sections that should not move which effectively locks these parts of the display while the LMS modifier address for the scrolling section is updated.
3479:
Blank lines are useful for delaying the start of the screen display until the electron beam has left the vertical overscan area at the top of the display. The Atari Operating System creates all its graphics modes beginning with three
4539:
rather than COLBK used in other Character and Map modes. COLBK appears as a border around all four sides of the Playfield. 0 value bits in the character glyph show the background color. 1 value bits show the luminance value from
2785:) is non-zero execution of the Deferred Vertical Blank interrupt is suppressed regardless of the addresses in the vectors. The default value of CRITIC, 0, allows execution of both Immediate and Deferred Vertical Blank Interrupts.
5445:
byte/character that was displayed at the start of the next line. However, this does not impair the scrolling process and merely changes the value of addition and subtraction used to locate the start and end of each display line.
6692:
LMS address to horizontally coarse scroll in smaller increments. This strategy resolves all cases in all the Text modes, and all Map modes from A through F which generate 8 or fewer color clocks per byte of screen memory.
5332:
instructions. The first Mode line instruction without the VS bit set becomes the end of the scrolling region and is used as a buffer line to supply the new scan lines to scroll up into the bottom of the scrolling region.
2961:
ANTIC processes the instructions in the display List, reads the screen memory (and character set data if applicable), translates this information into a real-time stream of graphics data, and sends this data stream to the
5282:
Naturally, that trivial example is of limited usefulness. Many scrolling implementations scroll only part of the screen while other sections remain fixed. This problem is solved by the inherent capabilities of the ANTIC
5763:
graphics pattern registers as each display scan line is generated. In this way ANTIC provides Player/Missile objects with patterns that vary over the height of the screen and so appear as traditional "sprite" graphics.
6451:
The horizontal width of the Playfield display may be set to 256, 320 or 384 pixels wide corresponding to 128, 160, or 192 color clocks. In the widest mode, only 352 pixels (176 color clocks) are actually visible. See
5433:
information that has moved into the right side of the scrolling region was previously the first byte on the following line (except for the last byte of the last line — that information had been completely off screen).
3343:
The number of blank scan lines are specified by the value of Bits 4 through Bits 6 allowing a range from 0 through 7. ANTIC adds one to this value and displays the resulting number of scan lines. Instruction Values:
2066:
The Vertical scroll value indicates the scan line number to begin the display in the first Mode line and is also used as the scan line number to end the display in the last Mode line (the line without the VS bit set).
3488:
instructions (or 24 blank scan lines) for this purpose. Blank lines are also useful for partitioning parts of a custom display with different purposes (i.e. a border between a status display and the main graphics.)
6687:
Since the HSCROL values causing the problem are greater than 7, the problem can be averted when Mode 8 or 9 is NOT using Horizontal scrolling by limiting HSCROL shifts to 0 through 7 color clocks and updating the
4107:
the Display List to initialize ANTIC to begin reading at the start of screen memory. Most of the Operating System-generated full screen modes will have only that one occurrence of the LMS modifier present in the
4527:
All character sets use 8 sequential bytes to represent the character. Four types of character/glyph rendering of those bytes are available. Each Character Mode is associated to a specific rendering method:
5758:
ANTIC's design includes DMA capability so that it may read its Display List and Playfield graphics data. This direct memory access capability is leveraged to read data on behalf of CTIA/GTIA and update the
4024:
Bits 7:4 are modifiers for Playfield Mode instructions in bits 3:0. Playfield Mode Instruction values range from $ 02 to $ 0F. Modifier bit value 1 Enables the modifier, and 0 disables the modifier.
3311:
When Mode bits are all zero ANTIC performs no playfield DMA and displays one or more blank scan line(s) of the background color. For normal color interpretation modes the "background" is color register
2080:
scan line 2 showing scan lines 0 to 2 (three scan lines or VSCROL + 1). The total scan lines displayed in the scrolling region is then 6 + 8 + 3 = 17 scan lines.
5803:
Missile DMA can be enabled without player DMA. However, when Player DMA is enabled, Missile DMA automatically occurs to keep the DMA timing consistent, but the data is not delivered to the Missile's
6495:
The Memory Scan Register, a register addressing the data stored in the screen memory, is 16-bit, but only the lower 12 bits change when ANTIC is sequentially scanning the video memory. This means the
2987:
bottom of the screen. This split screen feature is accomplished using the inherent capabilities of ANTIC and its Display List without any CPU interrupts or custom manipulation of the video hardware.
1988:
Unlike many platforms Atari's horizontal scrolling is visually consistent and free from color "strobing" artifacts due to Atari's pixel size matching the color clock timing needed for accurate color.
5118:). The full color expression of these GTIA modes can also be engaged in Antic text modes 2 and 3, though these will also require a custom character set to achieve practical use of the colors. See
2063:. The first Mode line without the VS bit set becomes the end of the scrolling region and is used as a buffer line to supply the new information to scroll up into the bottom of the scrolling region.
2088:
Playfield Mode instructions.) However, a Blank Mode instruction can be used to end a scrolling region and is still subject to the expected scan line height changes per the vertical scroll value.
4478:
One color per character matrix. The characters in each 64 character block are shown in a different color. When the high bit of the character is set a fifth color replaces one of the other four.
4718:. This mode allows up to four colors (including the background) to be displayed in one character matrix. If the high bit of the character value is set (i.e. inverse video) then a fifth color,
5424:
An interesting use of ANTIC's DMA memory scan behavior permits a strategy for apparently long horizontal scrolling distances, but uses a fraction of the real memory required. As discussed in
5396:
using the LMS instruction modifier to specify starting address of each Mode line. This is done to organize screen memory as long rows of data for the display. The next step is setting the
840:
Operating System Shadow registers also exist for some Read registers where reading the value directly from hardware at an unknown stage in the display cycle may return inconsistent results.
5663:
the DLI (and any other DLI that later changes it.) If the value does not have an Operating System Shadow then there should be an initial DLI (or VBI) routine which sets a starting value.
3497:
occurs) the blank lines can be used where Playfield graphics will not be needed giving more time for Display List Interrupt routines changing color registers or Player/Missile positions.
4550:
A modification of the Standard method. The method of pixel color display is the same. Each mode line is 10 scanlines tall, though the character glyph is still 8 bytes. Characters
3595:
JVB - Jump to address and wait for Vertical Blank. (JMP + LMS bit set) This is used to end the Display List. The address used should be the starting address of the Display List.
3561:
When Mode value is 1 ANTIC executes a Jump in its program (the Display List). The next two bytes in the Display List are loaded into ANTIC registers DLISTL/DLISTH ($ D402-$ D403
3052:
The address is also updated by the Operating System's Vertical Blank Interrupt (VBI) routine using the values from Operation System shadow registers SDLSTL/SDLSTH ($ 0230-$ 0231
1533:
When enabled, Player/Missile DMA occurs on every scan line in the visible display—from scan line 8 to 247. Therefore, the Player/Missile data in the memory map (see ANTIC's
6550:
6239:
vertical data coordinates are offset from the Player/Missile's start in memory as shown below. Overscan entries show the first and last used offsets of Player/Missile data:
5854:) masking the updates on even scan lines reduces Single line Player/Missile resolution to appear to be Double line resolution, though the data is shifted one scan line lower.
6444:
The vertical extent of the entire Playfield display varies between 0 and 240 scanlines - this depends on the number of lines ANTIC is programmed to display according to the
3584:
JMP - Jump to address. This is used to load a new execution address in the middle of Display List execution, typically when the Display List must cross over a 1K boundary.
2966:
which applies the color to the graphics pixels and outputs the video. Together the two chips provide 6 text and 8 graphics modes (14 total). The more advanced version,
5357:
Text or Map Mode instruction in the scrolling region. A horizontal step is accomplished by incrementing or decrementing all the LMS addresses of the scrolling region.
5341:
register. The value ranges from 0 to the ANTIC Mode line's scan line height - 1. The maximum value range covers fine scrolling 16 scan lines from 0 to 15.
5259:
illusion to literal implementation. These ANTIC features deliver rapid, smooth, full screen movement requiring negligible CPU time and so free the CPU for other work.
2920:
The Operating System's Non-Maskable Interrupt dispatch routine reads this register to determine the reason for the interrupt and so which service routine to execute.
1981:
pixel (two color clocks). Only even values should be used to ensure correct scrolling. Odd values of HSCROL will shift the pixel stream into a different state that
6611:
Vertical Scrolling would ordinarily not be considered useful for ANTIC Mode F which is one scan line tall. However, if Vertical Scrolling is enabled for the Mode F
5296:
boundary can be easily circumvented. Even in this worst case example the CPU effort expended is a tiny fraction of the processing needed to bulk move screen data.
1551:
Player/Missile Graphics pattern registers every scan line, so that each Player/Missile byte pattern is two scan lines tall. When Double line resolution is enabled
5560:) must be cleared, but most implementations would choose to zero all bits and then when the time comes to restart the screen restore the correct value of all bits.
3599:
The DLIST registers are also updated by the Operating System's Vertical Blank Interrupt (VBI) routine using the values in shadow registers SDLSTL/SDLSTH (0230-0231
6476:
Vertical fine scrolling moves the scrolling region the number of scan lines in a single Mode line of the scrolling region, up to a maximum of 16 scan lines. See
4535:
Based on the high resolution graphics modes each bit in the character glyph represents one pixel on screen that is 1/2 color clock wide. The background color is
6790:; Neubauer, Douglas G.; Decuir, Joseph C., "Data processing system with programmable graphics generator", issued 1981-10-20, assigned to Atari, Inc.
1523:) graphics. These bits turn on ANTIC's transmission of Player data and Missile data to CTIA/GTIA. CTIA/GTIA must also be configured to receive the data via its
6487:
program counter is 16-bit, only the lower 10 bits change during normal (i.e. sequential) execution of the Display List. This means the Display List requires a
1608:
Playfield display requires that Display List DMA is enabled, and a Playfield width specified. If either value is zero, then no Playfield display is generated.
1530:
When Player DMA is enabled, Missile DMA automatically occurs to keep the DMA timing consistent, but the data is not delivered to the Missile's GRAFM register.
5858:
CTIA/GTIA must also be specifically enabled to receive the Player/Missile graphics data via DMA to correctly present the objects on screen. See CTIA/GTIA's
5344:
When the fine scrolling limit is reached, scrolling continues by resetting the VSCROL value and performing a coarse vertical scroll of the scrolling region.
4200:
Operating System's default height for graphics modes is 192 scan lines Antic can display vertical overscan up to 240 TV scan lines tall by creating a custom
3960:
The Horizontal Fine Scroll Modifier will change the memory requirement for the current Mode Line from the DMACTL-specified width to the next largest value.
4402:
Two bits per pixel allowing 4 colors inside one character matrix. When the high bit of the character is set a fifth color replaces one of the other four.
4118:
Combining the Map and Character Mode instructions with the LMS bit makes it possible to set the screen memory address freely within the 64K address space
6886:
2697:
When NMIEN's VBI bit is set, ANTIC will signals a Vertical Blank Interrupt at the end of processing the JVB (Jump vertical blank) at the end of the
2681:) points to an RTI instruction in ROM. The application using DLIs must alter VDSLST to point to the desired DLI routine before enabling the DLI.
428:
or one of 14 graphics modes used for a horizontal band of the display. The height of each band depends on the mode. The instructions comprise a
5755:
graphics pattern registers.) In the end, by itself CTIA/GTIA generates Player/Missile objects as only vertical stripe patterns on the screen.
5353:
that the rows of screen data is wider than the display. Presenting screen memory as long horizontal lines requires an LMS modifier for every
1567:) works by masking updates on even scan lines which results in shifting the bit pattern of individual Players and Missiles down one scan line.
250:
of the topic and provide significant coverage of it beyond a mere trivial mention. If notability cannot be shown, the article is likely to be
6702:
since this is not a practical Display List arrangement as this places the Mode line in the overscan area where it is not ordinarily visible.
6916:
6554:
6466:
The GTIA Map modes must be horizontally scrolled in steps the size of an entire pixel (2 color clocks), instead of one color clock. See
2954:
by the CPU. ANTIC reads the display List instructions, screen memory, and character set information from RAM using a technique known as
2670:
instruction with the DLI modifier bit set, then ANTIC triggers the DLI on the last scan line of that Display List instruction mode line.
1970:
ANTIC Mode F (high-resolution, 1/2 color clock pixels) can only be scrolled two pixels at a time, because HSCROL specifies color clocks.
5840:) can be used to mask ANTIC's updates on even scan lines shifting the bit pattern of individual Players and Missiles down one scan line.
554:
Non-fixed RAM. This allows RAM for graphics features to be located almost anywhere in the 16-bit memory address range. This applies to:
5846:- Single line resolution. A new DMA fetch and Player/Missile register update occurs on every scan line. CTIA/GTIA register VDELAY (D01C
2084:
additional care when determining how many scan lines can be shifted for the current first and last Mode lines in the scrolling region.
4326:
High-res pixels. When the high bit of character is set (values $ 80 to $ FF) the character data is displayed per the CHACTL setting.
4156:) set then on the last scanline of the Mode line an interrupt routine will be triggered which is vectored through address VDSLST (200
3190:
Bits 7:4 are modifiers for Playfield Mode instructions in bits 3:0. Bit value 1 Enables the modifier, and 0 disables the modifier.
1741:
the effect appears inconsistent for ANTIC Mode 3 descenders with glyph bytes 6 and 7 appearing at the bottom of the descender area.
6963:
5771:
register (shadowed by SDMCTL) control ANTIC's retrieval of Player/Missile data to update CTIA/GTIA graphics pattern registers.
2056:
in lines of repeated data upsetting the fine scrolling continuity (though, this can also be used as an exploitable behavior).
5337:
displaying the number of scan lines that were removed from the first line. This number of scan lines is controlled with the
6994:
5743:
436:
An interrupt allows arbitrary 6502 code to execute, usually to change display-related settings in the middle of a frame.
2059:
The Vertical scrolling region is defined by setting the VS bit ($ 20) on a sequential series of ANTIC Mode Lines in the
1519:'s GRAFP0, GRAFP1, GRAFP2, GRAFP3, and GRAFM graphics pattern registers relieving the CPU from creating Player/Missile (
91:
2689:
Blank Interrupt routine can be used to reset the VDSLST address to guarantee the DLIs remain in sync with the screen.
6576:
339:
321:
207:
67:
3675:
The following is the list of ANTIC graphics mode instructions. For more detailed descriptions of each Mode see the
500:
Trigger a CPU-serviced interrupt routine, called the "Display List Interrupt", at specific scan lines (also called "
302:
188:
6807:
4103:
Bit6: position value $ 40, loads a new address for the start of screen memory for the current Playfield mode line.
5641:) must be set, as should the bits for Playfield width, and if needed, the bits related to Player/Missile graphics.
3037:
ANTIC begins executing the Display List pointed to by the 16-bit address in registers DLISTL/DLISTH ($ D402-$ D403
274:
160:
6558:
511:
Trigger a CPU-serviced interrupt routine, called the "Vertical Blank Interrupt", at the end of the display frame.
6979:
5270:
Vertical coarse scrolling is the easiest feature to exercise. The first Text or Map Mode instruction in every
3611:
interrupt must be disabled to prevent it overwriting ANTIC hardware registers with the shadow register values.
145:
6448:. ANTIC begins generating scan lines at TV scan line 8 continuing to line 247 for a total of 240 scan lines.
5804:
5760:
5752:
1586:) which masks updates on even scan lines effectively reduces Single line resolution to Double line resolution.
4544:
based on the background (COLPF2) color. The character set uses 128 characters and requires 1024 bytes of RAM.
281:
247:
167:
5392:
Fine scrolling requires setup to define the horizontal scrolling region. The first step is to start with a
6989:
2997:
Jump instructions - 2 kinds of Jump instructions which reload ANTIC's program counter (3-byte instructions)
413:
6511:), but, depending on the ANTIC Text Mode, the starting address must align to a 512-byte or a 1K boundary.
5584:
Wait for the next Vertical Blank Interrupt (VBI) to apply the Shadow register changes. Possible methods:
2075:
the three Modes lines would naturally result in 24 displayed scan lines. When the VS bits are set in the
1570:$ 10 - Single line resolution. A DMA fetch and Player/Missile register update occurs on every scan line.
1547:$ 00 - Double line resolution. ANTIC updates its DMA fetch address every other scan line and updates the
6782:
3007:
Map and Character mode instructions have additional modifiers that can be enabled with the instruction:
424:(referred to as "Player/Missile graphics" by Atari). Each ANTIC instruction corresponds to either blank
6725:
5655:
before exiting with an RTI instruction. Routines typically push the register values to the 6502 stack.
5459:
3025:
2685:
before exiting with an RTI instruction. Routines typically push the register values to the 6502 stack.
1520:
1392:
548:
505:
432:, in Atari parlance, which specifies how the entire display is built from a stack of individual modes.
421:
288:
243:
174:
6783:
6518:), but, depending on the resolution, the starting address must align to a 1K or 2K boundary (also see
2712:) to begin the OS VBI Service Routine, and the OS VBI Routine exits with a jump through VVBLKD ($ 0224
6630:
for certain HSCROL values causing ANTIC to output pixels incorrectly and misalign the Mode 8-9 line.
540:
Control the display-oriented Vertical Blank and Display List interrupts, and the Reset key interrupt.
259:
6894:
6730:
4192:
color interpretation can be freely mixed without CPU intervention by changing instructions in the
3017:
Load Memory Scan (LMS) - Sets the starting address of graphics/character data (3-byte instruction)
270:
156:
6984:
5859:
5829:
4223:
2673:
The Operating System does not use DLIs, so the default address for the DLI vector (VDSLST, $ 0200
1575:
1556:
1524:
368:
134:
6545:
may contain an excessive amount of intricate detail that may interest only a particular audience
5099:
3333:
3313:
6952:
5094:
GTIA modes are Antic Mode F displays with an alternate color interpretation option enabled via
2728:) to begin the Vertical Blank Interrupt, and VVBLKD points to the OS jump vector XITVBV ($ E462
141:
53:
416:
to define the playfield, or background graphics, then delivers a data stream to the companion
398:
5872:
Double line resolution (1 byte per 2 scanlines, 128 bytes each object) relative to PMBASE x
4364:
High-res pixels. Lowercase characters are displayed 2 scan lines lower allowing descenders.
6844:
5865:
The location of memory read by ANTIC for Player/Missile graphics is controlled by register
5324:
Fine scrolling requires setup to define the scrolling region. This is done by setting the
5262:
All ANTIC display modes, Text and Map modes, can exercise the hardware scrolling features.
5210:
pixel indirection mode—uses all 9 Playfield and Player/Missile color registers for pixels.
4572:
display in the top 8 scan lines with two blank scan lines added at the bottom. Characters
2955:
2951:
458:
375:
352:
236:
6924:
5375:
section for further discussion and time constraints when updating LMS modifier addresses.
5239:
15 color hues all in the same luminance set by the background, plus the background color.
8:
6014:
Single line resolution (1 byte per scanline, 256 bytes each object) relative to PMBASE x
1515:
ANTIC's Player/Missile DMA feature reads bytes from memory and delivering data to update
2658:
which determines the cause and then transfers control to the interrupt service routine.
1891:
in series will not operate as expected unless the Vertical Blank interrupt is disabled.
720:
Ready output. ANTIC pulls pin low to halt the CPU for horizontal blank syncing (WSYNC)
255:
6819:
6678:
Mode 2, 3, 4, 5, D, E, or F: then corruption resolves itself within three scan lines.
4207:
Mode F produces colors through NTSC artifacting and works in a similar manner to the
825:
The Atari 8-bit computers and the Atari 5200 console map the ANTIC chip to the $ D4xx
497:
Identify sections of the display subject to Horizontal and/or Vertical Fine scrolling
251:
5455:
3332:), though this differs for the GTIA color interpretation modes. See discussion of
3021:
2748:), that will safely update the VVBLKI or VVBLKD vectors to point to a new routine:
2650:
during the power up routines. The NMI service routines first vector through $ FFFA
501:
441:
409:
video game console, which shares most of the same hardware as the 8-bit computers.
394:
383:
295:
181:
28:
20:
6459:
Horizontal fine scrolling moves the scrolling region up to 16 color clocks. See
5679:
A trivial example of a Display List Interrupt that changes the background color:
5548:
Turn off ANTIC Display List DMA. Turn off the DMA in the Shadow register first (
4217:
6808:"Antic then and now. How the Atari community and this magazine grew up together"
4134:, directs ANTIC to invoke a CPU-serviced interrupt on the last scan line of the
4079:
Bit4: position value $ 10, controls horizontal scrolling of the playfield mode.
3614:
615:
6861:
525:
Provides real-time information of the electron beam's vertical screen location.
98:
6156:
Missiles share the same bytes of the memory maps above, two bits per Missile:
4091:
Bit5: position value $ 20, controls vertical scrolling of the Playfield mode.
2994:
Blank line - 8 instructions to display from 1 through 8 horizontal blank lines
6973:
6823:
6765:
6720:
6681:
Mode 6, 7, A, B, or C: then corruption resolves itself within two scan lines.
5747:
5385:
5095:
4234:
4189:
3337:
2967:
2963:
1982:
1978:
1974:
1571:
1552:
1548:
1516:
544:
417:
6557:
any relevant information, and removing excessive detail that may be against
5529:
sequence of events to install a Display List using Display List Interrupts:
5279:
Likewise, a Mode 7 text display can scroll the height of 16 entire screens.
4722:, is displayed in place of the pixel bit pattern "11" that ordinarily shows
4188:
and other settings to create these modes. Any graphics mode in the default
6689:
6612:
6590:
6496:
6484:
6445:
5361:
5354:
5288:
5284:
5271:
4201:
4193:
4185:
4108:
2943:
2698:
2667:
2076:
2072:
2060:
1888:
1884:
1860:
1391:
DMACTL controls ANTIC's DMA behavior for the Playfield and Player-Missile (
462:
429:
5504:
The Operating System vector for the Display List Interrupt (VDSLST, $ 0200
522:
Define the distance of movement for Horizontal and Vertical Fine scrolling
19:
This article is about the Atari 8-bit display chip. For the magazine, see
4229:
402:
6957:
5308:
executed during sections of the display away from the scrolling region.
1269:
In the individual register listings below the following legend applies:
406:
379:
59:
5552:), and then if desired the same can be done to the hardware register (
1863:
pointed to by the 16-bit address in registers DLISTL/DLISTH (D402-D403
6948:
6787:
4135:
3941:
The memory requirement for a Mode Line is determined by two factors:
425:
390:
6766:"The Atari Years, by Doug Neubauer. Star Raiders, Solaris and Pokey"
5470:
Properly launching the interrupt requires the following conditions:
5416:
the update to the LMS addresses may add or subtract multiple bytes.
1537:) above and below those scan line counts is unused and undisplayed.
123:
4208:
585:
C012296 — NTSC: Used in Atari 400, 800, and 1200XL computers.
4726:. The color choices based on the bit pairs of the character glyph:
1527:
register in order for Player/Missile DMA to function as expected.
24:
6845:"What are the SALLY, ANTIC, CTIA/GTIA, POKEY, and FREDDIE chips?"
2720:). By default VVBLKI points to the OS jump vector SYSVBV ($ E45F
242:
Please help to demonstrate the notability of the topic by citing
6514:
The Player/Missile memory map may occur anywhere in memory (see
5633:
Turn on ANTIC Display List DMA by updating the Shadow register (
4516:
Color same as above Antic Mode 6. Characters are twice as tall.
4440:
Color same as above Antic Mode 4. Characters are twice as tall.
591:
C021697 — NTSC: Used in Atari 600XL, 800XL, and XE models.
4168:
Routines typically push the register values to the 6502 stack.
3117:
Bit is unused, or should not be expected to be a certain value
1310:
Bit is unused, or should not be expected to be a certain value
588:
C014887 — PAL/SECAM: Used in Atari 400 and 800 computers.
6637:
If Mode 8 or 9 is NOT using Horizontal scrolling and follows:
5545:
which allows the Vertical Blank Interrupt to continue running.
5441:
no apparent stutter or obvious interruption in the scrolling.
640:
13, 12, 11, 10, 28, 27, 26, 25, 24, 23, 16, 22, 17, 18, 19, 20
6624:
6507:
The character set can be located anywhere in the memory (see
3615:
Modes 2 to F Instructions - Playfield Character and Map Modes
5407:
This number of color clocks to shift is controlled with the
1715:
Inverse video characters appear as inverse video. (default)
528:
Reads a light pen horizontal/vertical coordinates (CRT only)
6705:
5119:
3076:
This legend applies to the instruction bit diagrams below:
1963:
Normal width ANTIC fetches the screen RAM needed for Wide.
1462:
Also see Display List DMA bit regarding Playfield display.
594:
C021698 — PAL/SECAM: Used in Atari XL, and XE models.
371:
6675:
If Mode 8 or 9 is using Horizontal scrolling and follows:
5533:
Turn off ANTIC Display List Interrupts by clearing bit 7 (
5512:) points to the starting address of the interrupt routine.
2382:
List Interrupts to identify the vertical screen position.
5474:
A Display List with a Mode instruction that includes the
3125:
Refer to a later explanation for the purpose of the bit.
3000:
Character mode - 6 instructions to display character data
1318:
Refer to a later explanation for the purpose of the bit.
6659:: then corruption resolves itself within two scan lines.
5618:
Turn on ANTIC Display List Interrupts by setting bit 7 (
5397:
4261:
Characters (or Bytes) Per Mode Line (narrow/normal/wide)
3953:
3569:) changing the execution point of the next instruction.
3011:
Horizontal scrolling - Enables horizontal fine scrolling
2591:
NMIEN enables Non-Maskable Interrupts. The bit values:
6633:
The bug is absent when narrow width playfield is used.
5774:
DMACTL Player/Missile DMA control bits values (bits ):
5364:
implementation as the worst case example described for
4125:
2950:
The display List and the display data are written into
1681:
Character control bit values do the following actions:
5564:
5325:
4074:
956:
928:
3109:
Bit may be either 0 or 1, and is used for a purpose.
1302:
Bit may be either 0 or 1, and is used for a purpose.
4086:
3014:
Vertical scrolling - Enables vertical fine scrolling
2973:
1977:
color interpretations must be scrolled by an entire
1744:
687:
Halt output (suspends CPU while ANTIC reads memory)
6847:, Atari 8-Bit Computers: Frequently Asked Questions
6500:
5581:) to the starting address of the interrupt routine.
3250:
3003:
Map mode - 8 instructions to display colored pixels
2642:
The Operation System sets NMIEN to the default $ 40
1704:Inverse video characters display as blanks spaces.
148:. Unsourced material may be challenged and removed.
6751:Atari Home Computer Field Service Manual - 400/800
6743:
6670:: then corruption continues through the mode line.
6648:: then corruption continues through the mode line.
5613:for changes indicating the next frame has started.
5305:
2666:If NMIEN's DLI bit is set when ANTIC encounters a
1726:All characters are displayed vertically mirrored.
488:Playfield Text and Map modes can be mixed onscreen
5404:Mode line instructions for the scrolling region.
4098:
401:first released in 1979. The chip was patented by
6971:
5567:to the starting address of the new Display List.
5448:
5425:
6499:requires a Mode line instruction including the
5746:graphics functionality is in the domain of the
5606:) for an increment indicating the VBI occurred.
5570:Set the Display List Interrupt address VDSLST (
534:Adjustable display of inverse video characters.
519:Variable screen width up to horizontal overscan
6488:
6471:
5419:
5372:
5365:
5347:
5318:
491:Variable screen height up to vertical overscan
6878:
6525:
4276:Matrix Pixel Size (Color Clocks x Scan Lines)
3676:
6855:
6853:
5702:; Load light blue (color $ 9, luminance $ C)
5563:Set the Display List pointer Shadow address
5378:
5317:Map modes can be performed using the easier
5265:
4095:up into the bottom of the scrolling region.
3500:
485:Output a variable number of blank scan lines
361:Alphanumeric Television Interface Controller
5711:; Wait to sync to the end of the scanline
5493:register has the DLI bit set. (Bit 7 - $ 80
4175:
397:, Francois Michel, and Steve Smith for the
68:Learn how and when to remove these messages
6908:
6651:Mode 2, 3, 4, 5, D, E, or F and HSCROL is
6640:Mode 2, 3, 4, 5, D, E, or F and HSCROL is
6625:Mode 8/Mode 9 Horizontal Scroll Corruption
6619:
6492:memory that does not cross a 1K boundary.
5737:
5475:
5311:
3216:specify Playfield Character and Map modes.
3194:Bit 3:Bit 0 - Playfield Mode Instruction.
465:which specifies these playfield features:
6850:
6577:Learn how and when to remove this message
5134:Pixels Per Mode Line (narrow/normal/wide)
4839:Pixels Per Mode Line (narrow/normal/wide)
405:in 1981. ANTIC is also used in the 1982
340:Learn how and when to remove this message
322:Learn how and when to remove this message
208:Learn how and when to remove this message
6763:
6706:Wide Playfield Horizontal Fine Scrolling
6597:
6519:
6515:
6508:
6477:
6467:
6460:
6453:
5866:
5768:
5634:
5553:
5549:
5408:
5338:
5304:before updates, or doing the updates in
5140:Bytes per Mode Line (narrow/normal/wide)
4845:Bytes per Mode Line (narrow/normal/wide)
3963:
3946:
3691:Bytes Per Mode Line (narrow/normal/wide)
3032:
1591:Single line resolution Player/Missiles.
1534:
1218:
1059:
1034:
1009:
984:
900:
872:
614:
547:to produce Player/Missile graphics (aka
494:Horizontal and Vertical coarse scrolling
393:, the chip was designed in 1977–1978 by
356:ANTIC chip on an Atari 130XE motherboard
351:
6696:
5623:
5610:
5538:
5490:
5360:Horizontal scrolling requires the same
5301:
1193:
1112:
1087:
537:Characters may be vertically reflected.
6972:
6805:
6589:Certain combinations of values in the
5649:
4282:Matrix Map (Color Clocks x Scan Lines)
3020:DLI - Display List Interrupt (called "
2990:ANTIC has four types of instructions:
2788:
2238:for the character set in ROM at $ E000
2159:
2091:
1991:
1894:
1611:
1324:
1243:
412:For every frame of video, ANTIC reads
5454:Other platforms call this activity, "
5429:instruction in the scrolling region.
5401:
5393:
5329:
2527:
2317:
2249:
1456:192 color clocks/384 high-res pixels
1445:160 color clocks/320 high-res pixels
1434:128 color clocks/256 high-res pixels
1165:
1137:
6964:ANTIC chip data sheet scanned to PDF
6662:Mode 6, 7, A, B, or C and HSCROL is
6529:
4126:DLI Modifer - Display List Interrupt
3071:
2861:Non-Maskable Interrupt (NMI) Status
2856:
2532:Non-Maskable Interrupt (NMI) Enable
1985:will interpret as different colors.
1749:SHADOW: SDLSTL/SDLSTH $ 0230/$ 0231
219:
146:adding citations to reliable sources
117:
74:
33:
5181:16 shades of the background color.
4120:independently for each display line
4075:HS Modifer - Horizontal Fine Scroll
2793:Non-Maskable Interrupt (NMI) Reset
2704:The OS jumps through VVBLKI ($ 0222
2456:
2385:
1678:CHACTL controls character display.
1332:Direct Memory Access (DMA) Control
1248:Non-Maskable Interrupt (NMI) Status
1198:Non-Maskable Interrupt (NMI) Enable
420:chip which adds color and overlays
13:
6958:Mapping the Atari, Revised Edition
6914:
6884:
4599:Single Color: ANTIC Modes 6 and 7.
4522:
4247:
3956:Display List Instruction Modifier.
1223:Non-Maskable Interrupt (NMI) Reset
14:
7006:
6942:
6859:
5541:by setting the register to value
4711:Multi-Color: ANTIC Modes 4 and 5.
4087:VS Modifer - Vertical Fine Scroll
2974:Display list instruction overview
1745:DLISTL/DLISTH $ D402/$ D403 Write
531:Soft, re-definable character set.
101:and remove advice or instruction.
49:This article has multiple issues.
6753:(PDF). Atari, Inc. pp. 1–8.
6534:
5781:- Disable Player and Missile DMA
5726:; Restore Accumulator from stack
5626:. The usual value for NMIEN is
3251:Mode 0 Instruction - Blank Lines
3113:
2980:
2625:Enable Vertical Blank Interrupt
2036:
2033:
2030:
2027:
1973:ANTIC Modes using the alternate
1939:
1936:
1933:
1930:
961:Display List Pointer (high byte)
515:Other register-based functions:
224:
122:
79:
38:
27:. For the London pub chain, see
6602:
5862:register for more information.
5799:- Enable Player and Missile DMA
5516:
5478:modifier bit set. (Bit 7 - $ 80
2937:
2930:$ 40 - Vertical Blank Interrupt
2230:The usual default value is $ E0
1485:Disable Player and Missile DMA
933:Display List Pointer (low byte)
475:4 types of font/glyph rendering
133:needs additional citations for
57:or discuss these issues on the
6837:
6799:
6776:
6757:
6439:
4099:LMS Modifer - Load Memory Scan
3572:There are two kinds of Jumps:
2636:Enable Display List Interrupt
2393:Light Pen Horizontal Position
1509:Enable Player and Missile DMA
662:30, 31, 32, 33, 40, 39, 38, 37
1:
6764:Neubauer, Doug (2009-06-20).
6736:
5449:Display List Interrupts (DLI)
5089:
2933:$ 80 - Display List Interrupt
1142:Light Pen Horizontal Position
654:ANTIC interface to CTIA/GTIA
619:Atari ANTIC (C012296) pin-out
461:to read a program called the
6559:Knowledge's inclusion policy
5476:Display List Interrupt (DLI)
5245:
5110:) shadowed by GPRIOR ($ 026F
4825:
4285:Matrix Map (Pixels x Pixels)
2464:Light Pen Vertical Position
2096:Player Missile Base Address
1601:$ 00 - Disable Display List.
877:Direct Memory Access Control
820:
709:NMI interrupt output to CPU
566:Player/Missile graphics data
469:14 different graphics modes
237:general notability guideline
7:
6714:
5690:; Save Accumulator on stack
5674:
5465:
5460:Horizontal blank interrupts
5426:Horizontal Coarse Scrolling
5420:Alternate Scrolling Methods
5348:Horizontal Coarse Scrolling
5328:modifier bit in sequential
5137:TV Scan Lines per Mode Line
4842:TV Scan Lines per Mode Line
4595:requires 1024 bytes of RAM.
4270:Colors per Character Matrix
4264:TV Scan Lines per Mode Line
3694:TV Scan Lines per Mode Line
3493:the vertical scroll value.
3068:) to set the Display List.
2614:Enable Reset key interrupt
1859:ANTIC begins executing the
1604:$ 20 - Enable Display list.
1170:Light Pen Vertical Position
1039:Player/Missile Base Address
572:
448:
10:
7011:
6995:Computer display standards
6726:Horizontal blank interrupt
6526:Bugs and Border Conditions
5630:which enables DLI and VBI.
5287:. In this situation the
3945:The width bits set in the
3026:Horizontal Blank Interrupt
2956:direct memory access (DMA)
2927:$ 20 - Reset key interrupt
2777:When the CRITIC flag ($ 42
1064:Character Set Base Address
506:Horizontal Blank Interrupt
445:was named after the chip.
244:reliable secondary sources
233:The topic of this article
18:
6917:"KERI Performance Tester"
6806:Bisson, Gigi (May 1986).
6472:Horizontal Fine Scrolling
5379:Horizontal Fine Scrolling
5373:Vertical Coarse Scrolling
5366:Vertical Coarse Scrolling
5266:Vertical Coarse Scrolling
4548:Descenders: ANTIC Mode 3.
4141:If ANTIC register NMIEN (
3501:Mode 1 Instruction - Jump
3246:- Display List Interrupt.
3205:are special instructions.
2765:with a JMP XITVBV ($ E462
2753:with a JMP SYSVBV ($ E45F
2254:Wait For Horizontal Sync
1541:Player/Missile Resolution
1373:Player Missile Resolution
764:Read/write I/O direction
676:Fast phase 0 input clock
610:
235:may not meet Knowledge's
6786:, Mayer, Steven T.;
6731:Vertical blank interrupt
5767:Bits 2 and 3 of ANTIC's
5681:
4176:Playfield graphics modes
3677:Playfield Graphics Modes
3324:) OS Shadow COLOR4 (02C8
1474:Player/Missile DMA Bits
1092:Wait for Horizontal Sync
837:remember what it wrote.
439:Atari computer magazine
374:dedicated to generating
6620:Unexploitable Behaviors
5738:Player/Missile Graphics
5312:Vertical Fine Scrolling
5306:Display List Interrupts
4854:Color Clocks per Pixel
4533:Standard: ANTIC Mode 2.
4224:Wizard and the Princess
4070:Display List Interrupt.
2167:Character Base Address
1899:Horizontal Fine Scroll
1887:that point to the next
560:Playfield graphics data
389:Under the direction of
23:. For the surname, see
6953:Atari Program Exchange
6501:LMS (Load Memory Scan)
5720:; Set the background
5398:Horizontal Scroll (HS)
5149:Color Clocks per Pixel
5122:for more information.
4615:Color of Glyph pixels
4184:The ANTIC chip uses a
3954:Horizontal Fine Scroll
3340:for more information.
2322:Vertical Line Counter
1329:SHADOW: SDMCTL $ 022F
989:Horizontal Fine Scroll
620:
357:
16:Computer graphics chip
6980:Atari 8-bit computers
6784:US patent 4296476
6598:Exploitable Behaviors
6104:End/Bottom of screen
5962:End/Bottom of screen
4739:Color of Glyph pixel
4279:Bits Per Matrix Pixel
4130:Bit7: position value
3964:Instruction Modifiers
3033:Instruction Execution
2461:SHADOW: LPENV $ 0235
2390:SHADOW: LPENH $ 0234
2164:SHADOW: CHBAS $ 02F4
1996:Vertical Fine Scroll
1752:Display List Pointer
1616:SHADOW: CHART $ 02F3
1407:Playfield Width Bits
1117:Vertical Line Counter
803:Phase 0 clock output
618:
399:Atari 8-bit computers
355:
6697:Hi-Res Last Line Bug
6470:and the discussion,
6053:Start/Top of Screen
5911:Start/Top of Screen
5787:- Enable Missile DMA
5400:modifier bit in all
5326:Vertical Scroll (VS)
3952:The presence of the
3473:8 blank scan lines.
3458:7 blank scan lines.
3443:6 blank scan lines.
3428:5 blank scan lines.
3413:4 blank scan lines.
3398:3 blank scan lines.
3383:2 blank scan lines.
3225:- Horizontal Scroll.
1014:Vertical Fine Scroll
814:Phase 2 input clock
742:NMI interrupt input
606:C021737 — KERI
603:C020577 — CGIA
376:2D computer graphics
142:improve this article
99:rewrite this article
6990:Integrated circuits
5793:- Enable Player DMA
5650:Code Considerations
3368:1 blank scan line.
3239:- Load Memory Scan.
3028:" on other systems)
2789:NMIRES $ D40F Write
2160:CHBASE $ D409 Write
2092:PMBASE $ D407 Write
1992:VSCROL $ D405 Write
1895:HSCROL $ D404 Write
1612:CHACTL $ D401 Write
1493:Enable Missile DMA
1325:DMACTL $ D400 Write
731:RAM refresh output
643:Memory address I/O
563:Character set fonts
508:" on other systems)
4273:Characters in Font
4037:Horizontal Scroll.
3949:hardware register.
3232:- Vertical Scroll.
3131:Instruction Bits:
2528:NMIEN $ D40E Write
2318:VCOUNT $ D40B Read
2250:WSYNC $ D40A Write
1619:Character Control
1501:Enable Player DMA
1466:Player/Missile DMA
753:Reset ANTIC input
621:
472:6 character modes
358:
239:
6951:published by the
6866:Dan B's Home Page
6843:Michael Current,
6587:
6586:
6579:
6483:Although ANTIC's
6437:
6436:
6347:Graphics line 191
6232:
6231:
6154:
6153:
6012:
6011:
5587:Monitor RTCLOCK (
5556:). Bit 5 (value
5456:Raster interrupts
5243:
5242:
5087:
5086:
4823:
4822:
4707:
4706:
4520:
4519:
4059:Load Memory Scan.
4022:
4021:
3939:
3938:
3799:5 (single-color)
3782:5 (single-color)
3685:ANTIC Instruction
3673:
3672:
3559:
3558:
3477:
3476:
3350:ANTIC Instruction
3309:
3308:
3188:
3187:
3129:
3128:
3072:Instruction Bytes
2918:
2917:
2857:NMIST $ D40F Read
2850:
2849:
2640:
2639:
2589:
2588:
2521:
2520:
2450:
2449:
2379:
2378:
2311:
2310:
2224:
2223:
2153:
2152:
2053:
2052:
1956:
1955:
1857:
1856:
1730:
1729:
1676:
1675:
1513:
1512:
1460:
1459:
1421:Disable playfield
1389:
1388:
1322:
1321:
1267:
1266:
905:Character Control
818:
817:
581:
543:Performs DMA for
480:8 bitmapped modes
378:to be shown on a
350:
349:
342:
332:
331:
324:
306:
234:
218:
217:
210:
192:
116:
115:
92:a manual or guide
72:
7002:
6936:
6935:
6933:
6932:
6923:. Archived from
6912:
6906:
6905:
6903:
6902:
6893:. Archived from
6882:
6876:
6875:
6873:
6872:
6857:
6848:
6841:
6835:
6834:
6832:
6830:
6803:
6797:
6796:
6795:
6791:
6780:
6774:
6773:
6770:DougNeubauer.com
6761:
6755:
6754:
6747:
6669:
6665:
6658:
6654:
6647:
6643:
6582:
6575:
6571:
6568:
6562:
6538:
6537:
6530:
6251:P/M Single line
6242:
6241:
6228:
6223:
6213:
6208:
6198:
6193:
6183:
6178:
6159:
6158:
6036:Missiles 3/2/1/0
6028:
6027:
6017:
5894:Missiles 3/2/1/0
5886:
5885:
5875:
5845:
5827:
5813:
5798:
5792:
5786:
5780:
5733:
5730:
5727:
5724:
5721:
5718:
5715:
5712:
5709:
5706:
5703:
5700:
5697:
5694:
5691:
5688:
5685:
5640:
5637:). Bit 5 (value
5629:
5621:
5609:Monitor ANTIC's
5598:
5594:
5590:
5573:
5559:
5544:
5536:
5319:coarse scrolling
5125:
5124:
5083:
5082:
5078:
5072:
5071:
5067:
5022:
4968:
4830:
4829:
4819:
4811:
4803:
4795:
4787:
4779:
4771:
4763:
4755:
4747:
4730:
4729:
4725:
4721:
4717:
4703:
4698:
4694:
4689:
4681:
4676:
4672:
4667:
4659:
4654:
4650:
4645:
4637:
4632:
4628:
4623:
4606:
4605:
4586:
4575:
4564:
4553:
4543:
4538:
4252:
4251:
4155:
4144:
4133:
4048:Vertical Scroll.
3968:
3967:
3765:5 (multi-color)
3748:5 (multi-color)
3682:
3681:
3619:
3618:
3505:
3504:
3347:
3346:
3255:
3254:
3245:
3238:
3231:
3224:
3215:
3211:
3204:
3200:
3134:
3133:
3079:
3078:
3022:raster interrupt
2923:The bit values:
2864:
2863:
2796:
2795:
2594:
2593:
2535:
2534:
2467:
2466:
2457:PENV $ D40D Read
2396:
2395:
2386:PENH $ D40C Read
2325:
2324:
2314:is unimportant.
2257:
2256:
2170:
2169:
2099:
2098:
1999:
1998:
1902:
1901:
1755:
1754:
1684:
1683:
1622:
1621:
1595:Display List DMA
1471:
1470:
1442:Normal playfield
1431:Narrow playfield
1404:
1403:
1385:Playfield Width
1370:Display List DMA
1335:
1334:
1272:
1271:
867:Shadow Dec Addr
843:
842:
698:Light pen input
623:
622:
577:
502:raster interrupt
384:computer display
345:
338:
327:
320:
316:
313:
307:
305:
264:
228:
227:
220:
213:
206:
202:
199:
193:
191:
150:
126:
118:
111:
108:
102:
90:is written like
83:
82:
75:
64:
42:
41:
34:
29:Antic Collective
21:Antic (magazine)
7010:
7009:
7005:
7004:
7003:
7001:
7000:
6999:
6970:
6969:
6960:by Ian Chadwick
6945:
6940:
6939:
6930:
6928:
6921:AtariMuseum.com
6913:
6909:
6900:
6898:
6891:AtariMuseum.com
6887:"Atari 800XLCR"
6883:
6879:
6870:
6868:
6858:
6851:
6842:
6838:
6828:
6826:
6804:
6800:
6793:
6781:
6777:
6762:
6758:
6749:
6748:
6744:
6739:
6717:
6708:
6699:
6667:
6663:
6656:
6652:
6645:
6641:
6627:
6622:
6605:
6600:
6583:
6572:
6566:
6563:
6549:Please help by
6548:
6539:
6535:
6528:
6442:
6433:
6429:
6425:
6421:
6415:
6411:
6407:
6403:
6397:(bottom) Unused
6392:
6388:
6382:
6378:
6367:
6363:
6357:
6353:
6342:
6338:
6332:
6328:
6322:Graphics line 0
6317:
6313:
6307:
6303:
6292:
6288:
6284:
6280:
6274:
6270:
6266:
6262:
6248:P/M Double line
6226:
6221:
6211:
6206:
6196:
6191:
6181:
6176:
6024:
6020:
6015:
5882:
5878:
5873:
5853:
5849:
5843:
5839:
5835:
5825:
5820:
5816:
5811:
5796:
5790:
5784:
5778:
5740:
5735:
5734:
5731:
5728:
5725:
5722:
5719:
5716:
5713:
5710:
5707:
5704:
5701:
5698:
5695:
5692:
5689:
5686:
5683:
5677:
5652:
5638:
5627:
5619:
5605:
5601:
5596:
5592:
5588:
5580:
5576:
5571:
5557:
5542:
5534:
5519:
5511:
5507:
5500:
5496:
5485:
5481:
5468:
5451:
5422:
5381:
5350:
5314:
5268:
5248:
5117:
5113:
5109:
5105:
5092:
5080:
5076:
5075:
5069:
5065:
5064:
5020:
4966:
4828:
4817:
4809:
4801:
4793:
4785:
4777:
4769:
4761:
4753:
4745:
4733:Character bit 7
4723:
4719:
4715:
4701:
4696:
4692:
4687:
4679:
4674:
4670:
4665:
4657:
4652:
4648:
4643:
4635:
4630:
4626:
4621:
4612:Character Range
4609:Character bits
4593:
4589:
4584:
4582:
4578:
4573:
4571:
4567:
4562:
4560:
4556:
4551:
4541:
4536:
4525:
4523:Glyph Rendering
4255:Antic Text Mode
4250:
4248:Character Modes
4178:
4163:
4159:
4153:
4151:
4147:
4142:
4131:
4128:
4101:
4089:
4077:
4069:
4065:
4058:
4054:
4047:
4043:
4036:
4032:
3966:
3617:
3606:
3602:
3594:
3590:
3583:
3579:
3568:
3564:
3503:
3487:
3483:
3470:
3466:
3455:
3451:
3440:
3436:
3425:
3421:
3410:
3406:
3395:
3391:
3380:
3376:
3365:
3361:
3331:
3327:
3323:
3319:
3253:
3243:
3236:
3229:
3222:
3213:
3209:
3202:
3198:
3074:
3067:
3063:
3059:
3055:
3044:
3040:
3035:
2976:
2940:
2859:
2791:
2784:
2780:
2772:
2768:
2760:
2756:
2747:
2743:
2735:
2731:
2727:
2723:
2719:
2715:
2711:
2707:
2680:
2676:
2657:
2653:
2649:
2645:
2530:
2459:
2388:
2320:
2252:
2245:
2241:
2237:
2233:
2162:
2094:
1994:
1897:
1878:
1874:
1870:
1866:
1747:
1614:
1585:
1581:
1566:
1562:
1399:Playfield Width
1382:Playfield Width
1327:
864:Shadow Hex Addr
828:
823:
786:
778:Power +5 volts
772:
613:
575:
451:
346:
335:
334:
333:
328:
317:
311:
308:
265:
263:
241:
229:
225:
214:
203:
197:
194:
151:
149:
139:
127:
112:
106:
103:
96:
84:
80:
43:
39:
32:
17:
12:
11:
5:
7008:
6998:
6997:
6992:
6987:
6985:Graphics chips
6982:
6968:
6967:
6961:
6955:
6944:
6943:External links
6941:
6938:
6937:
6915:Vendel, Curt.
6907:
6885:Vendel, Curt.
6877:
6849:
6836:
6798:
6775:
6756:
6741:
6740:
6738:
6735:
6734:
6733:
6728:
6723:
6716:
6713:
6707:
6704:
6698:
6695:
6685:
6684:
6683:
6682:
6679:
6673:
6672:
6671:
6660:
6649:
6626:
6623:
6621:
6618:
6604:
6601:
6599:
6596:
6585:
6584:
6542:
6540:
6533:
6527:
6524:
6441:
6438:
6435:
6434:
6431:
6427:
6423:
6419:
6416:
6413:
6409:
6405:
6401:
6398:
6394:
6393:
6390:
6386:
6383:
6380:
6376:
6373:
6369:
6368:
6365:
6361:
6358:
6355:
6351:
6348:
6344:
6343:
6340:
6336:
6333:
6330:
6326:
6323:
6319:
6318:
6315:
6311:
6308:
6305:
6301:
6298:
6297:Start Overscan
6294:
6293:
6290:
6286:
6282:
6278:
6275:
6272:
6268:
6264:
6260:
6257:
6253:
6252:
6249:
6246:
6230:
6229:
6224:
6219:
6215:
6214:
6209:
6204:
6200:
6199:
6194:
6189:
6185:
6184:
6179:
6174:
6170:
6169:
6166:
6163:
6152:
6151:
6148:
6145:
6142:
6139:
6136:
6133:
6129:
6128:
6125:
6122:
6119:
6116:
6113:
6110:
6106:
6105:
6101:
6100:
6097:
6094:
6091:
6088:
6085:
6082:
6078:
6077:
6074:
6071:
6068:
6065:
6062:
6059:
6055:
6054:
6050:
6049:
6046:
6043:
6040:
6037:
6034:
6031:
6022:
6018:
6010:
6009:
6006:
6003:
6000:
5997:
5994:
5991:
5987:
5986:
5983:
5980:
5977:
5974:
5971:
5968:
5964:
5963:
5959:
5958:
5955:
5952:
5949:
5946:
5943:
5940:
5936:
5935:
5932:
5929:
5926:
5923:
5920:
5917:
5913:
5912:
5908:
5907:
5904:
5901:
5898:
5895:
5892:
5889:
5880:
5876:
5856:
5855:
5851:
5847:
5841:
5837:
5833:
5818:
5814:
5801:
5800:
5794:
5788:
5782:
5744:Player/Missile
5739:
5736:
5682:
5676:
5673:
5651:
5648:
5643:
5642:
5631:
5616:
5615:
5614:
5607:
5603:
5599:
5582:
5578:
5574:
5568:
5561:
5546:
5518:
5515:
5514:
5513:
5509:
5505:
5502:
5498:
5494:
5487:
5483:
5479:
5467:
5464:
5450:
5447:
5421:
5418:
5380:
5377:
5349:
5346:
5313:
5310:
5267:
5264:
5247:
5244:
5241:
5240:
5237:
5234:
5231:
5228:
5225:
5222:
5219:
5216:
5212:
5211:
5208:
5205:
5202:
5199:
5196:
5193:
5190:
5187:
5183:
5182:
5179:
5176:
5173:
5170:
5167:
5164:
5161:
5158:
5154:
5153:
5150:
5147:
5144:
5143:Bits Per Pixel
5141:
5138:
5135:
5132:
5129:
5128:Antic Map Mode
5115:
5111:
5107:
5103:
5091:
5088:
5085:
5084:
5073:
5061:
5058:
5055:
5052:
5049:
5046:
5042:
5041:
5038:
5035:
5032:
5029:
5026:
5023:
5018:
5014:
5013:
5010:
5007:
5004:
5001:
4998:
4995:
4992:
4988:
4987:
4984:
4981:
4978:
4975:
4972:
4969:
4964:
4960:
4959:
4956:
4953:
4950:
4947:
4944:
4941:
4938:
4934:
4933:
4930:
4927:
4924:
4921:
4918:
4915:
4912:
4908:
4907:
4904:
4901:
4898:
4895:
4892:
4889:
4886:
4882:
4881:
4878:
4875:
4872:
4869:
4866:
4863:
4860:
4856:
4855:
4852:
4849:
4848:Bits per Pixel
4846:
4843:
4840:
4837:
4834:
4833:Antic Map Mode
4827:
4824:
4821:
4820:
4815:
4812:
4805:
4804:
4799:
4796:
4789:
4788:
4783:
4780:
4773:
4772:
4767:
4764:
4757:
4756:
4751:
4748:
4741:
4740:
4737:
4736:Glyph bit pair
4734:
4728:
4727:
4705:
4704:
4699:
4690:
4683:
4682:
4677:
4668:
4661:
4660:
4655:
4646:
4639:
4638:
4633:
4624:
4617:
4616:
4613:
4610:
4604:
4603:
4596:
4591:
4587:
4580:
4576:
4569:
4565:
4558:
4554:
4545:
4524:
4521:
4518:
4517:
4514:
4511:
4508:
4505:
4502:
4499:
4496:
4493:
4490:
4487:
4484:
4480:
4479:
4476:
4473:
4470:
4467:
4464:
4461:
4458:
4455:
4452:
4449:
4446:
4442:
4441:
4438:
4435:
4432:
4429:
4426:
4423:
4420:
4417:
4414:
4411:
4408:
4404:
4403:
4400:
4397:
4394:
4391:
4388:
4385:
4382:
4379:
4376:
4373:
4370:
4366:
4365:
4362:
4359:
4356:
4353:
4350:
4347:
4344:
4341:
4338:
4335:
4332:
4328:
4327:
4324:
4321:
4318:
4315:
4312:
4309:
4306:
4303:
4300:
4297:
4294:
4290:
4289:
4286:
4283:
4280:
4277:
4274:
4271:
4268:
4265:
4262:
4259:
4256:
4249:
4246:
4177:
4174:
4161:
4157:
4149:
4145:
4127:
4124:
4100:
4097:
4088:
4085:
4076:
4073:
4072:
4071:
4067:
4063:
4060:
4056:
4052:
4049:
4045:
4041:
4038:
4034:
4030:
4020:
4019:
4016:
4013:
4010:
4007:
4004:
4001:
3998:
3994:
3993:
3990:
3987:
3984:
3981:
3978:
3975:
3972:
3965:
3962:
3958:
3957:
3950:
3937:
3936:
3933:
3930:
3927:
3924:
3920:
3919:
3916:
3913:
3910:
3907:
3903:
3902:
3899:
3896:
3893:
3890:
3886:
3885:
3882:
3879:
3876:
3873:
3869:
3868:
3865:
3862:
3859:
3856:
3852:
3851:
3848:
3845:
3842:
3839:
3835:
3834:
3831:
3828:
3825:
3822:
3818:
3817:
3814:
3811:
3808:
3805:
3801:
3800:
3797:
3794:
3791:
3788:
3784:
3783:
3780:
3777:
3774:
3771:
3767:
3766:
3763:
3760:
3757:
3754:
3750:
3749:
3746:
3743:
3740:
3737:
3733:
3732:
3729:
3726:
3723:
3720:
3716:
3715:
3712:
3709:
3706:
3703:
3699:
3698:
3695:
3692:
3689:
3686:
3671:
3670:
3667:
3664:
3661:
3658:
3655:
3652:
3649:
3645:
3644:
3641:
3638:
3635:
3632:
3629:
3626:
3623:
3616:
3613:
3604:
3600:
3597:
3596:
3592:
3588:
3585:
3581:
3577:
3566:
3562:
3557:
3556:
3553:
3550:
3547:
3544:
3541:
3538:
3535:
3531:
3530:
3527:
3524:
3521:
3518:
3515:
3512:
3509:
3502:
3499:
3485:
3481:
3475:
3474:
3471:
3468:
3464:
3460:
3459:
3456:
3453:
3449:
3445:
3444:
3441:
3438:
3434:
3430:
3429:
3426:
3423:
3419:
3415:
3414:
3411:
3408:
3404:
3400:
3399:
3396:
3393:
3389:
3385:
3384:
3381:
3378:
3374:
3370:
3369:
3366:
3363:
3359:
3355:
3354:
3351:
3329:
3325:
3321:
3317:
3307:
3306:
3303:
3300:
3297:
3294:
3291:
3288:
3285:
3281:
3280:
3277:
3274:
3271:
3268:
3265:
3262:
3259:
3252:
3249:
3248:
3247:
3240:
3233:
3226:
3219:
3218:
3217:
3206:
3186:
3185:
3182:
3179:
3176:
3173:
3170:
3167:
3164:
3160:
3159:
3156:
3153:
3150:
3147:
3144:
3141:
3138:
3127:
3126:
3123:
3119:
3118:
3115:
3111:
3110:
3107:
3103:
3102:
3101:Bit must be 1
3099:
3095:
3094:
3093:Bit must be 0
3091:
3087:
3086:
3083:
3073:
3070:
3065:
3061:
3057:
3053:
3042:
3038:
3034:
3031:
3030:
3029:
3018:
3015:
3012:
3005:
3004:
3001:
2998:
2995:
2975:
2972:
2964:CTIA/GTIA chip
2939:
2936:
2935:
2934:
2931:
2928:
2916:
2915:
2912:
2909:
2906:
2903:
2900:
2897:
2894:
2890:
2889:
2886:
2883:
2880:
2877:
2874:
2871:
2868:
2858:
2855:
2848:
2847:
2844:
2841:
2838:
2835:
2832:
2829:
2826:
2822:
2821:
2818:
2815:
2812:
2809:
2806:
2803:
2800:
2790:
2787:
2782:
2778:
2775:
2774:
2770:
2766:
2762:
2758:
2754:
2745:
2741:
2740:SETVBV ($ E45C
2733:
2729:
2725:
2721:
2717:
2713:
2709:
2705:
2678:
2674:
2655:
2651:
2647:
2643:
2638:
2637:
2634:
2631:
2627:
2626:
2623:
2620:
2616:
2615:
2612:
2609:
2605:
2604:
2601:
2598:
2587:
2586:
2583:
2580:
2577:
2574:
2571:
2568:
2565:
2561:
2560:
2557:
2554:
2551:
2548:
2545:
2542:
2539:
2529:
2526:
2519:
2518:
2515:
2512:
2509:
2506:
2503:
2500:
2497:
2493:
2492:
2489:
2486:
2483:
2480:
2477:
2474:
2471:
2458:
2455:
2448:
2447:
2444:
2441:
2438:
2435:
2432:
2429:
2426:
2422:
2421:
2418:
2415:
2412:
2409:
2406:
2403:
2400:
2387:
2384:
2377:
2376:
2373:
2370:
2367:
2364:
2361:
2358:
2355:
2351:
2350:
2347:
2344:
2341:
2338:
2335:
2332:
2329:
2319:
2316:
2309:
2308:
2305:
2302:
2299:
2296:
2293:
2290:
2287:
2283:
2282:
2279:
2276:
2273:
2270:
2267:
2264:
2261:
2251:
2248:
2243:
2239:
2235:
2231:
2222:
2221:
2218:
2215:
2212:
2209:
2206:
2203:
2200:
2196:
2195:
2192:
2189:
2186:
2183:
2180:
2177:
2174:
2161:
2158:
2151:
2150:
2147:
2144:
2141:
2138:
2135:
2132:
2129:
2125:
2124:
2121:
2118:
2115:
2112:
2109:
2106:
2103:
2093:
2090:
2051:
2050:
2047:
2044:
2041:
2038:
2035:
2032:
2029:
2025:
2024:
2021:
2018:
2015:
2012:
2009:
2006:
2003:
1993:
1990:
1954:
1953:
1950:
1947:
1944:
1941:
1938:
1935:
1932:
1928:
1927:
1924:
1921:
1918:
1915:
1912:
1909:
1906:
1896:
1893:
1876:
1872:
1868:
1864:
1855:
1854:
1851:
1848:
1845:
1842:
1839:
1836:
1833:
1830:
1827:
1824:
1821:
1818:
1815:
1812:
1809:
1805:
1804:
1801:
1798:
1795:
1792:
1789:
1786:
1783:
1780:
1777:
1774:
1771:
1768:
1765:
1762:
1759:
1746:
1743:
1728:
1727:
1724:
1721:
1717:
1716:
1713:
1710:
1706:
1705:
1702:
1699:
1695:
1694:
1691:
1688:
1674:
1673:
1670:
1667:
1664:
1661:
1658:
1655:
1652:
1648:
1647:
1644:
1641:
1638:
1635:
1632:
1629:
1626:
1613:
1610:
1606:
1605:
1602:
1588:
1587:
1583:
1579:
1568:
1564:
1560:
1511:
1510:
1507:
1503:
1502:
1499:
1495:
1494:
1491:
1487:
1486:
1483:
1479:
1478:
1475:
1458:
1457:
1454:
1453:Wide playfield
1451:
1447:
1446:
1443:
1440:
1436:
1435:
1432:
1429:
1425:
1424:
1422:
1419:
1415:
1414:
1411:
1408:
1387:
1386:
1383:
1380:
1377:
1374:
1371:
1368:
1365:
1361:
1360:
1357:
1354:
1351:
1348:
1345:
1342:
1339:
1326:
1323:
1320:
1319:
1316:
1312:
1311:
1308:
1304:
1303:
1300:
1296:
1295:
1294:Bit must be 1
1292:
1288:
1287:
1286:Bit must be 0
1284:
1280:
1279:
1276:
1265:
1264:
1262:
1260:
1258:
1255:
1252:
1249:
1246:
1240:
1239:
1237:
1235:
1233:
1230:
1227:
1224:
1221:
1215:
1214:
1212:
1210:
1208:
1205:
1202:
1199:
1196:
1190:
1189:
1186:
1183:
1180:
1177:
1174:
1171:
1168:
1162:
1161:
1158:
1155:
1152:
1149:
1146:
1143:
1140:
1134:
1133:
1131:
1129:
1127:
1124:
1121:
1118:
1115:
1109:
1108:
1106:
1104:
1102:
1099:
1096:
1093:
1090:
1084:
1083:
1080:
1077:
1074:
1071:
1068:
1065:
1062:
1056:
1055:
1053:
1051:
1049:
1046:
1043:
1040:
1037:
1031:
1030:
1028:
1026:
1024:
1021:
1018:
1015:
1012:
1006:
1005:
1003:
1001:
999:
996:
993:
990:
987:
981:
980:
977:
974:
971:
968:
965:
962:
959:
953:
952:
949:
946:
943:
940:
937:
934:
931:
925:
924:
921:
918:
915:
912:
909:
906:
903:
897:
896:
893:
890:
887:
884:
881:
878:
875:
869:
868:
865:
862:
859:
856:
853:
850:
847:
826:
822:
819:
816:
815:
812:
809:
805:
804:
801:
798:
794:
793:
790:
787:
784:
780:
779:
776:
773:
770:
766:
765:
762:
759:
755:
754:
751:
748:
744:
743:
740:
737:
733:
732:
729:
726:
722:
721:
718:
715:
711:
710:
707:
704:
700:
699:
696:
693:
689:
688:
685:
682:
678:
677:
674:
671:
667:
666:
663:
660:
656:
655:
652:
649:
645:
644:
641:
638:
634:
633:
630:
627:
612:
609:
608:
607:
604:
596:
595:
592:
589:
586:
579:by part number
574:
571:
570:
569:
568:
567:
564:
561:
558:
557:Display lists.
552:
541:
538:
535:
532:
529:
526:
523:
520:
513:
512:
509:
498:
495:
492:
489:
486:
483:
482:
481:
478:
477:
476:
450:
447:
348:
347:
330:
329:
232:
230:
223:
216:
215:
130:
128:
121:
114:
113:
87:
85:
78:
73:
47:
46:
44:
37:
15:
9:
6:
4:
3:
2:
7007:
6996:
6993:
6991:
6988:
6986:
6983:
6981:
6978:
6977:
6975:
6965:
6962:
6959:
6956:
6954:
6950:
6947:
6946:
6927:on 2011-09-13
6926:
6922:
6918:
6911:
6897:on 2011-09-13
6896:
6892:
6888:
6881:
6867:
6863:
6862:"Atari Chips"
6856:
6854:
6846:
6840:
6825:
6821:
6817:
6813:
6809:
6802:
6789:
6788:Miner, Jay G.
6785:
6779:
6771:
6767:
6760:
6752:
6746:
6742:
6732:
6729:
6727:
6724:
6722:
6719:
6718:
6712:
6703:
6694:
6691:
6680:
6677:
6676:
6674:
6661:
6650:
6642:$ A, $ B, $ E
6639:
6638:
6636:
6635:
6634:
6631:
6617:
6614:
6609:
6595:
6592:
6581:
6578:
6570:
6560:
6556:
6552:
6546:
6543:This section
6541:
6532:
6531:
6523:
6521:
6517:
6512:
6510:
6505:
6502:
6498:
6493:
6490:
6486:
6481:
6479:
6474:
6473:
6469:
6464:
6462:
6457:
6455:
6449:
6447:
6417:
6399:
6396:
6395:
6384:
6374:
6371:
6370:
6359:
6349:
6346:
6345:
6334:
6324:
6321:
6320:
6309:
6299:
6296:
6295:
6276:
6258:
6255:
6254:
6250:
6247:
6244:
6243:
6240:
6236:
6225:
6220:
6217:
6216:
6210:
6205:
6202:
6201:
6195:
6190:
6187:
6186:
6180:
6175:
6172:
6171:
6167:
6164:
6161:
6160:
6157:
6149:
6146:
6143:
6140:
6137:
6134:
6131:
6130:
6126:
6123:
6120:
6117:
6114:
6111:
6108:
6107:
6103:
6102:
6098:
6095:
6092:
6089:
6086:
6083:
6080:
6079:
6075:
6072:
6069:
6066:
6063:
6060:
6057:
6056:
6052:
6051:
6047:
6044:
6041:
6038:
6035:
6032:
6030:
6029:
6026:
6007:
6004:
6001:
5998:
5995:
5992:
5989:
5988:
5984:
5981:
5978:
5975:
5972:
5969:
5966:
5965:
5961:
5960:
5956:
5953:
5950:
5947:
5944:
5941:
5938:
5937:
5933:
5930:
5927:
5924:
5921:
5918:
5915:
5914:
5910:
5909:
5905:
5902:
5899:
5896:
5893:
5890:
5888:
5887:
5884:
5870:
5868:
5863:
5861:
5842:
5831:
5824:
5823:
5822:
5810:Bit 4 (value
5808:
5806:
5795:
5789:
5783:
5777:
5776:
5775:
5772:
5770:
5765:
5762:
5756:
5754:
5749:
5745:
5680:
5672:
5668:
5664:
5660:
5656:
5647:
5636:
5632:
5625:
5617:
5612:
5608:
5586:
5585:
5583:
5569:
5566:
5565:DLISTL/DLISTH
5562:
5555:
5551:
5547:
5540:
5532:
5531:
5530:
5528:
5523:
5503:
5492:
5488:
5477:
5473:
5472:
5471:
5463:
5461:
5457:
5446:
5442:
5438:
5434:
5430:
5427:
5417:
5413:
5410:
5405:
5403:
5399:
5395:
5390:
5387:
5376:
5374:
5369:
5367:
5363:
5358:
5356:
5345:
5342:
5340:
5334:
5331:
5327:
5322:
5320:
5309:
5307:
5303:
5297:
5293:
5290:
5286:
5280:
5276:
5273:
5263:
5260:
5256:
5252:
5238:
5235:
5232:
5229:
5226:
5223:
5220:
5217:
5214:
5213:
5209:
5206:
5203:
5200:
5197:
5194:
5191:
5188:
5185:
5184:
5180:
5177:
5174:
5171:
5168:
5165:
5162:
5159:
5156:
5155:
5151:
5148:
5145:
5142:
5139:
5136:
5133:
5130:
5127:
5126:
5123:
5121:
5101:
5097:
5074:
5062:
5059:
5056:
5053:
5050:
5047:
5044:
5043:
5039:
5036:
5033:
5030:
5027:
5024:
5019:
5016:
5015:
5011:
5008:
5005:
5002:
4999:
4996:
4993:
4990:
4989:
4985:
4982:
4979:
4976:
4973:
4970:
4965:
4962:
4961:
4957:
4954:
4951:
4948:
4945:
4942:
4939:
4936:
4935:
4931:
4928:
4925:
4922:
4919:
4916:
4913:
4910:
4909:
4905:
4902:
4899:
4896:
4893:
4890:
4887:
4884:
4883:
4879:
4876:
4873:
4870:
4867:
4864:
4861:
4858:
4857:
4853:
4850:
4847:
4844:
4841:
4838:
4835:
4832:
4831:
4816:
4813:
4807:
4806:
4800:
4797:
4791:
4790:
4784:
4781:
4775:
4774:
4768:
4765:
4759:
4758:
4752:
4749:
4743:
4742:
4738:
4735:
4732:
4731:
4712:
4709:
4708:
4700:
4691:
4685:
4684:
4678:
4669:
4663:
4662:
4656:
4647:
4641:
4640:
4634:
4625:
4619:
4618:
4614:
4611:
4608:
4607:
4600:
4597:
4549:
4546:
4534:
4531:
4530:
4529:
4515:
4512:
4509:
4506:
4503:
4500:
4497:
4494:
4491:
4488:
4485:
4482:
4481:
4477:
4474:
4471:
4468:
4465:
4462:
4459:
4456:
4453:
4450:
4447:
4444:
4443:
4439:
4436:
4433:
4430:
4427:
4424:
4421:
4418:
4415:
4412:
4409:
4406:
4405:
4401:
4398:
4395:
4392:
4389:
4386:
4383:
4380:
4377:
4374:
4371:
4368:
4367:
4363:
4360:
4357:
4354:
4351:
4348:
4345:
4342:
4339:
4336:
4333:
4330:
4329:
4325:
4322:
4319:
4316:
4313:
4310:
4307:
4304:
4301:
4298:
4295:
4292:
4291:
4287:
4284:
4281:
4278:
4275:
4272:
4269:
4266:
4263:
4260:
4257:
4254:
4253:
4245:
4241:
4239:
4237:
4232:
4231:
4226:
4225:
4220:
4219:
4212:
4210:
4205:
4203:
4197:
4195:
4191:
4187:
4182:
4173:
4169:
4165:
4139:
4137:
4123:
4121:
4116:
4112:
4110:
4104:
4096:
4092:
4084:
4080:
4061:
4050:
4039:
4028:
4027:
4026:
4017:
4014:
4011:
4008:
4005:
4002:
3999:
3996:
3995:
3991:
3988:
3985:
3982:
3979:
3976:
3973:
3970:
3969:
3961:
3955:
3951:
3948:
3944:
3943:
3942:
3934:
3931:
3928:
3925:
3922:
3921:
3917:
3914:
3911:
3908:
3905:
3904:
3900:
3897:
3894:
3891:
3888:
3887:
3883:
3880:
3877:
3874:
3871:
3870:
3866:
3863:
3860:
3857:
3854:
3853:
3849:
3846:
3843:
3840:
3837:
3836:
3832:
3829:
3826:
3823:
3820:
3819:
3815:
3812:
3809:
3806:
3803:
3802:
3798:
3795:
3792:
3789:
3786:
3785:
3781:
3778:
3775:
3772:
3769:
3768:
3764:
3761:
3758:
3755:
3752:
3751:
3747:
3744:
3741:
3738:
3735:
3734:
3730:
3727:
3724:
3721:
3718:
3717:
3713:
3710:
3707:
3704:
3701:
3700:
3696:
3693:
3690:
3687:
3684:
3683:
3680:
3678:
3668:
3665:
3662:
3659:
3656:
3653:
3650:
3647:
3646:
3642:
3639:
3636:
3633:
3630:
3627:
3624:
3621:
3620:
3612:
3608:
3586:
3575:
3574:
3573:
3570:
3554:
3551:
3548:
3545:
3542:
3539:
3536:
3533:
3532:
3528:
3525:
3522:
3519:
3516:
3513:
3510:
3507:
3506:
3498:
3494:
3490:
3472:
3462:
3461:
3457:
3447:
3446:
3442:
3432:
3431:
3427:
3417:
3416:
3412:
3402:
3401:
3397:
3387:
3386:
3382:
3372:
3371:
3367:
3357:
3356:
3352:
3349:
3348:
3345:
3341:
3339:
3335:
3315:
3304:
3301:
3298:
3295:
3292:
3289:
3286:
3283:
3282:
3278:
3275:
3272:
3269:
3266:
3263:
3260:
3257:
3256:
3241:
3234:
3227:
3220:
3207:
3196:
3195:
3193:
3192:
3191:
3183:
3180:
3177:
3174:
3171:
3168:
3165:
3162:
3161:
3157:
3154:
3151:
3148:
3145:
3142:
3139:
3136:
3135:
3132:
3124:
3121:
3120:
3116:
3112:
3108:
3105:
3104:
3100:
3097:
3096:
3092:
3089:
3088:
3084:
3081:
3080:
3077:
3069:
3050:
3046:
3027:
3023:
3019:
3016:
3013:
3010:
3009:
3008:
3002:
2999:
2996:
2993:
2992:
2991:
2988:
2984:
2982:
2971:
2969:
2965:
2959:
2957:
2953:
2948:
2945:
2932:
2929:
2926:
2925:
2924:
2921:
2913:
2910:
2907:
2904:
2901:
2898:
2895:
2892:
2891:
2887:
2884:
2881:
2878:
2875:
2872:
2869:
2866:
2865:
2862:
2854:
2845:
2842:
2839:
2836:
2833:
2830:
2827:
2824:
2823:
2819:
2816:
2813:
2810:
2807:
2804:
2801:
2798:
2797:
2794:
2786:
2763:
2751:
2750:
2749:
2737:
2702:
2700:
2695:
2694:
2690:
2686:
2682:
2671:
2669:
2664:
2663:
2659:
2635:
2632:
2629:
2628:
2624:
2621:
2618:
2617:
2613:
2610:
2607:
2606:
2602:
2599:
2596:
2595:
2592:
2584:
2581:
2578:
2575:
2572:
2569:
2566:
2563:
2562:
2558:
2555:
2552:
2549:
2546:
2543:
2540:
2537:
2536:
2533:
2525:
2516:
2513:
2510:
2507:
2504:
2501:
2498:
2495:
2494:
2490:
2487:
2484:
2481:
2478:
2475:
2472:
2469:
2468:
2465:
2462:
2454:
2445:
2442:
2439:
2436:
2433:
2430:
2427:
2424:
2423:
2419:
2416:
2413:
2410:
2407:
2404:
2401:
2398:
2397:
2394:
2391:
2383:
2374:
2371:
2368:
2365:
2362:
2359:
2356:
2353:
2352:
2348:
2345:
2342:
2339:
2336:
2333:
2330:
2327:
2326:
2323:
2315:
2306:
2303:
2300:
2297:
2294:
2291:
2288:
2285:
2284:
2280:
2277:
2274:
2271:
2268:
2265:
2262:
2259:
2258:
2255:
2247:
2228:
2219:
2216:
2213:
2210:
2207:
2204:
2201:
2198:
2197:
2193:
2190:
2187:
2184:
2181:
2178:
2175:
2172:
2171:
2168:
2165:
2157:
2148:
2145:
2142:
2139:
2136:
2133:
2130:
2127:
2126:
2122:
2119:
2116:
2113:
2110:
2107:
2104:
2101:
2100:
2097:
2089:
2085:
2081:
2078:
2074:
2068:
2064:
2062:
2057:
2048:
2045:
2042:
2039:
2026:
2022:
2019:
2016:
2013:
2010:
2007:
2004:
2001:
2000:
1997:
1989:
1986:
1984:
1980:
1976:
1971:
1968:
1964:
1960:
1951:
1948:
1945:
1942:
1929:
1925:
1922:
1919:
1916:
1913:
1910:
1907:
1904:
1903:
1900:
1892:
1890:
1886:
1885:Display Lists
1880:
1862:
1852:
1849:
1846:
1843:
1840:
1837:
1834:
1831:
1828:
1825:
1822:
1819:
1816:
1813:
1810:
1807:
1806:
1802:
1799:
1796:
1793:
1790:
1787:
1784:
1781:
1778:
1775:
1772:
1769:
1766:
1763:
1760:
1757:
1756:
1753:
1750:
1742:
1738:
1734:
1725:
1722:
1720:Video Reflect
1719:
1718:
1714:
1711:
1709:Video Inverse
1708:
1707:
1703:
1700:
1697:
1696:
1692:
1689:
1686:
1685:
1682:
1679:
1671:
1669:Video Inverse
1668:
1666:Video Reflect
1665:
1662:
1659:
1656:
1653:
1650:
1649:
1645:
1642:
1639:
1636:
1633:
1630:
1627:
1624:
1623:
1620:
1617:
1609:
1603:
1600:
1599:
1598:
1596:
1592:
1577:
1573:
1569:
1558:
1554:
1550:
1546:
1545:
1544:
1542:
1538:
1536:
1531:
1528:
1526:
1522:
1518:
1508:
1505:
1504:
1500:
1497:
1496:
1492:
1489:
1488:
1484:
1481:
1480:
1476:
1473:
1472:
1469:
1468:bits values:
1467:
1463:
1455:
1452:
1449:
1448:
1444:
1441:
1438:
1437:
1433:
1430:
1427:
1426:
1423:
1420:
1417:
1416:
1412:
1409:
1406:
1405:
1402:
1400:
1396:
1394:
1384:
1381:
1378:
1375:
1372:
1369:
1366:
1363:
1362:
1358:
1355:
1352:
1349:
1346:
1343:
1340:
1337:
1336:
1333:
1330:
1317:
1314:
1313:
1309:
1306:
1305:
1301:
1298:
1297:
1293:
1290:
1289:
1285:
1282:
1281:
1277:
1274:
1273:
1270:
1263:
1261:
1259:
1256:
1253:
1250:
1247:
1245:
1242:
1241:
1238:
1236:
1234:
1231:
1228:
1225:
1222:
1220:
1217:
1216:
1213:
1211:
1209:
1206:
1203:
1200:
1197:
1195:
1192:
1191:
1187:
1184:
1181:
1178:
1175:
1172:
1169:
1167:
1164:
1163:
1159:
1156:
1153:
1150:
1147:
1144:
1141:
1139:
1136:
1135:
1132:
1130:
1128:
1125:
1122:
1119:
1116:
1114:
1111:
1110:
1107:
1105:
1103:
1100:
1097:
1094:
1091:
1089:
1086:
1085:
1081:
1078:
1075:
1072:
1069:
1066:
1063:
1061:
1058:
1057:
1054:
1052:
1050:
1047:
1044:
1041:
1038:
1036:
1033:
1032:
1029:
1027:
1025:
1022:
1019:
1016:
1013:
1011:
1008:
1007:
1004:
1002:
1000:
997:
994:
991:
988:
986:
983:
982:
978:
975:
972:
969:
966:
963:
960:
958:
955:
954:
950:
947:
944:
941:
938:
935:
932:
930:
927:
926:
922:
919:
916:
913:
910:
907:
904:
902:
899:
898:
894:
891:
888:
885:
882:
879:
876:
874:
871:
870:
866:
863:
860:
857:
854:
851:
848:
845:
844:
841:
838:
834:
830:
813:
810:
807:
806:
802:
799:
796:
795:
791:
788:
782:
781:
777:
774:
768:
767:
763:
760:
757:
756:
752:
749:
746:
745:
741:
738:
735:
734:
730:
727:
724:
723:
719:
716:
713:
712:
708:
705:
702:
701:
697:
694:
691:
690:
686:
683:
680:
679:
675:
672:
669:
668:
665:Data bus I/O
664:
661:
658:
657:
653:
650:
647:
646:
642:
639:
636:
635:
631:
629:Pin number(s)
628:
625:
624:
617:
605:
602:
601:
600:
593:
590:
587:
584:
583:
582:
580:
565:
562:
559:
556:
555:
553:
550:
546:
542:
539:
536:
533:
530:
527:
524:
521:
518:
517:
516:
510:
507:
503:
499:
496:
493:
490:
487:
484:
479:
474:
473:
471:
470:
468:
467:
466:
464:
460:
455:
446:
444:
443:
437:
433:
431:
427:
423:
419:
415:
410:
408:
404:
400:
396:
392:
387:
385:
381:
377:
373:
370:
366:
362:
354:
344:
341:
326:
323:
315:
312:February 2023
304:
301:
297:
294:
290:
287:
283:
280:
276:
273: –
272:
268:
267:Find sources:
261:
257:
253:
249:
245:
238:
231:
222:
221:
212:
209:
201:
190:
187:
183:
180:
176:
173:
169:
166:
162:
159: –
158:
154:
153:Find sources:
147:
143:
137:
136:
131:This article
129:
125:
120:
119:
110:
100:
95:
93:
88:This article
86:
77:
76:
71:
69:
62:
61:
56:
55:
50:
45:
36:
35:
30:
26:
22:
6929:. Retrieved
6925:the original
6920:
6910:
6899:. Retrieved
6895:the original
6890:
6880:
6869:. Retrieved
6865:
6860:Boris, Dan.
6839:
6827:. Retrieved
6818:(1): 16–17.
6815:
6811:
6801:
6778:
6769:
6759:
6750:
6745:
6709:
6700:
6690:Display List
6686:
6632:
6628:
6613:Display List
6610:
6606:
6603:Graphics 9++
6591:Display List
6588:
6573:
6564:
6551:spinning off
6544:
6513:
6506:
6497:Display List
6494:
6485:Display List
6482:
6475:
6465:
6458:
6450:
6446:Display List
6443:
6372:End Overscan
6256:(top) Unused
6237:
6233:
6155:
6013:
5871:
5864:
5857:
5809:
5802:
5773:
5766:
5757:
5741:
5678:
5669:
5665:
5661:
5657:
5653:
5644:
5526:
5524:
5520:
5517:Proper Setup
5469:
5452:
5443:
5439:
5435:
5431:
5423:
5414:
5406:
5402:Display List
5394:Display List
5391:
5382:
5370:
5362:Display List
5359:
5355:Display List
5351:
5343:
5335:
5330:Display List
5323:
5315:
5298:
5294:
5289:Display List
5285:Display List
5281:
5277:
5272:Display List
5269:
5261:
5257:
5253:
5249:
5093:
4710:
4598:
4547:
4532:
4526:
4242:
4235:
4228:
4222:
4218:Troll's Tale
4216:
4213:
4206:
4202:Display List
4198:
4194:Display List
4186:Display List
4183:
4179:
4170:
4166:
4152:) has Bit7 (
4140:
4129:
4119:
4117:
4113:
4109:Display List
4105:
4102:
4093:
4090:
4081:
4078:
4062:Bit 7 - $ 80
4051:Bit 6 - $ 40
4040:Bit 5 - $ 20
4029:Bit 4 - $ 10
4023:
3959:
3940:
3674:
3609:
3598:
3571:
3565:/54274-54275
3560:
3495:
3491:
3478:
3342:
3310:
3208:Mode values
3189:
3130:
3085:Description
3075:
3051:
3047:
3041:/54274-54275
3036:
3006:
2989:
2985:
2977:
2960:
2949:
2944:display list
2941:
2938:Display list
2922:
2919:
2860:
2851:
2792:
2776:
2738:
2703:
2699:Display List
2696:
2692:
2691:
2687:
2683:
2672:
2668:Display List
2665:
2661:
2660:
2641:
2603:Description
2590:
2531:
2522:
2463:
2460:
2451:
2392:
2389:
2380:
2321:
2312:
2253:
2229:
2225:
2166:
2163:
2154:
2095:
2086:
2082:
2077:Display List
2073:Display List
2069:
2065:
2061:Display List
2058:
2054:
1995:
1987:
1972:
1969:
1965:
1961:
1957:
1898:
1889:Display List
1881:
1867:/54274-54275
1861:Display List
1858:
1751:
1748:
1739:
1735:
1731:
1693:Description
1680:
1677:
1672:Video Blank
1618:
1615:
1607:
1597:bit values:
1594:
1593:
1589:
1543:bit values:
1540:
1539:
1532:
1529:
1514:
1477:Description
1465:
1464:
1461:
1401:bit values:
1398:
1397:
1395:) graphics.
1390:
1331:
1328:
1278:Description
1268:
839:
835:
831:
824:
632:Description
597:
578:
576:
514:
463:display list
456:
452:
440:
438:
434:
430:display list
418:CTIA or GTIA
414:instructions
411:
388:
364:
360:
359:
336:
318:
309:
299:
292:
285:
278:
266:
204:
195:
185:
178:
171:
164:
152:
140:Please help
135:verification
132:
104:
97:Please help
89:
65:
58:
52:
51:Please help
48:
6949:De Re Atari
6829:23 February
6440:Limitations
6168:Value/Mask
5051:256/320/384
5025:128/160/192
4997:128/160/192
4971:128/160/192
4943:128/160/192
4230:Lode Runner
3353:Scan Lines
2981:Limitations
2071:set in the
1698:Video Blank
1410:Description
1379:Missile DMA
861:Shadow Name
849:Description
457:ANTIC uses
403:Atari, Inc.
248:independent
6974:Categories
6931:2011-02-01
6901:2011-02-01
6871:2011-02-01
6737:References
6555:relocating
6489:JMP (Jump)
5807:register.
5732:; The end.
5527:reasonable
5090:GTIA Modes
5021:15 (XL OS)
4967:14 (XL OS)
4410:13 (XL OS)
4372:12 (XL OS)
4233:, and the
2983:section).
2600:Bits Value
1690:Bits Value
1506:1 1 = $ 0C
1498:1 0 = $ 08
1490:0 1 = $ 04
1482:0 0 = $ 00
1450:1 1 = $ 03
1439:1 0 = $ 02
1428:0 1 = $ 01
1418:0 0 = $ 00
1376:Player DMA
852:Read/Write
426:scan lines
407:Atari 5200
395:Joe Decuir
382:screen or
380:television
282:newspapers
256:redirected
168:newspapers
54:improve it
6824:0745-2527
6721:CTIA/GTIA
6245:Playfield
6048:Player 3
5906:Player 3
5748:CTIA/GTIA
5602:/18/19/20
5246:Scrolling
5098:register
4826:Map Modes
4778:$ 00/$ 80
4762:$ 00/$ 80
4746:$ 00/$ 80
4136:Playfield
3790:Character
3773:Character
3756:Character
3739:Character
3722:Character
3705:Character
3688:Mode Type
3679:section.
3338:GTIA page
3082:Bit Value
1574:register
1572:CTIA/GTIA
1555:register
1553:CTIA/GTIA
1549:CTIA/GTIA
1517:CTIA/GTIA
1275:Bit Value
821:Registers
648:AN0 – AN2
545:CTIA/GTIA
391:Jay Miner
246:that are
60:talk page
6715:See also
6567:May 2019
6426:to +$ FF
6408:to +$ 7F
6285:to +$ 07
6267:to +$ 03
6222:11------
6207:--11----
6192:----11--
6177:------11
6045:Player 2
6042:Player 1
6039:Player 0
5903:Player 2
5900:Player 1
5897:Player 0
5675:Examples
5489:ANTIC's
5466:Overview
5371:See the
5321:method.
5227:32/40/48
5221:64/80/96
5198:32/40/48
5192:64/80/96
5169:32/40/48
5163:64/80/96
5057:32/40/48
5031:32/40/48
5003:32/40/48
4977:16/20/24
4949:16/20/24
4923:16/20/24
4917:64/80/96
4891:64/80/96
4865:32/40/48
4489:16/20/24
4451:16/20/24
4413:32/40/48
4375:32/40/48
4358:4 x 8/10
4337:32/40/48
4299:32/40/48
4209:Apple II
3929:32/40/48
3912:32/40/48
3895:32/40/48
3878:16/20/24
3861:16/20/24
3844:16/20/24
3793:16/20/24
3776:16/20/24
3759:32/40/48
3742:32/40/48
3725:32/40/48
3708:32/40/48
3603:/560-561
3242:Bit 7 -
3235:Bit 6 -
3228:Bit 5 -
3221:Bit 4 -
3212:through
3064:/560-561
3056:/560-561
1875:/560-561
858:Dec Addr
855:Hex Addr
637:A0 - A15
626:Pin name
573:Versions
449:Features
367:) is an
198:May 2019
107:May 2019
6162:Missile
6150:+$ 7FF
6099:+$ 700
6008:+$ 3FF
5957:+$ 380
5458:", or "
5131:OS Mode
5102:($ D01B
5079:⁄
5068:⁄
4897:8/10/12
4871:8/10/12
4836:OS Mode
4352:1/2 x 1
4314:1/2 x 1
4258:OS mode
3827:8/10/12
3810:8/10/12
3336:on the
3197:Values
2597:Feature
1687:Feature
1578:($ D01C
1559:($ D01C
792:Ground
659:D0 – D7
651:2, 3, 5
549:sprites
422:sprites
296:scholar
271:"ANTIC"
260:deleted
182:scholar
157:"ANTIC"
6822:
6794:
6520:DMACTL
6516:PMBASE
6509:CHBASE
6478:VSCROL
6468:HSCROL
6461:HSCROL
6454:DMACTL
6147:+$ 6FF
6144:+$ 5FF
6141:+$ 4FF
6138:+$ 3FF
6135:+$ 2FF
6127:+2047
6096:+$ 600
6093:+$ 500
6090:+$ 400
6087:+$ 300
6076:+1792
6033:UNUSED
6005:+$ 37F
6002:+$ 2FF
5999:+$ 27F
5996:+$ 1FF
5993:+$ 17F
5985:+1023
5954:+$ 300
5951:+$ 280
5948:+$ 200
5945:+$ 180
5891:UNUSED
5867:PMBASE
5860:GRACTL
5850:/53276
5836:/53276
5830:VDELAY
5769:DMACTL
5635:SDMCTL
5611:VCOUNT
5572:$ 0200
5554:DMACTL
5550:SDMCTL
5409:HSCROL
5339:VSCROL
5302:VCOUNT
5152:Notes
5146:Colors
5106:/53275
4851:Colors
4818:COLPF3
4802:COLPF2
4786:COLPF1
4776:0/1 =
4770:COLPF0
4760:0/1 =
4744:0/1 =
4724:COLPF2
4720:COLPF3
4702:COLPF3
4686:1 1 =
4680:COLPF2
4664:1 0 =
4658:COLPF1
4642:0 1 =
4636:COLPF0
4620:0 0 =
4542:COLPF1
4537:COLPF2
4510:8 x 16
4434:4 x 16
4288:Notes
4267:Colors
4238:series
4236:Ultima
4148:/54286
4138:Mode.
3992:Bit 0
3947:DMACTL
3697:Color
3320:/53274
3201:, and
3158:Bit 0
3024:" or "
2947:List.
2888:Bit 0
2820:Bit 0
2769:/58466
2757:/58463
2744:/58460
2732:/58466
2724:/58463
2654:/65530
2559:Bit 0
2491:Bit 0
2420:Bit 0
2349:Bit 0
2281:Bit 0
2242:/57344
2194:Bit 0
2123:Bit 0
2023:Bit 0
1926:Bit 0
1803:Bit 0
1773:Bit 10
1770:Bit 11
1767:Bit 12
1764:Bit 13
1761:Bit 14
1758:Bit 15
1646:Bit 0
1582:/53276
1576:VDELAY
1563:/53276
1557:VDELAY
1535:PMBASE
1525:GRACTL
1521:sprite
1393:sprite
1359:Bit 0
1254:$ D40F
1229:$ D40F
1219:NMIRES
1204:$ D40E
1185:$ 0235
1176:$ D40D
1157:$ 0234
1148:$ D40C
1123:$ D40B
1113:VCOUNT
1098:$ D40A
1079:$ 02F4
1070:$ D409
1060:CHBASE
1045:$ D407
1035:PMBASE
1020:$ D405
1010:VSCROL
995:$ D404
985:HSCROL
976:$ 0231
973:SDLSTH
967:$ D403
957:DLISTH
948:$ 0230
945:SDLSTL
939:$ D402
929:DLISTL
920:$ 02F3
911:$ D401
901:CHACTL
892:$ 022F
889:SDMCTL
883:$ D400
873:DMACTL
829:page.
611:Pinout
504:" or "
298:
291:
284:
277:
269:
252:merged
184:
177:
170:
163:
155:
6812:Antic
6644:, or
6418:+$ F8
6400:+$ 7C
6385:+$ F7
6375:+$ 7B
6360:+$ DF
6350:+$ 6F
6335:+$ 20
6325:+$ 10
6310:+$ 08
6300:+$ 04
6277:+$ 00
6259:+$ 00
6124:+1791
6121:+1535
6118:+1279
6115:+1023
6084:+$ 00
6073:+1536
6070:+1280
6067:+1024
5942:+$ 00
5934:+896
5832:(D01C
5805:GRAFM
5761:GRAF*
5753:GRAF*
5742:Most
5717:COLBK
5708:WSYNC
5624:NMIEN
5622:) of
5539:NMIEN
5537:) of
5491:NMIEN
5100:PRIOR
4754:COLBK
4716:COLBK
4513:8 x 8
4504:1 x 2
4475:8 x 8
4472:8 x 8
4466:1 x 1
4437:4 x 8
4428:1 x 2
4399:4 x 8
4396:4 x 8
4390:1 x 1
4361:8 x 8
4323:8 x 8
4320:4 x 8
3989:Bit 1
3986:Bit 2
3983:Bit 3
3980:Bit 4
3977:Bit 5
3974:Bit 6
3971:Bit 7
3643:Mode
3529:Mode
3334:COLBK
3316:(D01A
3314:COLBK
3279:Mode
3267:Lines
3264:Lines
3261:Lines
3184:Mode
3155:Bit 1
3152:Bit 2
3149:Bit 3
3146:Bit 4
3143:Bit 5
3140:Bit 6
3137:Bit 7
3122:label
2899:RESET
2885:Bit 1
2882:Bit 2
2879:Bit 3
2876:Bit 4
2873:Bit 5
2870:Bit 6
2867:Bit 7
2817:Bit 1
2814:Bit 2
2811:Bit 3
2808:Bit 4
2805:Bit 5
2802:Bit 6
2799:Bit 7
2608:Reset
2570:RESET
2556:Bit 1
2553:Bit 2
2550:Bit 3
2547:Bit 4
2544:Bit 5
2541:Bit 6
2538:Bit 7
2488:Bit 1
2485:Bit 2
2482:Bit 3
2479:Bit 4
2476:Bit 5
2473:Bit 6
2470:Bit 7
2417:Bit 1
2414:Bit 2
2411:Bit 3
2408:Bit 4
2405:Bit 5
2402:Bit 6
2399:Bit 7
2346:Bit 1
2343:Bit 2
2340:Bit 3
2337:Bit 4
2334:Bit 5
2331:Bit 6
2328:Bit 7
2278:Bit 1
2275:Bit 2
2272:Bit 3
2269:Bit 4
2266:Bit 5
2263:Bit 6
2260:Bit 7
2191:Bit 1
2188:Bit 2
2185:Bit 3
2182:Bit 4
2179:Bit 5
2176:Bit 6
2173:Bit 7
2120:Bit 1
2117:Bit 2
2114:Bit 3
2111:Bit 4
2108:Bit 5
2105:Bit 6
2102:Bit 7
2020:Bit 1
2017:Bit 2
2014:Bit 3
2011:Bit 4
2008:Bit 5
2005:Bit 6
2002:Bit 7
1923:Bit 1
1920:Bit 2
1917:Bit 3
1914:Bit 4
1911:Bit 5
1908:Bit 6
1905:Bit 7
1800:Bit 1
1797:Bit 2
1794:Bit 3
1791:Bit 4
1788:Bit 5
1785:Bit 6
1782:Bit 7
1779:Bit 8
1776:Bit 9
1643:Bit 1
1640:Bit 2
1637:Bit 3
1634:Bit 4
1631:Bit 5
1628:Bit 6
1625:Bit 7
1413:Size
1356:Bit 1
1353:Bit 2
1350:Bit 3
1347:Bit 4
1344:Bit 5
1341:Bit 6
1338:Bit 7
1315:label
1257:54287
1244:NMIST
1232:54287
1226:Write
1207:54286
1201:Write
1194:NMIEN
1182:LPENV
1179:54285
1154:LPENH
1151:54284
1126:54283
1101:54282
1095:Write
1088:WSYNC
1076:CHBAS
1073:54281
1067:Write
1048:54279
1042:Write
1023:54277
1017:Write
998:54276
992:Write
970:54275
964:Write
942:54274
936:Write
917:CHART
914:54273
908:Write
886:54272
880:Write
442:Antic
365:ANTIC
303:JSTOR
289:books
258:, or
189:JSTOR
175:books
25:Antić
6831:2023
6820:ISSN
6430:/255
6422:/248
6412:/127
6404:/124
6389:/247
6379:/123
6364:/223
6354:/111
6227:$ C0
6212:$ 30
6197:$ 0C
6182:$ 03
6165:Bits
6112:+767
6064:+768
6021:/256
5982:+895
5979:+767
5976:+639
5973:+511
5970:+383
5931:+768
5928:+640
5925:+512
5922:+384
5879:/256
5844:$ 10
5826:$ 00
5797:$ 0C
5791:$ 08
5785:$ 04
5779:$ 00
5699:$ 9C
5639:$ 20
5628:$ C0
5620:$ 80
5597:$ 14
5593:$ 13
5589:$ 12
5577:/512
5558:$ 20
5543:$ 40
5535:$ 80
5508:/512
5497:/128
5482:/128
5386:GTIA
5120:GTIA
5114:/623
5096:GTIA
4810:$ 80
4808:1 =
4794:$ 00
4792:0 =
4697:$ FF
4693:$ C0
4688:$ C0
4675:$ BF
4671:$ 80
4666:$ 80
4653:$ 7F
4649:$ 40
4644:$ 40
4631:$ 3F
4627:$ 00
4622:$ 00
4590:/127
4221:and
4190:GTIA
4160:/512
4154:$ 80
4143:D40E
4132:$ 80
4066:/128
3935:1.5
3731:1.5
3714:1.5
3640:Mode
3637:Mode
3634:Mode
3526:Mode
3523:Mode
3520:Mode
3484:/112
3467:/112
3328:/712
3276:Mode
3273:Mode
3270:Mode
3244:$ 80
3237:$ 40
3230:$ 20
3223:$ 10
3214:$ 0F
3210:$ 02
3203:$ 01
3199:$ 00
3181:Mode
3178:Mode
3175:Mode
2968:GTIA
2942:The
2716:/548
2708:/546
2693:VBI:
2677:/512
2662:DLI:
2633:$ 80
2622:$ 40
2611:$ 20
2234:/224
1983:GTIA
1979:GTIA
1975:GTIA
1723:$ 04
1712:$ 02
1701:$ 01
1251:Read
1188:565
1173:Read
1166:PENV
1160:564
1145:Read
1138:PENH
1120:Read
1082:756
979:561
951:560
923:755
895:559
846:Name
736:RNMI
681:HALT
372:ASIC
275:news
161:news
6668:$ F
6666:or
6664:$ E
6657:$ D
6655:or
6653:$ C
6646:$ F
6553:or
6522:).
6432:dec
6428:hex
6424:dec
6420:hex
6414:dec
6410:hex
6406:dec
6402:hex
6391:dec
6387:hex
6381:dec
6377:hex
6366:dec
6362:hex
6356:dec
6352:hex
6341:dec
6339:/32
6337:hex
6331:dec
6329:/16
6327:hex
6316:dec
6312:hex
6306:dec
6302:hex
6291:dec
6287:hex
6283:dec
6279:hex
6273:dec
6269:hex
6265:dec
6261:hex
6132:hex
6109:dec
6081:hex
6058:dec
6023:dec
6019:hex
6016:100
5990:hex
5967:dec
5939:hex
5916:dec
5881:dec
5877:hex
5874:100
5852:dec
5848:hex
5838:dec
5834:hex
5819:dec
5817:/16
5815:hex
5729:RTI
5723:PLA
5714:STA
5705:STA
5693:LDA
5687:PHA
5684:DLI
5604:dec
5600:hex
5579:dec
5575:hex
5510:dec
5506:hex
5499:dec
5495:hex
5484:dec
5480:hex
5233:16*
5175:16*
5116:dec
5112:hex
5108:dec
5104:hex
4814:1 1
4798:1 1
4782:1 0
4766:0 1
4750:0 0
4714:is
4592:dec
4588:hex
4583:to
4581:dec
4579:/96
4577:hex
4570:dec
4568:/95
4566:hex
4561:to
4559:dec
4555:hex
4425:128
4387:128
4349:128
4343:1.5
4334:N/A
4311:128
4305:1.5
4164:).
4162:dec
4158:hex
4150:dec
4146:hex
4068:dec
4064:hex
4057:dec
4055:/64
4053:hex
4046:dec
4044:/32
4042:hex
4035:dec
4033:/16
4031:hex
4000:LMS
3997:DLI
3926:Map
3909:Map
3892:Map
3875:Map
3858:Map
3841:Map
3824:Map
3807:Map
3625:LMS
3622:DLI
3605:dec
3601:hex
3593:dec
3591:/65
3589:hex
3582:dec
3578:hex
3567:dec
3563:hex
3511:LMS
3508:DLI
3486:dec
3482:hex
3469:dec
3465:hex
3454:dec
3452:/96
3450:hex
3439:dec
3437:/80
3435:hex
3424:dec
3422:/64
3420:hex
3409:dec
3407:/48
3405:hex
3394:dec
3392:/32
3390:hex
3379:dec
3377:/16
3375:hex
3364:dec
3360:hex
3330:dec
3326:hex
3322:dec
3318:hex
3258:DLI
3166:LMS
3163:DLI
3066:dec
3062:hex
3058:dec
3054:hex
3043:dec
3039:hex
2952:RAM
2896:VBI
2893:DLI
2783:dec
2781:/66
2779:hex
2771:dec
2767:hex
2759:dec
2755:hex
2746:dec
2742:hex
2736:).
2734:dec
2730:hex
2726:dec
2722:hex
2718:dec
2714:hex
2710:dec
2706:hex
2679:dec
2675:hex
2656:dec
2652:hex
2648:dec
2646:/64
2644:hex
2630:DLI
2619:VBI
2567:VBI
2564:DLI
2244:dec
2240:hex
2236:dec
2232:hex
1879:).
1877:dec
1873:hex
1869:dec
1865:hex
1584:dec
1580:hex
1565:dec
1561:hex
827:hex
758:R/W
747:RST
725:REF
714:RDY
703:NMI
670:FØ0
459:DMA
386:.
369:LSI
144:by
6976::
6919:.
6889:.
6864:.
6852:^
6814:.
6810:.
6768:.
6480:.
6463:.
6456:.
6314:/8
6304:/4
6289:/7
6281:/0
6271:/3
6263:/0
6061:+0
6025::
5919:+0
5883::
5812:10
5525:A
5218:11
5189:10
5040:1
5012:1
4986:1
4958:1
4932:2
4906:2
4880:4
4695:-
4673:-
4651:–
4629:–
4585:7F
4574:60
4563:5F
4557:/0
4552:00
4501:64
4492:16
4463:64
4416:16
4340:10
4240:.
4227:,
4204:.
4196:.
4018:?
4006:HS
4003:VS
3918:4
3901:4
3884:2
3867:2
3850:4
3833:2
3816:4
3796:16
3762:16
3728:10
3669:?
3631:HS
3628:VS
3587:41
3580:/1
3576:01
3555:1
3517:HS
3514:VS
3480:70
3463:70
3448:60
3433:50
3418:40
3403:30
3388:20
3373:10
3362:/0
3358:00
3305:0
3172:HS
3169:VS
2914:-
2846:?
2773:).
2761:).
2585:-
2517:?
2446:?
2375:?
2307:?
2246:.
2220:?
2149:?
2049:?
1952:?
1853:?
811:29
808:Ø2
800:34
797:Ø0
785:ss
775:21
771:cc
761:14
750:36
717:15
692:LP
673:35
254:,
63:.
6966:.
6934:.
6904:.
6874:.
6833:.
6816:5
6772:.
6580:)
6574:(
6569:)
6565:(
6561:.
6547:.
6218:3
6203:2
6188:1
6173:0
5696:#
5595:/
5591:/
5501:)
5486:)
5236:2
5230:4
5224:1
5215:F
5207:2
5204:9
5201:4
5195:1
5186:F
5178:2
5172:4
5166:1
5160:9
5157:F
5081:2
5077:1
5070:2
5066:1
5063:1
5060:1
5054:1
5048:8
5045:F
5037:4
5034:2
5028:1
5017:E
5009:4
5006:2
5000:2
4994:7
4991:D
4983:2
4980:1
4974:1
4963:C
4955:2
4952:1
4946:2
4940:6
4937:B
4929:4
4926:2
4920:4
4914:5
4911:A
4903:2
4900:1
4894:4
4888:4
4885:9
4877:4
4874:2
4868:8
4862:3
4859:8
4507:1
4498:1
4495:5
4486:2
4483:7
4469:1
4460:1
4457:5
4454:8
4448:1
4445:6
4431:2
4422:4
4419:5
4407:5
4393:2
4384:4
4381:5
4378:8
4369:4
4355:1
4346:1
4331:3
4317:1
4308:1
4302:8
4296:0
4293:2
4015:?
4012:?
4009:?
3932:1
3923:F
3915:1
3906:E
3898:2
3889:D
3881:1
3872:C
3864:2
3855:B
3847:4
3838:A
3830:4
3821:9
3813:8
3804:8
3787:7
3779:8
3770:6
3753:5
3745:8
3736:4
3719:3
3711:8
3702:2
3666:?
3663:?
3660:?
3657:?
3654:?
3651:?
3648:?
3552:0
3549:0
3546:0
3543:0
3540:0
3537:?
3534:0
3302:0
3299:0
3296:0
3293:?
3290:?
3287:?
3284:?
3114:—
3106:?
3098:1
3090:0
2911:-
2908:-
2905:-
2902:-
2843:?
2840:?
2837:?
2834:?
2831:?
2828:?
2825:?
2582:-
2579:-
2576:-
2573:-
2514:?
2511:?
2508:?
2505:?
2502:?
2499:?
2496:?
2443:?
2440:?
2437:?
2434:?
2431:?
2428:?
2425:?
2372:?
2369:?
2366:?
2363:?
2360:?
2357:?
2354:?
2304:?
2301:?
2298:?
2295:?
2292:?
2289:?
2286:?
2217:?
2214:?
2211:?
2208:?
2205:?
2202:?
2199:?
2146:?
2143:?
2140:?
2137:?
2134:?
2131:?
2128:?
2046:?
2043:?
2040:?
2037:—
2034:—
2031:—
2028:—
1949:?
1946:?
1943:?
1940:—
1937:—
1934:—
1931:—
1850:?
1847:?
1844:?
1841:?
1838:?
1835:?
1832:?
1829:?
1826:?
1823:?
1820:?
1817:?
1814:?
1811:?
1808:?
1663:-
1660:-
1657:-
1654:-
1651:-
1367:-
1364:-
1307:-
1299:?
1291:1
1283:0
789:1
783:V
769:V
739:6
728:8
706:7
695:4
684:9
551:)
363:(
343:)
337:(
325:)
319:(
314:)
310:(
300:·
293:·
286:·
279:·
262:.
240:.
211:)
205:(
200:)
196:(
186:·
179:·
172:·
165:·
138:.
109:)
105:(
94:.
70:)
66:(
31:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.