                                  <B>Aga Chipset</B>
                                     <B>Part 1</B>
                                (c) Zetter 2000
                                2:5025/2000.110

,           .    
        ,      , 
  !           .   
,        -        , ,
   ,                    ,  
    .      ,    , 
,            
  .       ,   , ,  
     :-)

,          OSC   ECS ,  
        AGA.      AGA
      ,   
      .  ,    
      OSC  ECS,  
         ,  
     AGA.

                
    AGA.            
            
.

  ,  ,  ,        2001
                  ,  
   !

                                 <B>  !</B>

                                   <U></U>

   AGA
    AGA  
 HAM8
 AGA ()
   ECS
 :
 
     35ns
  
  ()
 :
   ()
   35 ns
   
 superhires
  
VGA
 hardwaresetup ()
 copperlist ()
  allocmap

                         <U>  </U>

                                    <U></U>

     8   6.       
    256    64.  8     3
 .

    dual-playfield     4 .  
       16-    256- 
 .

 ,   3   dual-playfield  4+4  ,
      .     
       .  15 - 8  BPLCON4
 8  ,      
    .

        
    64        .    , 
      35ns   .

 BPLCON1  8-       
      35   nSec.  (1  SHRES  ),    
  32  .  BPAGEM  BPL32      FMODE
      BPL1DAT - BPL8DAT.

  6      HAM,        HIRES     SHRES
.

 BP1-BP4  ,     
BP5  BP6.


|BP6|BP5|     RED     |    GREEN    |     BLUE    |
|-------------------------------------------------|
| 0 | 0 |     (1  16)|
|-------------------------------------------------|
| 0 | 1 |    |    |     |
|-------------------------------------------------|
| 1 | 0 |     |    |    |
|-------------------------------------------------|
| 1 | 1 |    |     |    |
---------------------------------------------------

   HAM.         8  .    
    BPU  BPLCON0  8,    HAMEN.
 1  2       5   6  
6-   HAM.


|BP2|BP1|     RED     |    GREEN    |   BLUE      |
|-------------------------------------------------|
| 0 | 1 |     (1  64)|
|-------------------------------------------------|
| 0 | 1 |    |    |     |
|-------------------------------------------------|
| 1 | 0 |     |    |    |
|-------------------------------------------------|
| 1 | 1 |    |     |    |
---------------------------------------------------

   6     ,    
6  MSB.  2  LSB  ,     
16,777,216    ,              
   .   HAM    
HIRES  SHRES.

        EHB    .    
,          ,   
  .   , EHB   SHRES =  HIRES  =
HAMEN  =  DPF  =  0    BPU  = 6.  ,    ECS DENISE 
 BPLCON2   KILLEHB,    .

 PF2OF2,1,0     BPLCON3        
       .  ,    DPF
     4 .

              .   
    ,      15KHz    
 31KHz       31KHz.

 BSCAN2   FMODE    .   V0
  DIWSTRT     V0   , BPL1MOD
        ,      BPL2MOD.  
           
    ,                
  BPL1MOD,     BPL2MOD.  
DPF        .

                                    <U></U>

   -       lores,  hires,  
super-hires,        .     
   . ,       
          .    
   16       256  .
         16 ,     
  32  64 .         
.       
35ns (  super-hires .)

 SPAGEM  SPR32   FMODE        
    SPR0DATA  (B)    SPR7DATA (B).   16,32,  64
,    .  BPLCON3      ,   
   .  SPRES1    SPRES0      
,     ECS   
LORES,  HIRES,    SHRES.  BRDRSPRT,    ,   
  . ESPRM7 - ESPRM4       ,
  OSPRM7  -  OSPRM4   .     
 OSPRM.

 SSCAN2   FMODE    .  
,        SH10      SPRxPOS    ,
       .  
V0    SPRxPOS     V0   , DMA
    ,       ,    DMA  
   LISA       .
   ,       
   ,      .

:

                -  
     .

                                 <U></U>

ECS  -          ECS,
        .
    $dff1fc FMODE: $0003 = 64-  AGA , $0000 =
ECS   (16 ).   4  8  
R/G/B,     32   8      
  4    32    .    4  ,
  4    . : 8   
$1F      $1F1F1F1F,   4   $3  
$33333333;

  RST,           ECS  
LISA: BPLCON3, BPLCON4, CLXCON2, DIWHIGH, FMODE.

 ECSENA ( ENBPLCN3)      
