Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1142)
Joined: 5/1/2010
Posts: 1217
lsnes can run core and display at different rates. So even if vsync is enabled (there's no explicit control for it), the core can run faster than monitor vrefresh.
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1142)
Joined: 5/1/2010
Posts: 1217
lsnes is based on bsnes core, which is slow.
- Is this some self-compiled version or some stock one (selfcompiled could be accuracy core, stock builds are compat core)?
- Is this SGB game? Those are SLOW.
- Also, does the game use enhancement chips, some of those are slow to emulate?
Then there was an issue that caused lsnes to set speed to 60% on startup (but speed select still works).
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1142)
Joined: 5/1/2010
Posts: 1217
From submission text: "This run aims to reach the fastest but not no getting hurts."
Did you mean no death (I saw plenty of damage while watching the run on fast forward while dumping)? Would abusing death even save time?
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1142)
Joined: 5/1/2010
Posts: 1217
IIRC, The problem is caused by Gameboy allowing to turn the screen off. VBA then changes the framerate in unpredictable ways.
Then there was the issue that one run caused the emulator to hang when dumping. My guess of cause is that the game first turns the screen off and then proceeds to lock up, never turning the screen back on.
From internal VBA dumper.
Interesting about the pops in sound. I guess VBA isn't just trying to duplicate frames to maintain A/V sync...
Better to dump at correct framerate, duplicating if needed (dropping should not be needed).
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1142)
Joined: 5/1/2010
Posts: 1217
Try anything using Wiimote. Plenty of desyncs, even in versions that try to fix the problems (the versions that don't... Forget about it).
But stuff using GC controllers (including Wii games) seems pretty stable (if slow).
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1142)
Joined: 5/1/2010
Posts: 1217
Oh, some further details:
- I can't get sensible listing of how PCSX2-rr injects input because of how the repository is structured (darn SVN).
- I looked for the point input is transferred from the pad plugin to core in PCSX2 1.0.0. The data format looks quite nasty, so I presume rerecording would need to be added as special pad plugin or something.
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1142)
Joined: 5/1/2010
Posts: 1217
2 sides, 18 sectors (giving 80 tracks) most likely. Can't properly test, because whatever version of Java install I have seems royally screwed.
The .img file should be 1,474,560 bytes in size.
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1142)
Joined: 5/1/2010
Posts: 1217
Note: the on_snoop (and on_snoop2, which just differs in port numbers it passes) Lua callbacks are explicitly meant for dumping data for console verification.
There should be an example script earlier in this thread.
As for runs on bsnes core:
- 2055M (Actraiser 2): Might be a good candidate.
- 2047M (Chrono Trigger): Requires resets, not verifiable.
- 2073M (Speedy Gonzales): Rare version[*], hair trigger with timings.
- 2000M (Speedy Gonzales): Rare version[*], hair trigger with timings.
- 2296M (Lost Levels): Very good candidate to attempt verification on.
- 2280M (Congo's Caper): ???
- 2250M (Timecop): ???
- 2277M (Metal Max Returns): ???
- 2337M (Super Mario World 2): ???
- 3517S (Yoshi's Cookie): Needs two controllers.
- 3779S (Super Star Wars): Extreme hair trigger with timings.
[*] The version that does NOT have the Acclaim logo. I haven't found any gameplay-relevant differences between the two versions (all glitches and tricks I know work in both versions). Still timings are different enough to cause movies to desync fast.
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1142)
Joined: 5/1/2010
Posts: 1217
There is an archive containing all torrent files on the site. And also RSS feed linking current encodes.
And just the set of current encodes is about 194.54GB as of now.
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1142)
Joined: 5/1/2010
Posts: 1217
IIRC, newer mednafen-rr versions have totally broken movie recording for anything except PCE(CD), since MC2 won't support anything else.
IIRC, the newest version that works is SVN r144 or something like that (no idea about how version numbers correspond to releases). Those versions use MCM, which can record Lynx.
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1142)
Joined: 5/1/2010
Posts: 1217
It is lazy way, but it is very easy for quick'n'dirty encodes. That's where the second mode comes to, where video is made to sync with audio by giving timestamp for each frame (variable frame rate).
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1142)
Joined: 5/1/2010
Posts: 1217
Build being able to dump the sound into AVI file is pretty much a dead giveaway of AVhack.
As for the reason to duplicate/drop frames: To keep the video synced with the audio.
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1142)
Joined: 5/1/2010
Posts: 1217
Are you using stock dolphin or AVhack one (the stock dolphin has really bad A/V desyncs)?
- The stock dolphin emits one frame per what is shown as VI (that is, drawn frames).
- The AVhack dolphin if dumping internal sound duplicates and drops frames as needed to keep video framerate constant.
- The AVhack dolphin if dumping external sound emits timecodes file that shows when each frame is supposed to appear.
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1142)
Joined: 5/1/2010
Posts: 1217
Damn hell... I just read the source... There are THREE different things involved.
- True VIs.
- Screens drawn.
- Input frames.
- VI is screens drawn. This explains why it doesn't increment while loading.
- Frame is input frame (quite sensible).
- FPS is number of screens drawn per wallclock second.
- VPS is number of true VIs drawn per wallclock second.
Well, this is just display stuff... But where it gets serious: The movie code seems to use screens drawn as number of VIs. Which would be VERY WRONG, because it leads to wrong movie times.
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1142)
Joined: 5/1/2010
Posts: 1217
VIs occur at approximately constant rate, so those are used to calculate the time. Frames are at game control, and there can be multiple per VI or none at all.
So minimizing VIs minimizes the time.
Also, VI counter freezing during loading? One would think that frame counter would freeze and VI counter continue to count up...