Site banner
.
Home Forums Blogs Articles Photos Videos Contact FAQ                    
.
.
Wisdom Archive
Body Mind and Soul
Faith and Belief
God and Religion
Law of Attraction
Life and Beyond
Love and Happiness
Peace of Mind
Peace on Earth
Personal Faith
Spiritual Festivals
Spiritual Growth
Spiritual Guidance
Spiritual Inspiration
Spirituality and Science
Spiritual Retreats
More Wisdom
Buddhism Archives
Hinduism Archives
Sustainability
Theology Archives
Even more Wisdom
2012 - Year 2012
Affirmations
Aura
Ayurveda
Chakras
Consciousness
Cultural Creatives
Diksha (Deeksha)
Dream Dictionary
Dream Interpretation
Dream interpreter
Dreams
Enlightenment
Essential Oils
Feng Shui
Flower Essences
Gaia Hypothesis
Indigo Children
Kalki Bhagavan
Karma
Kundalini
Kundalini Yoga
Life after death
Mayan Calendar
Meaning of Dreams
Meditation
Morphogenetic Fields
Psychic Ability
Reincarnation
Spiritual Art, Music & Dance
Spiritual Awakening
Spiritual Enlightenment
Spiritual Healing
Spirituality and Health
Spiritual Jokes
Spiritual Parenting
Vastu Shastra
Womens Spirituality
Yoga Positions
Site map 2
Site map


Dream Sharing Forum

at Global Oneness Community.

Share your dreams and let others help you with the interpretation!
Dream Sharing Forum



.

Original Amiga chipset - Agnus

Original Amiga chipset - Agnus: Encyclopedia II - Original Amiga chipset - Agnus

The central aspect of the chipset's power is that all operations are synchronised with the output of the video beam. This includes access to the built-in RAM, which is known as chip RAM because the chipset has access to it. The CPU and other members of the chipset have to arbitrate for access with Agnus. From the perspective of system architecture, this is known as Direct Memory Access (DMA), and Agn ...

See also:

Original Amiga chipset, Original Amiga chipset - Overview of chips, Original Amiga chipset - Agnus, Original Amiga chipset - Blitter, Original Amiga chipset - Copper, Original Amiga chipset - Denise, Original Amiga chipset - External video timing, Original Amiga chipset - Video output, Original Amiga chipset - Paula, Original Amiga chipset - Audio features in general, Original Amiga chipset - Feature overview, Original Amiga chipset - Hardware registers, Original Amiga chipset - Audio state machines, Original Amiga chipset - Floppy disk controller, Original Amiga chipset - Serial port

Original Amiga chipset, Original Amiga chipset - Agnus, Original Amiga chipset - Audio features in general, Original Amiga chipset - Audio state machines, Original Amiga chipset - Blitter, Original Amiga chipset - Copper, Original Amiga chipset - Denise, Original Amiga chipset - External video timing, Original Amiga chipset - Feature overview, Original Amiga chipset - Floppy disk controller, Original Amiga chipset - Hardware registers, Original Amiga chipset - Overview of chips, Original Amiga chipset - Paula, Original Amiga chipset - Serial port, Original Amiga chipset - Video output

Original Amiga chipset: Encyclopedia II - Original Amiga chipset - Agnus



Original Amiga chipset - Agnus

The central aspect of the chipset's power is that all operations are synchronised with the output of the video beam. This includes access to the built-in RAM, which is known as chip RAM because the chipset has access to it. The CPU and other members of the chipset have to arbitrate for access with Agnus. From the perspective of system architecture, this is known as Direct Memory Access (DMA), and Agnus is the DMA Controller (DMAC) in that respect.

Agnus has a complex priority-based memory access policy. Bitplane data fetches are more important than blitter transfers, for example. As the original 68000 in Amigas can only access memory on every second clock cycle, Agnus operates a system where the time-critical custom chips access get the "odd" cycle and the CPU gets the "even" cycle, thus the CPU does not get locked out of memory access and does not appear to slow down. However, non-time-critical custom chip access, such as blitter transfers, can use up any unused odd or even cycles and, if the "BLITHOG" (blitter hog) flag is set, Agnus will lock out the even cycles from the CPU in deference to the blitter.

Agnus's timings were measured in "colour clocks" of 280 ns. This is equivalent to two lowres (140 ns) pixels or four hi-res (70 ns) pixels. Like Denise, these timings were designed for display on household TVs, and can be synchronised to an external clock source.

Original Amiga chipset - Blitter

The blitter—"blit" is shorthand for "block image transfer" (or bit blit). The Blitter is a highly parallel memory transfer and logic operation unit. It has three modes of operation: copying blocks of memory, filling blocks (e.g. polygon filling) and line drawing.

