Atari MMU

The Atari MMU is a custom MMU chip for the Atari 8-bit computers. It enables access to the hardware registers on ANTIC, GTIA, POKEY and 6520 PIA.

The later XL/XE MMU (C061618) also selects OS ROM, Atari BASIC ROM, self-test ROM and LEDs in the 1200XL.

The user cannot directly manipulate the Atari MMU, but selects the various ROMS and memory via the memory-mapped hardware register known as PORTB (5401710 or D30116). Atari changed PORTB from an input port on the 400/800 machines to an output port on the XL/XE machines, leaving two joystick ports instead of four on the XL/XE machines.

By setting and clearing specific bits in PORTB, the user can access either the ROMs or memory locations. No synchronization is required as the OS handles the access.

The bit assignments for PORTB on the XL/XE machines are:

PORTB (D30116)
Bit No. Description
0 Controls OS ROM region. Disabling OS ROM enables RAM instead. 0 for disable, 1 for enable.
1 Controls built-in BASIC. 0 for enable, 1 for disable.
2 Controls LED #1 in the 1200XL. Controls bank-selection in the 130XE.
3 Controls LED #2 in the 1200XL. Controls bank-selection in the 130XE.
4 CPU bank enable bit for 130XE only.
5 ANTIC bank enable bit for 130XE only.
6 Unused.
7 Controls the self test ROM region. Disabling self test enables RAM instead. 0 for enable, 1 for disable.

Note: The 1200XL does not have BASIC built-in.