What's new

NRage Input Plugin V2.00 BETA (an overhaul)

lion10

New member
I think I found the problem. Stupid MS and their 16-bit hacks. Ugh.

http://blogs.msdn.com/oldnewthing/archive/2005/10/05/477802.aspx

I've tried to solve it by modifying the code to simply not use LOAD_LIBRARY_AS_DATAFILE. The new method is slightly slower, but it should be more compatible. I had to modify the language files as I modified the German one before. If you try to use the old language files with this version, it will not load! (Though at least it shouldn't crash... I think.)

Get the new language file(s) here:
http://www.randomwisdom.com/files/Lang_Debug.zip

And new DEBUG is in my sig.


Unbelievable, IT WORKS! :bouncy: Only on Project64 it don’t load fully the language dll, but the “no reaction issue” is gone. The French language pack seems to have a fault. See the attached files for more details.

Great work rabiddeity!
 

squall_leonhart

The Great Gunblade Wielder
Hey Rabiddiety, do you know anything about Dinput drivers?

the guys who are maintaining XBCD (since redcloud is awol) could do with some help implementing support for wireless xbox and xbox360 controls
 
OP
R

rabiddeity

Plugin Hacker
Almost everything I know about DInput I learned from reading the docs online... but if you want me to take a look at their code or give some feedback go ahead and PM me with their contact info.
 
OP
R

rabiddeity

Plugin Hacker
Fixed the French language plugin. Somehow the window styles had gotten messed up in my source files. Should work OK now.
 

painkiller78

New member
Well, I have an Adaptoid and I use it with Project64, right now I'm using real N64 MemPack connected to the controller, and the last debug build version V2 2.1-Debugbuild, downloaded from the rabiddeity's signature date 4/5/2007 10:06AM.

Right now I configure the plugin to use Adaptoid Pak, but have the following issue,
I had tried with a few of my favorites games, like Castlevania, Shadowman, Perfect Dark, Cruisin'USA, Nuclear Strike, etc and all of them worked fine, but there's one, Fighting Force 64 that along with this input plugin makes the emulator runs very slowly, the r4300i in PJ64 status bar show almost 90-95% execution and the VI drops to 20-30, at least on my computer, don't know in a more powerful computer.

Also, I noticed this, if I enabled the Adaptoid pak in the plugin, and start Zelda OoT, the game becomes very slow, if I assign a key to a shortcut for MemP<->AdaptoidP switching, and switch to a MemP simulated memory pak the game runs normally, but when I switch back to Adaptoid Pak, it slow down again.

The same behavior that in Fighting Force, extremely high r4300i emulation, and other cores running between 0-4% execution, when configured to use Adaptoid Pak, runs normal if switch to MemPack mode.

I know that Zelda doesn't use the MemPack, it used a battery backed ram, but it seems strange to me that this game exhibit this behavior.
Also noted this, if I use the Adaptoid Plugin that comes with Project64 1.6, Zelda:OoT runs normal, other memory pack based games runs fine, with a few exceptions, mainly in games like SuperMan, DukeNukem Zero Hour, Fighting Force :) again, when the game doesn't seem to recognize that I have a real MemPack plugged on my controller, and ask me to insert it over and over again, which was at last the main reason for which I decided to try NRage plugin.

Also, as a suggestion from squall_leonheart, I uninstalled the adaptoid drivers, to test again the emulator, just windows xp standart usb drivers, and with no luck, the plugin presented the same behavior.
 
OP
R

rabiddeity

Plugin Hacker
Right now the direct Adaptoid driver part of things is REALLY ugly. To be honest it needs to be rewritten. I picked up an Adaptoid to test it myself but I haven't been able to find an N64 controller for sale at any of the secondhand shops in my area. Right now it's looking like I'll have to wade through online auctions in Japanese or make a trip down to Tokyo to pick one up.

The reason I think it's so slow is because the NRage driver is trying to translate all the calls from the emulator instead of directly passing them. Basically the N64 controls work like this: N64 sends a query to the controller. It waits a while, and then the N64 reads the response. It takes the controller some time to respond, in the neighborhood of 15ms. When making calls through the Adaptoid driver, the driver does not return control to the plugin until the data has been read and passed back: this takes about 15ms. This delay is what's causing the slowdown. But if we switch to making calls directly to the controller, we can eliminate this wait. I can write and test the code to do that as soon as I find a N64 controller.

Now that the other bugs have been fixed, this is top priority. This has been bothering me since I first looked at the 1.83 code, and I'm not going to release 2.1 final until this is rewritten.
 

painkiller78

