Glide Plugin GLES2 port from mupen64plus-ae, but with special FrameSkip code
[mupen64plus-pandora.git] / source / gles2glide64 / src / Glide64 / Help / Glide64 Readme.html
CommitLineData
98e75f2d 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
12responsibility for your actions or if this program causes harm to anything,
13including you and your computer, in any way, physically or
14mentally.<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
33natively on 3dfx cards, or via a OpenGL-based wrapper&nbsp;for modern video
34cards. The project started on 29 December 2001 by <STRONG>David 'Dave2001'
35Forrester </STRONG>(USA). <STRONG>Gugaman</STRONG> (Brazil) and <STRONG>Sergey
36'Gonetz' Lipski</STRONG> (that is me) joined him at February 2002. We worked
37together until the autumn of 2002. Then, Dave2001 and Gugaman left the project.
38Since that time I'm the only developer of the plugin. However, I'm not the only
39one, who works on this project. The Glide64 project includes two additional
40libraries 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
42its original author, <STRONG>Hacktarux</STRONG> (France). It then was heavily
43modified&nbsp;&amp; improved by <STRONG>Vincent 'ziggy'
44Penne</STRONG>&nbsp;(France) and <STRONG>Brad 'mudlord'
45Miller</STRONG>&nbsp;(Australia). The second library is a texture enhancement
46module 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
48plugin and gave me valuable advices on how to improve it. The main tester of
49this version is <STRONG>Olivieryuyu </STRONG>(France); and&nbsp;additional
50testing, advices and friendly support was provided by <STRONG>Wes 'Legend'
51McDaniel&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,
74you may skip the rest of this document, start your favorite games and enjoy! If
75you are an experienced emu fan, or a curious person, read further for
76explanation 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
79games. Changing these settings is dangerous: it can cause glitches and
80instability. 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
82options'</EM> on the <EM>'Common settings tab'</EM> and close the configuration
83dialog.&nbsp;Open&nbsp;configuration dialog again and&nbsp;the <EM>'Emulation
84settings'</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
96switch between filtering modes during game play by pressing the&nbsp;backspace
97button. </P>
98<P align=left><EM>'Buffer swapping modes'</EM> - It's hard to explain the
99difference 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>.
100The N64 uses a very special way to implement mip-mapping, which is not available on PC hardware. Glide64 implements a rough approximation of N64
101mip-mapping, which can be enabled by setting <EM>'LOD calculation'</EM> option
102to <EM>'fast'</EM> or <EM>'precise'</EM>. The result is not always good
103though.</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
109game effects like motion blur or for optimization purposes. The console can
110allocate as many auxiliary frame buffers as needed and then use them as usual
111textures. PC video cards usually use only one buffer per frame, thus emulation
112of frame buffer effects is always a hard problem. Glide64 implements lot of
113methods of frame buffer emulation, to support as many effects as possible. Most
114games will work fine with&nbsp;pre-defined settings, but some effects require
115additional 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
116options:</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
119frame buffer emulation. Usually, this must be set on, except some rare cases,
120mentioned in the <A href="Glide64 compatibility list.html">Compatibility
121List</A>. Read <A href="#HWFBE">next chapter </A>for explanation of hardware
122frame buffer emulation.</P>
123<P align=left><EM><A name="Motion blur">'Motion blur'</A></EM> - Enables motion blur emulation. Motion blur
124works slow without hardware frame buffer emulation, so it is made optional. This
125option usually must be on, because most of cards support hardware frame buffer
126emulation. 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
128detect frame buffer usage by the game. In this case the only way to emulate
129frame buffer effects, is to read every rendered frame from video memory and put
130it into the emulated RDRAM. Reading from video memory is usually slow, so this
131method of frame buffer emulation is optional. You may also switch it on/off
132during 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
134frame buffer effects, which the plugin cannot detect. This option allows the
135plugin to get notification about frame buffer usage from the emulator and thus
136emulate frame buffer effects without slowdown. Currently it works only with
137Mupen64 (and even Mupen is not 100% reliable with this). Do not enable this option with 1964, otherwise the emulator will
138crash.</P>
139<P align=left><EM><A name=RenderN64FB>'Render N64 frame buffer as texture'</A></EM>. The N64
140architecture allows the CPU to write directly into the frame buffer. Sometimes
141N64 games uses this ability, which may lead to graphics lost during emulation,
142since graphics plugin does not know, that some graphics are already written in
143the N64 frame buffer by the CPU. Some examples of this are: falling pills in
144Dr.Mario and rain in Jet Force Gemini. When this option is enabled, content of
145each N64 frame buffer is rendered as a texture over the current rendered frame.
146This prevents graphics loss, but may cause slowdowns and various glitches in
147some games. </P>
148<P align=left><EM>'Detect CPU write to N64 frame buffer'</EM>- This option works
149as the previous options, but the plugin is trying to detect, when a game uses
150CPU writes to the N64 frame buffer. The N64 frame buffer is rendered only when
151CPU writes is detected. Use this option for those games, in which you see still
152image 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
156to render some particular object or not. This is often used for coronas, which
157must be rendered only if they are not covered by other objects in the 3D scene.
158To emulate it properly, the N64 depth buffer must be filled with correct values.
159Glide64 uses software rendering to fill the N64 depth buffer. It is enabled by
160default. If you experience performance issues, set the <EM>'Software depth
161buffer 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
164should always work, is to render auxiliary frame buffers into the main video
165buffer and then read it from video memory into main memory, and put into the
166structure representing N64 memory (RDRAM). This approach has 2 main
167disadvantages:</P>
168<P align=left>1) auxiliary frame buffers may be visible when they should
169n't be.</P>
170<P align=left>2) reading from video memory is a very slow operation, thus many
171frame buffer effects will be slow.</P>
172<P align=left>Also, image taken from video memory must be scaled down to N64
173native resolution (usually 320x240), thus quality lost is inevitable. To avoid
174these problems, Glide64 uses the Glide3x extension, which allows it to create
175auxiliary frame buffers right into video memory, like the N64 does. This allows
176the plugin to run frame buffer effects without speed&nbsp;hits or quality loss.
177Hardware frame buffer emulation (HWFBE) greatly improves many games, but it has
178some restrictions:</P>
179<P align=left>1) HWFBE is in fact a hack - auxiliary frame buffers are not put
180into N64 memory. When a game uses a texture located in RDRAM corresponding to an
181auxiliary frame buffer, the plugin uses the texture located in video memory
182instead. The game may use this area in RDRAM for different textures later, but
183the plugin will use it's auxiliary buffer anyway, which leads to serious
184glitches. I have tried to reduce the probability of this situation, but it is
185still possible. If you encounter it, switch to windowed mode, and then back to
186full screen again.</P>
187<P align=left>2) The Glide extension used for HWFBE is fully supported by Voodoo
1884/5 only. Banshee and Voodoo3 cards also support it, but only for small
189auxiliary frame buffers (e.g. shadows). Other Voodoo cards do not support it at
190all! </P>
191<P align=left>3) HWFBE may not work for Voodoo4/5 if the anti-aliasing option is
192set 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
196textures</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
223is not emulated by default. To see it, either set <EM><A href="#Read every frame">'Read every frame'</A></EM>
224option on or set <EM><A href="#Get_FBI">'Get frame buffer info'</A></EM> and run this game with
225Mupen64</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
228Racing</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
232implemented&nbsp;in a&nbsp;very specific way. When rendering of the current
233frame is finished, the depth buffer, filled during rendering of this frame, is
234used as a texture and blended with the color buffer. As the result, the frame
235becomes fogged, and the fog is thicker where depth values are higher. Glide64
236implements 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
239uses software depth buffer rendering. It works on all cards, but has two
240disadvantages:<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
242software depth buffer rendering. As the result, the pixels, which would normally
243be rejected by alpha testing, are stored in the depth buffer. This causes
244artifacts 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
246depth buffer has original (that is low) N64 resolution output. When it is used
247as a&nbsp;texture, blended with the high-resolution frame buffer, aliasing is
248visible.<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
250produces perfect fog, but currently it works only on 3dfx Voodoo 4/5's. These
251cards use the same depth buffer format, as the N64, and they can allocate the
252depth buffer right in the texture memory, so it can be easily used as a texture,
253as 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
255you drive) should reflect the environment in this game. That is, various
256objects, which you roll by, should be reflected on your car. This is implemented
257via the usage of frame buffer content. Emulation of this effect implies frame
258buffer emulation. Unfortunately, this can't be done in hardware, because the
259texture, which is used as a reflection, is not a part of the frame buffer - it
260is the result of frame buffer post processing, made on the N64 CPU. Thus, the
261only way to emulate this effect is to use the <EM><A href="#Read every frame">'Read every frame'</A></EM>
262option. If your hardware allows you to use this option without slowdown, you are
263lucky.<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
2662</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
269pre-rendered depth buffers, which are stored in the game's ROM, and are loaded
270into the depth buffer memory area each frame before rendering is started. This
271is hard to emulate, and especially hard to emulate efficiently. The following
272options 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
277in this game, use Mupen64 with Azimer's HLE sound plugin v.056. However, the
278game 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
280Day</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
282emulated with default settings. However, there are two special effects in this
283game, which require special settings: the black-and-white "It's war" cut-scene,
284and the Uga-Buga pixilated effect. To see these effects, set the following
285options:<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
286playable 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>
288option on, otherwise the game will work very
289slow.</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
293background 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 -
295Majora'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;
297Truth 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
299objects outside of the lens can be cut. This is not a bug - depth buffer copy
300must be emulated to&nbsp;fully emulate Lens of Truth. It is currently supported
301only 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
304background in the menu subscreen, either set the <EM><A href="#Read every frame">'Read every frame'</A></EM>
305option on or set <EM><A href="#Get_FBI">'Get frame buffer info'</A></EM> and run this game with
306Mupen64.</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
308emulation must be disabled in multiplayer mode to avoid flickering. Most of the
309special effects used will not work without frame buffer emulation, but it's
310not&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>