BPLCON3,            .
ECSENA    :  BRDRBLNK,  BRDNTRAN,  ZDCLKEN,  EXTBLKEN,  
BRDRSPRT.

CLXCON2      CLXCON,        
    .

DIWHIGH     DIWSTRT  DIWSTOP.    
  ECS Denise.

                                     <U></U>

       ECS  DENISE      
LISA.   ZDBPEN      BPLCON2      ,       ZDBPSEL2,1,0
     (    ZD  
  ).  ZDCTEN         00, 
     31            
.  ZDCLKEN     14MHz,  
      .    ,
BRDNTRAN    BPLCON3      ,  
     .

                                    <U></U>

    32- 13-    256- 25- 
(8   , 8 - , 8 - ,  1   ).  
  256      .      16,777,216
        .   BLPCON3  
      .  LOCT   MSB
  LSB  (     ).   
MSB   LSB, ..      24      LSB  
    MSB.  BANK2,1,0     8   
 ( 32 )  :

 BANK2 | BANK1 | BANK0 |    
--------------------------------------------
   0   |   0   |   0   |  00 - 1F
   0   |   0   |   1   |  20 - 3F
   0   |   1   |   0   |  40 - 5F
   0   |   1   |   1   |  60 - 7F
   1   |   0   |   0   |  80 - 9F
   1   |   0   |   1   |  A0 - BF
   1   |   1   |   0   |  C0 - DF
   1   |   1   |   1   |  E0 - FF

 RDRAM    BPLCON2  LISA   
    .

    :    IFF    (    
  NewIFF)        32  .  
 .           
Map->Count    ViewPort  .         32  
    Map->Count.

                                  <U></U>

  CLXCON2  4  . ENBP7  ENBP8  -    
    7  8, . , MVBP7
 MPBP8 -   . CLXDAT .

                           <U> </U>

          VHPOSW     
  35nSec:  DIWHIGH,  HBSTOP,  SPRCTL,  BPLCON1.  BPLCON1  
     .               
      140  nSec   3- 
. ,  00  BPLCON1  PF1H0,    PF1H2.

                           <U> 15KHz  31KHz:</U>

 LISA    ,     
15KHz   31KHz     31KHz. LISA   
   LORES, HIRES    SHRES.        LISA
    SH10      SPRxPOS,     
   .

                           <U>   AGA</U>

           (.  1)
----- --------- ------       ---------------------------------
LORES (320x200)
        6   64 ( HAM,  EHB)          1 ( KillEHB!)
        7   128                          1
        8   256                          1
        8   HAM 256,000+( . 2)     1

Dual playfield:  4   , 16      .  
      16     256 .

HIRES (640x200)
        5   32                           2
        6   EHB 64 ( . 3)          2
        6   HAM 4096 ( . 4)        2
        6   64  (. killEHB)       2
        7   128                          2
        8   256                          2
        8   HAM 256,000+( . 2)     2

Dual playfield:  4   , 16      .  
      16     256 .

SUPERHIRES (1280x200)
        1   2 ( . 5)               1
        2   4 ( . 5)               1
        3   8                            2
        4   16                           2
        5   32                           4
        6   EHB 64 ( . 3)          4
        6   HAM 4096 ( . 4)        4
        6   64  (. KillEHB)       4
        7   128                          4
        8   256                          4
        8   HAM 256,000+( . 2)     4

Dual playfield:  4   , 16      .  
      16     256 .

VGA  (160,320,640x480  . 31Khz -  VGA   )

        1   2 ( . 5)               1
        2   4 ( . 5)               1
        3   8                            2
        4   16                           2
        5   32                           4
        6   EHB 64 ( . 3)          4
        6   HAM 4096 ( . 4)        4
        6   64  (. KillEHB)       4
        7   128                          4
        8   256                          4
        8   HAM 256,000+( . 2)     4

Dual playfield:  4   , 16      .  
      16     256 .

Super 72 (848x614 ,   70 Hz)

        1   2  ECS,   .  1
        2   4  ECS,   .  1
        3   8                          2
        4   16                         2
        5   32                         4
        6   64  (. KillEHB)     4
        7   128                        4
        8   256                        4
        6   EHB 32 * 2                 4
        6   HAM 4O96                   4
        8   HAM   2^24          4

