Senior Moderator
Joined: 8/4/2005
Posts: 5770
Location: Away
Bisqwit wrote:
I hate plugins.
Don't worry, you're not alone.
Warp wrote:
Edit: I think I understand now: It's my avatar, isn't it? It makes me look angry.
IST
Joined: 8/26/2008
Posts: 103
That's why I mostly stay far, far away from n64 emulation. At least with PS1 emulation you can pretty much get all games working with the P.E.Op.S. software plugin and the Eternal SPU plugin.
Former player
Joined: 9/1/2005
Posts: 803
pirate_sephiroth wrote:
hey, mz... why do you insist on using 1-9 to save and F1-F9 to load? <...> Change them to the snes9x standards... F-key load, shift+F-key saves... press ] for frame advance... shift+8 for toggle read-only.
The snes9x standards are only acceptable because you can change the damn things. I always change the save state keys to 1-0 anyway, as I hate the shift+f key input due to requiring more keys than necessary and causing pain on my finger after a while of repeated use. If plausible, I'd say make all relevant and useful keys like save states, frame advance, etc. be re-mappable so that each person can adjust things to their own preferences. That way everybody wins.
mz
Player (79)
Joined: 10/26/2007
Posts: 693
Bisqwit wrote:
That sounds like trouble. Because when I'm making movies, I use the sound as an indicator of actions and a timing guide. It is very important to me. Not to mention that the way suggested doesn't sound quite desync-proof...
Everything is very far from being "desync-proof" right now. But these plugins should be mostly "desync-proof": -No Sound 0.4 -Pete's MIDAS Audio Driver 1.7 -Seal Audio Driver 0.8 You can use any of the last two if you need sound.
Bisqwit wrote:
(Trying to select the paths for plugins etc.)
You don't need to do that. The package I made already has all you need to start using it inside the "plugin" folder, which is the PCSX default. Try puting other plugins in there, if you think you need them.
Bisqwit wrote:
(Trying to load up a game.)
It's easier for me to use a disk image emulator like Daemon Tools and only use the provided PEOpS CDR plugin.
Bisqwit wrote:
Uh, how do you return to the menu in PCSX without ending the game? I tried esc, but I could not resume the game after that.
"Emulator"->"Run" to resume. Thanks for testing it. It's still a very experimental version, which was only released because some people asked for it. I'll try to "finish" it within the next days (AVI recording and a real movie file format are the most needed stuff). EDIT: removed offensive language, added planning for the near future. :P
You're just fucking stupid, everyone hates you, sorry to tell you the truth. no one likes you, you're someone pretentious and TASes only to be on speed game, but don't have any hope, you won't get there.
Active player (308)
Joined: 2/28/2006
Posts: 2275
Location: Milky Way -> Earth -> Brazil
Atma wrote:
The snes9x standards are only acceptable because you can change the damn things. I always change the save state keys to 1-0 anyway, as I hate the shift+f key input due to requiring more keys than necessary and causing pain on my finger after a while of repeated use.
I like the snes9x standards better because it's impossible to overwrite a relevant savestate by accidentally pressing the save key. You can't press shift+F1 by mistake. And, mz are we forced to use that input plugin? The L&R buttons are mixed up there...
"Genuine self-esteem, however, consists not of causeless feelings, but of certain knowledge about yourself. It rests on the conviction that you — by your choices, effort and actions — have made yourself into the kind of person able to deal with reality. It is the conviction — based on the evidence of your own volitional functioning — that you are fundamentally able to succeed in life and, therefore, are deserving of that success." - Onkar Ghate
Bisqwit wrote:
Drama, too long, didn't read, lol.
mz
Player (79)
Joined: 10/26/2007
Posts: 693
pirate_sephiroth wrote:
And, mz are we forced to use that input plugin? The L&R buttons are mixed up there...
Hah, you're right. I never noticed that... I guess you can use any plugin, but I haven't tested with any other yet. By the way, at the moment I'm trying to write all the configurable hotkeys stuff for both PCSX and FBA. It's really difficult. :D I can't even understand how the other emulators do it.
You're just fucking stupid, everyone hates you, sorry to tell you the truth. no one likes you, you're someone pretentious and TASes only to be on speed game, but don't have any hope, you won't get there.
Joined: 3/7/2006
Posts: 720
Location: UK
Something like
def OnKey(event):
    keypressed = event.scancode
    triggered = KEYMAPPINGS[keypressed]
    if !triggered: return
    else EmulatorFunctions[triggered]()
