Hudson HuC6280
# Hudson HuC6280

L'Hudson HuC6280 è un microprocessore ad 8 bit prodotto dalla società giapponese Hudson Soft come evoluzione del WDC 65C02. Il suo impiego più rilevante fu come CPU della console TurboGrafx-16 (venduta in Giappone come PC Engine), prodotta da Hudson Soft in collaborazione con NEC.

## Descrizione

L'HuC6280 è basato su un core 65C02, una versione in tecnologia CMOS del noto MOS 6502 prodotta da Western Design Center, con alcune nuove istruzioni e delle periferiche aggiunte, come un controller per interrupt, un'unità di gestione della memoria (MMU), un temporizzatore, una porta parallela ad 8 bit ed un generatore sonoro programmabile. Il processore opera a 2 velocità, 1,7897725 e 7,15909 MHz.

## Mappatura della memoria

L'HuC6280 ha uno spazio fisico di indirizzi di 2 MB ed uno spazio logico di 64 KB (la quantità di memoria visibile ad un'applicazione). Per accedere all'intero spazio di memoria la CPU utilizza la MMU che divide lo spazio di memoria in segmenti (o pagine) di 8 KB l'uno. Lo spazio logico di indirizzamento è diviso nel seguente modo:

Ogni segmento di 8 KB è associato ad un registro ad 8 bit (MPR0-7) che contiene l'indirizzo della memoria fisica da mappare nel segmento. Per accedere a questi registri sono usate 2 istruzioni speciali: TAMi, che trasferisce il contenuto dell'accumulatore nel registro MPR (0-7), e TMAi, che esegue l'operazione inversa.

## Il generatore sonoro

Il generatore sonoro programmabile fornisce 6 canali audio che possono essere combinati fra loro per fornire alcune caratteristiche avanzate:

* 0-1
   * Riproduzione di una forma d'onda
   * Sintesi FM (canale 1 muto)
* 2-3
   * Solo riproduzione di forme d'onda
* 4-5
   * Riproduzione di forme d'onda
   * Generazione di rumore bianco

Il generatore tratta forme d'onda a 32 byte con campionamento a 5 bit. La sintesi FM permette di generare suoni molto più elaborati, alterando il campione secondo un motivo specifico. Il generatore di rumore bianco è usato per simulare strumenti a percussione ed effetti quali esplosioni.

Ogni canale può essere impostato singolarmente per lavorare in modalità "D/A diretta" in cui il programmatore può inviare i dati direttamente al mixer così da far generare motivi sonori più complessi. Tale compito però comporta un aumento dei calcoli da far gestire alla CPU.