Dual playfield:  4   , 16      .  
      16     256 .

   -    35ns.    140ns.

 ,   BPLCON1

     +-----------+----------------+----------------+
     |  1X | LORES  | SHRES  |
     +-----------+----------------+----------------+
     | LORES     | 0-15           | 0-63           |
     | HIRES     | 0-7            | 0-31           |
     | SHRES     | 0-3            | 0-15           |
     +-----------+----------------+----------------+

     +-----------+----------------+----------------+
     |  2X | LORES  | SHRES  |
     +-----------+----------------+----------------+
     | LORES     | 0-31           | 0-127          |
     | HIRES     | 0-15           | 0-63           |
     | SHRES     | 0-7            | 0-31           |
     +-----------+----------------+----------------+

     +-----------+----------------+----------------+
     |  4X | LORES  | SHRES  |
     +-----------+----------------+----------------+
     | LORES     | 0-63           | 0-255          |
     | HIRES     | 0-31           | 0-127          |
     | SHRES     | 0-15           | 0-63           |
     +-----------+----------------+----------------+


:

1 -           ,    
    .  ,  VGA ,  5  
 4x,  VGA ,  1   -    1x.    4  
      4  ,  1.    
         .
 1     ,  2 -   
,   4 -     ,    -   16,
32    64  .      -    
  .      ,    
           ,        4x.
,   ,       
 -     .

* BANDWIDTH 1: MOVE.W   #0,$DFF1FC
* BANDWIDTH 2: MOVE.W   #2,$DFF1FC  ;,   32  
                    ;MODULO = MODULO-4
* BANDWIDTH 4: MOVE.W   #3,$DFF1FC  ;,   64  
                    ;MODULO = MODULO-8

          
 .

            
.

2 -  8-   HAM   6       
64   24     6    
,   2    .        
      256,000    (      
  ,       16.8    ).  
  ,        ,
(      ,      ),    
graphics.library    intuition.library           ,
    .

3 -      EHB,    .    
  5        32 ,     32
   .

4 -           HAM,        .  
    4        16    
     2    .          
 4096 .

5 -   -      VGA    SUPERHIRES    
 64  .

*******************************************************************************

                                  <U> HAM-8</U>

Ham-8  **       (    
    ,    ,     HAM), 
** 6  (  2 - 7 )      (0  -  63),      6
    hold-and-modify        6   8 
 .

         ,      
      (,  AdPro  -
,    )


                          <U> AGA </U>

   AGA

           AGA    101  %...  (
      DDT/HBT).      AGA 
  AGA .   CMPI.B $f8,$dff07c.)    
 AGA       !!!!

AGA DETECT ROUTINE:

This is my AGA detect routine 101%... (thanx to DDT/HBT for  the  last  1%)  It
will  detect  AGA  on  the future updated AGA machines. Instead making a CMPI.B
#$f8,$dff07c on that new AGA machines only old chipset will be detected!!!!

    LEA $DFF000,A5
    MOVE.W  $7C(A5),D0  ;  DeniseID  LisaID  AGA
    MOVEQ   #30,D2      ;  30  (  denise  )
    ANDI.W  #%000000011111111,d0    ;   
DENLOOP:
    MOVE.W  $7C(A5),D1  ; Denise ID (LisaID  AGA)
    ANDI.W  #%000000011111111,d1    ;   
    CMP.B   d0,d1       ; - ?
    BNE.S   NOTAGA      ; ,  OCS Denise!
    DBRA    D2,DENLOOP  ;
    ORI.B   #%11110000,D0   ;   AGA
    CMPI.B  #%11111000,D0   ;  3=AGA (   =0  AAA!)
    BNE.S   NOTAGA      ; AGA ?
    ST.B    AGA         ;   AGA .
NOTAGA:             ;  AGA,   AAA !

    3 AGA ,    4000 :
YOU   NEED   AN   AGA   MACHINE   (!!)...      :   NOP   1/muffbusters,
RedNexRevivalIntro (   )  ..

***************************************************************************
 ,          AGA
     :

    dc.w    $106,$c00   ; AGA ,   DPF
    dc.w    $1FC,0      ; AGA     .

     BPL1MOD($108), BPL2MOD($10a), DIWSTRT($8e)
 DIWSTOP($90),     ,   WB.

*******************************************************************************

:

 0   7        BPLCON0 ($dff100).

     4  BPLCON0,  12-14
  0

 Hires  8       0    1    FMODE
($dff1fc)

8 :

          12-14    BPLCON0.
            3    
 7 .   8     - 
