Atari MMU
# Atari MMU

L'Atari MMU è un chip MMU di tipo custom impiegato negli home computer della famiglia Atari 8-bit. Abilita l'accesso ai registri hardware sui chip ANTIC, GTIA, POKEY e 6520 PIA.

Il chip MMU sugli home computer della linea XL/XE (C061618) seleziona il sistema operativo su ROM, la ROM dell'Atari BASIC, la ROM per la diagnostica di sistema (detta self test) e i LED nel modello 1200XL.

L'utente non può manipolare direttamente l'Atari MMU ma per selezionare le varie ROM occorre agire attraverso un registro hardware mappato in memoria e chiamato PORTB $(54017_{10}$ o $D301_{16}).$

A partire dalla linea XL dei propri home computer Atari ha cambiato il registro PORTB trasformandolo da porta di ingresso sulle macchine 400/800 in porta di uscita sulle macchine XL/XE. Così facendo sulle macchine XL/XE sono presenti solamente due porte per il joystick anziché quattro come sulle macchine della serie 400/800.

Impostando o azzerando specifici bit sulla PORTB l'utente può accedere sia alle ROM che alle locazioni di memoria su RAM. Nessuna sincronizzazione è richiesta perché accesso alle varie zone di memoria è gestito direttamente dal sistema operativo.

L'assegnazione dei bit per la PORTB sulle macchine della linea XL/XE è la seguente:

PORTB $(D301_{16})$ :

| Bit No. | Descrizione |
| - | - |
| 0 | Controlla la regione della ROM dove risiede il sistema operativo. Disabilitando l'OS ROM viene abilitata la RAM. 0 per disabilitare, 1 per abilitare. |
| 1 | Controlla la regione di ROM sulla quale risiede l'Atari BASIC. 0 per disabilitare, 1 per abilitare. |
| 2 | Controlla il LED #1 nel 1200XL. Controlla la selezione del banco di memoria sul 130XE. |
| 3 | Controlla il LED #2 nel 1200XL. Controlla la selezione del banco di memoria sul 130XE. |
| 4 | Abilita il banco di memoria per la CPU. Solo per il modello 130XE. |
| 5 | Abilita il banco di memoria per il chip ANTIC. Solo per il modello 130XE. |
| 6 | Non usato. |
| 7 | Controlla la regione di ROM dove risiede il codice per il self test. Disabilitando il self test viene abilitata la RAM. 0 per disabilitare, 1 per abilitare. |

Note: Il modello 1200XL non è dotato internamente su ROM del linguaggio BASIC.