New member
Right now the direct Adaptoid driver part of things is REALLY ugly. To be honest it needs to be rewritten. I picked up an Adaptoid to test it myself but I haven't been able to find an N64 controller for sale at any of the secondhand shops in my area. Right now it's looking like I'll have to wade through online auctions in Japanese or make a trip down to Tokyo to pick one up.

Oh, I see, I though that it was the plugin..
As for the controller, nintendo sell new ones on their web site, that's where I got mine last year, don't like used controllers, they are always all smashed up and weak because of the use..
http://store.nintendo.com/webapp/wcs/stores/servlet/ProductDisplay?lastAction=setCurr&jspStoreDir=NOASTORE&languageId=-1&catalogId=10001&categoryId=14753&productId=354&currency=USD&storeId=10001&ddkey=ChooseView

On eBay there's a lot of controller for N64, original, third party, used, new.. well the list of URL is huge.. don't know why you want to go Tokyo to get one :)

By the way
Nice work with this plugin, back 3 years ago, I had a Logitech RumblePad wireless and it was the plugin that I used to play on Project64, I think it the best, and your overhaul is awesome, you rule man... :batman:
 
Last edited:
OP
R

rabiddeity

Plugin Hacker
Thanks for the feedback!

Heh, I'd buy from eBay or the NOA store but most sellers won't ship to me in Japan. I've got a couple controllers back home, but again I'd have to have them shipped here. Right now I don't really mind if the springs are worn out as long as all the buttons and the stick work. Ironic, isn't it, that I can't get a Japanese game controller in Japan! Guess I'll have to call up some more secondhand shops here and see if I can dig one up.
 

Legend

New member
Upon loading a profile, the "Force Feed-back device" reverts to "none". Tried the last and current build, both have this bug.
 

Chumly

New member
Hi all,

I downloaded the binary from the first page of this thread, unzipped it, and placed the plugin in Project64's plugins directory. I opened the program but upon clicking 'Settings' from the Options menu I get an error message saying that "The application has failed to start because MSVCR70.dll was not found."

I have never heard of the MSVCR70.dll and don't know what to do from here.

EDIT: I just downloaded the 2.1 Debug .dll in rabiddeity's sig, and the problem is gone. Okay, never mind. Sorry. :flowers:
 
Last edited:

iasse

New member
Hi all i have a little question.
I have read on the forum thaht the pluggin support RTC for the pokemon games with the Stadium version/gameboy game.

I have tested and with VirtualBoy Advance it's work fine. But i use generaly an other emulator, GnuBoy Smartphone, a portage of Gnuboy for Smartphones. I have tested these saves, but they are 2 differents files. A .sav wich is recognize by Project64, and a .RTC file. i think this is for the RTC function. But it seems not work. In Pokemon Stadium, the clock is corrupted so i can't exporte the gameboy data.

Nrage will support .RTC files in the futur ?
 
OP
R

rabiddeity

Plugin Hacker
Hold on, I think I see where this is going. The RTC data in the real cart isn't stored in the flash or battery backed RAM; it has its own area of the chip where the clock is incremented. The way VBA stores the battery backed RAM to a file, and then tacks on the raw RTC data to the end of that same file. This emulator apparently stores the battery backed RAM to a file, and then saves the RTC data to a separate file. Neither way is *right*, it's just that most emulators that support RTC have chosen to do it the VBA way.

iasse, if you could post the save files (sav and RTC, NOT the rom) I'll check and see if my assumption is correct. If so, it shouldn't be too hard to add in support for it.
 

squall_leonhart

The Great Gunblade Wielder
rabbiddiety.. i found an isssue and it exists in both 1.7 and 1.6

when the plugin is setup for a gamepad, and remove the gamepad then try to launch a rom, the emulator crahes...

this is a regression from earlier builds, as they would reset to keyboard mappings.... i think this is because you haven't setup the default mappings or something? you mentioned something about it a bit back.
 

Iconoclast

New member
Not exactly a bug, but a bit of misinformation to the user (you can change these settings during emulation):

N-Rage_Glitch.gif


Also, it won't let you switch mempaks during emulation, so shouldn't the white box on the left be grayed out? Just some basic points I thought I'd..
 
Last edited:

Legend

New member
I already mentioned this "runoff" and I think Rabiddeity either fixed it in the debug or is going to. Make sure your using the 2.1 debug-it's the latest. And greying out the "white box" probably isnt neccessary since that button becomes greyed out and is not selectable during gameplay and even the text on it says to user the directory can't be changed. And you can change the mpk while running, just not the directory, I do it all the time. I boot the game with the rumble pak (default), if the game uses an mpk, I open up the dialogue pick the mpk for my game and click "use". Then I can toggle between the rumble and mpk with shortcut keys.
 
Last edited:

Top