View Full Version : N64 Glide Plugin
Ogy
March 5th, 2002, 21:56
Originally posted by Dave2001
well, that's not Glide64 giving that error, Project64 may be doing it because of an invalid memory access in Glide64 though.
Also, RSP interpreter when I''ve tried it also had problems, make sure that the problem you're giving me does not occur with all plugins.
Anyway, about the Glide64.ini name, I meant for it to be like that. Would you rather me _REQUIRE_ that the name be Glide64.ini, because I can do that too. I did it so that you might be able to have different settings for different games. (of course I will still need to add an INI title to the plugin string for that)
firstly, about the error: i'm sorry it was my mistake... it is caused by PJ64.
secondly, about the name:i believe people will change the name as a result of wanting (like me)to have 2 or more versions of Glide64, but i didn't understand your meaning "have different settings for different games" could you or someone please elaborate.
that color scheme is horrible!
what? it's the default color scheme for win98!
Dave2001
March 6th, 2002, 06:28
Ah, beautiful! :) Thanks Icepir8! Such a simple error... I remember having an error like this somewhere else too earlier on.
Dave2001
March 6th, 2002, 09:01
Like my layered fog? I CANNOT get it to interpolate right!!! I've tried EVERYTHING. I was considering switching to fog coords instead of a fog table, but I can't get anything to show up when I add the fogcoord parameter. Any ideas why the fog might layer like this instead of interpolating?
(yes, I know the colors are wrong, and it's the wrong distance, these were all test values)
Dave2001
March 6th, 2002, 12:07
... and after a gazillion years of working on it, the flames FINALLY work.
Teamz
March 6th, 2002, 12:30
wo great job man :)
Dave2001
March 6th, 2002, 12:36
Ha, figures, after I fix that, practically every other texrect works incorrectly
crhylove
March 6th, 2002, 16:58
...that everyone knows my head is planted firmly in dave's ass:
You Rock DAVE! great to c the voodoo is still doing new and amazing things after all this time.
:devil:
hotshitu
March 7th, 2002, 02:08
Originally posted by crhylove
...that everyone knows my head is planted firmly in dave's ass:
:devil:
...mind if I join you? :D
Smiff
March 7th, 2002, 03:07
can we get three in there? nah just kidding, mine's still in Jabo's ;)
Eddy
March 7th, 2002, 03:21
damn smiff you killed it, post it in the pj forum :D
linker
March 7th, 2002, 03:29
Originally posted by Eddy
damn smiff you killed it, post it in the pj forum :D
Eddy is dave's lawyer. 6$/hour :blush:
fivefeet8
March 7th, 2002, 08:31
Hi.. I posted at your emuxhaven board about your glide64 pluggin not working with my winxp and voodoo 5.. Well.. AFter reinstalling winxp and installing the latest underground voodoo drivers, it works now.. And it works great and beautifully for the games it's compatible with.. Great work dave!! Here is a recent shot I made..
crhylove
March 7th, 2002, 15:00
those are sweet specs and a sweet shot...
/me drools...
:devil:
Cyberman
March 8th, 2002, 01:14
Originally posted by Dave2001
Ha, figures, after I fix that, practically every other texrect works incorrectly
Hey well it looks cool ;)
I always like to see if my 'features' in my programs follow a pattern myself. Perhaps you need to have a version of your plugin that spews debug information out about the data and texture information (IE what data is it processing and what it thinks it should be doing with it.) Might be helpful (might not) but at least if the problem happens on a consistant basis you can more easily identify the offending bit of code.
I always use this
<module>, line #, <Informative message>
"gpu.c", "1001", "LOAD TEX 32b X124 x Y178"
gpu.c, ...
etc. it's boring to read however if you put it in comma delimited format it's also great for processing it with EXCEL and finding repetitive errors with some VB code etc. makes life easier when you are trying to find a bug that's repetitive:)
Stephen
Dave2001
March 8th, 2002, 07:29
In #Gfx 1.3.h there are some macros that you can decomment to get debugging information like that (not EXACTLY like that, but you can see every RDP instruction executed).
I have a graphical debugger (if the correct .3df files are present) that allows me to click on triangles and see info about them, and to click on textures in the cache and get info about them too. When I click a triangle that's not working, it gives me a #, and I log a single frame to file. Then I search for that # in the file, and see what it's trying to do. (btw, I think the debugger might be released within the next 2 versions, I just need to find out how to implement a binary file as a resource and get it to WORK) I will probably not put an option in for logging, as it would add a large amount of if statements to my code. It's much easier to just have a macro that is either defined or blank.
Hey well it looks cool
I always like to see if my 'features' in my programs follow a pattern myself. Perhaps you need to have a version of your plugin that spews debug information out about the data and texture information (IE what data is it processing and what it thinks it should be doing with it.) Might be helpful (might not) but at least if the problem happens on a consistant basis you can more easily identify the offending bit of code.
I always use this
<module>, line #, <Informative message>
"gpu.c", "1001", "LOAD TEX 32b X124 x Y178"
gpu.c, ...
etc. it's boring to read however if you put it in comma delimited format it's also great for processing it with EXCEL and finding repetitive errors with some VB code etc. makes life easier when you are trying to find a bug that's repetitive
Stephen
gokuss4
March 8th, 2002, 11:37
here is the problem with the sky dave...
Reznor007
March 8th, 2002, 12:07
Originally posted by gokuss4
here is the problem with the sky dave...
Actually I think that's right. The N64 had to have a limit on the sky somewhere, and a skybox like that is the most probably answer.
crhylove
March 8th, 2002, 17:20
so i bet your right reznor... and besides who would see that kind of detail on a crappy TV? nobody, that's who.
:devil:
Cyberman
March 9th, 2002, 01:14
Originally posted by Dave2001
In #Gfx 1.3.h there are some macros that you can decomment to get debugging information like that (not EXACTLY like that, but you can see every RDP instruction executed).
I have a graphical debugger (if the correct .3df files are present) that allows me to click on triangles and see info about them, and to click on textures in the cache and get info about them too. When I click a triangle that's not working, it gives me a #, and I log a single frame to file. Then I search for that # in the file, and see what it's trying to do. (btw, I think the debugger might be released within the next 2 versions, I just need to find out how to implement a binary file as a resource and get it to WORK) I will probably not put an option in for logging, as it would add a large amount of if statements to my code. It's much easier to just have a macro that is either defined or blank.
Nifty
The graphic util definately would be helpful.
I also can see where looking at the raw data won't elicite much in terms of errors if you are passing the right information and not processing it correctly (grin).
Hmmm Binary file as a resource? You mean as a windows Resource in VC++?
Cyb
Dave2001
March 9th, 2002, 05:51
Hmmm Binary file as a resource? You mean as a windows Resource in VC++?
Yes, or else I could type out all the numbers in the image file... :(
The Khan Artist
March 9th, 2002, 07:13
Here, I converted Ogy's compat list to HTML, and sorted by playability rating, as some people requested.
I would like to say THANK YOU, DAVE. Finally, I can run an N64 emu other than Ultra/SupraHLE and Corn. And PJ64 is even faster than SupraHLE 1.1.2! But I was wondering, do you have any plans on making Glide64 work with 1964? I haven't been able to do it.
One more thing, my video card is a Diamond Monster Fusion Z100, (Voodoo Banshee-based). I haven't seen anybody else mention this card, and I was wondering, would you like another beta tester? :D The only problem is, I only have 13 ROMs...
The Khan Artist
March 9th, 2002, 07:16
Oh, I almost forgot, I'll do an HTML version sorted alphabetically by game name if anybody wants it.
And I think that Glide64 should get its own forum. One thread just doesn't cut it...
Dave2001
March 9th, 2002, 07:17
It does have it's own forum at emuxhaven, but that's for questions about it, this is for development.
The Khan Artist
March 9th, 2002, 07:21
Oh, finally, the homepage is back. It was down earlier and I couldn't check. I found this thread by following the link from NGEmu.
The Khan Artist
March 9th, 2002, 07:28
I also see
What I need help with at the moment:
Compatibility with other emulators, such as 1964
I guess that answers my question... man, I definately have to study this stuff. Where can I get some good N64 emulation docs?
Hmm... maybe I should edit instead of making lots of posts... anyway, you should pack the plugin with UPX. Glide64.dll 0.04 zipped up to 49KB.
EdgeBlade
March 9th, 2002, 10:58
Could someone post the glide plugin as I can't access the web site and I'd like the plug in ASAP. Thanks.
Ogy
March 9th, 2002, 12:03
i already did an html ver. the names are alphabetical but i use a different color for each status, so i'll get the good of both worlds. it has much more new features, but i'm saving it to be released for v0.05
BTW:
i once saw an html page that had a table on it, and when you clicked on the titles it was arranged by that title alphabetically. i tried to leech the code but then saw it was a hyperlink and a new page to each title... now, can this be done in one html doc? possibly other format?
and Edge.. here ya go
gokuss4
March 9th, 2002, 12:11
OGY?!!!?! THAT BETTER BE THE PUBLIC RELEASE OF GLIDE64 0.04!!!
gokuss4
March 9th, 2002, 12:13
ok good it is. n/m
Ogy
March 9th, 2002, 13:07
wtf did you think it was? the BETA??
The Khan Artist
March 9th, 2002, 19:32
Originally posted by Ogy
i already did an html ver. the names are alphabetical but i use a different color for each status, so i'll get the good of both worlds. it has much more new features, but i'm saving it to be released for v0.05
BTW:
i once saw an html page that had a table on it, and when you clicked on the titles it was arranged by that title alphabetically. i tried to leech the code but then saw it was a hyperlink and a new page to each title... now, can this be done in one html doc? possibly other format?
and Edge.. here ya go
Oh, well. :P Mine is here now.
What I'm working on right now is a program that will take a list with entries of the type
title=Mario Kart 64
uCode=1 (or maybe later it could be the actual uCode name)
Playability=5
Comments=Minor Graphical Problems
and turn it into an HTML table. Basically, a CGI script. I'll include options for sorting the list as its processed, and formatting it based on Playability level. I think it will save you a good amount of time. :) You'll have to tell me all the fields you are including, so I can add them and appropriate sorting/formatting routines.
I'm also gonna try my hand at editing the RDB file, to make an internal compatibility list. But I'll finish my little converter first.
Oh, and here's Glide64 0.04 packed with UPX. Compare file sizes:
The Khan Artist
March 9th, 2002, 20:18
Say, nobody answered my question:
One more thing, my video card is a Diamond Monster Fusion Z100, (Voodoo Banshee-based). I haven't seen anybody else mention this card, (and the docs don't mention plain Banshee) and I was wondering, would you like another beta tester? The only problem is, I only have 13 ROMs:
Asteroids Hyper 64 (U) [!]
Earthworm Jim 3D (E) [!]
GoldenEye 007 (U) [o1]
Harvest Moon 64 (U) [!]
Legend of Zelda 2, The - Majora's Mask (E) (M4) [!]
Legend of Zelda, The - Ocarina of Time (U) (V1.0) [!]
LEGO Racers (U) [!]
Mortal Kombat 4 (U) [!]
Quest 64 (U) [!]
Star Fox 64 (U) [f1]
Super Mario 64 (U) [!]
Virtual Chess 64 (U) [o1]
Wave Race 64 (U) (V1.1) [!]
And a copy of Mario Kart that GoodN64 doesn't recognise (but PJ64 w/ Smiff's test RDB does.)
It'd be nice to at least get a no.
EdgeBlade
March 9th, 2002, 22:29
Thanks Ogy
Dave2001
March 10th, 2002, 03:58
Say, nobody answered my question
Ok, but the beta period hasn't really started yet, I'm not quite done with 0.05 (should I make it more like 0.1? I'm going to have way too many version numbers left over if 1.0 is meant as totally complete :)) Ogy has asked me if I would have a testing period so that I could include the current compatibility list with the plugin. Anyway, it's only going to be available to people working with me, so don't ask if you can be a beta tester; it should work the same on all voodoo cards (voodoo cards have a combine system that makes every combine compatible with every card). I'm sorry, voodoo1 users, I don't think I'm going to manually implement mirroring though. :(
The Khan Artist
March 10th, 2002, 08:45
Originally posted by Dave2001
(voodoo cards have a combine system that makes every combine compatible with every card).
Hmm... I never knew that. Neat.
And if runs either Zelda or Super Smash Brothers with mostly complete gfx, I'd say to make it 0.1. :D
crhylove
March 10th, 2002, 14:08
...if it plays any games at all it should be .1... but i mean, who really cares? :D
i'd say just keep going how u r going 2 avoid confusion.
here we come .05! can't wait for .011!! oh wait....
/me can't wait for a version that plays in 1964, even if it still has the same compat....
and then i can't wait for SOMEBODY, SOMEWHERE to do deliver 4 player dr. mario on the pc, via n64 emulation. none of the gfx plugins currently in existense will do that. i mean, it's dr. mario, how hard can it be? i bet getting that working would fix alot of strange errors in other games like gauntlet legends. the 3d emulation is pretty good with jabo, and others, but 2d games like that and pokemon puzzle league aren't really there yet. do u think that might help other games reach playability, or am i delusional?
/me cries.
:devil:
Falcon4ever
March 11th, 2002, 00:44
Originally posted by crhylove
...if it plays any games at all it should be .1... but i mean, who really cares? :D
i'd say just keep going how u r going 2 avoid confusion.
here we come .05! can't wait for .011!! oh wait....
/me can't wait for a version that plays in 1964, even if it still has the same compat....
and then i can't wait for SOMEBODY, SOMEWHERE to do deliver 4 player dr. mario on the pc, via n64 emulation. none of the gfx plugins currently in existense will do that. i mean, it's dr. mario, how hard can it be? i bet getting that working would fix alot of strange errors in other games like gauntlet legends. the 3d emulation is pretty good with jabo, and others, but 2d games like that and pokemon puzzle league aren't really there yet. do u think that might help other games reach playability, or am i delusional?
/me cries.
:devil:
:stupid:
me me me me me me me me me . is that the only thing you can say? Why don't you just wait untill dave comes with a new version. He shoulden't rush the project.
crhylove
March 11th, 2002, 03:38
i didn't mean to come off that way.
/me is an irc/chat thing meaning "user action". in case that's where my tone started sucking for you.
i'm just fascinated by emulation as a whole, and particularly in what emulation i get to see first hand, which dave's plugin is a part of.
i don't actually like to play games so much as i rarely have time.
but i do like to see how things progress, and especially how we can keep excellent games playable in a future that will probably not contain many n64 consoles that get used often.
i think that n64 emu is going to be like the current snes/nes emu situation:
a great way for younger people to see some of the games that i dug back when i was a brat.
but for me and others of course, all of these consoles/games will be emulated on computer for our grandchildren, and that is what's really exciting, not having to say, "back in my day, blah blah blah", just, "hey, press start, sonnie."
:devil:
Cyberman
March 11th, 2002, 09:41
Originally posted by Dave2001
Ok, but the beta period hasn't really started yet, I'm not quite done with 0.05 (should I make it more like 0.1? I'm going to have way too many version numbers left over if 1.0 is meant as totally complete :)) Ogy has asked me if I would have a testing period so that I could include the current compatibility list with the plugin. Anyway, it's only going to be available to people working with me, so don't ask if you can be a beta tester; it should work the same on all voodoo cards (voodoo cards have a combine system that makes every combine compatible with every card). I'm sorry, voodoo1 users, I don't think I'm going to manually implement mirroring though. :(
Hmmm what I use is pretty simple
Major revision.Minor revision.sub revision.build.
It's always good to know what build you are on I always say ;)
Cyb
Dave2001
March 11th, 2002, 09:43
how do you guys count builds? every time you build the program? or every time it's released?
Dave2001
March 11th, 2002, 10:00
I'm going to go CRAZY if nobody helps me with my problem!!! Look very closely at link, notice anything? He is TRANSLUCENT!!! I've had this problem of getting wrong alpha values ever since mario kart, and I don't know what it could be!!! I think it has something to do with the blender bits of rendermode, but I don't know.
(Zelda's clothes give me T0 as alpha, which is not opaque)
Dave2001
March 11th, 2002, 10:04
Here's another example, the player texture wants to use texture alpha, which isn't totally 1.
Also, practically everything in Quest64 has this problem too.
(btw, it worked in previous versions only because of a hack)
Dave2001
March 11th, 2002, 10:06
btw, that fps counter isn't the real fps, something is messed up with it.
Eddy
March 11th, 2002, 10:08
shit happens
LoneRaven
March 12th, 2002, 04:44
Here is my understanding:
Build --> The number of times the program (dll) has been compiled. In the case of project 64, they were up somewhere around build 412 when they quit programming.
The Khan Artist
March 12th, 2002, 06:59
So that's why the chars in Quest were translucent... Now that is freakin' weird. Man, I SO wish I new enough math to get into 3D gfx programming. But first-year algebra just doesn't cut it. :P
Well, I wish you luck.
Smiff
March 12th, 2002, 07:38
Originally posted by LoneRaven
Here is my understanding:
Build --> The number of times the program (dll) has been compiled. In the case of project 64, they were up somewhere around build 412 when they quit programming.
lol no neither Zil or Jabo upped the build # with each compile, i often got dozens and dozens of updates for each "build". If they had done that it would be well into the thousands or tens of thousands and a pain in the arse to remember to change and to have to reconfigure every one! (remember registry keys).
Cyberman
March 12th, 2002, 22:05
Originally posted by Dave2001
I'm going to go CRAZY if nobody helps me with my problem!!! Look very closely at link, notice anything? He is TRANSLUCENT!!! I've had this problem of getting wrong alpha values ever since mario kart, and I don't know what it could be!!! I think it has something to do with the blender bits of rendermode, but I don't know.
(Zelda's clothes give me T0 as alpha, which is not opaque)
They might have set them to not be opaque purposefully, are the alpha values linear on the N64 texturing? Might be helpful to see what all the alpha values mean to the N64. Is it possible that you are dealing with an undocumented 'feature' of the N64? :)
As for the crazy part, well join the crowd, I think at least 85% of the people here are insane to one degree or another, it makes us more interesting I hear ;)
Cyb
Slougi
March 12th, 2002, 23:59
Originally posted by Cyberman
As for the crazy part, well join the crowd, I think at least 85% of the people here are insane to one degree or another, it makes us more interesting I hear ;)
Hehe, so true :)
Falcon4ever
March 13th, 2002, 00:26
I'm glad that I belong to the other 15 %
:colgate:
Dave2001
March 13th, 2002, 05:58
Ok, well, I fixed the mario kart thing. It was using FORCE_BL with full alpha.
Link is still translucent, though. He uses the ALPHA_CVG_SEL flag, but I'm not sure what that does. The docs barely have anything on it. They say:
ALPHA_CVG_SEL
use cvg (or alpha*cvg) for pixel alpha
:(
I'm not exactly sure what it's trying to do, but I think that's what causes link to be transparent, since the flags on the castle in mario64 have this problem too (shaded color) and have this flag.
Dave2001
March 13th, 2002, 08:28
Ok, now I'm confused, I realized that I was using alpha for I8 (intensity 8-bit) textures. BUT... don't some I8 textures need alpha??? What's going on? My definition of I8 is alpha=full and color=what's in the texture, but maybe this is wrong? Look below, the dust is I8, but obviously needs some sort of alpha...
btw, link's suit is also I8, so that's why I ask. If IT has alpha, then it's translucent. :(
The Khan Artist
March 13th, 2002, 09:54
You can't really see the dust in that sshot...
The Khan Artist
March 13th, 2002, 09:59
Originally posted by Cyberman
As for the crazy part, well join the crowd, I think at least 85% of the people here are insane to one degree or another, it makes us more interesting I hear ;)
Yah, I think learning C++ (and/or studying the inner workings of emulators) does make you crazy... at least, thats what my non-programmer-aspiring friends tell me. :P
Dave2001
March 13th, 2002, 10:15
Originally posted by The Khan Artist
You can't really see the dust in that sshot...
The brown stuff is the dust.
Cyberman
March 13th, 2002, 10:54
Originally posted by Dave2001
Ok, well, I fixed the mario kart thing. It was using FORCE_BL with full alpha.
Link is still translucent, though. He uses the ALPHA_CVG_SEL flag, but I'm not sure what that does. The docs barely have anything on it. They say:
ALPHA_CVG_SEL
use cvg (or alpha*cvg) for pixel alpha
:(
I'm not exactly sure what it's trying to do, but I think that's what causes link to be transparent, since the flags on the castle in mario64 have this problem too (shaded color) and have this flag.
Hmmm you know what it SHOULD look like don't you? IE you have a N64 handy.. you can look at the image.
CVG.. SELECT sounds like it might be a a negative alpha setting.. IE it has an inverted grading affect. So what might be more transluncent might be more solid OR the other option is that only a certain RANGE is treated as alpha information. This could be handy for parts of the cloths been translucent and some not.
The DUST definately IS translucent in the second Image, so perhaps you should inspect that bit and change the behavior acordingly. At least so it matches what the N64 shows. If that makes sense :P :)
Does Zelda work on Ultra HLE or does it do the same things as your plugin does? :) Maybe you could steal the information sent to the GLIDE DLL and parse it. (I am an engineer so this to me is normal!) ;)
Cyb
The Khan Artist
March 13th, 2002, 21:12
Originally posted by Dave2001
The brown stuff is the dust.
Oh, geez. I thought that was something in the background. I never paid much attention to the intro after watching it the first time...
linker
March 14th, 2002, 04:16
Originally posted by (NL)Falcon4ever
I'm glad that I belong to the other 15 %
:colgate:
Do you?
Quvack
March 14th, 2002, 07:01
I've split the thread as this one is getting kinda long...
Part 2 begins - http://www.emutalk.net/showthread.php?s=&threadid=3401
Powered by vBulletin® Version 4.1.10 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.