Voted NO for NO reason
Joined: 1/3/2006
Posts: 334
well it seems to have some problems when using a controller as an input device, not the keyboard. I tried some plugins but all I found didnt detect the controller (which si strange cause epsxe fe does). Then I finally found a plugin that recognised my controller (harakiri) but well, the input is not recorded ?-(
mz
Player (79)
Joined: 10/26/2007
Posts: 693
@Phallosvogel: those plugins that don't record input should start working once I rewrite all the input recording stuff. Also, it will be possible to record 2 players, analog controllers, etc. once I do this. In the meantime, if you want to use your controller with any app that doesn't support it, you can use Joy2key or Xpadder. @LagDotCom: Thanks, even though that doesn't look like C, which is what I'm needing (I think :P). The main problem is that I don't know how to wait for a user keypress, how to detect when the user actually press *any* key and then save what key did he press. (And then, detect if he wasn't pressing at the same time another key (like Shift, for example), and then save all that and load all that and make all those dialogs. It'll be a lot of work... Now I understand why most emulators don't have configurable hotkeys.)
You're just fucking stupid, everyone hates you, sorry to tell you the truth. no one likes you, you're someone pretentious and TASes only to be on speed game, but don't have any hope, you won't get there.
Editor, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
mz wrote:
Now I understand why most emulators don't have configurable hotkeys.)
You could just check out how snes9x-1.51 does it.
        keymaps.push_back(strpair_t("K00:9", "ToggleTransparency"));
        keymaps.push_back(strpair_t("K00:minus", "DecFrameRate"));
        keymaps.push_back(strpair_t("K00:S+minus", "DecFrameTime"));
        keymaps.push_back(strpair_t("K00:C+minus", "DecTurboSpeed"));
        keymaps.push_back(strpair_t("K00:A+minus", "DecEmuTurbo"));
        switch (event.type)
        {
        case KeyPress:
        case KeyRelease:
          S9xReportButton(((event.xkey.state&(ShiftMask|Mod1Mask|ControlMask|Mod4Mask))<<8)|event.xkey.keycode, event.type==KeyPress);
          {
              KeyCode kc=XKeysymToKeycode(GUI.display, XKeycodeToKeysym(GUI.display, event.xkey.keycode, 0));

              if(event.xkey.keycode!=kc)
                  S9xReportButton(((event.xkey.state&(ShiftMask|Mod1Mask|ControlMask|Mod4Mask))<<8)|kc, event.type==KeyPress);
          }
          break;
void S9xReportButton(uint32 id, bool pressed){
    if(keymap.count(id)==0) return;
    if(keymap[id].type==S9xNoMapping) return;
    if(maptype(keymap[id].type)!=MAP_BUTTON){
        fprintf(stderr, "ERROR: S9xReportButton called on %s ID 0x%08x\n", maptypename(maptype(keymap[id].type)), id);
        return;
    }

    if(keymap[id].type==S9xButtonCommand)        // skips the "already-pressed check" unless it's a command, as a hack to work around the following problem:
    if(keymap[id].button_norpt==pressed) return; // FIXME: this makes the controls "stick" after loading a savestate while recording a movie and holding any button
    keymap[id].button_norpt=pressed;
    S9xApplyCommand(keymap[id], pressed, 0);
}
void S9xApplyCommand(s9xcommand_t cmd, int16 data1, int16 data2){
<...>
    switch(cmd.type){
<...>
      case S9xButtonJoypad:
        if(cmd.button.joypad.toggle){
            if(!data1) return;
            uint16 r=cmd.button.joypad.buttons;
            if(cmd.button.joypad.turbo) joypad[cmd.button.joypad.idx].toggleturbo^=r;
            if(cmd.button.joypad.sticky) joypad[cmd.button.joypad.idx].togglestick^=r;
<...>
      case S9xButtonCommand:
<...>
            switch((enum command_numbers)(i=cmd.button.command)){
              case ExitEmu:
                S9xExit();
                break;
              case Reset:
                S9xReset();
                break;
<...>
And as for saving those mappings and making them customizable, snes9x saves them into $HOME/.snes9x/snes9x.conf, which can be edited with any text editor (think notepad). This kind of things I love. I agree creating an input configuration dialog might be difficult, and I would anyway much prefer a configuration file I can edit with my tools of choice (this excludes Windows Registry btw) over any average dialog.
Active player (308)
Joined: 2/28/2006
Posts: 2275
Location: Milky Way -> Earth -> Brazil
Phallosvogel wrote:
well it seems to have some problems when using a controller as an input device, not the keyboard. I tried some plugins but all I found didnt detect the controller (which si strange cause epsxe fe does). Then I finally found a plugin that recognised my controller (harakiri) but well, the input is not recorded ?-(
Did you check the "Devices" tab? You need to select which thing you're gonna use for that controller before setting up the buttons. Anyway...Bisqwit, Windows isn't that bad... And this is a nice joke
"Genuine self-esteem, however, consists not of causeless feelings, but of certain knowledge about yourself. It rests on the conviction that you — by your choices, effort and actions — have made yourself into the kind of person able to deal with reality. It is the conviction — based on the evidence of your own volitional functioning — that you are fundamentally able to succeed in life and, therefore, are deserving of that success." - Onkar Ghate
Bisqwit wrote:
Drama, too long, didn't read, lol.
Editor, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
mz wrote:
Bisqwit wrote:
Uh, how do you return to the menu in PCSX without ending the game? I tried esc, but I could not resume the game after that.
"Emulator"->"Run" to resume.
The only thing '"Emulator"->"Run"' does for me is attempt to resume the game but fail and end up freezing. Also, I have no way of resetting the game other than closing the emulator. "Emulator"->"Reset" doesn't do anything. When prompted to select a ROM/ISO, if one refuses, one is booted out of the emulator. Why? I know Bisqwit already said this, but I don't understand the "cannot play ISO" (or something) messages when it seems to play ISOs perfectly. Anyway, good work, mz. I tried out the emulator (v0.0...06) and I like it. However, I get desyncs frequently while making a movie, so I have to check my work consistently.
Active player (308)
Joined: 2/28/2006
Posts: 2275
Location: Milky Way -> Earth -> Brazil
After pressing ESC, "emulator->run" always returns to the game... if it fails, must be some game compatibily issue. Also, "emulator->reset" RESETS the thing, and you have to go to "File->run CD" to play. The ISO plugin is a piece of crap. Mount your ISO with Alcohol or Daemon to play.
"Genuine self-esteem, however, consists not of causeless feelings, but of certain knowledge about yourself. It rests on the conviction that you — by your choices, effort and actions — have made yourself into the kind of person able to deal with reality. It is the conviction — based on the evidence of your own volitional functioning — that you are fundamentally able to succeed in life and, therefore, are deserving of that success." - Onkar Ghate
Bisqwit wrote:
Drama, too long, didn't read, lol.
Joined: 8/31/2006
Posts: 48
This may well be a moot point since you're working on a new movie format, but hell... v6 still ignores the last line of the movie. If you still wanna look into it, this SOTN movie should end with a slide just after grabbing the cross. If I edit out the last frame (which is empty) in say, Notepad++, the slide is not performed.
There is a whole new world beyond these walls. Break them down.
Emulator Coder, Former player
Joined: 8/12/2007
Posts: 102
mz: If you can get this X6 movie to sync at all, it might help you to track down a desync problem. On my computer it has about a 50-50 chance of desyncing or playing correctly. Playing correctly: At about 5000 frames, X enters the second boss door walking Playing incorrectly: At the same point, he "floats" through the door - this is because of an extra frame sometime before. I've set the movie up in a way so it should recover from that desync and if the movie "completes" it should desync in Rainy Turtloid's stage.
Joined: 3/7/2006
Posts: 720
Location: UK
Okay, I've been trying out making a movie! I set up everything as stated, then stepped through Blaze & Blade, creating a character and saving it to memory card. Played it back, desyncs on the first card flip. Mmm, okay. So I painstakingly cut and pasted big lines of 1s in movie.txt until it all finally worked and generated the character correctly, then saved it again. Played it back, woo! It works. And actually ended up 8k smaller than last time. Somehow. Copied both movie files onto my own computer, tried them in the emulator. Neither syncs. Wha? Yes, each time I made sure the memory cards were clean, too. Just in case.
Voted NO for NO reason
mz
Player (79)
Joined: 10/26/2007
Posts: 693
Cool, people are starting to test this emulator just when I'm trying to focus in FBA for a while. :P And there seems to be a lot of desyncs... I've only found the cause for a few of them (mainly related to loading states and resuming emulation), but I almost haven't played with this at all since the last release. @paul_t: on my computer, X always floats through the door. I've played the movie hundreds of times, but he never walked through it. :\ @Hellfish: link is broken. :P But with your explanation hopefully I will be able to track it down now... @LagDotCom & FractalFusion: some games sync better than others. I've played almost all Megaman 8 and CSotN, and they don't desync when replaying the movie file. And then, Metal Gear Solid desyncs in the very first few seconds. But, most games sync very well. I've found out that most desyncs occur when you try to load or save a state when there's lag in the game, or when it's loading data from the CD. I'll come back to PCSX when I finish the configurable-hotkeys stuff I'm trying to make for FBA.
You're just fucking stupid, everyone hates you, sorry to tell you the truth. no one likes you, you're someone pretentious and TASes only to be on speed game, but don't have any hope, you won't get there.
Joined: 8/31/2006
Posts: 48
http://cmmdb.heliohost.org/serve/bug.txt Damnit, I used to be able to post shortened links.. Also, regarding states and lag: I've found it pretty much always work if you simply load the savestate twice. Works for me when I load states in SOTN before the initial loadlagperiod is over.
There is a whole new world beyond these walls. Break them down.
Active player (278)
Joined: 5/29/2004
Posts: 5712
Bisqwit wrote:
If it even used the current working directory as the base, it would be great. But apparently, since Windows 95, the concept of current working directory was promptly thrown out the window. So it always assumes that you want to save to My Documents or to your desktop.
Hmm, weird, 'cause for me, Windows XP does seem to keep track of my current working directory, or at least it remembers the last folder I where saved or opened a particular kind of file.
put yourself in my rocketpack if that poochie is one outrageous dude
Active player (308)
Joined: 2/28/2006
Posts: 2275
Location: Milky Way -> Earth -> Brazil
Yeah, Windows remembers it, but for each program separately. MUPEN is just this bad... even though you have a ROMs folder right beside it, it still starts at "My Documents". Anyway, here's PCSX-RR v0000006 with the key mapping more similar to VBA (frame advance on BACKSLASH and pause on PAUSE/BREAK) Also, Segu's input plugins. http://mihd.net/xd4angm
"Genuine self-esteem, however, consists not of causeless feelings, but of certain knowledge about yourself. It rests on the conviction that you — by your choices, effort and actions — have made yourself into the kind of person able to deal with reality. It is the conviction — based on the evidence of your own volitional functioning — that you are fundamentally able to succeed in life and, therefore, are deserving of that success." - Onkar Ghate
Bisqwit wrote:
Drama, too long, didn't read, lol.
Player (244)
Joined: 8/6/2006
Posts: 784
Location: Connecticut, USA
This is pretty killer stuff. I literally was able to make a WIP of a tiny part of Spyro 2 and replay it without desyncs. It emulates perfectly. Unless I'm missing something major, people should be able to TAS PSX games, no?
Editor, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
I don't know if the desyncs are because of ISO rather than BIN. I have a Mega Man X4 ISO and it desyncs often while recording (not while playing back, though some sound plugins (P.E.Ops in particular) may desync playback. I also assume that the only Mega Man 8 and Mega Man X5 ROMs going around are BIN files, since that's what I got, and PSX ROMs are rare. No desync reports from any of those games so far.
Joined: 3/7/2006
Posts: 720
Location: UK
I've tried Blaze & Blade, Descent, Alundra and Tekken 3 (Online Hack), and all of them desync very quickly. I'm using the recommended settings. Any ideas what's going wrong?
Voted NO for NO reason
Player (147)
Joined: 7/12/2006
Posts: 264
Location: Brazil
I tried to encode a movie, but doesn't have sound. Is this normal? I already changed the audio settings for the playback, but when I encode, doesn't have sound. :\
Editor, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
Dark Fulgore wrote:
I tried to encode a movie, but doesn't have sound. Is this normal? I already changed the audio settings for the playback, but when I encode, doesn't have sound. :\
The GPU plugin does not record sound. To do that, you need a sound plugin that records sound. For example, P.E.Ops (but, for me, that one desyncs my playback). See its configuration settings.