Tuesday, August 28, 2018

Nintendo 64 (Jabo's Direct3D plugin) [DX11]




3D Vision fix for the Jabo's Direct3D Plugin (DX6, DX7 and DX8) that can be used in Nintendo 64 emulators. The fix needs dgVoodoo to convert the game to DX11. Tested with dgVoodoo 2.55.1 and 2.55.3, and with the Project 64 emulator (version 2.3.2).


Compatible Jabo versions
- Jabo's Direct3D8 1.6.1 (recommended)
- Jabo's Direct3D8 1.6
- Jabo's Direct3D7 1.40
- Jabo's Direct3D6 1.5.2


Fixed
- After being converted to DX11, all Jabo versions have HUD depth, HUD toggle, convergence, and aspect ratio features.
- Profile settings to make it work correctly in 3D.


Known issues
- If you use the DX8 version of the plugin, you can only enable fullscreen once. If you exit it and enter again, the emulator image will freeze until it's in a window again. Close and open the emulator again when this happens.
- In Project64, you must open a ROM from your ROM list or from the recent list. Opening one from "File -> Open ROM" will result in 3Dmigoto not loading, thus losing HUD and convergence hotkeys.
- IMPORTANT: the SBS/TAB/interlaced shader doesn't work, so you are limited to 3D Vision, 3D Vision Discover and 3DTV Play. If I try to use it, it freezes the emulator and then locks up my PC after I try to close the emulator or kill its process.


Installation
- Have Project64 ready with at least one of the plugins I mentioned.
- Download this file and extract its contents in your emulator folder, where for example "Project64.exe" is.
- Download the latest dgVoodoo 2 release or WIP version (at least 2.55.1 version) here: http://dege.freeweb.hu/dgVoodoo2/dgVoodoo2  
- From inside its "MS" folder, copy "D3D8.dll", "D3DImm.dll" and "DDraw.dll" into the emulator folder.
- Open "dgVoodooCpl.exe" and configure it like this, for example, tuning the resolution and some other settings to your liking (uncheck the "Behavior" checkboxes just in case):





- Open the emulator and configure the graphics plugin like this (assuming the DX8 version. Use your own resolution. The last image shows the aspect ratio override to get 16:9 or whatever you use natively):




- Open a ROM from your ROM list or the recent list (mandatory to make 3Dmigoto load).
- Let the program apply the profile changes the first time you run it.


Hotkeys
- k: convergence presets (very game dependant).
- l: aspect ratio mod. In this order, assuming a stretched 4:3 image, these are the presets: corrected 16:9, non corrected triple monitor, corrected triple monitor, default. You don't need this if you use the widescreen hack of the DX8 plugin.
- o: HUD depth presets (usually). Whatever has 0 depth goes to depth.
- i: HUD toggle.
- p: same functionality the HUD depth presets, but with a depth value that catches the skyboxes of Super Mario 64 in the DX7 and DX8 plugins. It's at full depth by default.


Recommended settings
- Use Nvidia Profile Inspector to force 8xSGSSAA if your GPU can handle it. It will greatly reduce texture shimmering, especially if you use point filtering in dgVoodoo.


I have only properly tested Project64, but other emulators that work with the Jabo plugin may work with dgVoodoo and the fix. Please report success/failure to use this with other emulators.


If you liked the fix and want to contribute for more future fixes, you can donate to this PayPal account: masterotakusuko@gmail.com

21 comments:

  1. hello sir, thank you for this nice fix, i dont now what im doing wrong but when i try to swich to top and bottom mode i get a crash ,any idea? thank you for your help.

    ReplyDelete
    Replies
    1. Check the "Known issues" section of the post. SBS/TAB/interlaced modes in 3Dmigoto don't work. I don't know why, sorry.

      Delete
    2. Hi, and thank you very much for this, works very well for me. Project64 comes with a plugin Glide wich is apperently the best chopice, any chance that it could be possible to do the same with this one ?

      Delete
  2. didnt work for me it crashes everytime

    ReplyDelete
  3. For those who use Project64 2.3.2 with 3D Vision and want to play the games in their native aspect ratio (4:3) there is a trick for it. This is for 1080p displays: First you have to make two custom resolutions for your desktop 1440x1080 120hz and 1440x1080 119hz. Then select the latter resolution in dgVoodoo and Project64 and in the emulator check the "adjust game aspect ratio to match yours" box. After that close Project64 and then choose the latter resolution also for desktop and after that start the emulator again and when the game goes to fullscreen it should be in 4:3. Now this is important: You have to choose that 119hz resolution for desktop every time before you start Project64 because every time the emulation starts it changes the desktop resolution back to 120hz. If you start the emulator with 120hz resolution it just stretches the picture to full screen.

    Of course you can use the "adjust game aspect ratio to match yours" with 1920x1080 and play games in widescreen but I really don't like the graphic glitches that it occasionally causes in the sides of the screen. I guess I'm some sort of purist when it comes to aspect ratios and so on. :) I hope this helps someone since I spent some time to find a solution from different forums without any results (I found out that I wasn't the only one searching). Finally I just started experimenting different things and came up with the solution almost by accident - I almost gave up and it was literally the last thing I tried. But it was worth it! :D

    ReplyDelete
  4. although it doesn't seem to be related to the fix or dgvoodoo, I only get a black screen when trying to use jabo direct3d8 1.6.1 in project64 2.3.2. whereas the same plugin works perfectly with the old version of the emulator... am I missing something?

    ReplyDelete
  5. Thank you. Unfortunately, the hotkeys don't seem to do anything for me. The sky in Mario 64 looks pretty bad by default, so I tried adjusting the 3d, but nothing changes...

    BTW, would you mind making a 3d fix for GlideN64 (not to be confused with Glide64). Jabo's Direct3D is too glitchy, and the only reason it's the default plugin in P64 is that it's better for low-end computers.

    ReplyDelete
  6. This comment has been removed by the author.

    ReplyDelete
  7. This one took me a while to figure out to get fullscreen working.

    Apparently, The Jabo D3D8 plugin (ver 1.7) that came with Project64 2.3.2.202 uses fake fullscreen mode. Pressing Alt+Enter will instead maximize the Project64 window, with the window title, menu and all.

    After some digging, I downloaded version 1.6.1 of the Jabo D3D8 plugin and used that instead to regain exclusive fullscreen mode.

    ReplyDelete
  8. Link to the Dg Voodoo does not work now.

    ReplyDelete
    Replies
    1. http://dege.freeweb.hu/dgVoodoo2/bin/dgVoodoo2_74_1.zip

      Delete
  9. I can't get it to do anything on 1.7 d3d8 graphics pluging, like doovood is doing 0 things.

    ReplyDelete
  10. doovood link broken. please fix the broken link

    ReplyDelete
    Replies
    1. Maybe the one off GitHub is more reliable: https://github.com/dege-diosg/dgVoodoo2/releases/download/v2.79.3/dgVoodoo2_79_3.zip

      Delete
  11. Please, for the love of god, do not use this vastly outdated method. Just use Citra, the 3ds emulator. Since the system has native stereoscopy, the emulator does and it translates fantastic to anything, especially vr glasses. Set citra to SBS (or whatever you have) and it will render that way.

    It is also 30 fps which is far easier on the eyes and much smoother. A true native, and definitive imo, way to play this game.

    ReplyDelete
    Replies
    1. Did you meant to post your comment in the Helixmod Citra page? This page is for 3D Vision on Project 64.

      Delete
  12. This comment has been removed by the author.

    ReplyDelete
    Replies
    1. This comment has been removed by the author.

      Delete
  13. Can you fix the link please? It says Page Not Found

    ReplyDelete
    Replies

    1. Fixed. Also worth noting dege's github: https://github.com/dege-diosg/dgVoodoo2/releases

      Delete