comparison vdp.h @ 426:add9e2f5c0e3

Make VDP render in native pixel format of the renderer for a modest performance gain and to make it easier to use OpenGL for rendering
author Mike Pavone <pavone@retrodev.com>
date Sun, 30 Jun 2013 11:45:58 -0700
parents 7e8e179116af
children e341fd5aa996
comparison
equal deleted inserted replaced
425:8b3ae850d1c4 426:add9e2f5c0e3
8 #define CRAM_SIZE 64 8 #define CRAM_SIZE 64
9 #define VSRAM_SIZE 40 9 #define VSRAM_SIZE 40
10 #define VRAM_SIZE (64*1024) 10 #define VRAM_SIZE (64*1024)
11 #define LINEBUF_SIZE 320 11 #define LINEBUF_SIZE 320
12 #define FRAMEBUF_ENTRIES (320+27)*(240+27) //PAL active display + full border 12 #define FRAMEBUF_ENTRIES (320+27)*(240+27) //PAL active display + full border
13 #define FRAMEBUF_SIZE (FRAMEBUF_ENTRIES*sizeof(uint16_t))
14 #define MAX_DRAWS 40 13 #define MAX_DRAWS 40
15 #define MAX_DRAWS_H32 32 14 #define MAX_DRAWS_H32 32
16 #define MAX_SPRITES_LINE 20 15 #define MAX_SPRITES_LINE 20
17 #define MAX_SPRITES_LINE_H32 16 16 #define MAX_SPRITES_LINE_H32 16
18 #define MAX_SPRITES_FRAME 80 17 #define MAX_SPRITES_FRAME 80
122 uint32_t cycles; 121 uint32_t cycles;
123 uint8_t *vdpmem; 122 uint8_t *vdpmem;
124 //stores 2-bit palette + 4-bit palette index + priority for current sprite line 123 //stores 2-bit palette + 4-bit palette index + priority for current sprite line
125 uint8_t *linebuf; 124 uint8_t *linebuf;
126 //stores 12-bit color + shadow/highlight bits 125 //stores 12-bit color + shadow/highlight bits
127 uint16_t *framebuf; 126 void *framebuf;
128 uint16_t *oddbuf; 127 void *oddbuf;
129 uint16_t *evenbuf; 128 void *evenbuf;
130 uint16_t cram[CRAM_SIZE]; 129 uint16_t cram[CRAM_SIZE];
130 uint32_t colors[CRAM_SIZE*3];
131 uint16_t vsram[VSRAM_SIZE]; 131 uint16_t vsram[VSRAM_SIZE];
132 uint8_t latched_mode; 132 uint8_t latched_mode;
133 uint16_t hscroll_a; 133 uint16_t hscroll_a;
134 uint16_t hscroll_b; 134 uint16_t hscroll_b;
135 uint8_t sprite_index; 135 uint8_t sprite_index;
144 uint8_t v_offset; 144 uint8_t v_offset;
145 uint8_t dma_cd; 145 uint8_t dma_cd;
146 uint8_t hint_counter; 146 uint8_t hint_counter;
147 uint8_t flags2; 147 uint8_t flags2;
148 uint8_t double_res; 148 uint8_t double_res;
149 uint8_t b32;
149 uint8_t *tmp_buf_a; 150 uint8_t *tmp_buf_a;
150 uint8_t *tmp_buf_b; 151 uint8_t *tmp_buf_b;
151 } vdp_context; 152 } vdp_context;
152 153
153 void init_vdp_context(vdp_context * context); 154 void init_vdp_context(vdp_context * context);