From f3dc5a3a95396bd5b156678769b4434c123a9880 Mon Sep 17 00:00:00 2001 From: notaz Date: Sat, 6 Oct 2007 12:20:44 +0000 Subject: [PATCH] giz dblbuff, scanline mode git-svn-id: file:///home/notaz/opt/svn/PicoDrive/platform@270 be3aeb3a-fb24-0410-a615-afba39da0efa --- base_readme.txt | 17 ++++++++++------- common/emu.h | 2 +- common/menu.h | 1 + 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/base_readme.txt b/base_readme.txt index 5656e20..078c326 100644 --- a/base_readme.txt +++ b/base_readme.txt @@ -132,11 +132,10 @@ graphics problems for some games, so it's best to use 16bit one. #endif #ifdef GIZ -@@0. "Interlaced rendering" +@@0. "Scanline mode" This option was designed to work around slow framebuffer access (the Gizmondo's -main bottleneck) by drawing every other line (odd numbered lines during odd -numbered frames and even numbered lines during even frames). This improves -performance greatly, but introduces artifacts for fast scrolling games. +main bottleneck) by drawing every other line (even nummbered lines only). +This improves performance greatly, but looses detail. #endif #ifdef GP2X @@ -272,10 +271,14 @@ game to get sound. This is because most games initialize sound chips on startup, and this data is lost when sound chips are being enabled/disabled. #ifdef GIZ +@@1. "Double buffering" +Draws the display to offscreen buffer, and flips it with visible one when done. +Unfortunately this causes serious tearing, unless v-sync is used (next option). + @@1. "Wait for V-sync" -Waits for vertical sync before drawing. This option doesn't eliminate tearing -problems, because full framebuffer update takes much more time then the blanking -period lasts on Gizmondo.. +Waits for vertical sync before drawing (or flipping buffers, if previous option +is enabled). Emulation is stopped while waiting, so this causes large performance +hit. #endif @@1. "gzip savestates" diff --git a/common/emu.h b/common/emu.h index 96cd550..f826157 100644 --- a/common/emu.h +++ b/common/emu.h @@ -8,7 +8,7 @@ typedef struct { int EmuOpt; // LSb->MSb: use_sram, show_fps, enable_sound, gzip_saves, // squidgehack, no_save_cfg_on_exit, , 16_bit_mode // craigix_ram, confirm_save, show_cd_leds, confirm_load - // A_SNs_gamma, perfect_vsync, interlace + // A_SNs_gamma, perfect_vsync, giz_scanlines, giz_dblbuff int PicoOpt; // used for config saving only, see Pico.h int PsndRate; // ditto int PicoRegion; // ditto diff --git a/common/menu.h b/common/menu.h index 8a9f424..cbf0d85 100644 --- a/common/menu.h +++ b/common/menu.h @@ -53,6 +53,7 @@ typedef enum MA_OPT_INTERLACED, /* giz */ MA_OPT2_GAMMA, MA_OPT2_A_SN_GAMMA, + MA_OPT2_DBLBUFF, /* giz */ MA_OPT2_VSYNC, MA_OPT2_ENABLE_Z80, MA_OPT2_ENABLE_YM2612, -- 2.39.5