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