What's new

NRage Input Plugin V2.00 BETA (an overhaul)

p_025

Voted Least Likely to Succeed
[...]
Any plans on looking at the reinst times for paks possibly alllowing the "Switch paks" shortcut to work better? And I take it that the missing rumble in some games still can't be fixed?
I'm thinking your missing rumble and the re-init times for the controller paks might be related. Maybe if that were increased not only for the sake of the "Switch paks" feature but for starting emulation and any other valid times as well, this could be fixed. Just a random theory of mine, I really haven't the slightest idea what was causing the bug or how this really works. Probably the biggest contribution I could do for this project is to clean up the UI, and I don't even know what to use for that.
 
OP
R

rabiddeity

Plugin Hacker
There is zero switch time between paks, never has been any time delay. If "remove" and then "insert X pak" works then I need to figure out a safe way to add a removal and delay before inserting the other pak. Unfortunately doing that without hanging the emulator (and thus the program seeing no delay) is gonna be tough.
 

squall_leonhart

The Great Gunblade Wielder
err, i remember like so many pages back that there actually is a delay between pack switches, that was added because of some games not redetecting the pak.....
 

p_025

Voted Least Likely to Succeed
I've also noticed trouble with the rumble. It seems to work on and off. Sometimes it won't work at all, then it'll go crazy (rumble continuously) for like three seconds then it'll be fine.

Page 16 and some subsequent pages have some stuff about it...
That depends on the user's post-per-page setting and is an unreliable indicator. Which post number? It's in the top right corner of every post's box. You can link to them too.
 
Last edited:
OP
R

rabiddeity

Plugin Hacker
OK, I've uploaded a new DEBUG version, completely untested because I don't have a rumble controller here at work. If it broke, I'll revert it. Just trying some things out here.
 

Legend

New member
Thanks for trying but no luck yet. The rumble works fine though so that's good. Someone needs to buy you a 360 controller BTW.

Switching the paks still just does not work in some games - you have to unplug then insert the new pak. It does seem like there just needs to be more of a delay or making sure the pak goes to "unplugged" before initializing the requested pak.

Try any of the San Fran Rush games. They don't work with the "switch pak" shortcut AND if you go to "create a player", it will show you in real time the pak status. Here you can see exactly what's going on with pak switching. If you can get it working here, you've nailed it! :bouncy:
 
Last edited:
OP
R

rabiddeity

Plugin Hacker
Try any of the San Fran Rush games. They don't work with the "switch pak" shortcut AND if you go to "create a player", it will show you in real time the pak status. Here you can see exactly what's going on with pak switching. If you can get it working here, you've nailed it! :bouncy:

Thanks, that's exactly the kind of thing I needed. I'll get to work on it.
 
OP
R

rabiddeity

Plugin Hacker
Good news: I fixed the performance problem with the overlay. Changed a while loop to use "Sleep()" instead. I'll use the same tactic to make a pak changing delay thread.
 

mudlord

Banned
Changed a while loop to use "Sleep()" instead. I'll use the same tactic to make a pak changing delay thread.

Hehe, I found that tactic useful in one of my current projects. Saves getting 100% CPU all the time :p

Anyways, for the ZIP support, I have a decent LGPL-licensed library that will fit your purposes. It is able to extract directly to RAM, and it supports ZIP/RAR/7-Zip. I'm just wondering on the exact specifics of how GBA ROM loading is handled, and how messy the code is before I try to tackle implementing it on a rainy day....
 
OP
R

rabiddeity

Plugin Hacker
Ha! It works! There's now a 1 second delay whenever switching paks, to give the emulated game time to figure out the pak has been switched.

The language files are gonna need a new line (Switching paks...), so I've updated the Language SDK. It won't crash, but it won't show the text either. If anyone is still updating the language files, send me a PM and I'll help you add the new line with minimal fuss.

mudlord, welcome on board. Everything you need is in the GBCart.cpp file, under the function LoadCart. As it is, we use CreateFile and CreateFileMapping to map the ROM into memory. It shouldn't be too hard to add in the functionality. You can P_malloc as big as you think you'll need, and store the pointer in Cart->RomData. I've already added a handler in UnloadCart in order to free any memory you've allocated. (Look at the RAM loading code further down, it P_mallocs and loads into RAM at Cart->RamData if it can only load read-only.) I've prepared things as best as I can, please check out trunk from the Subversion server and PM so we can give you your own branch.
 

Legend

New member
Rab, switching still doesn't work properly!!! And games are crashing when the rumble pak gets reinserted! Plus every once in awhile, a game's graphics will turn psychedelic and Zeplin becomes the BGM!! :evil:

As you may have guessed, I'm 100% kidding. I couldn't just come on here gushing and say "Wow, it work absolutely brilliantly now" or "great job" or "everything functions completely perfectly on RC3" or "thanks for looking into this and fixing it" or "you just improved N64 emulation again". That would be sorta lame...
 

mudlord

Banned
mudlord, welcome on board. Everything you need is in the GBCart.cpp file, under the function LoadCart. As it is, we use CreateFile and CreateFileMapping to map the ROM into memory. It shouldn't be too hard to add in the functionality. You can P_malloc as big as you think you'll need, and store the pointer in Cart->RomData. I've already added a handler in UnloadCart in order to free any memory you've allocated. (Look at the RAM loading code further down, it P_mallocs and loads into RAM at Cart->RamData if it can only load read-only.) I've prepared things as best as I can, please check out trunk from the Subversion server and PM so we can give you your own branch.

Coolness, I will check out the code in my download session tonight and take a look at those functions. I'm not planning to add multi-ROM archive support, since I don't know how you intend for this to be handled.
 

p_025

Voted Least Likely to Succeed
Wow. I wish this thread had seen as much activity in the past six months as it has in the past three days. I'll get the latest RC on both my machines, but I ain't gonna test it out right now. Now there's just the bug about the mouse when trying to config while emulation is active, and the whole thing with axis-to-button binding. Also, does anyone have any clue how to get GameBoy Tower working? Oh, yes, almost forgot the Adaptoid too.

Looks like good work rabiddeity, in my opinion this is the best pad plugin to date.

By the way Legend, that was very annoying. But still funny. So I'll just say That Made Me Smile (TMMS, spread it around!).

Also mudlord, good to see another accomplished name in plugin coding on board. I wouldn't bother with multi-rom archives, I'd keep all my roms in seperate 7Zs.
 
Last edited:
OP
R

rabiddeity

Plugin Hacker
I know it's a bit annoying, but can you post the bugs individually in this bug tracker? There are 76 pages of posts here and it's nearly impossible to find the mouse bug that is still applicable, for example. It will help clean things up a bit.
 

mudlord

Banned
Also mudlord, good to see another accomplished name in plugin coding on board. I wouldn't bother with multi-rom archives, I'd keep all my roms in seperate 7Zs.

Okay, I will stick with reading singular ROMs from archives.
 

Cyberman

Moderator
Moderator
I know it's a bit annoying, but can you post the bugs individually in this bug tracker? There are 76 pages of posts here and it's nearly impossible to find the mouse bug that is still applicable, for example. It will help clean things up a bit.
Why is it when I read this I just grin.
Mostly because I have experienced an equally annoying nightmare before.

I'm trying to encourage the people at work to use a BUG tracker so at least everything can be organized "this does not work as expected" doesn't help (I feel like Bill Clinton when I say "define this?").

Nice to see you alive mudlord (and doing stuff).

Cyb - latest project, making an Oscilloscope form in VCL for Agilent binary wave data dumps.
 

Top