title: EMMU
text: # EMMU
  
  L'EMMU è un chip MMU di tipo custom impiegato nel home computer 130XE della famiglia Atari 8-bit. È utilizzato per accedere alla RAM che eccede i primi 64 KB presenti nel 130XE.
  
  L'utente non può manipolare direttamente l'EMMU. Per selezionare le ROM ed i banchi di memoria RAM 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 bits sulla PORTB l'utente può accedere alla RAM che eccede i primi 64 KB in blocchi di 16 KB. Nessuna sincronizzazione è richiesta perché accesso alla memoria è gestito direttamente dal sistema operativo.
  
  L'assegnazione dei bit per la PORTB è 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. |
  