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