Mercurial > repos > blastem
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); |