4.        12-14  
 :)


 4 | 8 
------------------------
  0   |  
------------------------
  1   | 
------------------------

 64-  ( EHB)    KILLEHB  (
9)   BPLCON2

 


  BPLCON1      ,    
    .

 8 (PF1H0)  9 (PF1H1) -            
  ,      12  (PF2H0)  13 (PF2H1) -    
.

              
  ,    64        256
  SHires ( 16   )   10 (PF1H6) 
11  (PF1H7)         14 (PF2H6)  15 (PF2H7)  
.

   ,      
       2  4.

*******************************************************************************
 :

    256    ,         
  32 .

AGA   8        32      ,  
   00 - 31 ($0180 - $01BE).

     BANK0-BANK2 (13-15)   BPLCON3
($0106)

 15 |  14 |  13 |  
-------+--------+--------+------------------------------
   0   |    0   |    0   |  0 ( 0 - 31)
   0   |    0   |    1   |  0 ( 32 - 63)
   0   |    1   |    0   |  0 ( 64 - 95)
   0   |    1   |    1   |  0 ( 96 - 127)
   1   |    0   |    0   |  0 ( 128 - 159)
   1   |    0   |    1   |  0 ( 160 - 191)
   1   |    1   |    0   |  0 ( 192 - 223)
   1   |    1   |    1   |  0 ( 224 - 255)
*******************************************************************************

  24-           
:

-    9 (LOCT)  BPLCON3 ($dff106).
-        .
-    9 (LOCT)  BPLCON3 ($dff106).
-        .


 9 |  :
------------------------------
  0   | 4   R,G,B
------------------------------
  1   | 4   R,G,B
------------------------------

    :   3 *  4    ,  
 3 * 4  !

,       $123456

   $01060000 dc.l
   $01800135 dc.l
   $01060200 dc.l
   $01800246 dc.l

    12-   ,      
     (RGB).

       AGA


    DC.W    $106,$c00   ;  0 (0-31),  
COLP0:
    DC.W    $180,$000,$182,$000,$184,$000,$186,$000 ; 
    DC.W    $188,$000,$18A,$000,$18C,$000,$18E,$000 ; 0-31
    DC.W    $190,$000,$192,$000,$194,$000,$196,$000 ;
    DC.W    $198,$000,$19A,$000,$19C,$000,$19E,$000 ;
    DC.W    $1A0,$000,$1A2,$000,$1A4,$000,$1A6,$000
    DC.W    $1A8,$000,$1AA,$000,$1AC,$000,$1AE,$000
    DC.W    $1B0,$000,$1B2,$000,$1B4,$000,$1B6,$000
    DC.W    $1B8,$000,$1BA,$000,$1BC,$000,$1BE,$000

    DC.W    $106,$e00   ;  0 (0-31),  
COLP0B:
    DC.W    $180,$000,$182,$000,$184,$000,$186,$000 ; 
    DC.W    $188,$000,$18A,$000,$18C,$000,$18E,$000 ; 0-31
    DC.W    $190,$000,$192,$000,$194,$000,$196,$000 ;
    DC.W    $198,$000,$19A,$000,$19C,$000,$19E,$000 ;
    DC.W    $1A0,$000,$1A2,$000,$1A4,$000,$1A6,$000
    DC.W    $1A8,$000,$1AA,$000,$1AC,$000,$1AE,$000
    DC.W    $1B0,$000,$1B2,$000,$1B4,$000,$1B6,$000
    DC.W    $1B8,$000,$1BA,$000,$1BC,$000,$1BE,$000

    DC.W    $106,$2C00  ;  1 (31-63),  
COLP1:
    DC.W    $180,$000,$182,$000....  ..

    DC.W    $106,$2E00  ;  1 (31-63),  
COLP1B:
    DC.W    $180,$000,$182,$000....  ..

    DC.W    $106,$4C00  ;  2 (64-95),  
COLP2:
    DC.W    $180,$000,$182,$000....  ..

    DC.W    $106,$4E00  ;  2 (64-95),  
COLP2B:
    DC.W    $180,$000,$182,$000....  ..

    DC.W    $106,$6C00  ;  3 (96-127),  
COLP3:
    DC.W    $180,$000,$182,$000....  ..

    DC.W    $106,$6E00  ;  3 (96-127),  
COLP3B:
    DC.W    $180,$000,$182,$000....  ..

    DC.W    $106,$8C00  ;  4 (128-159),  
