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!

  1. "Emulated Width" [text box]
  2. "Emulated Height" [text box]
  3. "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!

Jabo's Direct3D8 D3D8 Settings D3D8 Advanced D3D8 ROM Settings
 
   

Return to the top