Glide Plugin GLES2 port from mupen64plus-ae, but with special FrameSkip code
[mupen64plus-pandora.git] / source / gles2glide64 / src / Glide64 / Help / Glide64 Readme.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><TITLE></TITLE><META http-equiv=Content-Type content="text/html; charset=UTF-8"><META content="MSHTML 6.00.2900.5512" name=GENERATOR><STYLE type=text/css>BODY {
2         FONT-FAMILY: verdana, arial, sans-serif
3 }</STYLE></HEAD><BODY>
4 <H1>
5 <P align=center>Glide64</P><BR></H1>
6 <H2 align=center>International Emulation Project <BR></H2>
7 <H3 align=center>Version: "Napalm WX"</H3>
8 <H4 align=center>Author: <A href="mailto:gonetz@ngs.ru">Sergey 'Gonetz' Lipski 
9 </A>(Russia)<BR><BR></H4>
10 <H4 align=left>Disclaimer:</H4>
11 <H5 align=left>Neither I, nor anyone who is working with me, will take ANY 
12 responsibility for your actions or if this program causes harm to anything, 
13 including you and your computer, in any way, physically or 
14 mentally.<BR><BR></H5>
15 <H4 align=left>Table of Contents:</H4>
16 <H4 align=left>
17 <OL>
18   <LI>
19   <H5 align=left><A href="#What is Glide64">What is Glide64</A>?</H5>
20   <LI>
21   <H5 align=left><A href="#Quick Start">The Very Quick Start</A></H5>
22   <LI>
23   <H5 align=left><A href="#Common Settings">Common Settings</A></H5>
24   <LI>
25   <H5 align=left><A href="#Emulation settings">Emulation settings</A>
26   </H5><LI>
27   <H5 align=left><A href="#HWFBE">About hardware frame buffer emulation</A></H5>
28   <LI>
29   <H5 align=left><A href="#Texture_enhancement">Texture enhancement and 
30   hi-resolution textures</A></H5><LI><H5 align=left><A href="#Hotkeys">Hotkeys</A></H5><LI><H5 align=left><A href="#Specific Game Settings">Specific Game Settings</A></H5></LI></OL></H4>
31 <H4 align=left>&nbsp;</H4><H4 align=left>1. <A name="What is Glide64">What is Glide64</A>?</H4>
32 <P align=left>Glide64 is a graphics plugin for Nintendo 64 emulators. It can run 
33 natively on 3dfx cards, or via a OpenGL-based wrapper&nbsp;for modern video 
34 cards. The project started on 29 December 2001 by <STRONG>David 'Dave2001' 
35 Forrester </STRONG>(USA). <STRONG>Gugaman</STRONG> (Brazil) and <STRONG>Sergey 
36 'Gonetz' Lipski</STRONG> (that is me) joined him at February 2002. We worked 
37 together until the autumn of 2002. Then, Dave2001 and Gugaman left the project. 
38 Since that time I'm the only developer of the plugin. However, I'm not the only 
39 one, who works on this project. The Glide64 project includes two additional 
40 libraries beside the plugin itself. The first one is the library known as the 
41 'Glitch64' wrapper, previously known as "Hacktarux's glide wrapper", named after 
42 its original author, <STRONG>Hacktarux</STRONG> (France). It then was heavily 
43 modified&nbsp;&amp; improved by <STRONG>Vincent 'ziggy' 
44 Penne</STRONG>&nbsp;(France) and <STRONG>Brad 'mudlord' 
45 Miller</STRONG>&nbsp;(Australia). The second library is a texture enhancement 
46 module named 'GlideHQ', created by <STRONG>Hiroshi 'KoolSmoky' Morii</STRONG> 
47 (Japan). Beside that, lots of people from around the world helped me to test the 
48 plugin and gave me valuable advices on how to improve it. The main tester of 
49 this version is <STRONG>Olivieryuyu </STRONG>(France); and&nbsp;additional 
50 testing, advices and friendly support was provided by <STRONG>Wes 'Legend' 
51 McDaniel&nbsp;</STRONG>(USA). <BR></P>
52 <H4>2. <A name="Quick Start">The Very Quick Start<BR></A></H4>
53 <P align=left>To install Glide64:
54   </P><OL><LI><DIV align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%; FONT-FAMILY: Verdana; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA">Open archive and c</SPAN>opy everything from the <EM>'Plugin'</EM> folder into the 
55   folder where all your N64 plugins are stored (this is usually the 
56   '<EM>Plugin</EM>' folder in your emulator's folder, e.g. 
57   Project64\Plugin).</DIV>
58   <LI>
59   <DIV align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: #00b050; LINE-HEIGHT: 115%; FONT-FAMILY: Verdana; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"><FONT color=#000000>If you don’t have a Voodoo card, make sure you</FONT> </SPAN>copy the glide3x.dll file from the 
60   '<EM>Wrapper</EM>' folder into your emulator's folder.</DIV></LI></OL>
61 <P align=left>To setup Glide64:<BR></P>
62 <OL>
63   <LI>
64   <DIV align=left>Launch your emulator.</DIV>
65   <LI>
66   <DIV align=left>Select Glide64 as your graphics plugin.</DIV>
67   <LI>
68   <DIV align=left>Select <EM>'Configure graphics plugin'</EM></DIV>
69   <LI>
70   <DIV align=left>In Glide64 configuration dialog, on the <EM>'Common 
71   settings'</EM> tab, in the "Rendering" section, select your desired windowed 
72   and full screen resolution.&nbsp;</DIV></LI></OL>
73 <P align=left>Glide64 is now ready to use. If you're a novice in N64 emulation, 
74 you may skip the rest of this document, start your favorite games and enjoy! If 
75 you are an experienced emu fan, or a curious person, read further for 
76 explanation for other options and various tips and tricks.<BR></P>
77 <H4><A name="Common Settings">3. Common Settings</A></H4><H5>3.1 Rendering</H5><P>Rendering related settings described here.</P><H5>3.1.1 Common </H5><P><EM>'Windowed or 3dfx card resolution'</EM> - This option selects the fullscreen resolution for 3dfx cards and windowed resolution for other cards. Note: for 3dfx cards the plugin must be in fullscreen mode to see anything.</P><P><EM>'Vertical sync'</EM> - This option will enable the vertical sync, which will prevent tearing. Note: this option will ONLY have effect if vsync is set to <EM>"Software Controlled".</EM></P><H5>3.1.2 OpenGL settings</H5><P><EM>'Anisotropic filtering'</EM>&nbsp; -&nbsp; This filter sharpens and brings out the details of textures that recede into the distance. When activated, it will use the max anisotropy your video card supports. However, this will override native way of texture filtering and may cause visual artifacts in some games.</P><P><EM>'Autodetect VRAM Size'</EM> - If checked, plugin will try to autodetect VRAM size. But if this appears wrong, please uncheck and set it to correct value. Currently VRAM autodetection is implemented only for Windows.</P><P><EM><A name=Use_FBO>'Use Frame buffer objects'</A></EM> - Changes the way frame buffer effects are rendered - with or without usage of the OpenGL Frame Buffer Objects (FBO) extension. The choice depends on game and your video card. FBO off is good for NVIDIA cards, while for ATI cards, it's usually best that FBOs are turned on. Also, some FB effects work only with one of the methods, no matter which card you have. On the whole, with FBO off, compatibility/accuracy is a bit better (which is the case for Resident Evil 2). However, with FBO on with some systems, it can actually be a bit faster in cases.</P><H5>3.2 On screen display</H5><P>These settings are located in&nbsp;<EM>'Common settings'</EM> tab -&nbsp;in the <EM>'On screen display'</EM> section. You may select them with no worries - these settings do not impact the emulation. </P><P>Select any or all options in the <EM>'Speed'</EM> option group to see how fast the game is running.<EM> 'FPS counter'</EM> will show you the actual frames per second (FPS) for the current game. This number depends on the running game. The<EM> 'VI/s counter'</EM> will show you the number of visual interrupts per second received by the plugin. This number must be 50 for PAL games and 60 for NTSC games.&nbsp; <EM>'% spe</EM>ed' will show you, how fast your game is emulated; 100% means that the currently emulated game runs at perfect speed. <EM>'FPS transparent'</EM> option makes the&nbsp;background of the counter(s) transparent. </P><P>Select <EM>'Clock enabled'</EM> in the <EM>'Time'</EM> group to see the current&nbsp; time. Select <EM>'Clock is 24-hour'</EM> to see the time in 24-hour format. Time information will be displayed in the lower right corner of the screen. </P><H5>3.3 Other</H5><P>All other common settings are grouped in the <EM>'Other'</EM> section.</P><P><EM>'Show advanced emulation options'</EM> - Enable <EM>'Emulation settings'</EM> tab. Read more in <A href="#Emulation settings">'Emulation settings'</A> section.</P><P><EM>'Show texture enhancement options'</EM> - Enable <EM>'Texture enhancement'</EM> tab. Read more in <A href="#Texture_enhancement">'Texture enhancement and hi-resolution textures'</A> section.</P><P><EM>'Screenshot format'</EM> - Format, in which screen shots will be saved. Currently you may choose <EM>'BMP', 'PNG'</EM> or <EM>'JPEG'</EM>.</P><P><EM>'Glide card #'</EM> - This option is only for users with multiple 3dfx cards installed in one machine. This selects the glide card number to use. If you only have one glide card installed in your system, set this option to #1. Otherwise, select the number that corresponds to the glide card you want to use.</P><P align=left></P><H4>4.&nbsp;<A name="Emulation settings">Emulation settings</A></H4>
78 <P align=left><U>Warning</U>: The plugin already has optimal settings for all 
79 games. Changing these settings is dangerous: it can cause glitches and 
80 instability. Access to emulation settings is disabled by default.</P>
81 <P align=left>To enable <EM>'Emulation settings'</EM> tab, check <EM>'Show advanced emulation 
82 options'</EM> on the <EM>'Common settings tab'</EM> and close the configuration 
83 dialog.&nbsp;Open&nbsp;configuration dialog again and&nbsp;the <EM>'Emulation 
84 settings'</EM> tab will now be available.<BR><BR><U>Important</U>: <EM>'Emulation settings'</EM> tab operates in 2 different ways depending on whether or not a game is running.</P>
85 <UL>
86   <LI>
87   <DIV align=left>When no game is running, you may change <EM>"default"</EM> emulation 
88   settings.&nbsp;The plugin uses these settings when&nbsp;a game does not 
89   have&nbsp;corresponding custom settings. Again, it is strongly recommended to not touch anything here.</DIV>
90   <LI>
91   <DIV align=left>When a game&nbsp;<STRONG>IS</STRONG> running, this tab shows emulation settings the 
92   game is using. Any changes will be applied immediately after you close the configuration dialog. You will be asked - save the changes in the ini file or use them in the current session only. If you choose 'Yes',&nbsp;your changes will&nbsp;be saved in the custom section of the ini file and will be used permanently. Otherwise, new setting will be used until the game stops or new save state loaded.</DIV></LI></UL>
93 <H5>4.1 General options</H5>
94 <P align=left><EM><A name="Filtering mode">'Filtering mode'</A></EM> - you may set <EM>'Force bilinear', 
95 'Automatic'</EM> or <EM>'Force point-sampled'</EM> mode. You also may easily 
96 switch between filtering modes during game play by pressing the&nbsp;backspace 
97 button. </P>
98 <P align=left><EM>'Buffer swapping modes'</EM> - It's hard to explain the 
99 difference between these modes. Just select any available option. If a game suffers from flickering, select another buffer swapping mode and see if that fixes the problem.<BR><BR><EM>'LOD calculation'</EM>. 
100 The N64 uses a very special way to implement mip-mapping, which is not available on PC hardware. Glide64 implements a rough approximation of N64 
101 mip-mapping, which can be enabled by setting <EM>'LOD calculation'</EM> option 
102 to <EM>'fast'</EM> or <EM>'precise'</EM>. The result is not always good 
103 though.</P><P align=left><EM>'Aspect ratio'</EM> - Most N64 games use 4:3 aspect ratio, but some support widescreen too. You may select appropriate aspect here and set widescreen mode in game settings. In <EM>'Stretch'</EM> mode the output will be stretched to the entire screen, other modes may add black boarders if necessary.</P>
104 <P align=left><EM>'Fog'</EM> - Sets fog emulation on/off. </P>
105 <P align=left><EM>'Buffer clear on every frame'</EM> - Forces the frame buffer to be cleared every frame drawn. Usually frame buffer clear is controlled by the game. However, in some cases it is not well emulated, and some garbage may be left on the screen. In such cases, this option must be set on.</P>
106 <H4>
107 <H5>4.2. Frame buffer emulation</H5></H4>
108 <P align=left>N64 games often use auxiliary frame buffers to implement special 
109 game effects like motion blur or for optimization purposes. The console can 
110 allocate as many auxiliary frame buffers as needed and then use them as usual 
111 textures. PC video cards usually use only one buffer per frame, thus emulation 
112 of frame buffer effects is always a hard problem. Glide64 implements lot of 
113 methods of frame buffer emulation, to support as many effects as possible. Most 
114 games will work fine with&nbsp;pre-defined settings, but some effects require 
115 additional options to be set. Known cases are described in the <A href="Glide64 compatibility list.html">Compatibility List</A> and in the <A href="#Specific Game Settings">Specific Game Settings</A>. You may set the following 
116 options:</P>
117 <P align=left><EM>'Enable frame buffer emulation'</EM> - When this option is on, the plugin will try to detect frame buffer effects usage and emulate them. This option is off by default, but for all games, which use frame buffer effects,&nbsp;it will be automatically turned on. </P>
118 <P align=left><EM><A name=Use_HWFBE>'Hardware frame buffer emulation'</A></EM> - Enables hardware 
119 frame buffer emulation. Usually, this must be set on, except some rare cases, 
120 mentioned in the <A href="Glide64 compatibility list.html">Compatibility 
121 List</A>. Read <A href="#HWFBE">next chapter </A>for explanation of hardware 
122 frame buffer emulation.</P>
123 <P align=left><EM><A name="Motion blur">'Motion blur'</A></EM> - Enables motion blur emulation. Motion blur 
124 works slow without hardware frame buffer emulation, so it is made optional. This 
125 option usually must be on, because most of cards support hardware frame buffer 
126 emulation. You may also switch it on/off during game play by pressing ALT-B.</P>
127 <P align=left><EM><A name="Read every frame">'Read every frame'</A></EM> - In some cases,&nbsp; Glide64 cannot 
128 detect frame buffer usage by the game. In this case the only way to emulate 
129 frame buffer effects, is to read every rendered frame from video memory and put 
130 it into the emulated RDRAM. Reading from video memory is usually slow, so this 
131 method of frame buffer emulation is optional. You may also switch it on/off 
132 during game play by pressing ALT-V.</P>
133 <P align=left><EM><A name=Get_FBI>'Get frame buffer info'</A></EM> - This is another way to emulate 
134 frame buffer effects, which the plugin cannot detect. This option allows the 
135 plugin to get notification about frame buffer usage from the emulator and thus 
136 emulate frame buffer effects without slowdown. Currently it works only with 
137 Mupen64 (and even Mupen is not 100% reliable with this). Do not enable this option with 1964, otherwise the emulator will 
138 crash.</P>
139 <P align=left><EM><A name=RenderN64FB>'Render N64 frame buffer as texture'</A></EM>. The N64 
140 architecture allows the CPU to write directly into the frame buffer. Sometimes 
141 N64 games uses this ability, which may lead to graphics lost during emulation, 
142 since graphics plugin does not know, that some graphics are already written in 
143 the N64 frame buffer by the CPU. Some examples of this are: falling pills in 
144 Dr.Mario and rain in Jet Force Gemini. When this option is enabled, content of 
145 each N64 frame buffer is rendered as a texture over the current rendered frame. 
146 This prevents graphics loss, but may cause slowdowns and various glitches in 
147 some games. </P>
148 <P align=left><EM>'Detect CPU write to N64 frame buffer'</EM>- This option works 
149 as the previous options, but the plugin is trying to detect, when a game uses 
150 CPU writes to the N64 frame buffer. The N64 frame buffer is rendered only when 
151 CPU writes is detected. Use this option for those games, in which you see still 
152 image or no image at all for some time with no reason.</P>
153 <H4>
154 <H5>4.3. <A name="Depth buffer emulation">Depth buffer emulation</A></H5></H4>
155 <P align=left>Sometimes N64 games use values in the depth buffer to decide, when 
156 to render some particular object or not. This is often used for coronas, which 
157 must be rendered only if they are not covered by other objects in the 3D scene. 
158 To emulate it properly, the N64 depth buffer must be filled with correct values. 
159 Glide64 uses software rendering to fill the N64 depth buffer. It is enabled by 
160 default. If you experience performance issues, set the <EM>'Software depth 
161 buffer rendering'</EM> option off.</P>
162 <H4>5. <A name=HWFBE>About hardware frame buffer emulation</A></H4>
163 <P align=left>The usual method of frame buffer emulation, which theoretically 
164 should always work, is to render auxiliary frame buffers into the main video 
165 buffer and then read it from video memory into main memory, and put into the 
166 structure representing N64 memory (RDRAM). This approach has 2 main 
167 disadvantages:</P>
168 <P align=left>1) auxiliary frame buffers may be visible when they should
169 n't be.</P>
170 <P align=left>2) reading from video memory is a very slow operation, thus many 
171 frame buffer effects will be slow.</P>
172 <P align=left>Also, image taken from video memory must be scaled down to N64 
173 native resolution (usually 320x240), thus quality lost is inevitable. To avoid 
174 these problems, Glide64 uses the Glide3x extension, which allows it to create 
175 auxiliary frame buffers right into video memory, like the N64 does. This allows 
176 the plugin to run frame buffer effects without speed&nbsp;hits or quality loss. 
177 Hardware frame buffer emulation (HWFBE) greatly improves many games, but it has 
178 some restrictions:</P>
179 <P align=left>1) HWFBE is in fact a hack - auxiliary frame buffers are not put 
180 into N64 memory. When a game uses a texture located in RDRAM corresponding to an 
181 auxiliary frame buffer, the plugin uses the texture located in video memory 
182 instead. The game may use this area in RDRAM for different textures later, but 
183 the plugin will use it's auxiliary buffer anyway, which leads to serious 
184 glitches. I have tried to reduce the probability of this situation, but it is 
185 still possible. If you encounter it, switch to windowed mode, and then back to 
186 full screen again.</P>
187 <P align=left>2) The Glide extension used for HWFBE is fully supported by Voodoo 
188 4/5 only. Banshee and Voodoo3 cards also support it, but only for small 
189 auxiliary frame buffers (e.g. shadows). Other Voodoo cards do not support it at 
190 all! </P>
191 <P align=left>3) HWFBE may not work for Voodoo4/5 if the anti-aliasing option is 
192 set to "fastest performance". Use any other option there.</P>
193 <P align=left>4) Anti-aliasing is not applicable to auxiliary frame buffers.</P>
194 <P align=left>5) The wrapper support HWFBE almost fully, but it has its peculiarities. Two ways of hardware frame buffer emulation are implemented in the wrapper - with, and without usage of the OpenGL Frame Buffer Objects (FBO) extension. The method with FBO's works fast on any card, which supports FBO's, but it may cause depth issues, since framebuffer objects use their own depth buffer. The method without FBO's works on almost any card, has no problems with depth buffer usage, but it may work slowly on ATI cards. To switch between these methods set the <EM><A href="#Use_FBO">'Use frame buffer objects'</A></EM> option on/off.&nbsp;</P>
195 <H4>6. <A name=Texture_enhancement>Texture enhancement and hi-resolution 
196 textures</A></H4>
197 <P align=left>Texture enhancement is done via GlideHQ - a real-time texture enhancer library with hi-resolution texture pack support. GlideHQ is an independent DLL, which dynamically loaded by Glide64, when it is needed. GlideHQ itself has no user interface; all its settings are placed on the <EM>'Texture enhancement'</EM> tab. This tab is disabled by default. To enable it, check <EM>'Show texture enhancement options'</EM> on the<EM> 'Common settings'</EM> tab and close the configuration dialog. Open configuration dialog again and switch to <EM>'Texture enhancement'</EM> tab.</P><H5 align=left>6.1. Texture enhancement</H5><P align=left>GlideHQ uses variety of methods to enhance the original N64 textures.</P><P align=left><EM>'Filter'</EM> - Apply a filter to either smooth or sharpen textures. There are 4 different smoothing filters and 2 different sharpening filters. The higher the number, the stronger the effect, i.e. <EM>'Smoothing filter 4'</EM> will have a much more noticeable effect than <EM>'Smoothing filter 1'</EM>. Be aware that performance may have an impact depending on the game and/or the PC.</P><P align=left><EM>'Enhancement'</EM> - 7 different filters are selectable here, each one with a distinctive look. Be aware of possible performance impacts. <BR><U>Important</U>: <EM>'Store'</EM> mode - saves textures in cache "as is". It can improve performance in games, which load many textures. Disable <A href="#Ignore backgrounds"><EM>'Ignore backgrounds'</EM></A> option for better result.</P><P align=left><EM>'Texture cache'</EM> - Enhanced and filtered textures are cached for later use. This helps boost performance if there are subsequent requests for the same texture, which is the case for most games. Normally, 128MB should be more than enough but there is a sweet spot for each game. 32MB will be enough for Super Mario, but Conker's BFD streams a lot of textures so setting 256MB or more will boost performance.</P><P align=left><EM>'Compress texture cache'</EM> - Memory will be compressed so that more textures can be held in the texture cache. The compression ratio varies with each texture, but 1/5 of the original size would be a modest approximation. They will be decompressed on-the-fly, before being downloaded to the gfx hardware. This option will still help save memory space even when using texture compressions such as FXT1 and S3TC.</P><P align=left><EM>'Apply texture compression'</EM> - Textures will be compressed using selected texture compression method. The overall compression ratio is about 1/6 for FXT1 and 1/4 for S3TC. In addition to saving space on the texture cache, the space occupied on the GFX hardware's texture RAM, by the enhanced textures, will be greatly reduced. This minimizes texture RAM usage, decreasing the number of texture swaps to the GFX hardware leading to performance gains. However, due to the nature of lossy compression of FXT1 and S3TC, using this option can sometimes lead to quality degradtion of small size textures and color banding of gradient colored textures.</P><P align=left><EM><A name="Ignore backgrounds">'Ignore backgrounds'</A></EM> - It is used to skip enhancement for wide narrow textures, usually used for backgrounds. This may save texture memory greatly and increase performance.</P><H5 align=left>6.2 Hi-resolution textures</H5><P align=left>GlideHQ supports hi-resolution texture packs, and texture dumping/editing.</P><P align=left><EM>'Format'</EM> - Chose which method is to be used for loading Hi-res texture packs. Only Rice's format is available currently. Leave on <EM>'None'</EM> if you will not be needing to load hi-res packs.</P><P align=left><EM>'Alternative CRC calculation'</EM> - This option enables emulation of a palette CRC calculation bug in RiceVideo. If some textures are not loaded, try to set this option on/off. This option is disabled in texture dumping mode.</P><P align=left><EM>'Texture dumping/editing mode'</EM> - In this mode, you have that ability to dump textures on screen to the appropriate folder. You can also reload textures while the game is running to see how they look instantly - big time saver! <U>Hotkeys</U>: <EM>"R"</EM> reloads hires textures from texture pack - <EM>"D"</EM> toggles texture dumps on/off.</P><P align=left><EM>'Use alpha channel fully'</EM> - When this option is off, 16bit rgba textures will be loaded using RiceVideo style - with 1bit for alpha channel. When it is on, GlideHQ will check, how alpha channel is used by the hires texture, and select most appropriate format for it. This gives texture designers freedom to play with alpha, as they need, regardless of format of original N64 texture. For older and badly designed texture packs it may cause unwanted black borders.</P><P align=left><EM>'Compress texture cache'</EM>&nbsp; - When game started, plugin loads all its hi-resolution textures into PC memory. Since hi-resolution textures are usually large, the whole pack can take hundreds megabytes of memory. Cache compression allows to save memory space greatly. Textures will be decompressed on-the-fly, before being downloaded to the gfx hardware. This option will still help save memory space even when using texture compression.</P><P align=left><EM>'Apply texture compression'</EM> - Textures will be compressed using selected texture compression method. The overall compression ratio is about 1/6 for FXT1 and 1/4 for S3TC. In addition to saving space on the texture cache, the space occupied on the GFX hardware's texture RAM, by the enhanced textures, will be greatly reduced. This minimizes texture RAM usage, decreasing the number of texture swaps to the GFX hardware leading to performance gains. However, due to the nature of lossy compression of FXT1 and S3TC, using this option can sometimes lead to quality degradtion of small size textures and color banding of gradient colored textures.</P><P align=left><EM>'Force 16bpp textures'</EM> - The color of the textures will be reduced to 16bpp. This is another space saver and performance enhancer. This halves the space used on the texture cache and the GFX hardware's texture RAM. Color reduction is done so that the original quality is preserved as much as possible. Depending on the texture, this usually is hardly noticeable. Sometimes though, it can be: skies are a good example.</P><P align=left><EM>'Tile textures'</EM> - When on, wide texture will be split on several tiles to fit in one 256-width texture. This tiled texture takes much less video memory space and thus overall performance will increase. However, corresponding polygons must be split too, and this is not polished yet- various issues are possible, including black lines and polygons distortions.</P><H5 align=left>6.3 Common</H5><P align=left><EM>'Texture compression method'</EM> - Select the method for texture compression. 3dfx cards support both FXT1 and S3TC, other cards can use S3TC only.</P><P align=left><EM>'Save texture cache to hard disk'</EM> - <U>For enhanced textures cache</U>: this will save <STRONG>all</STRONG> previously loaded and enhanced textures to the hard drive. So upon next game launch, all the textures will be instantly loaded, resulting in smoother performance for all your games. <U>For high-resolution textures cache</U>: After creation, loading hi-res texture will take only a few seconds upon game launch, as opposed to the 5 - 60 seconds a pack can take to load without this cache file. The only downside here is upon any changes to the pack, the cache file will need to be manually deleted. Saved cache files go into a folder called <EM>"Cache"</EM> within the<EM> "Plugins</EM>" folder.</P><H4 align=left>7. <A name=Hotkeys>Hotkeys</A></H4><P align=left>Glide64 uses the following hotkeys:</P><P align=left><EM>"BACKSPACE"</EM> - Cycle between <A href="#Filtering mode">texture filtering modes</A>. Currently selected mode will be shown in the status line on the bottom of the screen for a short time.</P><P align=left><EM>"Alt"+"V"</EM> - Toggles <A href="#Read every frame">read every frame</A> on/off. Current status of this option will be shown in the status line on the bottom of the screen for a short time.</P><P align=left><EM>"Alt"+"B"</EM> - Toggles <A href="#Motion blur">motion blur</A> on/off. Current status of this option will be shown in the status line on the bottom of the screen for a short time.</P><P align=left>GlideHQ uses the following hotkeys:</P><P align=left><EM>"D"</EM> - toggles texture dumps on/off.</P><P align=left><EM>"R"</EM> - reloads hires textures from the texture pack.</P><H4 align=left>
198 &nbsp;8. <A name="Specific Game Settings">Specific Game Settings</A></H4><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT face="Times New Roman"><H5 class=MsoNormal style="MARGIN: 0cm 0cm 0pt">
199 <DIV class=MsoNormal style="MARGIN: 0cm 0cm 0pt">
200 <H4>
201 <UL>
202   <DIV class=MsoNormal style="MARGIN: 0cm 0cm 0pt">
203   <H3>
204   <LI>
205   </FONT><H5 class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><A href="#Banjo-Kazooie">Banjo-Kazooie</A></H5><FONT face="Times New Roman">
206   <LI>
207   </FONT><H5 class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><A href="#Beetle Adventure Racing">Beetle Adventure Racing / HSV Adventure Racing</A></H5><FONT face="Times New Roman">
208   <LI>
209   </FONT><H5 class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><A href="#Resident Evil 2">Bio Hazard 2 / Resident Evil 2</A></H5><FONT face="Times New Roman">
210   <LI>
211   </FONT><H5 class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><A href="#Conker's Bad Fur Day">Conker's Bad Fur Day</A></H5><FONT face="Times New Roman">
212   <LI>
213   </FONT><H5 class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><A href="#Fushigi no Dungeon">Fushigi no Dungeon - Furai no Shiren 2 (J)</A></H5><FONT face="Times New Roman">
214   <LI>
215   </FONT><H5 class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><A href="#The - Majora's Mask">Legend of Zelda, The - Majora's Mask</A></H5><FONT face="Times New Roman">
216   <LI>
217   </FONT><H5 class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><A href="#Paper Mario">Mario Story / Paper Mario</A></H5><FONT face="Times New Roman">
218   <LI>
219   </FONT><H5 class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><A href="#Perfect Dark">Perfect Dark</A></H5></H3></LI></DIV></UL></H4></DIV></H5></SPAN>
220
221 <H5><A name=Banjo-Kazooie>Banjo-Kazooie</A></H5>
222 <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT face="Times New Roman"><FONT face=Verdana>The puzzle effect 
223 is not emulated by default. To see it, either set <EM><A href="#Read every frame">'Read every frame'</A></EM> 
224 option on or set <EM><A href="#Get_FBI">'Get frame buffer info'</A></EM> and run this game with 
225 Mupen64</FONT>.</FONT></SPAN><O:P></O:P></P>
226 <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT face="Times New Roman"><O:P></O:P></FONT></SPAN></P><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT face="Times New Roman">
227 </FONT><H5><SPAN lang=EN-US style="mso-ansi-language: EN-US"><A name="Beetle Adventure Racing">Beetle Adventure 
228 Racing</A> / HSV Adventure Racing</SPAN></H5><FONT face="Times New Roman">
229 <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><O:P></O:P></FONT></SPAN></P>
230 <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT face="Times New Roman"><O:P></O:P></FONT></SPAN></P>
231 <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><STRONG>Fog.</STRONG> The fog in this game is 
232 implemented&nbsp;in a&nbsp;very specific way. When rendering of the current 
233 frame is finished, the depth buffer, filled during rendering of this frame, is 
234 used as a texture and blended with the color buffer. As the result, the frame 
235 becomes fogged, and the fog is thicker where depth values are higher. Glide64 
236 implements two ways to emulate this effect, software and hardware ones. 
237 <O:P></O:P></SPAN></P>
238 <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US">Software emulation 
239 uses software depth buffer rendering. It works on all cards, but has two 
240 disadvantages:<O:P></O:P></SPAN></P>
241 <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>- Alpha testing is not used during 
242 software depth buffer rendering. As the result, the pixels, which would normally 
243 be rejected by alpha testing, are stored in the depth buffer. This causes 
244 artifacts in the produced fog.<O:P></O:P></SPAN></P>
245 <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US">- The software 
246 depth buffer has original (that is low) N64 resolution output. When it is used 
247 as a&nbsp;texture, blended with the high-resolution frame buffer, aliasing is 
248 visible.<O:P></O:P></SPAN></P>
249 <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US">Hardware emulation 
250 produces perfect fog, but currently it works only on 3dfx Voodoo 4/5's. These 
251 cards use the same depth buffer format, as the N64, and they can allocate the 
252 depth buffer right in the texture memory, so it can be easily used as a texture, 
253 as on N64 hardware. </SPAN><SPAN lang=EN-US style="mso-ansi-language: EN-US">In both cases, the 
254 <EM><A href="#Depth buffer emulation">'Software depth buffer rendering'</A></EM> option must be on.</SPAN></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"></SPAN><SPAN lang=EN-US style="mso-ansi-language: EN-US"><BR><STRONG>On car reflection.</STRONG> Your car (the car 
255 you drive) should reflect the environment in this game. That is, various 
256 objects, which you roll by, should be reflected on your car. This is implemented 
257 via the usage of frame buffer content. Emulation of this effect implies frame 
258 buffer emulation. Unfortunately, this can't be done in hardware, because the 
259 texture, which is used as a reflection, is not a part of the frame buffer - it 
260 is the result of frame buffer post processing, made on the N64 CPU. Thus, the 
261 only way to emulate this effect is to use the <EM><A href="#Read every frame">'Read every frame'</A></EM> 
262 option. If your hardware allows you to use this option without slowdown, you are 
263 lucky.<O:P></O:P></SPAN></P>
264 <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT face="Times New Roman"><O:P></O:P></FONT></SPAN></P><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT face="Times New Roman">
265 </FONT><H5><SPAN lang=EN-US style="mso-ansi-language: EN-US">Bio Hazard 2 / <A name="Resident Evil 2">Resident Evil 
266 2</A></SPAN></H5><FONT face="Times New Roman">
267 <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><O:P></O:P></FONT></SPAN></P>
268 <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US">This game uses 
269 pre-rendered depth buffers, which are stored in the game's ROM, and are loaded 
270 into the depth buffer memory area each frame before rendering is started. This 
271 is hard to emulate, and especially hard to emulate efficiently. The following 
272 options must be set:<O:P></O:P></SPAN></P>
273 <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><EM><A href="#Use_HWFBE">'Hardware frame buffer emulation'</A></EM> - on<O:P></O:P></SPAN></P>
274 <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><EM><A href="#Depth buffer emulation">'Software depth buffer rendering'</A></EM> - on<O:P></O:P></SPAN></P>
275 <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><EM><A href="#Use_FBO">'Use Framebuffer Objects'</A></EM> - off<O:P></O:P></SPAN></P>
276 <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT face="Times New Roman"><FONT face=Verdana>To get good sound 
277 in this game, use Mupen64 with Azimer's HLE sound plugin v.056. However, the 
278 game may flicker in some places with Mupen64.</FONT>&nbsp;</FONT></SPAN><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT face="Times New Roman">&nbsp;<O:P></O:P></FONT></SPAN></P><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT face="Times New Roman">
279 </FONT><H5><SPAN lang=EN-US style="mso-ansi-language: EN-US"><A name="Conker's Bad Fur Day">Conker's Bad Fur 
280 Day</A></SPAN></H5><FONT face="Times New Roman">
281 <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"></FONT></SPAN><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT face="Times New Roman"><FONT face=Verdana>The game is well 
282 emulated with default settings. However, there are two special effects in this 
283 game, which require special settings: the black-and-white "It's war" cut-scene, 
284 and the Uga-Buga pixilated effect. To see these effects, set the following 
285 options:<BR><EM><A href="#Read every frame">'Read every frame'</A></EM> - on<BR><EM><A href="#RenderN64FB">'Render N64 frame buffer as texture' </A></EM>- on<BR>The game is not 
286 playable with these settings, so use them only to see these particular effects. 
287 <BR><BR>Note for ATI users: you must&nbsp;set <EM><A href="#Use_FBO">'Use Framebuffer Objects'</A></EM> 
288 option on, otherwise the game will work very 
289 slow.</FONT></P>
290 </FONT><H5><A name="Fushigi no Dungeon">Fushigi no Dungeon</A> - Furai no Shiren 2 
291 (J)</H5><FONT face="Times New Roman">
292 <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"></FONT></SPAN><SPAN lang=EN-US style="mso-ansi-language: EN-US">To see correct 
293 background in menus, either set <A href="#Read every frame"><EM>'Read every frame'</EM></A> option on or set <EM><A href="#Get_FBI">'Get frame buffer info'</A></EM> and run this game with Mupen64.</SPAN></P><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT face="Times New Roman">
294 </FONT><H5><SPAN lang=EN-US style="mso-ansi-language: EN-US">Legend of Zelda, <A name="The - Majora's Mask">The - 
295 Majora's Mask</A></SPAN><SPAN lang=EN-US style="mso-ansi-language: EN-US"></H5></SPAN><FONT face="Times New Roman">
296 <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"></FONT></SPAN><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT face="Times New Roman"><FONT face=Verdana>Lens of&nbsp; 
297 Truth may not work, if <EM><A href="#Use_FBO">'Use Framebuffer Objects'</A></EM> option set off
298 . <BR>Also, when Lens of Truth is used, some 
299 objects outside of the lens can be cut. This is not a bug - depth buffer copy 
300 must be emulated to&nbsp;fully emulate Lens of Truth. It is currently supported 
301 only by 3dfx Voodoo 4/5 cards.</FONT> <BR></FONT></SPAN></P><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT face="Times New Roman"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT face="Times New Roman">
302 </FONT></FONT><H5>Mario Story / <A name="Paper Mario">Paper Mario</A></H5></SPAN><FONT face="Times New Roman">
303 <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"></FONT></SPAN><SPAN lang=EN-US style="mso-ansi-language: EN-US">To see correct 
304 background in the menu subscreen, either set the <EM><A href="#Read every frame">'Read every frame'</A></EM> 
305 option on or set <EM><A href="#Get_FBI">'Get frame buffer info'</A></EM> and run this game with 
306 Mupen64.</SPAN><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT face="Times New Roman">&nbsp;</P></FONT></SPAN><SPAN lang=EN-US style="mso-ansi-language: EN-US"><H5><A name="Perfect Dark">Perfect Dark</A></H5><FONT face="Times New Roman">
307 <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"></FONT></SPAN><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT face="Times New Roman"><FONT face=Verdana>Frame buffer 
308 emulation must be disabled in multiplayer mode to avoid flickering. Most of the 
309 special effects used will not work without frame buffer emulation, but it's 
310 not&nbsp;that important for multiplayer.</FONT></FONT></SPAN></P><P><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT face="Times New Roman"><FONT face=Verdana>For settings for other games check the <A href="Glide64 compatibility list.html">Compatibility List</A>.</FONT></P><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><BR></P></FONT></SPAN>
311 </BODY></HTML>