COLP4:
    DC.W    $180,$000,$182,$000....  ..

    DC.W    $106,$8E00  ;  4 (128-159),  
COLP4B:
    DC.W    $180,$000,$182,$000....  ..

    DC.W    $106,$AC00  ;  5 (160-191),  
COLP5:
    DC.W    $180,$000,$182,$000....  ..

    DC.W    $106,$AE00  ;  5 (160-191),  
COLP5B:
    DC.W    $180,$000,$182,$000....  ..

    DC.W    $106,$CC00  ;  6 (192-223),  
COLP6:
    DC.W    $180,$000,$182,$000....  ..

    DC.W    $106,$CE00  ;  6 (192-223),  
COLP6B:
    DC.W    $180,$000,$182,$000....  ..

    DC.W    $106,$EC00  ;  7 (224-255),  
COLP7:
    DC.W    $180,$000,$182,$000....  ..

    DC.W    $106,$EE00  ;  7 (224-255),  
COLP7B:
    DC.W    $180,$000,$182,$000....  ..

*******************************************************************************

Bplmod:  AGA    -,        
8.  ,        =  0,   agamodulo = -8. (  
FMODE=3!),    FMODE =2,   = -4 .

*******************************************************************************

:

      7    6  (SPRES0-1)  
$0106 (BPLCON3)

 7 |  6 | tybt
------+-------+-----------
  0   |   0   | ECS   (Lo-res/Hi-res = 140ns, Superhires = 70ns)
  0   |   1   |  lowres           (140ns)
  1   |   0   |  hireres          (70ns)
  1   |   1   |  superhires       (35ns)
--------------------------

(70ns        lace  BPLCON0   )

*******************************************************************************

   ,  32  64    3 (SPAGEM)
  2(SPR32)    $01FC(FMODE).      (  
)    .

 3 |  2 |       |  
------+-------+-------------+------------------------------------------
  0  |   0    | 16  | 2  ()
  1  |   0    | 32   | 2  
  0  |   1    | 32   | 2  
  1  |   1    | 64   | 2    (4  )
-----------------------------------------------------------------------

       . Copper    
 ,      .

 ,  16     2
 ,  32     4
 ,  64     16

   ,  16 

 C1,  C2
 A1,  B1
.
.
.
 An,  Bn
$0000 0000

C1=  
C2=  

Ai  Bi   OR   .

   ,  32 

    CNOP    0,8     ;  64 

SPRITE32:           ; AGA ,  32 
VSTART:
    dc.b 0      ; C1
HSTART:
    DC.b 0
    DC.W 0
VSTOP:
    DC.b 0,0    ; C2
    dc.w 0
 dc.L %00000000000000111100000000000000,%0000000000001000000000000000000;sprite
 dc.L %00000000000011111111000000000000,%0000000000010111100000000000000
  A3,   B3
.
.
.
  An,   Bn
    DC.W    0,0,0,0     ; 

C1=   

           C1.      C1
       .

C2=   

           C2.      C2
      $0000

    :
1 2 2 00

Ai  Bi   OR   .

   ,  64 

    CNOP    0,8     ;  64 

SPRITE64:           ; AGA ,  32 
VSTART:
    DC.B    0       ;   C1
HSTART:
    DC.B    0
    DC.W    0
    DC.L    0
VSTOP:
    DC.B    0,0     ;   C2
    DC.W    0
    DC.L    0
   A1,    B1
.
.
.
   An,    Bn
    DC.W    0,0,0,0,0,0,0,0 ; 

C1=    
   C1=W3:W2:W1:W0 (Wi=)
   W3   
   W2  W1   
C2=    
   C2=W3:W2:W1:W0 (Wi=)
   W3 is   

    :
1 2 2 00 2 00 00 00

Ai  Bi   OR   .

***************************************************************************

    1/4 :

  3  4         
    1/4 lowres  (   SuperHires ):

  0    =  2  .
  3    =  0  .
  4    =  1  .

    11 .

***************************************************************************

  :

         16    .  
 :

 |  
------------------
   0-1  |  00-03
   2-3  |  04-07
   4-5  |  08-11
   6-7  |  12-15
------------------

                  
.        15   31. 
         .

  256 ,   16   16      .  
    ,      
        . ,
   16   -  :

 |            
-----------------------------------------
   0    | 00-03   
   2    | 04-07   
   4    | 08-11   
   6    | 12-15   
