Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
hardware:custom_chipset [2010/03/05 17:51]
127.0.0.1 external edit
hardware:custom_chipset [2010/03/09 10:01] (current)
gilgamesh
Line 1: Line 1:
 ====== Custom Chipset ====== ====== Custom Chipset ======
-The chipset is responsible for the Amiga's ground breaking multimedia capabilities. It consists of several chips that take load off the main CPU perform various tasks. There are three generations of chipsets are found in classic Amigas: OCS, ECS and AGA.+The chipset is responsible for the Amiga's ground breaking multimedia capabilities. It consists of several chips that take load off the main CPU by performing various tasks. There are three generations of chipsets are found in classic Amigas: OCS, ECS and AGA.
  
 ===== OCS ===== ===== OCS =====
Line 10: Line 10:
  
 === Blitter === === Blitter ===
-The Blitter is co-processor logic that copies memory areas from one place to another in the chipmem asynchronosly.+The Blitter is co-processor logic that copies memory areas from one place to another in the chipmem asynchronosly by DMA. Blitter draws (patterned) lines and fills their interior or exterior, too. Blitter operations are called [[hardware/blitter programming model|blits]].  
 + 
 +The Blitter operates on data words. It can perform bytewise and bitwise shifts. Up to three source blocks can be processed in a boolean logic function and the result is written to the destination block.  
 +Rectangular //m,n//-blocks are stored in //m • n// consecutive memory cells. It is easy to see how entire block are shifted. But subrectangles are shifted, by supplying its index (in bytes), the length (in words) and the gap between two lines called //modulo// (in bytes).
  
 === Copper === === Copper ===
-Copper is a co-processor that acts as a finite state machine with three states. It executes the so called copper list asynchronously from the CPU and in sync with the video beam. +Copper is a co-processor that acts as a finite state machine with three states. It executes the so called [[hardware/copper programming model|copper list]] asynchronously from the CPU and in sync with the video beam.  
- +Its capabilities include programming the the Blitter, configuring  video hardware “on thy fly” and generally setting hardware registers.  
-Its capabilities include programming the the Blitter, configuring  video hardware “on thy fly” and generally setting hardware registers. +A typical scenario for the Copper is to wait for the video beam to reach a certain position and the move some data into specified hardware registers. 
- +Copper lists consist of only three types of commands, and can only change registers, but by programming the blitter or the copper itself complex programs like loops and memory access can be implemented.
-A typical scenario for the Copper is to wait for the video beam to reach a certain position and the move some data into specified hardware registers. Copper lists can consist of the following instructions: +
-  * **WAIT** (2 word) waits until video beam counter is greater or equal the argument +
-  * **MOVE** (2 word) moves data word into secified data register +
-  * **SKIP** (2 word) skip next instruction if video beam counter is greater or equal the argument +
-During **WAIT** the memory bus will not be accessed, freeing it for different tasks. The bus is accessed at //uneven// memory cycles.+
  
 ==== Denise ==== ==== Denise ====
-(aka. Daphne) The Denise chip extracts the actual pixel data from bitplanes in memory. It also controls the video timings and resolution and sets the graphics modes like EHB, HAM or Dual Playfield. Denise contains the logic for hardware acceleration for displaying sprites and collision detection.+(aka. Daphne) The [[hardware/denise_programming_model|Denise chip]] extracts the actual pixel data from bitplanes in memory. It also controls the video timings and resolution and sets the graphics modes like EHB, HAM or Dual Playfield. Denise contains the logic for hardware acceleration for displaying sprites and collision detection.
  
 === Playfields === === Playfields ===
Line 34: Line 32:
  
 The bitfields and palette information combined produce the so called playfield, a rectangular area of pixels. Playfields can actually be larger than the nominal display size (PAL, NTSC; LoRes, HiRes) to allow smooth scrolling of backgrounds. The bitfields and palette information combined produce the so called playfield, a rectangular area of pixels. Playfields can actually be larger than the nominal display size (PAL, NTSC; LoRes, HiRes) to allow smooth scrolling of backgrounds.
 +
 +The display size is
 +^  Resolution  ^  Columns  ^ ^  Norm  ^  Interlaced  ^  Lines  ^ 
 +|  LoRes  |  320  | :::|  PAL  |  no  |  256  | 
 +|  :::  |  :::  | :::|  :::  |  yes  |  512  | 
 +|  HiRes  |  640  | :::|  NTSC  |  no  |  200  | 
 +|  :::  |  :::  |::: |  :::  |  yes  |  400  | 
  
 ==== Paula ==== ==== Paula ====
hardware/custom_chipset.1267807882.txt.gz · Last modified: 2010/03/06 10:34 (external edit)
Back to top
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0