comparison render_sdl.c @ 135:a81c548cf353

Fix 68K->VDP DMA
author Mike Pavone <pavone@retrodev.com>
date Sun, 30 Dec 2012 11:54:25 -0800
parents 7a22a0e6c004
children 209a37eed3e7
comparison
equal deleted inserted replaced
134:ab50421b1b7a 135:a81c548cf353
4 #include "render.h" 4 #include "render.h"
5 #include "blastem.h" 5 #include "blastem.h"
6 6
7 SDL_Surface *screen; 7 SDL_Surface *screen;
8 uint8_t render_dbg = 0; 8 uint8_t render_dbg = 0;
9 uint8_t debug_pal = 0;
9 10
10 uint32_t last_frame = 0; 11 uint32_t last_frame = 0;
11 12
12 void render_init(int width, int height) 13 void render_init(int width, int height)
13 { 14 {
120 r *= 2; 121 r *= 2;
121 } 122 }
122 } else { 123 } else {
123 if (render_dbg == 2) { 124 if (render_dbg == 2) {
124 gen_color = context->cram[(y/30)*8 + x/40]; 125 gen_color = context->cram[(y/30)*8 + x/40];
126 } else if(render_dbg == 3) {
127 if (x & 1) {
128 gen_color = context->cram[ (debug_pal << 4) | (context->vdpmem[(x/8)*32 + (y/8)*32*40 + (x%8)/2 + (y%8)*4] & 0xF) ];
129 } else {
130 gen_color = context->cram[ (debug_pal << 4) | (context->vdpmem[(x/8)*32 + (y/8)*32*40 + (x%8)/2 + (y%8)*4] >> 4) ];
131 }
125 } 132 }
126 b = ((gen_color >> 8) & 0xE) * 18; 133 b = ((gen_color >> 8) & 0xE) * 18;
127 g = ((gen_color >> 4) & 0xE) * 18; 134 g = ((gen_color >> 4) & 0xE) * 18;
128 r = (gen_color& 0xE) * 18; 135 r = (gen_color& 0xE) * 18;
129 } 136 }
147 while(SDL_WaitEvent(&event)) { 154 while(SDL_WaitEvent(&event)) {
148 switch (event.type) { 155 switch (event.type) {
149 case SDL_KEYDOWN: 156 case SDL_KEYDOWN:
150 if (event.key.keysym.sym == SDLK_LEFTBRACKET) { 157 if (event.key.keysym.sym == SDLK_LEFTBRACKET) {
151 render_dbg++; 158 render_dbg++;
152 if (render_dbg == 3) { 159 if (render_dbg == 4) {
153 render_dbg = 0; 160 render_dbg = 0;
154 } 161 }
155 render_context(context); 162 render_context(context);
163 } else if(event.key.keysym.sym == SDLK_RIGHTBRACKET) {
164 debug_pal++;
165 if (debug_pal == 4) {
166 debug_pal = 0;
167 }
156 } 168 }
157 break; 169 break;
158 case SDL_QUIT: 170 case SDL_QUIT:
159 return; 171 return;
160 } 172 }
187 case SDL_KEYDOWN: 199 case SDL_KEYDOWN:
188 switch(event.key.keysym.sym) 200 switch(event.key.keysym.sym)
189 { 201 {
190 case SDLK_LEFTBRACKET: 202 case SDLK_LEFTBRACKET:
191 render_dbg++; 203 render_dbg++;
192 if (render_dbg == 3) { 204 if (render_dbg == 4) {
193 render_dbg = 0; 205 render_dbg = 0;
206 }
207 break;
208 case SDLK_RIGHTBRACKET:
209 debug_pal++;
210 if (debug_pal == 4) {
211 debug_pal = 0;
194 } 212 }
195 break; 213 break;
196 case SDLK_t: 214 case SDLK_t:
197 outfile = fopen("state.gst", "wb"); 215 outfile = fopen("state.gst", "wb");
198 fwrite("GST\0\0\0\xE0\x40", 1, 8, outfile); 216 fwrite("GST\0\0\0\xE0\x40", 1, 8, outfile);