]> git.sesse.net Git - pistorm/blob - platforms/amiga/rtg/rtg_enums.h
iRTG initial implementation
[pistorm] / platforms / amiga / rtg / rtg_enums.h
1 // SPDX-License-Identifier: MIT
2
3 // "Register" offsets for sending data to the RTG.
4 enum pi_regs {
5   RTG_COMMAND   = 0x00,
6   RTG_X1        = 0x02,
7   RTG_X2        = 0x04,
8   RTG_X3        = 0x06,
9   RTG_Y1        = 0x08,
10   RTG_Y2        = 0x0A,
11   RTG_Y3        = 0x0C,
12   RTG_FORMAT    = 0x0E,
13   RTG_RGB1      = 0x10,
14   RTG_RGB2      = 0x14,
15   RTG_ADDR1     = 0x18,
16   RTG_ADDR2     = 0x1C,
17   RTG_U81       = 0x20,
18   RTG_U82       = 0x21,
19   RTG_U83       = 0x22,
20   RTG_U84       = 0x23,
21   RTG_X4        = 0x24,
22   RTG_X5        = 0x26,
23   RTG_Y4        = 0x28,
24   RTG_Y5        = 0x2A,
25   RTG_U1        = 0x2C,
26   RTG_U2        = 0x2E,
27   RTG_ADDR3     = 0x30,
28   RTG_ADDR4     = 0x34,
29   RTG_DEBUGME   = 0x50,
30   IRTG_COMMAND  = 0x60,
31 };
32
33 enum rtg_cmds {
34   RTGCMD_SETGC,
35   RTGCMD_SETPAN,
36   RTGCMD_SETCLUT,
37   RTGCMD_ENABLE,
38   RTGCMD_SETDISPLAY,
39   RTGCMD_SETSWITCH,
40   RTGCMD_FILLRECT,
41   RTGCMD_BLITRECT,
42   RTGCMD_BLITRECT_NOMASK_COMPLETE,
43   RTGCMD_BLITPATTERN,
44   RTGCMD_BLITTEMPLATE,
45   RTGCMD_INVERTRECT,
46   RTGCMD_DRAWLINE,
47   RTGCMD_P2C,
48   RTGCMD_P2D,
49   RTGCMD_SETSPRITE,
50   RTGCMD_SETSPRITEPOS,
51   RTGCMD_SETSPRITECOLOR,
52   RTGCMD_SETSPRITEIMAGE,
53   RTGCMD_DEBUGME,
54 };
55
56 enum rtg_formats {
57   RTGFMT_8BIT,
58   RTGFMT_RBG565,
59   RTGFMT_RGB32,
60   RTGFMT_RGB555,
61   RTGFMT_NUM,
62 };
63
64 enum gfx_minterm_modes {
65         MINTERM_FALSE,
66         MINTERM_NOR,
67         MINTERM_ONLYDST,
68         MINTERM_NOTSRC,
69         MINTERM_ONLYSRC,
70         MINTERM_INVERT,
71         MINTERM_EOR,
72         MINTERM_NAND,
73         MINTERM_AND,
74         MINTERM_NEOR,
75         MINTERM_DST,
76         MINTERM_NOTONLYSRC,
77         MINTERM_SRC,
78         MINTERM_NOTONLYDST,
79         MINTERM_OR,
80         MINTERM_TRUE,
81 };
82
83 enum gfx_draw_modes {
84     DRAWMODE_JAM1 = 0,
85     DRAWMODE_JAM2 = 1,
86     DRAWMODE_COMPLEMENT = 2,
87     DRAWMODE_INVERSVID = 4,
88 };
89
90 static const unsigned short rgbf_to_rtg[16] = {
91   RTGFMT_8BIT,      // 0x00
92   RTGFMT_8BIT,      // 0x01
93   0,                // 0x02
94   0,                // 0x03
95   0,                // 0x04
96   RTGFMT_RGB555,    // 0x05
97   0,                // 0x06
98   0,                // 0x07
99   RTGFMT_RGB32,     // 0x08
100   RTGFMT_RGB32,     // 0x09
101   RTGFMT_RBG565,    // 0x0A
102   RTGFMT_RGB555,    // 0x0B
103   0,                // 0x0C
104   RTGFMT_RGB555,    // 0x0D
105   0,                // 0x0E
106   0,                // 0x0F
107 };