have you the latest version of DirectX installed. i believe the latest nrage plugin is calling for an MDX file.
Evryone can forget.
OK same as last post.
Just, PJ64 crash after start if nrage selected, but if I sellect nrage later(start with no or another plugin), its works normaly, ofcourse still no loading setting.
In 1964 dont work save. I can load but, if I push save, nothing saved. In starting emualion - plugin didnt get inicialized
What about setting in file? It can solve this and maybe future problems?
Or blow up win9x
I have dx9c.
1964 dont give me error "plugin didnt get inicialized" anymore, in game just is written no controller.
Pj64 cant start emulation, it crash after start.
OK I find something. If I delete item HKCU\software\NRAGE I can start pj64 with nrage sellected and start emulation. If I save some setting, then I get crash again. If I save during emulation, I can play normaly, if I save setting during emulation and stop and then start new emulation I get crash.
Of course setting is not saved.
Value of nrage in registers dont change. New created after deletion is same.
And I use regcleaner but it change nothing, and I recently reinstaled windows, so it should be cleaner.
OK, I've updated the DEBUG binary. If this works, I'll commit the code to the tree and release it as 2.01 RELEASE.
When it crashes, what exactly does it say? What kind of crash is it? Out of memory? Divide by zero? Couldn't read memory? Or does it just hang until you kill the process? I can't remember if Win98 gives any useful information, but right now anything would help out.
A couple things. lion10, I think you've inadvertently uncovered a threading bug with this plugin while testing under 1964. On your system, the plugin init code is hanging under 1964 while trying to read/process the registry values. However, 1964 must be multithreaded because while that part is hung it's still letting you try to open up the config area. The config area would normally read from the settings in memory, but since they haven't been initialized yet it tries to read from the registry on its own. For some screwed up reason, it doesn't hang up this time! Of course, since InitiateControllers never finished, this turns into a problem later when you actually open a ROM. Anyway, these two things shouldn't be happening at the same time, so I added a block so they can't. This means that trying to open NRage config in 1964 will now hang until InitiateControllers finishes. So if the config menu doesn't open now, that's why.
Also, 1964 didn't seem to call RomOpen. I don't know if this is because of the hang problems or not.
I've changed the code a bit. It should now fail outright instead of crashing, if there's some problem reading the registry stuff. That is, unless MS has left some more surprises for me. Try running this DEBUG binary and see if it still crashes.
Ok, the screenshots are from the previos debug build. The newest one don't crashes anymore, it just creates ini files without an end. :drool: So I had to kill the process... (Due to the large size, I have shorten the ini's at the end.)
OK, I think that means "invalid pointer" but I'm not sure.
The root of the problem is that I'm using a Windows builtin function called "RegEnumValues" which lets me walk through every registry key in a directory. I give it the sizes of my buffers and it returns ERROR_SUCCESS when it finishes. If it returns ERROR_MORE_DATA, it means that the buffers I gave it for registry values were not big enough; the function returns the sizes of the buffers it needs.
This is how things are SUPPOSED to work. However, in the case of Win98, here's what's happening. I pass values of 255 characters and 1024 bytes for the key and value buffer sizes respectively. The function fails with ERROR_MORE_DATA ("I need a bigger buffer!"), and tells me I need buffer sizes of 38 for the key and 144 for the data. :huh: This really has me scratching my head, and I think there's a bug in either the Unicode layer or the Win98 implementation of RegEnumValues. I'm guessing (and hoping) that it's returning the data anyway, so I'm going to proceed to read that data out if my original buffer was big enough.
OK, I'm going to try something rather dangerous and read the registry data regardless of whether I get ERROR_MORE_DATA or not. Theoretically this is undefined behavior, so either it will crash spectacularly or work perfectly. I've also changed some permissions behavior, and asking for full read access for the registry key. Try the latest binary and see what happens.
Guys, the Debug files I'm reading right now are from a couple days ago. Did you download the latest DEBUG binary? Timestamp should be 7 Feb 2007, 16:52.