Home | History | Annotate | Line # | Download | only in dev
      1 /*	$NetBSD: grfabs_ccglb.c,v 1.11 2002/01/28 09:56:57 aymeric Exp $ */
      2 
      3 /*
      4  * Copyright (c) 1994 Christian E. Hopps
      5  * All rights reserved.
      6  *
      7  * Redistribution and use in source and binary forms, with or without
      8  * modification, are permitted provided that the following conditions
      9  * are met:
     10  * 1. Redistributions of source code must retain the above copyright
     11  *    notice, this list of conditions and the following disclaimer.
     12  * 2. Redistributions in binary form must reproduce the above copyright
     13  *    notice, this list of conditions and the following disclaimer in the
     14  *    documentation and/or other materials provided with the distribution.
     15  * 3. All advertising materials mentioning features or use of this software
     16  *    must display the following acknowledgement:
     17  *      This product includes software developed by Christian E. Hopps.
     18  * 4. The name of the author may not be used to endorse or promote products
     19  *    derived from this software without specific prior written permission
     20  *
     21  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
     22  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     23  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     24  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
     25  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     26  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
     30  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     31  */
     32 
     33 #include "opt_amigaccgrf.h"
     34 
     35 #include <sys/cdefs.h>
     36 __KERNEL_RCSID(0, "$NetBSD: grfabs_ccglb.c,v 1.11 2002/01/28 09:56:57 aymeric Exp $");
     37 
     38 #include <sys/types.h>
     39 #include <sys/queue.h>
     40 
     41 #include <amiga/amiga/cc.h>
     42 #include <amiga/dev/grfabs_reg.h>
     43 #include <amiga/dev/grfabs_ccreg.h>
     44 
     45 /* the custom thips monitor */
     46 monitor_t *cc_monitor;
     47 
     48 cop_t std_copper_list[] = {
     49     {{{ CI_WAIT (0, 12), 0xfffe }}},
     50 #if defined (GRF_ECS) || defined (GRF_AGA)
     51 #if defined (GRF_AGA)
     52     {{{ R_FMODE, 0x0000 }}},
     53 #endif
     54     {{{ R_BEAMCON0, 0x0000 }}},
     55     {{{ R_BPLCON3, 0x0020 }}},			  /* enable border blank */
     56 #endif
     57     /* bit plane pointers */
     58     {{{ R_BPL0PTH, 0x0000 }}},    {{{ R_BPL0PTL, 0x0000 }}},
     59     {{{ R_BPL1PTH, 0x0000 }}},    {{{ R_BPL1PTL, 0x0000 }}},
     60     {{{ R_BPL2PTH, 0x0000 }}},    {{{ R_BPL2PTL, 0x0000 }}},
     61     {{{ R_BPL3PTH, 0x0000 }}},    {{{ R_BPL3PTL, 0x0000 }}},
     62     {{{ R_BPL4PTH, 0x0000 }}},    {{{ R_BPL4PTL, 0x0000 }}},
     63     {{{ R_BPL5PTH, 0x0000 }}},    {{{ R_BPL5PTL, 0x0000 }}},
     64     {{{ R_BPL6PTH, 0x0000 }}},    {{{ R_BPL6PTL, 0x0000 }}},
     65     {{{ R_BPL7PTH, 0x0000 }}},    {{{ R_BPL7PTL, 0x0000 }}},
     66     /* view specific stuff. */
     67     {{{ R_BPL1MOD, 0x0000 }}},
     68     {{{ R_BPL2MOD, 0x0000 }}},
     69     {{{ R_DIWSTRT, 0xffff }}},
     70     {{{ R_BPLCON0, 0x0000 }}},
     71     {{{ R_DIWSTOP, 0x0000 }}},
     72 #if defined (GRF_ECS) || defined (GRF_AGA)
     73     {{{ R_DIWHIGH, 0x0000 }}},
     74 #endif
     75     {{{ R_DDFSTRT, 0x0000 }}},
     76     {{{ R_DDFSTOP, 0x0000 }}},
     77     {{{ R_BPLCON1, 0x0000 }}},
     78     /* colors */
     79     {{{ R_COLOR00, 0x0779 }}},    {{{ R_COLOR01, 0x0000 }}},
     80     {{{ R_COLOR02, 0x0FFF }}},    {{{ R_COLOR03, 0x068B }}},
     81     {{{ R_COLOR04, 0x000f }}},    {{{ R_COLOR05, 0x0f0f }}},
     82     {{{ R_COLOR06, 0x00ff }}},    {{{ R_COLOR07, 0x0fff }}},
     83     {{{ R_COLOR08, 0x0620 }}},    {{{ R_COLOR09, 0x0e50 }}},
     84     {{{ R_COLOR0A, 0x09f1 }}},    {{{ R_COLOR0B, 0x0eb0 }}},
     85     {{{ R_COLOR0C, 0x055f }}},    {{{ R_COLOR0D, 0x092f }}},
     86     {{{ R_COLOR0E, 0x00f8 }}},    {{{ R_COLOR0F, 0x0ccc }}},
     87     {{{ R_COLOR10, 0x0e44 }}},    {{{ R_COLOR11, 0x0e44 }}},
     88     {{{ R_COLOR12, 0x0000 }}},    {{{ R_COLOR13, 0x0eec }}},
     89     {{{ R_COLOR14, 0x0444 }}},    {{{ R_COLOR15, 0x0555 }}},
     90     {{{ R_COLOR16, 0x0666 }}},    {{{ R_COLOR17, 0x0777 }}},
     91     {{{ R_COLOR18, 0x0888 }}},    {{{ R_COLOR19, 0x0999 }}},
     92     {{{ R_COLOR1A, 0x0aaa }}},    {{{ R_COLOR1B, 0x0bbb }}},
     93     {{{ R_COLOR1C, 0x0ccc }}},    {{{ R_COLOR1D, 0x0ddd }}},
     94     {{{ R_COLOR1E, 0x0eee }}},    {{{ R_COLOR1F, 0x0fff }}},
     95     {{{ R_COP1LCH, 0x0000 }}},    {{{ R_COP1LCL, 0x0000 }}},
     96     {{{ 0xffff, 0xfffe }}},       {{{ 0xffff, 0xfffe }}}  /* COPEND, COPEND */
     97 };
     98 
     99 /* standard custom chips copper list. */
    100 int std_copper_list_len = sizeof (std_copper_list) / sizeof (cop_t);
    101 int std_copper_list_size = sizeof (std_copper_list);
    102 
    103 
    104 #ifdef GRF_AGA
    105 cop_t aga_copper_list[] = {
    106     {{{ CI_WAIT (0, 12), 0xfffe }}},
    107     {{{ R_FMODE, 0x0000 }}},
    108     {{{ R_HTOTAL, 0x0071 }}},
    109     {{{ R_HBSTRT, 0x0008 }}},
    110     {{{ R_HBSTOP, 0x001c }}},
    111     {{{ R_HSSTRT, 0x000c }}},
    112     {{{ R_HSSTOP, 0x001e }}},
    113     {{{ R_HCENTER, 0x0046 }}},
    114     {{{ R_VSSTRT, 0x0001 }}},
    115     {{{ R_VSSTOP, 0x0003 }}},
    116     {{{ R_VBSTRT, 0x0000 }}},
    117     {{{ R_VBSTOP, 0x000f }}},
    118     {{{ R_VTOTAL, 0x020c }}},
    119     {{{ R_BEAMCON0, 0x0000 }}},
    120     /* bit plane pointers */
    121     {{{ R_BPL0PTH, 0x0000 }}},    {{{ R_BPL0PTL, 0x0000 }}},
    122     {{{ R_BPL1PTH, 0x0000 }}},    {{{ R_BPL1PTL, 0x0000 }}},
    123     {{{ R_BPL2PTH, 0x0000 }}},    {{{ R_BPL2PTL, 0x0000 }}},
    124     {{{ R_BPL3PTH, 0x0000 }}},    {{{ R_BPL3PTL, 0x0000 }}},
    125     {{{ R_BPL4PTH, 0x0000 }}},    {{{ R_BPL4PTL, 0x0000 }}},
    126     {{{ R_BPL5PTH, 0x0000 }}},    {{{ R_BPL5PTL, 0x0000 }}},
    127     {{{ R_BPL6PTH, 0x0000 }}},    {{{ R_BPL6PTL, 0x0000 }}},
    128     {{{ R_BPL7PTH, 0x0000 }}},    {{{ R_BPL7PTL, 0x0000 }}},
    129     /* view specific stuff. */
    130     {{{ R_BPL1MOD, 0x0000 }}},
    131     {{{ R_BPL2MOD, 0x0000 }}},
    132     {{{ R_DIWSTRT, 0xffff }}},
    133     {{{ R_BPLCON0, 0x0000 }}},
    134     {{{ R_DIWSTOP, 0x0000 }}},
    135     {{{ R_DIWHIGH, 0x0000 }}},
    136     {{{ R_DDFSTRT, 0x0000 }}},
    137     {{{ R_DDFSTOP, 0x0000 }}},
    138     {{{ R_BPLCON1, 0x0000 }}},
    139      /* colors - bank 0 high */
    140     {{{ R_BPLCON3, 0x0020 }}},
    141     {{{ R_COLOR00, 0x0779 }}},    {{{ R_COLOR01, 0x0000 }}},
    142     {{{ R_COLOR02, 0x0FFF }}},    {{{ R_COLOR03, 0x068B }}},
    143     {{{ R_COLOR04, 0x000f }}},    {{{ R_COLOR05, 0x0f0f }}},
    144     {{{ R_COLOR06, 0x00ff }}},    {{{ R_COLOR07, 0x0fff }}},
    145     {{{ R_COLOR08, 0x0620 }}},    {{{ R_COLOR09, 0x0e50 }}},
    146     {{{ R_COLOR0A, 0x09f1 }}},    {{{ R_COLOR0B, 0x0eb0 }}},
    147     {{{ R_COLOR0C, 0x055f }}},    {{{ R_COLOR0D, 0x092f }}},
    148     {{{ R_COLOR0E, 0x00f8 }}},    {{{ R_COLOR0F, 0x0ccc }}},
    149     {{{ R_COLOR10, 0x0e44 }}},    {{{ R_COLOR11, 0x0e44 }}},
    150     {{{ R_COLOR12, 0x0000 }}},    {{{ R_COLOR13, 0x0eec }}},
    151     {{{ R_COLOR14, 0x0444 }}},    {{{ R_COLOR15, 0x0555 }}},
    152     {{{ R_COLOR16, 0x0666 }}},    {{{ R_COLOR17, 0x0777 }}},
    153     {{{ R_COLOR18, 0x0888 }}},    {{{ R_COLOR19, 0x0999 }}},
    154     {{{ R_COLOR1A, 0x0aaa }}},    {{{ R_COLOR1B, 0x0bbb }}},
    155     {{{ R_COLOR1C, 0x0ccc }}},    {{{ R_COLOR1D, 0x0ddd }}},
    156     {{{ R_COLOR1E, 0x0eee }}},    {{{ R_COLOR1F, 0x0fff }}},
    157     /* colors - bank 0 low */
    158     {{{ R_BPLCON3, 0x0220 }}},
    159     {{{ R_COLOR00, 0x0779 }}},    {{{ R_COLOR01, 0x0000 }}},
    160     {{{ R_COLOR02, 0x0FFF }}},    {{{ R_COLOR03, 0x068B }}},
    161     {{{ R_COLOR04, 0x000f }}},    {{{ R_COLOR05, 0x0f0f }}},
    162     {{{ R_COLOR06, 0x00ff }}},    {{{ R_COLOR07, 0x0fff }}},
    163     {{{ R_COLOR08, 0x0620 }}},    {{{ R_COLOR09, 0x0e50 }}},
    164     {{{ R_COLOR0A, 0x09f1 }}},    {{{ R_COLOR0B, 0x0eb0 }}},
    165     {{{ R_COLOR0C, 0x055f }}},    {{{ R_COLOR0D, 0x092f }}},
    166     {{{ R_COLOR0E, 0x00f8 }}},    {{{ R_COLOR0F, 0x0ccc }}},
    167     {{{ R_COLOR10, 0x0e44 }}},    {{{ R_COLOR11, 0x0e44 }}},
    168     {{{ R_COLOR12, 0x0000 }}},    {{{ R_COLOR13, 0x0eec }}},
    169     {{{ R_COLOR14, 0x0444 }}},    {{{ R_COLOR15, 0x0555 }}},
    170     {{{ R_COLOR16, 0x0666 }}},    {{{ R_COLOR17, 0x0777 }}},
    171     {{{ R_COLOR18, 0x0888 }}},    {{{ R_COLOR19, 0x0999 }}},
    172     {{{ R_COLOR1A, 0x0aaa }}},    {{{ R_COLOR1B, 0x0bbb }}},
    173     {{{ R_COLOR1C, 0x0ccc }}},    {{{ R_COLOR1D, 0x0ddd }}},
    174     {{{ R_COLOR1E, 0x0eee }}},    {{{ R_COLOR1F, 0x0fff }}},
    175     /* colors - bank 1 high */
    176     {{{ R_BPLCON3, 0x2020 }}},
    177     {{{ R_COLOR00, 0x0779 }}},    {{{ R_COLOR01, 0x0000 }}},
    178     {{{ R_COLOR02, 0x0FFF }}},    {{{ R_COLOR03, 0x068B }}},
    179     {{{ R_COLOR04, 0x000f }}},    {{{ R_COLOR05, 0x0f0f }}},
    180     {{{ R_COLOR06, 0x00ff }}},    {{{ R_COLOR07, 0x0fff }}},
    181     {{{ R_COLOR08, 0x0620 }}},    {{{ R_COLOR09, 0x0e50 }}},
    182     {{{ R_COLOR0A, 0x09f1 }}},    {{{ R_COLOR0B, 0x0eb0 }}},
    183     {{{ R_COLOR0C, 0x055f }}},    {{{ R_COLOR0D, 0x092f }}},
    184     {{{ R_COLOR0E, 0x00f8 }}},    {{{ R_COLOR0F, 0x0ccc }}},
    185     {{{ R_COLOR10, 0x0e44 }}},    {{{ R_COLOR11, 0x0e44 }}},
    186     {{{ R_COLOR12, 0x0000 }}},    {{{ R_COLOR13, 0x0eec }}},
    187     {{{ R_COLOR14, 0x0444 }}},    {{{ R_COLOR15, 0x0555 }}},
    188     {{{ R_COLOR16, 0x0666 }}},    {{{ R_COLOR17, 0x0777 }}},
    189     {{{ R_COLOR18, 0x0888 }}},    {{{ R_COLOR19, 0x0999 }}},
    190     {{{ R_COLOR1A, 0x0aaa }}},    {{{ R_COLOR1B, 0x0bbb }}},
    191     {{{ R_COLOR1C, 0x0ccc }}},    {{{ R_COLOR1D, 0x0ddd }}},
    192     {{{ R_COLOR1E, 0x0eee }}},    {{{ R_COLOR1F, 0x0fff }}},
    193     /* colors - bank 1 low */
    194     {{{ R_BPLCON3, 0x2220 }}},
    195     {{{ R_COLOR00, 0x0779 }}},    {{{ R_COLOR01, 0x0000 }}},
    196     {{{ R_COLOR02, 0x0FFF }}},    {{{ R_COLOR03, 0x068B }}},
    197     {{{ R_COLOR04, 0x000f }}},    {{{ R_COLOR05, 0x0f0f }}},
    198     {{{ R_COLOR06, 0x00ff }}},    {{{ R_COLOR07, 0x0fff }}},
    199     {{{ R_COLOR08, 0x0620 }}},    {{{ R_COLOR09, 0x0e50 }}},
    200     {{{ R_COLOR0A, 0x09f1 }}},    {{{ R_COLOR0B, 0x0eb0 }}},
    201     {{{ R_COLOR0C, 0x055f }}},    {{{ R_COLOR0D, 0x092f }}},
    202     {{{ R_COLOR0E, 0x00f8 }}},    {{{ R_COLOR0F, 0x0ccc }}},
    203     {{{ R_COLOR10, 0x0e44 }}},    {{{ R_COLOR11, 0x0e44 }}},
    204     {{{ R_COLOR12, 0x0000 }}},    {{{ R_COLOR13, 0x0eec }}},
    205     {{{ R_COLOR14, 0x0444 }}},    {{{ R_COLOR15, 0x0555 }}},
    206     {{{ R_COLOR16, 0x0666 }}},    {{{ R_COLOR17, 0x0777 }}},
    207     {{{ R_COLOR18, 0x0888 }}},    {{{ R_COLOR19, 0x0999 }}},
    208     {{{ R_COLOR1A, 0x0aaa }}},    {{{ R_COLOR1B, 0x0bbb }}},
    209     {{{ R_COLOR1C, 0x0ccc }}},    {{{ R_COLOR1D, 0x0ddd }}},
    210     {{{ R_COLOR1E, 0x0eee }}},    {{{ R_COLOR1F, 0x0fff }}},
    211     /* colors - bank 2 high */
    212     {{{ R_BPLCON3, 0x4020 }}},
    213     {{{ R_COLOR00, 0x0779 }}},    {{{ R_COLOR01, 0x0000 }}},
    214     {{{ R_COLOR02, 0x0FFF }}},    {{{ R_COLOR03, 0x068B }}},
    215     {{{ R_COLOR04, 0x000f }}},    {{{ R_COLOR05, 0x0f0f }}},
    216     {{{ R_COLOR06, 0x00ff }}},    {{{ R_COLOR07, 0x0fff }}},
    217     {{{ R_COLOR08, 0x0620 }}},    {{{ R_COLOR09, 0x0e50 }}},
    218     {{{ R_COLOR0A, 0x09f1 }}},    {{{ R_COLOR0B, 0x0eb0 }}},
    219     {{{ R_COLOR0C, 0x055f }}},    {{{ R_COLOR0D, 0x092f }}},
    220     {{{ R_COLOR0E, 0x00f8 }}},    {{{ R_COLOR0F, 0x0ccc }}},
    221     {{{ R_COLOR10, 0x0e44 }}},    {{{ R_COLOR11, 0x0e44 }}},
    222     {{{ R_COLOR12, 0x0000 }}},    {{{ R_COLOR13, 0x0eec }}},
    223     {{{ R_COLOR14, 0x0444 }}},    {{{ R_COLOR15, 0x0555 }}},
    224     {{{ R_COLOR16, 0x0666 }}},    {{{ R_COLOR17, 0x0777 }}},
    225     {{{ R_COLOR18, 0x0888 }}},    {{{ R_COLOR19, 0x0999 }}},
    226     {{{ R_COLOR1A, 0x0aaa }}},    {{{ R_COLOR1B, 0x0bbb }}},
    227     {{{ R_COLOR1C, 0x0ccc }}},    {{{ R_COLOR1D, 0x0ddd }}},
    228     {{{ R_COLOR1E, 0x0eee }}},    {{{ R_COLOR1F, 0x0fff }}},
    229     /* colors - bank 2 low */
    230     {{{ R_BPLCON3, 0x4220 }}},
    231     {{{ R_COLOR00, 0x0779 }}},    {{{ R_COLOR01, 0x0000 }}},
    232     {{{ R_COLOR02, 0x0FFF }}},    {{{ R_COLOR03, 0x068B }}},
    233     {{{ R_COLOR04, 0x000f }}},    {{{ R_COLOR05, 0x0f0f }}},
    234     {{{ R_COLOR06, 0x00ff }}},    {{{ R_COLOR07, 0x0fff }}},
    235     {{{ R_COLOR08, 0x0620 }}},    {{{ R_COLOR09, 0x0e50 }}},
    236     {{{ R_COLOR0A, 0x09f1 }}},    {{{ R_COLOR0B, 0x0eb0 }}},
    237     {{{ R_COLOR0C, 0x055f }}},    {{{ R_COLOR0D, 0x092f }}},
    238     {{{ R_COLOR0E, 0x00f8 }}},    {{{ R_COLOR0F, 0x0ccc }}},
    239     {{{ R_COLOR10, 0x0e44 }}},    {{{ R_COLOR11, 0x0e44 }}},
    240     {{{ R_COLOR12, 0x0000 }}},    {{{ R_COLOR13, 0x0eec }}},
    241     {{{ R_COLOR14, 0x0444 }}},    {{{ R_COLOR15, 0x0555 }}},
    242     {{{ R_COLOR16, 0x0666 }}},    {{{ R_COLOR17, 0x0777 }}},
    243     {{{ R_COLOR18, 0x0888 }}},    {{{ R_COLOR19, 0x0999 }}},
    244     {{{ R_COLOR1A, 0x0aaa }}},    {{{ R_COLOR1B, 0x0bbb }}},
    245     {{{ R_COLOR1C, 0x0ccc }}},    {{{ R_COLOR1D, 0x0ddd }}},
    246     {{{ R_COLOR1E, 0x0eee }}},    {{{ R_COLOR1F, 0x0fff }}},
    247     /* colors - bank 3 high */
    248     {{{ R_BPLCON3, 0x6020 }}},
    249     {{{ R_COLOR00, 0x0779 }}},    {{{ R_COLOR01, 0x0000 }}},
    250     {{{ R_COLOR02, 0x0FFF }}},    {{{ R_COLOR03, 0x068B }}},
    251     {{{ R_COLOR04, 0x000f }}},    {{{ R_COLOR05, 0x0f0f }}},
    252     {{{ R_COLOR06, 0x00ff }}},    {{{ R_COLOR07, 0x0fff }}},
    253     {{{ R_COLOR08, 0x0620 }}},    {{{ R_COLOR09, 0x0e50 }}},
    254     {{{ R_COLOR0A, 0x09f1 }}},    {{{ R_COLOR0B, 0x0eb0 }}},
    255     {{{ R_COLOR0C, 0x055f }}},    {{{ R_COLOR0D, 0x092f }}},
    256     {{{ R_COLOR0E, 0x00f8 }}},    {{{ R_COLOR0F, 0x0ccc }}},
    257     {{{ R_COLOR10, 0x0e44 }}},    {{{ R_COLOR11, 0x0e44 }}},
    258     {{{ R_COLOR12, 0x0000 }}},    {{{ R_COLOR13, 0x0eec }}},
    259     {{{ R_COLOR14, 0x0444 }}},    {{{ R_COLOR15, 0x0555 }}},
    260     {{{ R_COLOR16, 0x0666 }}},    {{{ R_COLOR17, 0x0777 }}},
    261     {{{ R_COLOR18, 0x0888 }}},    {{{ R_COLOR19, 0x0999 }}},
    262     {{{ R_COLOR1A, 0x0aaa }}},    {{{ R_COLOR1B, 0x0bbb }}},
    263     {{{ R_COLOR1C, 0x0ccc }}},    {{{ R_COLOR1D, 0x0ddd }}},
    264     {{{ R_COLOR1E, 0x0eee }}},    {{{ R_COLOR1F, 0x0fff }}},
    265     /* colors - bank 3 low */
    266     {{{ R_BPLCON3, 0x6220 }}},
    267     {{{ R_COLOR00, 0x0779 }}},    {{{ R_COLOR01, 0x0000 }}},
    268     {{{ R_COLOR02, 0x0FFF }}},    {{{ R_COLOR03, 0x068B }}},
    269     {{{ R_COLOR04, 0x000f }}},    {{{ R_COLOR05, 0x0f0f }}},
    270     {{{ R_COLOR06, 0x00ff }}},    {{{ R_COLOR07, 0x0fff }}},
    271     {{{ R_COLOR08, 0x0620 }}},    {{{ R_COLOR09, 0x0e50 }}},
    272     {{{ R_COLOR0A, 0x09f1 }}},    {{{ R_COLOR0B, 0x0eb0 }}},
    273     {{{ R_COLOR0C, 0x055f }}},    {{{ R_COLOR0D, 0x092f }}},
    274     {{{ R_COLOR0E, 0x00f8 }}},    {{{ R_COLOR0F, 0x0ccc }}},
    275     {{{ R_COLOR10, 0x0e44 }}},    {{{ R_COLOR11, 0x0e44 }}},
    276     {{{ R_COLOR12, 0x0000 }}},    {{{ R_COLOR13, 0x0eec }}},
    277     {{{ R_COLOR14, 0x0444 }}},    {{{ R_COLOR15, 0x0555 }}},
    278     {{{ R_COLOR16, 0x0666 }}},    {{{ R_COLOR17, 0x0777 }}},
    279     {{{ R_COLOR18, 0x0888 }}},    {{{ R_COLOR19, 0x0999 }}},
    280     {{{ R_COLOR1A, 0x0aaa }}},    {{{ R_COLOR1B, 0x0bbb }}},
    281     {{{ R_COLOR1C, 0x0ccc }}},    {{{ R_COLOR1D, 0x0ddd }}},
    282     {{{ R_COLOR1E, 0x0eee }}},    {{{ R_COLOR1F, 0x0fff }}},
    283     /* colors - bank 4 high */
    284     {{{ R_BPLCON3, 0x8020 }}},
    285     {{{ R_COLOR00, 0x0779 }}},    {{{ R_COLOR01, 0x0000 }}},
    286     {{{ R_COLOR02, 0x0FFF }}},    {{{ R_COLOR03, 0x068B }}},
    287     {{{ R_COLOR04, 0x000f }}},    {{{ R_COLOR05, 0x0f0f }}},
    288     {{{ R_COLOR06, 0x00ff }}},    {{{ R_COLOR07, 0x0fff }}},
    289     {{{ R_COLOR08, 0x0620 }}},    {{{ R_COLOR09, 0x0e50 }}},
    290     {{{ R_COLOR0A, 0x09f1 }}},    {{{ R_COLOR0B, 0x0eb0 }}},
    291     {{{ R_COLOR0C, 0x055f }}},    {{{ R_COLOR0D, 0x092f }}},
    292     {{{ R_COLOR0E, 0x00f8 }}},    {{{ R_COLOR0F, 0x0ccc }}},
    293     {{{ R_COLOR10, 0x0e44 }}},    {{{ R_COLOR11, 0x0e44 }}},
    294     {{{ R_COLOR12, 0x0000 }}},    {{{ R_COLOR13, 0x0eec }}},
    295     {{{ R_COLOR14, 0x0444 }}},    {{{ R_COLOR15, 0x0555 }}},
    296     {{{ R_COLOR16, 0x0666 }}},    {{{ R_COLOR17, 0x0777 }}},
    297     {{{ R_COLOR18, 0x0888 }}},    {{{ R_COLOR19, 0x0999 }}},
    298     {{{ R_COLOR1A, 0x0aaa }}},    {{{ R_COLOR1B, 0x0bbb }}},
    299     {{{ R_COLOR1C, 0x0ccc }}},    {{{ R_COLOR1D, 0x0ddd }}},
    300     {{{ R_COLOR1E, 0x0eee }}},    {{{ R_COLOR1F, 0x0fff }}},
    301     /* colors - bank 4 low */
    302     {{{ R_BPLCON3, 0x8220 }}},
    303     {{{ R_COLOR00, 0x0779 }}},    {{{ R_COLOR01, 0x0000 }}},
    304     {{{ R_COLOR02, 0x0FFF }}},    {{{ R_COLOR03, 0x068B }}},
    305     {{{ R_COLOR04, 0x000f }}},    {{{ R_COLOR05, 0x0f0f }}},
    306     {{{ R_COLOR06, 0x00ff }}},    {{{ R_COLOR07, 0x0fff }}},
    307     {{{ R_COLOR08, 0x0620 }}},    {{{ R_COLOR09, 0x0e50 }}},
    308     {{{ R_COLOR0A, 0x09f1 }}},    {{{ R_COLOR0B, 0x0eb0 }}},
    309     {{{ R_COLOR0C, 0x055f }}},    {{{ R_COLOR0D, 0x092f }}},
    310     {{{ R_COLOR0E, 0x00f8 }}},    {{{ R_COLOR0F, 0x0ccc }}},
    311     {{{ R_COLOR10, 0x0e44 }}},    {{{ R_COLOR11, 0x0e44 }}},
    312     {{{ R_COLOR12, 0x0000 }}},    {{{ R_COLOR13, 0x0eec }}},
    313     {{{ R_COLOR14, 0x0444 }}},    {{{ R_COLOR15, 0x0555 }}},
    314     {{{ R_COLOR16, 0x0666 }}},    {{{ R_COLOR17, 0x0777 }}},
    315     {{{ R_COLOR18, 0x0888 }}},    {{{ R_COLOR19, 0x0999 }}},
    316     {{{ R_COLOR1A, 0x0aaa }}},    {{{ R_COLOR1B, 0x0bbb }}},
    317     {{{ R_COLOR1C, 0x0ccc }}},    {{{ R_COLOR1D, 0x0ddd }}},
    318     {{{ R_COLOR1E, 0x0eee }}},    {{{ R_COLOR1F, 0x0fff }}},
    319     /* colors - bank 5 high */
    320     {{{ R_BPLCON3, 0xa020 }}},
    321     {{{ R_COLOR00, 0x0779 }}},    {{{ R_COLOR01, 0x0000 }}},
    322     {{{ R_COLOR02, 0x0FFF }}},    {{{ R_COLOR03, 0x068B }}},
    323     {{{ R_COLOR04, 0x000f }}},    {{{ R_COLOR05, 0x0f0f }}},
    324     {{{ R_COLOR06, 0x00ff }}},    {{{ R_COLOR07, 0x0fff }}},
    325     {{{ R_COLOR08, 0x0620 }}},    {{{ R_COLOR09, 0x0e50 }}},
    326     {{{ R_COLOR0A, 0x09f1 }}},    {{{ R_COLOR0B, 0x0eb0 }}},
    327     {{{ R_COLOR0C, 0x055f }}},    {{{ R_COLOR0D, 0x092f }}},
    328     {{{ R_COLOR0E, 0x00f8 }}},    {{{ R_COLOR0F, 0x0ccc }}},
    329     {{{ R_COLOR10, 0x0e44 }}},    {{{ R_COLOR11, 0x0e44 }}},
    330     {{{ R_COLOR12, 0x0000 }}},    {{{ R_COLOR13, 0x0eec }}},
    331     {{{ R_COLOR14, 0x0444 }}},    {{{ R_COLOR15, 0x0555 }}},
    332     {{{ R_COLOR16, 0x0666 }}},    {{{ R_COLOR17, 0x0777 }}},
    333     {{{ R_COLOR18, 0x0888 }}},    {{{ R_COLOR19, 0x0999 }}},
    334     {{{ R_COLOR1A, 0x0aaa }}},    {{{ R_COLOR1B, 0x0bbb }}},
    335     {{{ R_COLOR1C, 0x0ccc }}},    {{{ R_COLOR1D, 0x0ddd }}},
    336     {{{ R_COLOR1E, 0x0eee }}},    {{{ R_COLOR1F, 0x0fff }}},
    337     /* colors - bank 5 low */
    338     {{{ R_BPLCON3, 0xa220 }}},
    339     {{{ R_COLOR00, 0x0779 }}},    {{{ R_COLOR01, 0x0000 }}},
    340     {{{ R_COLOR02, 0x0FFF }}},    {{{ R_COLOR03, 0x068B }}},
    341     {{{ R_COLOR04, 0x000f }}},    {{{ R_COLOR05, 0x0f0f }}},
    342     {{{ R_COLOR06, 0x00ff }}},    {{{ R_COLOR07, 0x0fff }}},
    343     {{{ R_COLOR08, 0x0620 }}},    {{{ R_COLOR09, 0x0e50 }}},
    344     {{{ R_COLOR0A, 0x09f1 }}},    {{{ R_COLOR0B, 0x0eb0 }}},
    345     {{{ R_COLOR0C, 0x055f }}},    {{{ R_COLOR0D, 0x092f }}},
    346     {{{ R_COLOR0E, 0x00f8 }}},    {{{ R_COLOR0F, 0x0ccc }}},
    347     {{{ R_COLOR10, 0x0e44 }}},    {{{ R_COLOR11, 0x0e44 }}},
    348     {{{ R_COLOR12, 0x0000 }}},    {{{ R_COLOR13, 0x0eec }}},
    349     {{{ R_COLOR14, 0x0444 }}},    {{{ R_COLOR15, 0x0555 }}},
    350     {{{ R_COLOR16, 0x0666 }}},    {{{ R_COLOR17, 0x0777 }}},
    351     {{{ R_COLOR18, 0x0888 }}},    {{{ R_COLOR19, 0x0999 }}},
    352     {{{ R_COLOR1A, 0x0aaa }}},    {{{ R_COLOR1B, 0x0bbb }}},
    353     {{{ R_COLOR1C, 0x0ccc }}},    {{{ R_COLOR1D, 0x0ddd }}},
    354     {{{ R_COLOR1E, 0x0eee }}},    {{{ R_COLOR1F, 0x0fff }}},
    355     /* colors - bank 6 high */
    356     {{{ R_BPLCON3, 0xc020 }}},
    357     {{{ R_COLOR00, 0x0779 }}},    {{{ R_COLOR01, 0x0000 }}},
    358     {{{ R_COLOR02, 0x0FFF }}},    {{{ R_COLOR03, 0x068B }}},
    359     {{{ R_COLOR04, 0x000f }}},    {{{ R_COLOR05, 0x0f0f }}},
    360     {{{ R_COLOR06, 0x00ff }}},    {{{ R_COLOR07, 0x0fff }}},
    361     {{{ R_COLOR08, 0x0620 }}},    {{{ R_COLOR09, 0x0e50 }}},
    362     {{{ R_COLOR0A, 0x09f1 }}},    {{{ R_COLOR0B, 0x0eb0 }}},
    363     {{{ R_COLOR0C, 0x055f }}},    {{{ R_COLOR0D, 0x092f }}},
    364     {{{ R_COLOR0E, 0x00f8 }}},    {{{ R_COLOR0F, 0x0ccc }}},
    365     {{{ R_COLOR10, 0x0e44 }}},    {{{ R_COLOR11, 0x0e44 }}},
    366     {{{ R_COLOR12, 0x0000 }}},    {{{ R_COLOR13, 0x0eec }}},
    367     {{{ R_COLOR14, 0x0444 }}},    {{{ R_COLOR15, 0x0555 }}},
    368     {{{ R_COLOR16, 0x0666 }}},    {{{ R_COLOR17, 0x0777 }}},
    369     {{{ R_COLOR18, 0x0888 }}},    {{{ R_COLOR19, 0x0999 }}},
    370     {{{ R_COLOR1A, 0x0aaa }}},    {{{ R_COLOR1B, 0x0bbb }}},
    371     {{{ R_COLOR1C, 0x0ccc }}},    {{{ R_COLOR1D, 0x0ddd }}},
    372     {{{ R_COLOR1E, 0x0eee }}},    {{{ R_COLOR1F, 0x0fff }}},
    373     /* colors - bank 6 low */
    374     {{{ R_BPLCON3, 0xc220 }}},
    375     {{{ R_COLOR00, 0x0779 }}},    {{{ R_COLOR01, 0x0000 }}},
    376     {{{ R_COLOR02, 0x0FFF }}},    {{{ R_COLOR03, 0x068B }}},
    377     {{{ R_COLOR04, 0x000f }}},    {{{ R_COLOR05, 0x0f0f }}},
    378     {{{ R_COLOR06, 0x00ff }}},    {{{ R_COLOR07, 0x0fff }}},
    379     {{{ R_COLOR08, 0x0620 }}},    {{{ R_COLOR09, 0x0e50 }}},
    380     {{{ R_COLOR0A, 0x09f1 }}},    {{{ R_COLOR0B, 0x0eb0 }}},
    381     {{{ R_COLOR0C, 0x055f }}},    {{{ R_COLOR0D, 0x092f }}},
    382     {{{ R_COLOR0E, 0x00f8 }}},    {{{ R_COLOR0F, 0x0ccc }}},
    383     {{{ R_COLOR10, 0x0e44 }}},    {{{ R_COLOR11, 0x0e44 }}},
    384     {{{ R_COLOR12, 0x0000 }}},    {{{ R_COLOR13, 0x0eec }}},
    385     {{{ R_COLOR14, 0x0444 }}},    {{{ R_COLOR15, 0x0555 }}},
    386     {{{ R_COLOR16, 0x0666 }}},    {{{ R_COLOR17, 0x0777 }}},
    387     {{{ R_COLOR18, 0x0888 }}},    {{{ R_COLOR19, 0x0999 }}},
    388     {{{ R_COLOR1A, 0x0aaa }}},    {{{ R_COLOR1B, 0x0bbb }}},
    389     {{{ R_COLOR1C, 0x0ccc }}},    {{{ R_COLOR1D, 0x0ddd }}},
    390     {{{ R_COLOR1E, 0x0eee }}},    {{{ R_COLOR1F, 0x0fff }}},
    391     /* colors - bank 7 high */
    392     {{{ R_BPLCON3, 0xe020 }}},
    393     {{{ R_COLOR00, 0x0779 }}},    {{{ R_COLOR01, 0x0000 }}},
    394     {{{ R_COLOR02, 0x0FFF }}},    {{{ R_COLOR03, 0x068B }}},
    395     {{{ R_COLOR04, 0x000f }}},    {{{ R_COLOR05, 0x0f0f }}},
    396     {{{ R_COLOR06, 0x00ff }}},    {{{ R_COLOR07, 0x0fff }}},
    397     {{{ R_COLOR08, 0x0620 }}},    {{{ R_COLOR09, 0x0e50 }}},
    398     {{{ R_COLOR0A, 0x09f1 }}},    {{{ R_COLOR0B, 0x0eb0 }}},
    399     {{{ R_COLOR0C, 0x055f }}},    {{{ R_COLOR0D, 0x092f }}},
    400     {{{ R_COLOR0E, 0x00f8 }}},    {{{ R_COLOR0F, 0x0ccc }}},
    401     {{{ R_COLOR10, 0x0e44 }}},    {{{ R_COLOR11, 0x0e44 }}},
    402     {{{ R_COLOR12, 0x0000 }}},    {{{ R_COLOR13, 0x0eec }}},
    403     {{{ R_COLOR14, 0x0444 }}},    {{{ R_COLOR15, 0x0555 }}},
    404     {{{ R_COLOR16, 0x0666 }}},    {{{ R_COLOR17, 0x0777 }}},
    405     {{{ R_COLOR18, 0x0888 }}},    {{{ R_COLOR19, 0x0999 }}},
    406     {{{ R_COLOR1A, 0x0aaa }}},    {{{ R_COLOR1B, 0x0bbb }}},
    407     {{{ R_COLOR1C, 0x0ccc }}},    {{{ R_COLOR1D, 0x0ddd }}},
    408     {{{ R_COLOR1E, 0x0eee }}},    {{{ R_COLOR1F, 0x0fff }}},
    409     /* colors - bank 7 low */
    410     {{{ R_BPLCON3, 0xe220 }}},
    411     {{{ R_COLOR00, 0x0779 }}},    {{{ R_COLOR01, 0x0000 }}},
    412     {{{ R_COLOR02, 0x0FFF }}},    {{{ R_COLOR03, 0x068B }}},
    413     {{{ R_COLOR04, 0x000f }}},    {{{ R_COLOR05, 0x0f0f }}},
    414     {{{ R_COLOR06, 0x00ff }}},    {{{ R_COLOR07, 0x0fff }}},
    415     {{{ R_COLOR08, 0x0620 }}},    {{{ R_COLOR09, 0x0e50 }}},
    416     {{{ R_COLOR0A, 0x09f1 }}},    {{{ R_COLOR0B, 0x0eb0 }}},
    417     {{{ R_COLOR0C, 0x055f }}},    {{{ R_COLOR0D, 0x092f }}},
    418     {{{ R_COLOR0E, 0x00f8 }}},    {{{ R_COLOR0F, 0x0ccc }}},
    419     {{{ R_COLOR10, 0x0e44 }}},    {{{ R_COLOR11, 0x0e44 }}},
    420     {{{ R_COLOR12, 0x0000 }}},    {{{ R_COLOR13, 0x0eec }}},
    421     {{{ R_COLOR14, 0x0444 }}},    {{{ R_COLOR15, 0x0555 }}},
    422     {{{ R_COLOR16, 0x0666 }}},    {{{ R_COLOR17, 0x0777 }}},
    423     {{{ R_COLOR18, 0x0888 }}},    {{{ R_COLOR19, 0x0999 }}},
    424     {{{ R_COLOR1A, 0x0aaa }}},    {{{ R_COLOR1B, 0x0bbb }}},
    425     {{{ R_COLOR1C, 0x0ccc }}},    {{{ R_COLOR1D, 0x0ddd }}},
    426     {{{ R_COLOR1E, 0x0eee }}},    {{{ R_COLOR1F, 0x0fff }}},
    427     /* colors - whew! */
    428     {{{ R_BPLCON3, 0x0020 }}},			  /* enable border blank */
    429     {{{ R_COP1LCH, 0x0000 }}},    {{{ R_COP1LCL, 0x0000 }}},
    430     {{{ 0xffff, 0xfffe }}},       {{{ 0xffff, 0xfffe }}}  /* COPEND, COPEND */
    431 };
    432 
    433 /* AGA custom chips copper list. */
    434 int aga_copper_list_len = sizeof (aga_copper_list) / sizeof (cop_t);
    435 int aga_copper_list_size = sizeof (aga_copper_list);
    436 #endif
    437 
    438 #if defined (GRF_A2024)
    439 cop_t std_dlace_copper_list[] = {
    440     {{{ CI_WAIT(0,12), 0xfffe }}},			  /* WAIT (0, 12) */
    441 #if defined (GRF_ECS) || defined (GRF_AGA)
    442     {{{ R_BEAMCON0, 0x0000 }}},
    443     {{{ R_BPLCON3, 0x0020 }}},			  /* enable border blank */
    444 #endif
    445     /* colors */
    446     {{{ R_COLOR00, 0x0000 }}},    {{{ R_COLOR01, 0x0000 }}},
    447     {{{ R_COLOR02, 0x0000 }}},    {{{ R_COLOR03, 0x0000 }}},
    448     {{{ R_COLOR04, 0x0000 }}},    {{{ R_COLOR05, 0x0000 }}},
    449     {{{ R_COLOR06, 0x0000 }}},    {{{ R_COLOR07, 0x0000 }}},
    450     {{{ R_COLOR08, 0x0000 }}},    {{{ R_COLOR09, 0x0000 }}},
    451     {{{ R_COLOR0A, 0x0000 }}},    {{{ R_COLOR0B, 0x0000 }}},
    452     {{{ R_COLOR0C, 0x0000 }}},    {{{ R_COLOR0D, 0x0000 }}},
    453     {{{ R_COLOR0E, 0x0000 }}},    {{{ R_COLOR0F, 0x0000 }}},
    454     {{{ R_COLOR10, 0x0009 }}},    {{{ R_COLOR11, 0x0009 }}},
    455     {{{ R_COLOR12, 0x0001 }}},    {{{ R_COLOR13, 0x0809 }}},
    456     {{{ R_COLOR14, 0x0009 }}},    {{{ R_COLOR15, 0x0009 }}},
    457     {{{ R_COLOR16, 0x0001 }}},    {{{ R_COLOR17, 0x0809 }}},
    458     {{{ R_COLOR18, 0x0008 }}},    {{{ R_COLOR19, 0x0008 }}},
    459     {{{ R_COLOR1A, 0x0000 }}},    {{{ R_COLOR1B, 0x0808 }}},
    460     {{{ R_COLOR1C, 0x0089 }}},    {{{ R_COLOR1D, 0x0089 }}},
    461     {{{ R_COLOR1E, 0x0081 }}},    {{{ R_COLOR1F, 0x0889 }}},
    462     /* set the registers up. */
    463     {{{ R_DIWSTRT, 0xffff }}},
    464     {{{ R_BPLCON0, 0x0000 }}},
    465     {{{ R_DIWSTOP, 0x0000 }}},
    466 #if defined (GRF_ECS) || defined (GRF_AGA)
    467     {{{ R_DIWHIGH, 0x0000 }}},
    468 #endif
    469     {{{ R_DDFSTRT, 0x0000 }}},
    470     {{{ R_DDFSTOP, 0x0000 }}},
    471     {{{ R_BPLCON1, 0x0000 }}},
    472     /* view specific stuff. */
    473     {{{ R_BPL1MOD, 0x0000 }}},
    474     {{{ R_BPL2MOD, 0x0000 }}},
    475     /* bit plane pointers */
    476     {{{ R_BPL0PTH, 0x0000 }}},    {{{ R_BPL0PTL, 0x0000 }}},
    477     {{{ R_BPL1PTH, 0x0000 }}},    {{{ R_BPL1PTL, 0x0000 }}},
    478     {{{ R_BPL2PTH, 0x0000 }}},    {{{ R_BPL2PTL, 0x0000 }}},
    479     {{{ R_BPL3PTH, 0x0000 }}},    {{{ R_BPL3PTL, 0x0000 }}},
    480 #if defined (GRF_AGA)
    481     {{{ R_FMODE, 0x0000}}},
    482 #endif
    483     {{{ R_COP1LCH, 0x0000 }}},    {{{ R_COP1LCL, 0x0000 }}},
    484     {{{ 0xffff, 0xfffe }}},       {{{ 0xffff, 0xfffe }}}  /* COPEND, COPEND */
    485 };
    486 int std_dlace_copper_list_len = sizeof (std_dlace_copper_list) / sizeof (cop_t);
    487 int std_dlace_copper_list_size = sizeof (std_dlace_copper_list);
    488 
    489 cop_t std_a2024_copper_list[] = {
    490     {{{ CI_WAIT(0,12), 0xfffe }}},			  /* WAIT (0, 12) */
    491 #if defined (GRF_ECS) || defined (GRF_AGA)
    492     {{{ R_BEAMCON0, 0x0000 }}},
    493 #endif
    494     /* hedley card init setup section */
    495     {{{ R_COLOR00, 0x0f00 }}},
    496     {{{ R_BPL0PTH, 0x0000 }}}, {{{ R_BPL0PTL, 0x0000 }}}, /* init plane of 1's with first set for centering */
    497     {{{ R_DIWSTRT, 0x1561 }}}, {{{ R_DIWSTOP, 0x16d1 }}},
    498 #if defined (GRF_ECS) || defined (GRF_AGA)
    499     {{{ R_DIWHIGH, 0x2000 }}},
    500 #endif
    501     {{{ R_DDFSTRT, 0x0040 }}}, {{{ R_DDFSTOP, 0x00d0 }}},
    502     {{{ R_BPLCON0, 0x9200 }}},
    503     /* actual data that will be latched by hedley card. */
    504     {{{ R_COLOR01, 0x0001 }}},			  /* Stuff1 */
    505     {{{ CI_WAIT(126,21), 0xfffe }}}, {{{ R_COLOR01, 0x0001 }}}, /* Display Quadrent */
    506     {{{ CI_WAIT(158,21), 0xfffe }}}, {{{ R_COLOR01, 0x08f0 }}}, /* Stuff */
    507     {{{ CI_WAIT(190,21), 0xfffe }}}, {{{ R_COLOR01, 0x0ff1 }}}, /* Stuff2 */
    508     {{{ CI_WAIT(0,22), 0xfffe }}},
    509     {{{ R_COLOR00, 0x0000 }}}, {{{ R_BPLCON0, 0x0000 }}},
    510     {{{ CI_WAIT(0,43), 0xfffe }}},
    511     /* set the registers up. */
    512     {{{ R_COLOR00, 0x0009 }}}, {{{ R_COLOR01, 0x0001 }}},
    513     {{{ R_COLOR02, 0x0008 }}}, {{{ R_COLOR03, 0x0000 }}},
    514     {{{ R_COLOR04, 0x0809 }}}, {{{ R_COLOR05, 0x0801 }}},
    515     {{{ R_COLOR06, 0x0808 }}}, {{{ R_COLOR07, 0x0800 }}},
    516     {{{ R_COLOR08, 0x0089 }}}, {{{ R_COLOR09, 0x0081 }}},
    517     {{{ R_COLOR0A, 0x0088 }}}, {{{ R_COLOR0B, 0x0080 }}},
    518     {{{ R_COLOR0C, 0x0889 }}}, {{{ R_COLOR0D, 0x0881 }}},
    519     {{{ R_COLOR0E, 0x0888 }}}, {{{ R_COLOR0F, 0x0880 }}},
    520     {{{ R_COLOR10, 0x0009 }}}, {{{ R_COLOR11, 0x0009 }}},
    521     {{{ R_COLOR12, 0x0001 }}}, {{{ R_COLOR13, 0x0809 }}},
    522     {{{ R_COLOR14, 0x0009 }}}, {{{ R_COLOR15, 0x0009 }}},
    523     {{{ R_COLOR16, 0x0001 }}}, {{{ R_COLOR17, 0x0809 }}},
    524     {{{ R_COLOR18, 0x0008 }}}, {{{ R_COLOR19, 0x0008 }}},
    525     {{{ R_COLOR1A, 0x0000 }}}, {{{ R_COLOR1B, 0x0808 }}},
    526     {{{ R_COLOR1C, 0x0089 }}}, {{{ R_COLOR1D, 0x0089 }}},
    527     {{{ R_COLOR1E, 0x0081 }}}, {{{ R_COLOR1F, 0x0889 }}},
    528     /* window size. */
    529     {{{ R_DIWSTRT, 0x2c81 }}}, {{{ R_BPLCON0, 0x0000 }}},
    530     {{{ R_DIWSTOP, 0xf481 }}},
    531     /* datafetch */
    532     {{{ R_DDFSTRT, 0x0038 }}}, {{{ R_DDFSTOP, 0x00b8 }}},
    533     {{{ R_BPLCON1, 0x0000 }}},
    534     {{{ R_BPL1MOD, 0x00bc }}}, {{{ R_BPL2MOD, 0x00bc }}},
    535     /* bitplanes */
    536     {{{ R_BPL0PTH, 0x0000 }}}, {{{ R_BPL0PTL, 0x0000 }}},
    537     {{{ R_BPL1PTH, 0x0000 }}}, {{{ R_BPL1PTL, 0x0000 }}},
    538     {{{ R_BPL2PTH, 0x0000 }}}, {{{ R_BPL2PTL, 0x0000 }}},
    539     {{{ R_BPL3PTH, 0x0000 }}}, {{{ R_BPL3PTL, 0x0000 }}},
    540 #if defined (GRF_ECS) || defined (GRF_AGA)
    541     {{{ R_DIWHIGH, 0x2000 }}},
    542 #if defined (GRF_AGA)
    543     {{{ R_FMODE, 0x0000}}},
    544 #endif
    545 #endif
    546     {{{ R_COP1LCH, 0x0000 }}}, {{{ R_COP1LCL, 0x0000 }}},
    547     {{{ 0xffff, 0xfffe }}}, {{{ 0xffff, 0xfffe }}}  /* COPEND, COPEND */
    548 };
    549 int std_a2024_copper_list_len = sizeof (std_a2024_copper_list) / sizeof (cop_t);
    550 int std_a2024_copper_list_size = sizeof (std_a2024_copper_list);
    551 
    552 cop_t std_pal_a2024_copper_list[] = {
    553     {{{ CI_WAIT(0,20), 0xfffe }}},			  /* WAIT (0, 12) */
    554 #if defined (GRF_ECS) || defined (GRF_AGA)
    555     {{{ R_BEAMCON0, STANDARD_PAL_BEAMCON }}},
    556 #endif
    557     /* hedley card init setup section */
    558     {{{ R_COLOR00, 0x0f00 }}},
    559     {{{ R_BPL0PTH, 0x0000 }}}, {{{ R_BPL0PTL, 0x0000 }}}, /* init plane of 1's with first set for centering */
    560     {{{ R_DIWSTRT, 0x1d61 }}}, {{{ R_DIWSTOP, 0x1ed1 }}},
    561 #if defined (GRF_ECS) || defined (GRF_AGA)
    562     {{{ R_DIWHIGH, 0x2000 }}},
    563 #endif
    564     {{{ R_DDFSTRT, 0x0040 }}}, {{{ R_DDFSTOP, 0x00d0 }}},
    565     {{{ R_BPLCON0, 0x9200 }}},
    566     /* actual data that will be latched by hedley card. */
    567     {{{ R_COLOR01, 0x0001 }}},			  /* Stuff1 */
    568     {{{ CI_WAIT(126,29), 0xfffe }}}, {{{ R_COLOR01, 0x0001 }}}, /* Display Quadrent */
    569     {{{ CI_WAIT(158,29), 0xfffe }}}, {{{ R_COLOR01, 0x08f0 }}}, /* Stuff */
    570     {{{ CI_WAIT(190,29), 0xfffe }}}, {{{ R_COLOR01, 0x0ff1 }}}, /* Stuff2 */
    571     {{{ CI_WAIT(0,30), 0xfffe }}},
    572     {{{ R_COLOR00, 0x0000 }}}, {{{ R_BPLCON0, 0x0000 }}},
    573     {{{ CI_WAIT(0,43), 0xfffe }}},
    574 
    575     /* set the registers up. */
    576     {{{ R_COLOR00, 0x0009 }}}, {{{ R_COLOR01, 0x0001 }}},
    577     {{{ R_COLOR02, 0x0008 }}}, {{{ R_COLOR03, 0x0000 }}},
    578     {{{ R_COLOR04, 0x0809 }}}, {{{ R_COLOR05, 0x0801 }}},
    579     {{{ R_COLOR06, 0x0808 }}}, {{{ R_COLOR07, 0x0800 }}},
    580     {{{ R_COLOR08, 0x0089 }}}, {{{ R_COLOR09, 0x0081 }}},
    581     {{{ R_COLOR0A, 0x0088 }}}, {{{ R_COLOR0B, 0x0080 }}},
    582     {{{ R_COLOR0C, 0x0889 }}}, {{{ R_COLOR0D, 0x0881 }}},
    583     {{{ R_COLOR0E, 0x0888 }}}, {{{ R_COLOR0F, 0x0880 }}},
    584     {{{ R_COLOR10, 0x0009 }}}, {{{ R_COLOR11, 0x0009 }}},
    585     {{{ R_COLOR12, 0x0001 }}}, {{{ R_COLOR13, 0x0809 }}},
    586     {{{ R_COLOR14, 0x0009 }}}, {{{ R_COLOR15, 0x0009 }}},
    587     {{{ R_COLOR16, 0x0001 }}}, {{{ R_COLOR17, 0x0809 }}},
    588     {{{ R_COLOR18, 0x0008 }}}, {{{ R_COLOR19, 0x0008 }}},
    589     {{{ R_COLOR1A, 0x0000 }}}, {{{ R_COLOR1B, 0x0808 }}},
    590     {{{ R_COLOR1C, 0x0089 }}}, {{{ R_COLOR1D, 0x0089 }}},
    591     {{{ R_COLOR1E, 0x0081 }}}, {{{ R_COLOR1F, 0x0889 }}},
    592     /* window size. */
    593     {{{ R_DIWSTRT, 0x2c81 }}}, {{{ R_BPLCON0, 0x0000 }}},
    594     {{{ R_DIWSTOP, 0x2c81 }}},
    595     /* datafetch */
    596     {{{ R_DDFSTRT, 0x0038 }}}, {{{ R_DDFSTOP, 0x00b8 }}},
    597     {{{ R_BPLCON1, 0x0000 }}},
    598     {{{ R_BPL1MOD, 0x00bc }}}, {{{ R_BPL2MOD, 0x00bc }}},
    599     /* bitplanes */
    600     {{{ R_BPL0PTH, 0x0000 }}}, {{{ R_BPL0PTL, 0x0000 }}},
    601     {{{ R_BPL1PTH, 0x0000 }}}, {{{ R_BPL1PTL, 0x0000 }}},
    602     {{{ R_BPL2PTH, 0x0000 }}}, {{{ R_BPL2PTL, 0x0000 }}},
    603     {{{ R_BPL3PTH, 0x0000 }}}, {{{ R_BPL3PTL, 0x0000 }}},
    604 #if defined (GRF_ECS) || defined (GRF_AGA)
    605     {{{ R_DIWHIGH, 0x2100 }}},
    606 #if defined (GRF_AGA)
    607     {{{ R_FMODE, 0x0000}}},
    608 #endif
    609 #endif
    610     {{{ R_COP1LCH, 0x0000 }}}, {{{ R_COP1LCL, 0x0000 }}},
    611     {{{ 0xffff, 0xfffe }}}, {{{ 0xffff, 0xfffe }}}  /* COPEND, COPEND */
    612 };
    613 int std_pal_a2024_copper_list_len = sizeof (std_pal_a2024_copper_list) / sizeof (cop_t);
    614 int std_pal_a2024_copper_list_size = sizeof (std_pal_a2024_copper_list);
    615 
    616 /* color tables for figuring color regs for 2024 */
    617 u_short a2024_color_value_line0[4] = {
    618     A2024_L0_BLACK,
    619     A2024_L0_DGREY,
    620     A2024_L0_LGREY,
    621     A2024_L0_WHITE
    622 };
    623 
    624 u_short a2024_color_value_line1[4] = {
    625     A2024_L1_BLACK,
    626     A2024_L1_DGREY,
    627     A2024_L1_LGREY,
    628     A2024_L1_WHITE
    629 };
    630 
    631 #endif /* GRF_A2024 */
    632 
    633 u_short cc_default_colors[32] = {
    634 	0xAAA, 0x000, 0x68B, 0xFFF,
    635 	0x369, 0x963, 0x639, 0x936,
    636 	0x000, 0x00F, 0x0F0, 0xF00,
    637 	0x0FF, 0xFF0, 0xF0F, 0xFFF,
    638 	0x000, 0x111, 0x222, 0x333,
    639 	0x444, 0x555, 0x666, 0x777,
    640 	0x888, 0x999, 0xAAA, 0xBBB,
    641 	0xCCC, 0xDDD, 0xEEE, 0xFFF
    642 };
    643 #if defined (GRF_A2024)
    644 u_short cc_a2024_default_colors[4] = {
    645 	0x2,			/* LGREY */
    646 	0x0,			/* BLACK */
    647 	0x3,			/* WHITE */
    648 	0x1			/* DGREY */
    649 };
    650 #endif /* GRF_A2024 */
    651