Welcome, Guest. Please login or register.

Author Topic: a golden age of Amiga  (Read 27860 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show all replies
    • http://www.iki.fi/sintonen/
Re: a golden age of Amiga
« on: February 09, 2012, 09:59:23 PM »
Quote from: Mrs Beanbag;679953
The blitter has three sources which it can combine using any combinatorial logic supplied to it in the Minterms field of its control registers.  This Minterms field then is exactly the same as the LUT in an FPGA's logic cell.  It applies the same LUT to every bit in a 16-bit word at once and then sequentially on word after word, which it pulls in through DMA and writes out again.  Now imagine if it could pull the Minterms in through DMA as well, it would open up all kinds of possibilities.  Then if you could connect lots of blitters together so that they could pipe their outputs to each other, many things become possible.

I've never seen anyone mention this, but you can configure the blitter to do arithmetic addition.  Presumably this is why the fill operation works in descending mode only - it is to propagate the carry bit.
This has been explored in numerous different things. For example it's possible to create full screen game of life with only blitter (320x256 it reaches 12fps on A500). I have a code lying around doing just that.

Further, it's possible to set copper in "danger mode" (CDANG bit in COPCON) in which it can write more custom registers than normally. When in this mode the copper can program the blitter. Blitter can be used to blit new copper list, which is again activated by the copper. This way it's entirely possible to have arbitrary logic running entirely independent of the main CPU (except for the initialization, and the limitations set by the amount of chip memory). It'd be interesting to hear if anyone has ever attempted to construct such setup.
« Last Edit: February 09, 2012, 10:02:56 PM by Piru »