What is the "attract mode"?

A software mechanism implemented by Atari in the Operating System of their 8-bit computers to protect screens from possible damage caused by a still image being displayed for too long.

If you are not familiar with Atari 8-bit computers, you will notice this strange phenomenon if you turn on the computer with Atari BASIC and leave it untouched for 10 minutes: strange colours will appear on the screen.

Not Andy Warhol. The attract mode in action in Atari BASIC.

Not Andy Warhol.
The attract mode in action in Atari BASIC.

Choice of display back then? CRT or nothing else

When the Atari 8-bit computers were released, there was not an infinite choice of options for video display. Either the colour or black & white TV set in the living room. Or a specific colour video monitor{1}. Or a monochrome monitor, often green or amber. All these solutions had one technology in common: a CRT{2} (cathode ray tube) screen. It is a vacuum tube containing one or more electron guns (at the back), which emit electron beams that are deflected by electromagnets to display images on a phosphor screen (at the front).

{1} Almost the same technology as a colour TV set, but without a TV tuner, with numerous video inputs in various formats, often with a finer display grid, and often without sound capability.

{2} Read the full Wikipedia article about CRT (cathode ray tube).

Screen burn-in

This CTR technology{3}, used for decades, had a huge drawback. If a still image, which was too bright, remained in the same position on the screen for too long, it could "burn" the screen{4} and mark it forever, like an irreversible tattoo. A "burnt" screen is particularly noticeable if you make it display an image like a flat area of pure white over the entire screen surface: the "burnt" image will then appear clearly, like a ghost image. In the most extreme cases, you can even see this "burnt" image when the screen is switched off. This is typical for screens used for CCTV/Video surveillance, cash registers, notice boards in railway stations or airports, but also for management programs that always displayed the same information on the same location like a "status bar" or a menu for instance, etc.

{3} Years and years later, the plasma flat screen technology also suffered from the same flaw: the possibility of a still image "burning" the screen forever.

{4} Read the full Wikipedia article about Screen burn-in.

There is only one way to prevent this: do NOT display a still, bright image in the same position on the CRT screen for too long.

Atari got it right

A mechanism — named the "attract mode" — implemented in the Atari Operating System protects the screen connected to the computer. The memory address 77 ($4D), initially at 0, is incremented by 1 approximately every 4 seconds. When the value 127 is reached (i.e. after about 8 minutes), the Operating System reduces the brightness and limits it to a maximum of 50%. In addition, the colours are changed arbitrarily, approximately every 8 seconds. This low-brightness image with very regularly changing colours effectively prevents the computer from "burning" the screen.

If a running program stores the value 0 in memory address 77 ($4D) repeatedly,
or if the user presses a key on the keyboard — an event detected by the Operating System which will then store the value 0 in memory address 77 ($4D),
then the "attract mode" is temporarily disabled.

Note that joysticks, paddles, light guns, trak-balls and the like do not disable the "attract mode" — they do not interfere with memory address 77 ($4D).

In Atari BASIC, for example, a POKE 77,0 instruction temporarily disables the "attract mode".
A POKE 77,128 instruction, on the contrary, triggers the "attract mode" immediately.

For the video: Altirra emulator, Atari 800XL, PAL, 1983 OS rev. 2.

 

Well-written games and programs

In well-written games and programs, this need to protect the screen is taken into account by conscientious developers. When the user disappears and has no further interaction with the computer, the program can display a specific animation, a small demo of the game, or simply change the colours regularly.

First Star Software's Boulder Dash demo mode
For the video: Altirra emulator, Atari 800XL, PAL, 1983 OS rev. 2.

 

Activision's H.E.R.O. demo mode
For the video: Altirra emulator, Atari 800XL, PAL, 1983 OS rev. 2.

 

Atari's Ms. Pac-Man demo mode
For the video: Altirra emulator, Atari 800XL, PAL, 1983 OS rev. 2.

 

For the experts

The "attract mode" mechanism changes the standard colours managed by the system: all colours in all graphics and text modes, as well as sprites (player-missiles in Atari's vocabulary).

On the other hand, if you use a DLI ("Display List Interrupt") to change colours "on the fly", then these colours will not be affected when the computer goes into "attract mode". In other words, a CRT screen would not be protected if a DLI changed the colours displayed on the screen.

To illustrate with an example, I have used the "rainbow_wsync.xex" program from the excellent article "Atari 8-bit Display List Interrupts: A Complete(ish) Tutorial" from PlayerMissile.com.
Observe what happens when the "attract mode" starts: the rainbow — displayed thanks to a DLI — is not affected.

For the video: Altirra emulator, Atari 800XL, PAL, 1983 OS rev. 2.

 


Knowledge base article: kb-software-0004-atari-8bit-attract-mode
REV. 003.

Back to the Knowledge base index Knowledge base