What's new

Writing glide plugin

Dave2001

Moderator
Hi, I want to write a Glide plugin for Project 64 (and any other emulator that supports plugins). I already have the Glide SDK, the plugin specs, and all the tools I need to compile. I am fairly experienced as a programmer and have worked with 3d games before.

In order to write this plugin, I need some information about how the N64 video works. I need to know what things like RDRAM, DMEM, and IMEM (in the specs) are. They have absolutely no documentation in the plugin specs, and I'm not quite sure where to find it. Please help me find documents that will help me write this plugin.

I know that Glide is really outdated, but there are still many people that have Voodoo cards and want to use this emulator.

Thanks!
 

gokuss4

Meh...
REALLY?! WILL IT SUPPORT VOODOO3? *jumps up in glee* PLEASE TELL ME IT DOES! a glide plug-in that will support plug-in? wow that would be like the greatest thing in the world for me and other glide users ;)
 
OP
Dave2001

Dave2001

Moderator
Well it should, considering I have a Voodoo 3 2000. :)

I won't be able to do it until I get enough information, though.
 

N-Rage

New member
Good luck to ur Project, I hope u get a good Plugin together.

I cant tell u excactly how the N64 works since i dont understand much of GFX. U gonna need to be able to revert N64 Roms however to be able to programm a GFX-Plugin. Maybe u can teamup with a Emu-Team?

The architecture has a GPU( i think its called RCP). The bad thing about the GPU is that it is a programmable Vextor Unit that has a few KB instructionbuffer. The Game uploads there its own Geometry-Processing subroutine. This is called U-Code( Hope im 100% correct on this ). As u can imagine reverting the important Informations isnt the easiest.

I have a few Docs at my HD, I can send em to u. ATM i just remember that site which has Hardware-Docs: Dextrose

Furter theres a Developer Library called "UltraLib", it may help u too, but i dont know where to get it( best u ask some Emu-Authors)
 

gokuss4

Meh...
well dave2001 there are 4 types of voodoo3's there is 2000 2500 3000 and 3500 i have a voodoo 3 3000 i hope it could work on that too :) and ill try to find enough info for your plug-in when i have the time
 
OP
Dave2001

Dave2001

Moderator
Thanks for all the encouragement everybody. :colgate: I'll try my best.

Don't get your hopes too high, though. I'm not absolutely positive that I can do this.
 
OP
Dave2001

Dave2001

Moderator
Ok, now I have my plugin showing up in Project64. I also gave it the ability to log. So far the log looks OK:

InitiateGraphics (*)
RomOpen ()
UpdateScreen ()
UpdateScreen ()
.......
ViWidthChanged ()
ViStatusChanged ()
...... blah blah blah

but when I have a blank graphics DLL running a game, the game does not seem to continue running. The sound doesn't play. What exactly is the graphics DLL responsible for to keep the game running? (I'm assuming some interrupt needs to be set or reset)
 
OP
Dave2001

Dave2001

Moderator
Ok, I just got ICQ working in Windows 2000.

You can now contact me using ICQ #24553273

(note: I have a cable modem, so I am always online. If it says that I'm online, that does not necessarily mean that I'm at the computer)
 

Azimer

Emulator Developer
Moderator
Dave2001 said:
Ok, now I have my plugin showing up in Project64. I also gave it the ability to log. So far the log looks OK:

InitiateGraphics (*)
RomOpen ()
UpdateScreen ()
UpdateScreen ()
.......
ViWidthChanged ()
ViStatusChanged ()
...... blah blah blah

but when I have a blank graphics DLL running a game, the game does not seem to continue running. The sound doesn't play. What exactly is the graphics DLL responsible for to keep the game running? (I'm assuming some interrupt needs to be set or reset)

The graphics plugin is responsible for causing a DP Interrupt. (Because it emulates the RDP pretty much). Adding:
*GfxInfo.MI_INTR_REG |= 0x20;
GfxInfo.CheckInterrupts ();
to ProcessDList() should get you what you are after. I feel this should move out of the Project64 forum and into Plugin to Emu Coding.
 

StonedConker

New member
Dave2001 said:
Well it should, considering I have a Voodoo 3 2000. :)

I won't be able to do it until I get enough information, though.

:)) hope you make it Dave.It's nice to see that glide accelaration is not dead yet .

p.s. I have a voodoo 3 2000 too :)
 

2fast4u

New member
i still have a v2 besides my gf2mx (yeah, i still love it ... sniff ...), i hope u will succeed! :thumbsup:

i read the post in the dev section and it seems like the project is really progressing.

2fast4u
 

Top