All settings on this tab are saved in the RDB and are specific to each ROM.
The controls on this tab are only available when a ROM is loaded, and will only
affect the currently loaded ROM. Unlike core ROM Settings, all changes take
effect instantly. The emulator should be supplied with the correct settings
for each ROM - do not make any changes here unless you understand what you are
doing. If you mess up the settings, you must reinstall Project64 (or at least,
revert to the original (or better yet, the latest official) RDB - there is no
"return to defaults" button, so remember what you changed!
- "Emulated Width" [text box]
- "Emulated Height" [text box]
- "Direct3D Clear Mode" [menu]
Note that there is one further setting that you should be aware of that cannot
be controlled from this tab, because it works not on a per-ROM basis but on
a per-calculated-uCode-CRC basis: this is detection of the RSP code simulation,
or uCode detect for short , i'll cover it here this page.
"Emulated Width" [text box]
This refers to the native horizontal resolution of the game. This is normally
autodetected correctly by the plugin, however in some cases this can go wrong,
hence this control is available to allow you to force any resolution. Values
must be integers (whole numbers). A sensible place to start is 320, the horizontal
resolution of most N64 games.
Note that this control cannot be used effectively when a game has dynamic or
mixed resolution!
"Emulated Height" [text box]
Exactly as per "Emulated Width", except for vertical resolution,
tends to be used more often to correct PAL resolution problems, and has a typical
value of 240.
Note that this control cannot be used effectively when a game has dynamic or
mixed resolition!
"Direct3D Clear Mode" [menu]
Possible settings:
- Default (0)
- Only per frame (1)
- Always (2)
The default setting ("default") means none and was always used in
previous versions of the plugin.
"Only per frame" is a possible solution for games suffering from
the "black layer" problem, where the whole screen is hidden behind
a black layer. This was added in v1.5 for Chameleon Twist 2 and is
also used for several other games.
"Always" is a possible solution for games suffering from screen clearing
problems within a particular part of the screen. It was added in v1.5 for the
sky in Perfect Dark, and is also used for several other games.
Non-default settings can cause problems with some games and should only be
enabled if needed.
Setting up microcode detect references
Microcodes are nearly always detected correctly internally by the plugin and
therefore it should not be something a user has to think about. However, the
database is probably not complete and in v1.6 games can switch microcodes at
any time during execution, thus the probability of a detect failure somewhere
is rather high. We cannot force a particular microcode per ROM, so now the RDB
file header is used. If you suffer a uCode detection failure, please refer to
the RDB for an example of how to set this up.
uCode ID |
uCode |
example(s) |
0 |
RSPSW |
Mario64, most early games |
1 |
RSPSW_EXT |
Star Wars - Shadows of the Empire |
2 |
RSPSW_GE |
Goldeneye 007 |
3 |
RSPSW_PD |
Perfect Dark |
4 |
RSPSW_DKR |
Diddy Kong Racing |
5 |
RSPSW_RARE4 |
Jet Force Gemini |
6 |
S1DEX |
(sprite microcode) |
7 |
F3DEX1 |
(most later games are either this... |
8 |
F3DEX2 |
... or this) |
9 |
F3DZEX2 |
Zelda |
10 |
F3DEXGB2 |
Conker's Bad Fur Day |
11 |
S2DEX |
(sprite microcode) |
These are all the different microcodes supported by the graphics plugin. Note
that these are the real names for the microcode as taken from the game code.
This is a technical subject beyond the scope of this document, it's enough for
the user to know that if detect fails you should first seek an updated RDB file.
Advanced users can add references themselves via the RDB. You must set the correct
uCode - you either know, you ask someone who knows, or you find out by trial
and error!