summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Kurbjun <kkurbjun@gmail.com>2009-09-07 21:41:10 +0000
committerKarl Kurbjun <kkurbjun@gmail.com>2009-09-07 21:41:10 +0000
commit8ad60026fefdf1c4c4704b05b384abc1e881b535 (patch)
treebaf4fb8fa98c425918ff52da39495eec9e61557f
parent592db88016ddd8b39dfd3edac99e2685b2c68191 (diff)
downloadrockbox-8ad60026fefdf1c4c4704b05b384abc1e881b535.tar.gz
rockbox-8ad60026fefdf1c4c4704b05b384abc1e881b535.zip
Pacbox: add support for hardware 256 color palette mode.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22656 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/plugins/pacbox/arcade.c4
-rw-r--r--apps/plugins/pacbox/pacbox.c24
2 files changed, 28 insertions, 0 deletions
diff --git a/apps/plugins/pacbox/arcade.c b/apps/plugins/pacbox/arcade.c
index d4fa0ada20..b8a0f105bb 100644
--- a/apps/plugins/pacbox/arcade.c
+++ b/apps/plugins/pacbox/arcade.c
@@ -304,6 +304,10 @@ void decodeROMs(void)
304 (unsigned char) (c >> 16) ); 304 (unsigned char) (c >> 16) );
305#endif 305#endif
306 } 306 }
307
308#if defined(HAVE_LCD_MODES) && (HAVE_LCD_MODES & LCD_MODE_PAL256)
309 rb->lcd_pal256_update_pal(palette);
310#endif
307} 311}
308 312
309void getDeviceInfo( enum InputDevice device, unsigned char * mask, unsigned char ** port ) 313void getDeviceInfo( enum InputDevice device, unsigned char * mask, unsigned char ** port )
diff --git a/apps/plugins/pacbox/pacbox.c b/apps/plugins/pacbox/pacbox.c
index 89af07a400..5f8ba90a04 100644
--- a/apps/plugins/pacbox/pacbox.c
+++ b/apps/plugins/pacbox/pacbox.c
@@ -179,6 +179,10 @@ static bool pacbox_menu(void)
179 "Playback Control", "Restart", "Quit"); 179 "Playback Control", "Restart", "Quit");
180 180
181 rb->button_clear_queue(); 181 rb->button_clear_queue();
182
183#if defined(HAVE_LCD_MODES) && (HAVE_LCD_MODES & LCD_MODE_PAL256)
184 rb->lcd_set_mode(LCD_MODE_RGB565);
185#endif
182 186
183 while (!menu_quit) { 187 while (!menu_quit) {
184 result=rb->do_menu(&menu, &selected, NULL, false); 188 result=rb->do_menu(&menu, &selected, NULL, false);
@@ -237,6 +241,10 @@ static bool pacbox_menu(void)
237 break; 241 break;
238 } 242 }
239 } 243 }
244
245#if defined(HAVE_LCD_MODES) && (HAVE_LCD_MODES & LCD_MODE_PAL256)
246 rb->lcd_set_mode(LCD_MODE_PAL256);
247#endif
240 248
241 if (need_restart) { 249 if (need_restart) {
242 init_PacmanMachine(settings_to_dip(settings)); 250 init_PacmanMachine(settings_to_dip(settings));
@@ -337,7 +345,12 @@ static int gameProc( void )
337 renderBackground( video_buffer ); 345 renderBackground( video_buffer );
338 renderSprites( video_buffer ); 346 renderSprites( video_buffer );
339 347
348#if defined(HAVE_LCD_MODES) && (HAVE_LCD_MODES & LCD_MODE_PAL256)
349 rb->lcd_blit_pal256( video_buffer, 0, 0, XOFS, YOFS,
350 ScreenWidth, ScreenHeight);
351#else
340 blit_display(rb->lcd_framebuffer,video_buffer); 352 blit_display(rb->lcd_framebuffer,video_buffer);
353#endif
341 354
342 if (settings.showfps) { 355 if (settings.showfps) {
343 fps = (video_frames*HZ*100) / (*rb->current_tick-start_time); 356 fps = (video_frames*HZ*100) / (*rb->current_tick-start_time);
@@ -346,7 +359,10 @@ static int gameProc( void )
346 rb->lcd_putsxy(0,0,str); 359 rb->lcd_putsxy(0,0,str);
347 } 360 }
348 361
362#if !defined(HAVE_LCD_MODES) || \
363 defined(HAVE_LCD_MODES) && !(HAVE_LCD_MODES & LCD_MODE_PAL256)
349 rb->lcd_update(); 364 rb->lcd_update();
365#endif
350 366
351 /* Keep the framerate at Pacman's 60fps */ 367 /* Keep the framerate at Pacman's 60fps */
352 end_time = start_time + (video_frames*HZ)/FPS; 368 end_time = start_time + (video_frames*HZ)/FPS;
@@ -398,6 +414,10 @@ enum plugin_status plugin_start(const void* parameter)
398 414
399 /* Initialise the hardware */ 415 /* Initialise the hardware */
400 init_PacmanMachine(settings_to_dip(settings)); 416 init_PacmanMachine(settings_to_dip(settings));
417
418#if defined(HAVE_LCD_MODES) && (HAVE_LCD_MODES & LCD_MODE_PAL256)
419 rb->lcd_set_mode(LCD_MODE_PAL256);
420#endif
401 421
402 /* Load the romset */ 422 /* Load the romset */
403 if (loadROMS()) { 423 if (loadROMS()) {
@@ -415,6 +435,10 @@ enum plugin_status plugin_start(const void* parameter)
415 } else { 435 } else {
416 rb->splashf(HZ*2, "No ROMs in %s/pacman/", ROCKBOX_DIR); 436 rb->splashf(HZ*2, "No ROMs in %s/pacman/", ROCKBOX_DIR);
417 } 437 }
438
439#if defined(HAVE_LCD_MODES) && (HAVE_LCD_MODES & LCD_MODE_PAL256)
440 rb->lcd_set_mode(LCD_MODE_RGB565);
441#endif
418 442
419#ifdef HAVE_ADJUSTABLE_CPU_FREQ 443#ifdef HAVE_ADJUSTABLE_CPU_FREQ
420 rb->cpu_boost(false); 444 rb->cpu_boost(false);