Active player (277)
Joined: 5/29/2004
Posts: 5712
Phil wrote:
Maybe you don't have that rerecording version.
Where do we get the rerecording version, then? Is it a patch, or part of a new official release? I have trouble keeping track of all these patches floating around. Thank goodness for the patched Famtasia generator page.
put yourself in my rocketpack if that poochie is one outrageous dude
Post subject: Here's how I got VirtuaNES working.
Editor, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
As many of you know, I haven't been able to run VirtuaNES because it requires Windows and DirectX 7 and the Windows emulator*, Wine, for my operating system of choice (Linux) does not run it properly. This is what happens. Wine complains that it can't instantiate class "3c305196-50db-11d3-9cfe-00c04fd930c5". As Windows gurues know, this is the "GUID" for IID_IDirectDraw7. Looking at the system registry file (system.reg) of Winex (a DirectX supporting version of Wine from Transgaming, nowadays known as Cedega), I found out something and decided to try. Taking model of existing lines in the file, I added these lines to my system.reg file:
[Software\\Classes\\CLSID\\{3c305196-50db-11d3-9cfe-00c04fd930c5}] 1094168877
@="DirectDraw Object"
                     
[Software\\Classes\\CLSID\\{3c305196-50db-11d3-9cfe-00c04fd930c5}\\InprocServer32] 1094168877
@="ddraw.dll"
"ThreadingModel"="Both"
I launched winex, and it worked! Not. This time the GUID for complaint was 25e609e0-b259-11cf-bfc7-444553540000. So I added these lines to my system.reg file:
[Software\\Classes\\CLSID\\{25e609e0-b259-11cf-bfc7-444553540000}] 1094168877
@="DirectInput Object"

[Software\\Classes\\CLSID\\{25e609e0-b259-11cf-bfc7-444553540000}\\InprocServer32] 1094168877
@="dinput.dll"
"ThreadingModel"="Both"
Voila, it worked! Not. The complaint did not go away. Winex started speaking of stubs. So I went and looked at the Winex source code, and clearly as it was, the dinput code was all just stubs. So I downloaded the standard Wine for comparison, and to my surprise, the dinput code was complete there. So I discarded Winex and installed the standard Wine and now VirtuaNES works. Not. The complaint changed again. So I went to have a look at how this Initialize() function works. To my surprise, all it did was that it returned an "already initialized" error code. So I changed the routine to return D_OK instead and recompiled Wine. I reinstalled the dinput.dll.so file and ran VIrtuaNES. Now it works. So what from now? Now I need to find out how VMV files are constructed and how to record video and sound from VirtuaNES. A quick test revealed that my existing method for Famtasia recording didn't work with VirtuaNES. It must be using some other system call than XPutImage. *) I know, Wine Is Not an Emulator, but it does not matter in this context.
Former player
Joined: 5/22/2004
Posts: 462
This is good news for a lot of us, Bisqwit! You can now look forward to NES movies from me (If I ever finish Dracula X and other movies I've promised that I will do...)
Editor, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
It's good news only after I get AVI recording working (or after blip creates and compiles a special version for me) :)
Former player
Joined: 6/27/2004
Posts: 550
Location: New York
Indeed, I'll definitely make some runs if this works out.
Post subject: Problem with VirtuaNES movies
Editor, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
There appears to be one serious flaw in VirtuaNES movie file format.
            m_hedMovie.Control |= Config.movie.bUsePlayer[0]?0x01:0x00;
            m_hedMovie.Control |= Config.movie.bUsePlayer[1]?0x02:0x00;
            m_hedMovie.Control |= Config.movie.bUsePlayer[2]?0x04:0x00;
            m_hedMovie.Control |= Config.movie.bUsePlayer[3]?0x08:0x00;
            m_hedMovie.Control |= Config.movie.bRerecord?0x80:0x00;
//          m_hedMovie.Control |= Config.movie.bResetRec?0x40:0x00;
            m_MovieControl = m_hedMovie.Control;
The movie file does not contain a flag telling whether the movie begins from reset. The emulator author has thought that the flag is useless, since the embedded savestate is always loaded anyway. This means that we have no way of verifying that VMV submissions aren't cheated. Possible undetected cheats include: - Movie fools the judges by appearing to be faster than it is, because it's anchored to a savestate. - The embedded savestate is hacked, influencing the game. This means that VirtuaNES movie accepting has to be seriously reconsidered.
Active player (410)
Joined: 3/16/2004
Posts: 2623
Location: America, Québec
It's easy to know if it starts from reset or not. There's a grey screen at the beginning. Grey screen or not, it's true that someone can cheat. Our best bet anyway is blip FCEU rerecording patch which, for me works well, except some minor bugs that will be corrected soon.
Editor, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
And Famtasia works too :)
Active player (410)
Joined: 3/16/2004
Posts: 2623
Location: America, Québec
Bisqwit wrote:
And Famtasia works too :)
Maybe ....