-----------------------------------------
   1    | 00-03   
   3    | 04-07   
   5    | 08-11   
   7    | 12-15   
-----------------------------------------

 4 - 7 (ESPRM)  BPLCON4 ($DFF010C)    ,
        ,    0 - 3 (OSPRM) 
BPLCON4  ($DFF010C)          ,      
  ,

 3 |  2 |  1 |  0 |  
 7 |  6 |  5 |  4 |  
------+-------+-------+-------+------------------------------------------
  0   |   0   |   0   |   0   | $0180/ 0 ( 0)
  0   |   0   |   0   |   1   | $01A0/ 0 ( 15)
  0   |   0   |   1   |   0   | $0180/ 1 ( 31)
  0   |   0   |   1   |   1   | $01A0/ 1 ( 47)
  0   |   1   |   0   |   0   | $0180/ 2 ( 63)
  0   |   1   |   0   |   1   | $01A0/ 2 ( 79)
  0   |   1   |   1   |   0   | $0180/ 3 ( 95)
  0   |   1   |   1   |   1   | $01A0/ 3 ( 111)
  1   |   0   |   0   |   0   | $0180/ 4 ( 127)
  1   |   0   |   0   |   1   | $01A0/ 4 ( 143)
  1   |   0   |   1   |   0   | $0180/ 5 ( 159)
  1   |   0   |   1   |   1   | $01A0/ 5 ( 175)
  1   |   1   |   0   |   0   | $0180/ 6 ( 191)
  1   |   1   |   0   |   1   | $01A0/ 6 ( 207)
  1   |   1   |   1   |   0   | $0180/ 7 ( 223)
  1   |   1   |   1   |   1   | $01A0/ 7 ( 239)
-------------------------------------------------------------------------

           ********************      ************************

,             
  64  .   ,   64   
64   .

      .          
 AllocMem()       .

    :    AllocMem  (_  +  8)    
  ,     ,    
64  (   ,        64 ,
         , 
   64 ).   -    
V39 AllocBitMap().   -     
 . :

      CNOP  0,8
sprite   incbin "myspritedata"

      CNOP  0,8
plane incbin "myplane"

 ..

     64 ,    .

  -            $0.  
          ,    
     .

     o    ,      
        -  $00000000.)  (0.l),     AGA  
    ,  0,   64 .

***************************************************************************

                          SUPERHIRES

   SuperHires ( 1280 ),  
 6 (SHRES)   BPLCON0 ($0100)

 6 |  SuperHires
------------------------
  0   | 
  1   | 
------------------------

***************************************************************************
                               

     .     A  B
  :

-     

- ,    A       B,    ,  
  B     

    8-15 (BPLAM)  BPLCON4 ($DFF10C):

           15 14 13 12 11 10 09 08
           S7 S6 S5 S4 S3 S2 S1 S0

   Sn,     :

-   2^n ,    00   (2^n)-1   
  2^n ,    2^n   2^n+(2^n)-1

-   2^n ,    2*2^n   2*2^n+(2^n)-1  
    2^n    3*2^n   3*2^n+(2^n)-1

 - ...

 ,    256  .

:

     Sn=1.   ,         
    .    :

                |    
     ---------------------------------
          00     |    02
          01     |    03
          02     |    00
          03     |    01
          04     |    06
          05     |    07
          06     |    04
          07     |    05
         ...         |   ...

     ,    2^1=2 

       .      Sn,
     .

   o.        Sn,
             ,
  S0.

:

   BPLCON4 ($DFF10C)  $0500.   S0  S2.   
      2^0 ,    2^2 :

                |    S0  |   S2
     ---------------------------------------------
          00     |    01   |   05
          01     |    00   |   04
          02     |    03   |   07
          03     |    02   |   06
          04     |    05   |   01
          05     |    04   |   00
          06     |    07   |   03
          07     |    06   |   02
          08     |    09   |   13
          09     |    08   |   12
          10     |    11   |   15
          11     |    10   |   14
          12     |    13   |   09
          13     |    12   |   08
          14     |    15   |   11
          15     |    14   |   10
         ...         |   ...       |  ...

***************************************************************************

       VGA/PRODUCTIVITY 640x480  

        ECS    
 .

 AGA     :        
  256-   HAM8 .

   NTSC (525 , 227.5   )
   PAL  (625 , 227.5   )
   VGA  (525 , 114.0   )

    5   
 Agnus:

   VSSTRT    W   A        VSYNC.
   VSSTOP    W   A        VSYNC
   HSSTRT    W   A        HSYNC.
   HSSTOP    W   A        HSYNC
   HCENTER   W   A       Vsync  

        HCENTER  
        HSSTRT,   HBSTOP  (HSSTOP-HSSTRT) 
