
Il Denise è una famiglia di microchip progettata dalla Commodore-Amiga Inc. (in seguito sviluppata dalla Commodore Business Machines Inc.) e fabbricata dalla Commodore Semiconductor Group. Un esemplare di Denise è sempre presente nei chipset Amiga Original Chip Set e Enhanced Chip Set. È sempre presente perché è uno dei tre principali chip che li compongono (gli altri due principali chip sono Agnus e Paula). Denise è stato montato esclusivamente in vari modelli di personal computer Amiga e in un modello di riproduttore CD della Commodore Business Machines Inc..
Denise contiene circa 21000 transistor ed è stato prodotto in logica NMOS. Per il package è stato scelto il DIP a 48 piedini.

Denise (8362) era il chip preposto a generare il segnale video (15 kHz). La tavolozza disponibile su Amiga era, grazie a Denise, di 32 colori da 4096, eccezionale per l'epoca.
Denise metteva a disposizione una modalità a bassa risoluzione (320x256 negli Amiga venduti per il sistema televisivo PAL, 320x200 per gli Amiga venduti per il sistema televisivo NTSC) ed una ad alta risoluzione (640x256 PAL, 640x200 NTSC) e diverse modalità intermedie, e gestiva nativamente l'interlacciamento raddoppiando la risoluzione verticale ed arrivando fino a 320x512 o 640x512 (320x400 o 640x400 in NTSC). Le temporizzazioni video erano parzialmente programmabili e si potevano inoltre ottenere risoluzioni prive di bordi (overscan).
Denise poteva segnalare sul connettore video se stava visualizzando il colore di sfondo o meno: questo permetteva di realizzare effetti genlock o chroma key con apparati notevolmente economici per l'epoca. Interlacciamento, overscan e genlock fecero di Amiga la macchina di riferimento per le produzioni video a basso costo.
L'organizzazione della memoria grafica era basata sul concetto di bitplane, che si fonda sulla sovrapposizione di piani di bit. Questo tipo di organizzazione è per certi versi opposto a quello di chunk presente nel mondo PC, e permetteva di risparmiare RAM, all'epoca molto costosa. Il risparmio derivava dal fatto che si poteva scegliere di usare solo il numero di bitplane (da 1 a 6) strettamente necessari. Inoltre ogni piano di bit doveva essere memorizzato in un'area contigue di memoria, ma non era necessario che i vari piani di bit fossero contigui tra loro e questo permetteva di ottimizzare l'utilizzo della memoria grafica.
| Modalità | Risoluzione massima | Colori massimi | Piani di bit massimi | Nota |
|---|---|---|---|---|
| Bassa risoluzione standard | 320x512 | 32 | 5 | |
| Alta risoluzione standard | 640x512 | 16 | 4 | |
| Extra Half Brite | 320x512 | 32+32 | 5+1 | I colori 33-64 sono a luminosità dimezzata rispetto ai 1-32 |
| Dual Playfield | 320x512 | 8+8 | 3+3 | Due schermi indipendenti di 3 piani di bit ciascuno |
| Hold And Modify | 320x512 | 4096 | 2+4 | In ogni pixel è codificata una singola componente RGB |
Denise genera le temporizzazioni video, e, come per Agnus, si misurano in "colour clock", ma può anche sincronizzarsi ad un segnale video esterno. Ci sono due risoluzioni grafiche orizzontali: la bassa risoluzione (lowres), con pixel di 140 ns, e l'alta risoluzione (hires), con pixel di 70 ns. Questi corrispondono rispettivamente a schermi di 320 e 640 pixel di larghezza, senza usare overscan. Denise supporta overscan molto ampi, non è necessario avere un bordo attorno alla grafica come invece accadeva in altri sistemi. La risoluzione verticale, senza overscan, è di 200 pixel per un Amiga NTSC a 60 Hz, e di 256 pixel per un Amiga PAL a 50 Hz. La risoluzione verticale può essere raddoppiata tramite interlacciamento.
Normalmente, l'Amiga genera le sue temporizzazioni autonomamente, ma il chipset è in grado di sincronizzarsi ad un segnale esterno, così da poter effettuare un genlock con un dispositivo video esterno. Tramite uno dei segnali in uscita sul connettore video, Denise è inoltre in grado di indicare se il colore attualmente in uscita è quello di sfondo o meno, semplificando notevolmente la costruzione di hardware per sovrapporre il segnale video dell'Amiga ad un segnale esterno. Questo rese l'Amiga particolarmente interessante nell'uso come generatore di caratteri per la titolazione di video e le trasmissioni televisive, in quanto risparmiava l'uso di costose unità AB roll e chromakey. Il supporto di overscan, interlacciamento e genlock, unito al fatto che le temporizzazioni dello schermo fossero molto vicine agli standard di trasmissione video (NTSC o PAL), fecero dell'Amiga il computer di riferimento per applicazioni video a basso costo. Molti studi televisivi lo utilizzarono per l'acquisizione video (o frame-grabbing), sottotitolazione e notizie video interattive.
Denise è programmato per prelevare dati da un certo numero di bitplane (piani di bit) e tradurli in indici di una tavolozza di colori. Il numero di bitplane è selezionabile tra 1 e 5, sicché se non si ha bisogno di 32 colori, se ne possono usare solo 2, 4, 8 o 16. Il numero di bitplane (e la risoluzione) possono essere cambiati al volo, per esempio dal copper. Questo consente un uso molto parsimonioso della RAM. È disponibile anche un sesto bitplane, che può essere usato in tre modi grafici speciali:
Denise può visualizzare fino a 8 sprite per linea. Gli sprite sono larghi 16 pixel e hanno 4 colori (3 colori visibili e uno trasparente) scelti da una tavolozza di 4096. È possibile fare attach (ovvero legare insieme) di due sprite per ottenerne uno a 16 colori. Denise è in grado di rilevare eventuali collisioni tra gli sprite ma anche eventuali collisioni tra gli sprite e gli oggetti dello sfondo. Utilizzando tutti gli sprite l'elaborazione dei dati video non può iniziare troppo presto e dunque il bordo sinistro dello schermo deve restare molto largo. All'epoca il sottosistema sprite era già obsoleto ed infatti venne utilizzato pochissimo nei videogiochi che invece fecero largo uso del Blitter
L'uscita video di Denise è RGB digitale a 12 bit. La conversione in RGB analogico viene effettuata da un convertitore digitale-analogico, il Vidiot. Sull'Amiga 2000, l'uscita RGB digitale è disponibile in uno slot video apposito.
Nel corso degli anni Denise è stato costantemente aggiornato. Ne sono nati così vari modelli. L'evoluzione maggiore c'è stata con il Denise dell'Enhanced Chip Set. È proprio per tale evoluzione che si è iniziato a parlare di "chipset potenziato" ("Enhanced Chip Set" in italiano significa "chipset potenziato"). Essendo l'evoluzione maggiore, il Denise dell'Enhanced Chip Set è anche chiamato "Super Denise". Il Denise dell'Enhanced Chip Set è stato reso totalmente programmabile per quanto riguarda i modi video. È cioè possibile, per i programmatori, creare modi video a piacimento caratterizzati da una diversa frequenza di linea e di quadro. Non essendo stata aumentata la velocità di elaborazione dei bitplane, restano comunque molti limiti nella creazione dei modi video.
Al primo modello di Denise commercializzato (montato nella prima versione di Amiga 1000), il MOS 8362R5, sono seguiti molti altri modelli.
Si possono distinguere due principali famiglie di modelli:
Nella famiglia di modelli utilizzati nel chipset OCS si possono distinguere le seguenti due sottofamiglie:
Non esistono quindi modelli d Denise, utilizzati nel chipset OCS, in grado di visualizzare sia i modi video NTSC che i modi video PAL. Un esemplare della famiglia di modelli, utilizzati nel chipset OCS, è stato montato nei computer Amiga 1000, Amiga 500 e Amiga 2000. Di questi tre computer sono state prodotte due diverse versioni: una versione monta un modello di Denise in grado di visualizzare i modi video NTSC (tale versione era destinata ai Paesi che all'epoca utilizzavano lo standard televisivo NTSC), l'altra versione monta un modello di Denise in grado di visualizzare i modi video PAL (tale versione era destinata ai Paesi che all'epoca utilizzavano lo standard televisivo PAL). La famiglia di modelli, utilizzati nel chipset ECS, è in grado di visualizzare, non solo tutti i modi video NTSC e PAL visualizzabili dai modelli di Denise utilizzati nel chipset OCS, ma molti altri modi video.
La tabella seguente riporta i modelli di Denise commercializzati e la principale famiglia a cui appartengono. In particolare per ogni modello di Denise viene riportata (rispettivamente) la denominazione del modello di Denise, il part number del modello di Denise, il chipset in cui è utilizzato il modello di Denise, il personal computer in cui è utilizzato il modello di Denise.
| denominazione | part number | chipset | personal computer |
|---|---|---|---|
| MOS 8362R5 | 252126-01 | OCS | Amiga 1000 (solo la versione con modi video NTSC) |
| MOS 8362R8 | 252126-02 | OCS | |
| MOS 8373 | 390433-01 | ECS | |
| MOS 8373R2A | ECS | ||
| MOS 8373R3 | 390433-02 | ECS | |
| MOS 8373R4 | 391081-01 | ECS |