Block copying mode takes zero to three data sources in memory (A, B and C), and writes to a destination area (D). Any of these areas can overlap. All blocks are on 16-bit (two byte) boundaries. The blitter either runs from the start of the block to the end, known as "ascending" mode, or in reverse, "descending" mode. Blocks are "rectangular"; they have a "width" in 16-bit words (not pixels), a height measured in "lines", and a "stride" distance to move from the end of one line to the next. This allows the blitter to operate on any conceivable video resolution. The copy automatically performs a per-pixel logical operation. These operations are described generically using minterms. This is most commonly used to do direct copies (D = A), or apply a pixel mask around blitted objects (D = A AND C). The copy can also barrel shift each line by 0 to 15 pixels. This allows the blitter to draw at pixel offsets that are not exactly multiples of 16.

The line mode draws single-pixel thick lines using the Bresenham line drawing algorithm. It can also apply a 16-bit repeating pattern to the line. The filling mode is used to fill per-line horizontal spans. On each span, it reads each pixel in turn from left to right. Whenever it reads a set pixel, it toggles filling mode on or off. When filling mode is on, it sets every pixel until filling mode is turned off or the line ends. Together, these modes allow the blitter to draw individual flat-shaded polygons, albeit very slowly in comparison to modern 3D graphics chipsets or the CPU of a moderately fast Amiga.

Original Amiga chipset - Copper

The copper—short for "co-processor"—is a programmable finite state machine. When it is turned on, it has three states; either reading an instruction, executing it, or waiting for a specific video beam position. The copper runs a program called the copper list in parallel with the main CPU. The copper runs in sync with the video beam, and it can be used to perform various operations in sync to the video beam. Most commonly it is used to control video output, but it can write to any of the chipset registers and thus can be used to set audio registers or interrupt the CPU.

The copper list has three kinds of instructions, each one being a pair of two bytes, four bytes in total:

  • The MOVE instruction writes a 16-bit value into one of the chipset's hardware registers.
  • The WAIT instruction halts copper execution until a given beam position is reached, thus making possible to synchronize other instructions with respect to screen drawing. It can also wait for a blitter operation to finish.
  • The SKIP instruction will skip the following copper instruction if a given beam position has already been reached. This can be used to create copper list loops.

The length of the copper list program is limited by execution time. The copper restarts executing the copper list at the start of each new video frame. There is no explicit "end" instruction, instead the WAIT instruction is used to wait for a location which is never reached.

Common functions of the copper are:

  • Set-up of the hardware registers that require re-initialisation on each frame.
  • Split the screen in multiple regions, each having separate overall position, palette and in some cases different graphics resolution. Most notably the AmigaOS uses this extensively for its screen-dragging capabilities.
  • Showing only part of the screen in vertical direction.
  • Changing a colour register once per scanline, creating the "raster bars" effect seen commonly in Amiga games.
  • Changing other hardware registers once per scanline, for example the bitplane pointers. This can be exploited to give a number of pleasing graphical effects, usually seen in demos rather than games.

Less common functions of the copper are:

  • Driving hardware sprites with MOVE and WAIT instructions. This includes re-using sprites more than once on the same scanline, by repositioning them in mid-scan after they have already been drawn.
  • Driving blitter operations directly.
  • Emulating a 12-bit true color mode by changing the background colour register in sync with screen drawing. This requires no actual bitplane graphics to be displayed at all!
  • Trigger CPU interrupts to synchronize CPU on hw screen drawing.




Adapted from the Wikipedia article "Agnus", under the G.N U Free Docmentation License. Please also see http://en.wikipedia.org/wiki

More material related to Original Amiga Chipset can be found here:
Main Page
for
Original Amiga Chipset
Index of Articles
related to
Original Amiga Chipset


« Back








Search the Global Oneness web site
Global Oneness is a huge, really huge, web site. Almost whatever you are searching for within health, spirituality, personal development and inspirationals - you will find it here!
Google
 
 

Rate this article!

Please rate this article with 10 as very good and 1 as very poor.

.








Sneak-Peek of Global Oneness Community

Hi friend! The Global Oneness Community, the place for information and sharing about Oneness is not really launched yet (you will see there is still some clean up to do) ...but it is now open for a sneak-peek! And if you wish - please register and become one of the very first members to do so! Jonas

Forum Home, Articles, Photo Gallery, Videos, News, Sitemap
...and much more!


Dream Sharing Forum

at Global Oneness Community.

Share your dreams and let others help you with the interpretation!
Dream Sharing Forum



Forum
Articles
Images Pictures
Videos
News
Sitemap




 

 

 

 

 


 








  » Home » » Home »