Project64 2.2 (and every versions before) doesn't support 64DD at all, so you need a development version that you can find on the Download page.

I left Project64U in case you want to find it again:
Project_64U_25_09_2015.rar
I should mention that PCs from before 2010 may not be able to boot a game. You'll have to stay on Project64 1.6 and not be able to play those.

This one is completely ready for 64DD use. You can either download the original dumps, or the cartridge ports; both work.
There's still a few problems with this. To play 64DD games, it doesn't have the optimal settings for most of them.

F-Zero X Expansion Kit, while not requiring any changes to the settings for the cartridge port version, the original 64DD way requires F-Zero X (J) to be on Interpreter mode for the time being.

I will assume you know how to set the controls and stuff. What I'm interested to talk about are the Graphics plugins, the N64 Mouse support and how to load 64DD IPL. 64DD IPL contains fonts and sounds, and is what allows 64DD functions to work as most games relies on it for 64DD region detection.
You absolutely need the Retail 64DD IPL available on the dump section of the site.
To load a disk game, there are several ways:
- Open ROM menu: Just load the disk file like a normal ROM. It will ask you where is the 64DD IPL, in that case, load the 64DD IPL ROM file. It won't ask you again unless it doesn't find the file anymore. The disk should be booting.
- Drag 'n' Drop: Just drag the disk file to the Project64 window. It will ask you the 64DD IPL file if it doesn't find it.
- Combo Cartridge + Disk: Like for F-Zero X Expansion Kit for example, the F-Zero X (J) ROM needs to be on the ROM Browser. Right click F-Zero X (J), and select "Load Game with Disk". It will ask the 64DD IPL if it doesn't find it, and then the Disk File.

It should be mentioned that 64DD disk games does not appear on the ROM Browser at this time.

To avoid potential crashes, close Project64 after playing a 64DD game (whether you want to play a N64 game or another 64DD game).
There was issues with saves being deleted when Project64 crashing while ending emulation, should be fixed with 12/2016 build. New feature as of 2016/05/30, you can now save your progress and swap disks during emulation whenever needed.

For saving: a new file is created alongside your 64DD NDD file, named [filename].ndr.
NDR files are identical to NDD files on every point. It contains the saved data while the NDD file is unedited. You could rename the NDR file back to NDD and it will work properly.
You will notice they are invisible to Project64. Basically upon loading a NDD disk file, it will load the NDR file that's with it first. Consider them like save files.

Swapping disks is very easy, however, it has be known: You have to swap when the game tells you that you can.
Simply use "Swap Disk" option under the System menu (or Ctrl+D), and load the disk you want. The previous disk you have used will be saved beforehand.
If Ctrl+D (or any shortcut that has messed up) does not work, close Project64, go to Config folder and delete Project64.sc3. The shortcut list will be reset properly. You have downloaded Project64, it includes 4 plugins in it:
- GLideN64
- Glide64 for PJ64 (keep in mind, these are quite different)
- angrylion's RDP with OpenGL
- z64gl

Recommended plugins & settings for each game

All the settings talked about here are for a balanced compatibility and performance that I have personally tried.

- Mario Artist Paint Studio: GLideN64
Copy Auxiliary buffers have to be enabled for stamps to work, and Render frame buffer as texture to make the cursor appear.
Copy depth buffer may be needed. Copy frame buffer to RDRAM has to be set to SYNC.

- Mario Artist Talent Studio: GLideN64
Copy Auxiliary buffers have to be enabled for the face editor and a few other things. Copy depth buffer is also needed.
Copy frame buffer to RDRAM has to be set to SYNC.

- Mario Artist Polygon Studio: angrylion & GLideN64
Unfortunately, this game cannot work properly if you want to make 3D models. Thankfully this game does not use much processing power.
My recommendation is as follows: boot the game with GLideN64 loaded. Switch to angrylion whenever you want to model and go back to GLideN64 once done.
This order is very important. If you boot the game with angrylion it cannot switch to GLideN64.
Other than that, this is what you need for GLideN64: Copy Auxiliary buffers have to be enabled for the Sound Bomber mode.
Copy depth buffer may be needed. Copy frame buffer to RDRAM has to be set to SYNC.