HCENTER  HBSTRT  (HSSTOP-HSSTRT)  HSSTRT.

        ECS Agnus:

   HBSTRT   W   A     HBLANK
   HBSTOP   W   A      HBLANK
   VBSTRT   W   A      VBLANK
   VBSTOP   W   A      VBLANK

 ,      15KHz (TV,  1084)  31
KHz          BEAMCON0  ($dff1dc)  
    .
:

    LEA $DFF000,A0
    MOVE.W  #%0001101110001000,$1DC(A0) ;BEAMCON0
                ;3 -     CSY
                ;7 -    
                ;8 -    
                ;9 -    
                ;11-   / 
                ;12-     .
    MOVE.W  #$71,$1C0(A0)   ;HTOTAL -    . 
    MOVE.W  #8,$1C4(A0) ;HBSTRT -     HBLANK START
    MOVE.W  #14,$1DE(A0)    ;  
    MOVE.W  #$1C,$1C2(A0)   ;    HSYNC STOP
    MOVE.W  #$1E,$1C6(A0)   ;    HBLANK STOP
    MOVE.W  #$46,$1E2(A0)   ;.   VSYNC  .
    MOVE.W  #$20C,$1C8(A0)  ;VTOTAL -     .
    MOVE.W  #0,$1CC(A0) ;     
    MOVE.W  #3,$1E0(A0) ;  
;   MOVE.W  #$200,$1E4(A0)
    MOVE.W  #$100,$1E4(A0)
    MOVE.W  #5,$1CA(A0) ;    VSYNC STOP
    MOVE.W  #$1D,$1CE(A0)   ;.   VBLANK STOP
    MOVE.W  #%00010010,$104(A0) ;
    MOVE.W  #%0000110000100001,$106(A0) ; 0 -   
                        ; 5 -  
                        ; 10-11 Fix AGA -.
    MOVE.W  #$1241,$100(A0) ; VGA  2 
;   MOVE.W  #$1245,$100(A0) ; AGA   , 
                ; ,    $3  $dff1fc  
                ;  2  ( ECS )

     . ,      0  
$dff100          ECS  AGA,  
   4 ,     0   1    $dff1fc  
      64  .  ,  ,   
        -      
 

   AGA (  1200+VGA )

 COPPERLIST: ;     ECS !

    ;    

    dc.l    $C01FFFE
    dc.l    $1800F00
BPLP:
    dc.l    $E00000     ; 
    dc.l    $E20000     ;   640x480
    dc.l    $E40000     ;,   
    dc.l    $E60000
    dc.l    $E80000
    dc.l    $EA0000     
    dc.l    $EC0000     
    dc.l    $EE0000     

    DC.W    $180,0      ;
    DC.W    $10A,0

    dc.W    $8E,$1c45   ;diwstrt
    dc.W    $90,$ffe5   ;diwstop
    dc.W    $92,$0018   ;ddfstrt
    dc.W    $94,$0068   ;ddfstop
    dc.w    $1e4,$100

    ;  ...  ,      AGA

    dc.w    $1fc,$8003
    DC.W    $100,$1241  ;bplcon0

    dc.l    $FFFFFFFE   ; 
    dc.l    $FFFFFFFE

***************************************************************************
  AllocBitmap

allocbitap "graphics.library" V39     .

AllocbitMap --       . (V39)

bitmap=AllocbitMap(sizex,sizey,depth, flags, friend_bitmap)
          -918       d0    d1    d2     d3       a0

struct bitMap *AllocbitMap(ULONG,ULONG,ULONG,ULONG, struct bitMap *);

     .      
.

 :
   sizex =  ( ) .

   sizey =  ( ).

   depth =  (   )

   flags = BMF_CLEAR -  .

           BMF_DISPLAYABLE -   AGA     

           BMF_INTERLEAVED -  .

friend_map  =            NULL.      
,   ,      

     FREEbitMAP(V39)

FreeMap --  ,  AllocbitMap

FreeMap(bm)
  -924     a0

VOID FreebitMap(struct bitMap *)

     .

-------------------------------------------------------------------------------
      , ,      
      AGA.    
!
