81
if(gp2x_memregs[0x2800>>1]&0x100) {
88
if (gp2x_memregs[0x2800>>1]&0x100) {
85
tvout_pal=gp2x_memregs[0x2800>>1]&0x1000;
87
if(gp2x_memregs[0x2818>>1]==239) tvout_pal=0;
88
printf("\n0x2818=%d\n", gp2x_memregs[0x2818>>1]);
91
if (gp2x_memregs[0x2818>>1]==239) tvout_pal=0;
92
//printf("\n0x2818=%d\n", gp2x_memregs[0x2818>>1]);
92
current_canvas=canvas;
96
current_canvas = canvas;
96
void video_canvas_destroy(struct video_canvas_s *canvas) {
98
fprintf(stderr, "calling undefined function %s\n", __func__);
100
void video_canvas_destroy(struct video_canvas_s *canvas)
102
void video_arch_canvas_init(struct video_canvas_s *canvas) {
104
void video_arch_canvas_init(struct video_canvas_s *canvas)
103
106
canvas->video_draw_buffer_callback=NULL;
109
static void pause_trap(WORD addr, void *data)
111
vsync_suspend_speed_eval();
115
draw_prefs(gp2x_screen8);
106
120
void video_canvas_refresh(struct video_canvas_s *canvas,
107
121
unsigned int xs, unsigned int ys,
108
122
unsigned int xi, unsigned int yi,
109
unsigned int w, unsigned int h) {
111
fprintf(stderr, "calling %s\n", __func__);
112
fprintf(stderr, "refresh xs=%d, ys=%d, xi=%d, yi=%d, w=%d, h=%d\n",
113
xs, ys, xi, yi, w, h);
123
unsigned int w, unsigned int h)
126
register unsigned int x, y;
117
127
register int buf_width;
121
128
register int xoff;
122
129
register int yoff;
124
if(canvas->width==0) return;
131
if (canvas->width==0) return;
126
133
if (machine_ui_done==0) return;
128
if (xoffset_centred==0)
135
if (xoffset_centred==0)
130
xoffset_centred=(canvas->draw_buffer->draw_buffer_width-320)/2;
131
xoffset=xoffset_centred;
137
xoffset_centred = (canvas->draw_buffer->draw_buffer_width-320)/2;
138
xoffset = xoffset_centred;
133
140
if (yoffset_centred==0)
135
yoffset_centred=(canvas->draw_buffer->draw_buffer_height-240)/2;
136
yoffset=xoffset_centred;
142
yoffset_centred = (canvas->draw_buffer->draw_buffer_height-240)/2;
143
yoffset = yoffset_centred;
142
source=canvas->draw_buffer->draw_buffer;
143
buf_width=canvas->draw_buffer->draw_buffer_width;
145
register unsigned long *screen32=(unsigned long *)gp2x_screen8;
146
register unsigned long *source32=(unsigned long *)source;
149
for(y=0; y<272; y++) {
150
for(x=0; x<384/4; x++) {
151
screen32[(y*(384/4))+x]=
152
source32[((y+(yoff-16))*(buf_width/4))+x+((xoff-32)/4)];
149
source = canvas->draw_buffer->draw_buffer;
150
buf_width = canvas->draw_buffer->draw_buffer_width/4;
152
register unsigned long *source32 = (unsigned long *)source;
153
register unsigned long *screen32 = (unsigned long *)gp2x_screen8;
157
for (x=384/4; x--;) {
158
screen32[(y*(384/4))+x] = source32[((y+(yoff-16))*(buf_width))+x+((xoff-32)/4)];
156
for(y=0; y<240; y++) {
157
for(x=0; x<320/4; x++) {
158
screen32[(y*(320/4))+x]=
159
source32[((y+yoff)*(buf_width/4))+x+(xoff/4)];
163
for (x=320/4; x--;) {
164
screen32[(y*(320/4))+x] = source32[((y+yoff)*(buf_width))+x+(xoff/4)];
164
169
gp2x_poll_input();
165
if(stats_open) draw_stats(gp2x_screen8);
166
if(prefs_open) draw_prefs(gp2x_screen8);
167
else if(vkeyb_open) draw_vkeyb(gp2x_screen8);
171
if (stats_open) draw_stats(gp2x_screen8);
172
if (prefs_open) { interrupt_maincpu_trigger_trap(pause_trap, 0);
173
} else if (vkeyb_open) draw_vkeyb(gp2x_screen8);
169
175
gp2x_video_flip();
172
int video_canvas_set_palette(struct video_canvas_s *canvas,
173
struct palette_s *palette) {
174
fprintf(stderr, "calling %s\n", __func__);
179
int video_canvas_set_palette(struct video_canvas_s *canvas, struct palette_s *palette)
181
// fprintf(stderr, "calling %s\n", __func__);
176
183
for(i=0; i<palette->num_entries; i++) {
178
((palette->entries[i].green)<<8)
179
| (palette->entries[i].blue);
180
gp2x_palette[i*2+1]=palette->entries[i].red;
184
gp2x_palette[i*2] = ((palette->entries[i].green)<<8) | (palette->entries[i].blue);
185
gp2x_palette[i*2+1] = palette->entries[i].red;
182
187
gp2x_video_setpalette();
185
int video_arch_resources_init() {
187
fprintf(stderr, "calling undefined function %s\n", __func__);
191
void video_canvas_resize(struct video_canvas_s *canvas,
192
unsigned int width, unsigned int height) {
194
fprintf(stderr, "calling undefined function %s\n", __func__);
198
void video_arch_resources_shutdown() {
200
fprintf(stderr, "calling undefined function %s\n", __func__);
204
void video_add_handlers() {
206
fprintf(stderr, "calling undefined function %s\n", __func__);
210
void fullscreen_capability() {
212
fprintf(stderr, "calling undefined function %s\n", __func__);
192
int video_arch_resources_init()
197
void video_canvas_resize(struct video_canvas_s *canvas, unsigned int width, unsigned int height)
201
void video_arch_resources_shutdown()
205
void video_add_handlers()
209
void fullscreen_capability()