- Mario Artist Communication Kit: GLideN64
No particular settings needs to be set as the Communication Kit does not do much at this time other than providing bonus content for the main Mario Artist suite.

- Sim City 64: z64gl
Unfortunately, Sim City 64 is a very demanding game, z64gl has been the only plugin that allowed me to play at decent speeds.
You can make it threaded and use async mode if you want to squeeze more performance.

- Japan Pro Golf Tour 64: GLideN64
There are a few issues with this game, but it seems playable without any particular settings.

- Doshin The Giant 1: GLideN64
No particular settings needs to be set. It works fine.

- Doshin the Giant: Tinkling Toddler Liberation Front! Assemble!: GLideN64
No particular settings needs to be set. It works fine.

- F-Zero X Expansion Kit: GLideN64
No particular settings needs to be set. It works fine.

GLideN64

GLideN64 is your go-to plugin for the most part. It supports a lot of games. Make sure Graphics HLE is checked in the plugin selection settings.
If you are having graphical issues, open the plugin's configuration window and click OK to refresh the graphics and should fix most issues.

Unfortunately for games like the Mario Artist series, while it works for the most part, if you want to add stamps or edit someone's face, it won't work properly.
You absolutely need to enable "Copy auxiliary color buffers to RDRAM" for 100% compatibility with Paint Studio and better support for Talent Studio and Polygon Studio.
Some games (Paint Studio for example) may also require "Render frame buffer as texture" to be checked.

Glide64 for PJ64

Glide64 for PJ64 is a bit behind, but some games works a bit better with it. Make sure Graphics HLE is checked in the plugin selection settings.
Likewise, some games requires "Render frame buffer as texture" to be checked.

angrylion's RDP

angrylion's RDP is THE accurate plugin, it requires Graphics HLE to be unchecked to work. (This is VERY IMPORTANT!)
Every games work perfect, but the rendering is slower as a result. If you have a very recent PC, you can probably get it fullspeed for a few games like Mario Artist Paint Studio like me.
For better performance, you can check "Bypass DAC filters".

z64gl

z64gl is one of the other LLE GFX plugins that has decent performance albeit with a few graphical issues.
Like with angrylion, it requires Graphics HLE to be unchecked to work. (This is VERY IMPORTANT! CANNOT STRESS ENOUGH.)
The settings are set via the z64gl.conf in the Plugin folder that you can edit with Notepad or any text editors you can have.

Other details

Other games like Mario Artist Polygon Studio do not work properly via GLideN64.
You may need to swap plugins DURING emulation to sometimes get things working right.
If you have to do that, you absolutely need to start emulation with GLideN64 and only then you can swap GLideN64 with angrylion and viceversa.

Setting the N64 Mouse is a bit tricky but doable. I should note that you do not need N64 Mouse to play Mario Artist.
Get to the Controller Plugin's settings and check "N64 Mouse". You will then need to set the mouse controls.
I suggest to use Config 2 for Analog Stick. Change the analog stick controls, and move the mouse accordingly to the direction.
Button A should be Left Click, and Button B should be Right Click. These can be set like usual.


Go to Devices tab. Set the X/Y sensitivity to 30% (it's too sensible at 100%), feel free to find the correct % that you like.
And also set them to Buffered. It's important.


Go to Controller Pak tab. Set the box to "None" and check Raw Data.


And in the Shortcuts tab (upper part), feel free to set (or leave it as is) the Lock/Unlock Mouse shortcut. By default it's TAB.


And there you go. If you want to play again with the N64 controller, uncheck N64 Mouse and set the controls again (and use Config 1 for Analog Stick if you used Config 2 for mouse).