Agnus
Agnus (Address GeNerator UnitS) je ze zákaznických čipů nepochybně tím nejznámějším. Je určen především pro řízení přístupu zákaznických čipů do paměti RAM, nazývané také CHIP RAM. Při řízení přístupu jsou použity priority, takže Agnus zde působí podobně jako arbitr u sběrnic. V tomto čipu je obsažen i Blitter a Copper, jejichž popis je uveden dále. Dále má na starost 25 systémových DMA kanálů a časování systémových hodin (pouze u Amigy 500 a 2000).
Cooper
Agnus v sobě navíc obsahuje integrovaný Copper (koprocesor), který má na starosti zobrazování grafiky a její specifické vlastnosti jakými jsou přetahovatelné obrazovky a dobře známé "cooper scrolls". To značně ulehčuje zátěži 68k procesoru. Zodpovídá také za řízení Blitteru.
Jedná se prakticky o jednoduchý koprocesor řízený několika instrukcemi, který lze použít k přeprogramování grafického režimu v průběhu zobrazování snímku. Díky tomu je možné použít více grafických režimů na jedné obrazovce nebo změnit barvové registry. Také je možná emulace 12-bitového barevného režimu, tedy 4096 barev.
Blitter
Blitter se také nachází přímo v čipu Agnus a slouží k blokovému přenosu obsahu jedné části CHIP RAM na jiné místo v CHIP RAM, přičemž nad přenášenými daty mohou být prováděny různé operace, nebo mezi sebou mohou být přenášená data kombinována.
Sice to nezní jako moc odpovědná práce, ale vzhledem k tomu, že je Blitter dvakrát rychlejší než samotný procesor MC68000, s kterým dokáže pracovat asynchronně, má pak samotný procesor dostatek volného času na jiné operace. Blitter lze také částečně využít i pro grafické operace.
K dispozici je několik zdrojů dat (0-3, označované A, B a C) a jeden cíl dat (označovaný D). Blok musí být vždy zarovnaný na šestnáct bitů, což v některých případech způsobuje problémy při práci s bitmapami.
Každý blok dat je charakterizován délkou jednoho řádku, počtem řádků a parametrem stride, který udává rozdíl v adresách mezi dvěma sousedními řádky. Pomocí tohoto parametru je možné přenášet "obdélníkové" bloky, které nemusejí být v paměti uloženy souvisle. Speciálním režimem při přenosu je aplikace Bresenhamova algoritmu používaného buď pro vykreslení úsečky, nebo pro výpočet obecné lineární funkce. Pomocí speciálních programovacích technik lze Blitterem vykreslovat i vystínované polynomy.
Existuje více verzí:
- Agnus
Původní verze používaná pouze u Amigy 1000, jejímž úkolem bylo rychlé kopírování oblastí paměti (Blitter), zobrazování a obnovování obrazu (Copper) a obsluha DMA kanálů, odpovědných za bezprostřední přístup do paměti. Dokáže adresovat CHIP RAM pouze do velikosti 512 KB.
- Fat Agnus
Pracuje téměř identicky jako původní Agnus, změněna však byla jeho konstrukce. Původní Agnus tvořilo několik samostatných čipů, které byly v této verzi již integrovány do jediného čipu. Fat Agnus byl v počátcích používán u Amigy 2000 a Amigy 500. Měl však stejný nedostatek jako jeho předchůdce - dokázal adresovat pouze 512 KB CHIP RAM. Pokud máte doma Amigu s originálně dodávanou ROM 1.2, můžete si být jisti, že se ve vašem počítači nachází právě tento čip.
- Fatter Agnus
Opravená verze Fat Agnus umožňující adresaci až 1MB CHIP RAM. Byl používán u novějších modelů Amigy 2000 a Amigy 500 vybavených ROM 1.3.
- Super Fat Agnus
Tato verze byla používána u Amigy 3000, Amigy 500+ a Amigy 600. Dokázala adresovat až 2MB CHIP RAM. Zárověň byla obohacena o grafický mód nabízející rozlišení 1280x256 a 1280x512 ve 2 nebo 4 barvách.
Agnus prošel od roku 1984 mnoha revizemi, až byl nakonec v roce 1992 nahrazen u AGA čipové sady čipem Alice.
Agnus naleznete pouze u OCS a ECS čipsetů.
Název čipu | Číslo čipu | Číslo dílu | Použito v |
---|---|---|---|
Agnus (512K) | 8361 | 252125-01 | A1000 (NTSC), A2000A (NTSC) |
Agnus (512K) | 8361 R3 | - | A1000 (NTSC), A2000A (NTSC) |
Agnus (512K) | 8367 | 252362-01 | A1000 (PAL), A2000A (PAL) |
Agnus (512K) | 8370 | 318070-01 | A500 (NTSC), A2000 (NTSC) |
Agnus (512K) | 8371 | 318071-01 | A500 (PAL), A2000 (PAL) |
Agnus (1MB) | 8372 | 318069-02 | A500 (PAL), A2000 (PAL) |
Agnus (1MB) | 8372A | 318069-029 | A500 (PAL), A2000 (PAL) |
Agnus (2MB) | 8372AB | 318069-03 | A3000 (PAL), A3000T (PAL) |
Agnus (2MB) | 8372B | 318069-03 | MegAChip (NTSC) |
Agnus (2MB) | 8375 R0 | 318069-18 | A500+ (PAL), A600 (PAL) |
Agnus (1MB) | 8375 / 8375 R1 | 318069-16 | A500 (PAL), A2000 (PAL) |
Agnus (2MB) | 8375 R2 | 318069-10 | A500+ (PAL), A600 (PAL) |
Agnus (2MB) | 8375 | 318069-11 | A500+ (NTSC) a A600 (NTSC) |
Agnus (1MB) | 8375 | 318069-17 | A500 (NTSC), A2000 (NTSC) |
Agnus (2MB) | 8375 | 318069-19 | A3000 (NTSC), A3000T (NTSC) |
Agnus (2MB) | 8375 | 390544-01 | A500+ (PAL), A600 (PAL) |
Agnus (2MB) | 8375 | 390544-02 | A500+ (NTSC), A600 (NTSC) |