Posts for Ilari


Emulator Coder, Experienced Forum User, Published Author, Skilled player (1142)
Joined: 5/1/2010
Posts: 1217
Svimmer wrote:
slamo wrote:
Shows 17.92 s, weird how the avi is so much longer. Although the game speed looks fine in it.
Could the discrepancy have anything to do with the way the game's speed controls work?
No, the AVI length vs. shown time issue is not due to issues with speed controls. Edit: Looks like the problems with speed controls are not related to the FPU, but are something else...
Emulator Coder, Experienced Forum User, Published Author, Skilled player (1142)
Joined: 5/1/2010
Posts: 1217
creaothceann wrote:
So the "TAS PC" just won't have a FPU?
Yeah, and all except quite late DOS games should fall back to software FP emulation if FPU isn't available. Also, fortunately this game doesn't support MPU-401 (one can really annoy encoders with that thing).
Emulator Coder, Experienced Forum User, Published Author, Skilled player (1142)
Joined: 5/1/2010
Posts: 1217
Looks like the issue is with FPU (the FPU is well-known to be badly emulated). I can easily reproduce the level 0 glitch with FPU present, but attempts without FPU fail. Also, I think that given the game: - CPUDiv should be raised (faster emulation, more lag, but the game is simple enough not to lag in-level even with pretty high values) - "SET BLASTER=A220 I5 D1 H5 T6" before the game and see that it detects Soundblaster (it says so in startup texts). I didn't test the level 1 glitch, but it could be caused by the same issue...
Emulator Coder, Experienced Forum User, Published Author, Skilled player (1142)
Joined: 5/1/2010
Posts: 1217
the_randomizer wrote:
What's the stance on RetroArch and Snes9x Next?
AFAIK, RetroArch doesn't have rerecording. Snes9x next isn't released yet...
Emulator Coder, Experienced Forum User, Published Author, Skilled player (1142)
Joined: 5/1/2010
Posts: 1217
the_randomizer wrote:
Snes9x 1.43 is being deprecated? That's good news :D What is the current acceptance status of Snes9x 1.52 or 1.53?
snes9x 1.52 and 1.53 are accepted as of currently.
Emulator Coder, Experienced Forum User, Published Author, Skilled player (1142)
Joined: 5/1/2010
Posts: 1217
slamo wrote:
About the timing - should I believe the time in JPC-rr, or is there a problem with my encoding? JPC-rr shows about 19 seconds at the end of the movie but the avi is 43 seconds.
The timing in emulator is accurate. The game should run at bit over 70fps. (On the other hand, the framecount on the site is garbage). Upload the actual JRSR to http://tasvideos.org/userfiles/ ?
Emulator Coder, Experienced Forum User, Published Author, Skilled player (1142)
Joined: 5/1/2010
Posts: 1217
Also note that that kind of thing (taking damage post movie end) might look bad even for runs taking damage. E.g. see Rosenkreuzstilette "Spiritia" or Rockman 4 Minus Infinity.
Emulator Coder, Experienced Forum User, Published Author, Skilled player (1142)
Joined: 5/1/2010
Posts: 1217
boct1584 wrote:
TASVideos userspace?
Can't put .gst's there. I put those into media and updated the links on publication page.
Emulator Coder, Experienced Forum User, Published Author, Skilled player (1142)
Joined: 5/1/2010
Posts: 1217
zwataketa wrote:
Just wait till you guys figure out how to do no star, no key runs. It will be going in the CerAZINESS playlist of my youtube channel.
AFAIK, Not possible. The doors are loading points which absolutely MUST be activated and the activation requires a key, no way around it. The second key absolutely can't be skipped. Skipping the first would require opening the moat door with moat filled, which is very likely impossible.
Post subject: Re: Gruefood Delight
Emulator Coder, Experienced Forum User, Published Author, Skilled player (1142)
Joined: 5/1/2010
Posts: 1217
Joker Doom wrote:
http://tasvideos.org/Movies/GruefoodDelight.html Does this page needs a complete cleanup?
Well, it looks it is in need of a cleanup... I removed some published runs, but looks like a cleanup would be needed...
Emulator Coder, Experienced Forum User, Published Author, Skilled player (1142)
Joined: 5/1/2010
Posts: 1217
alec kermit wrote:
Well it sounds fine with DSP LLE, can I at least see what it sounds like or are you telling me there's no point in continuing the TAS because it will have sound errors?
My guess is that if you dump it with AVHack as it is now, you get the sound effects (which sound fine) but music will be missing. In contrast, non-AVHack dumps will have severe A/V desync problems, but AFAIK should dump the music.
Emulator Coder, Experienced Forum User, Published Author, Skilled player (1142)
Joined: 5/1/2010
Posts: 1217
It syncs in lsnes, both with standard bsnes controller timings and experimential controller timings I whipped up based on poll test video on real SNES (those new timings still need some adjustment, but look to be quite near correct). The old movie failed on both real SNES and with the experimential timings. The changes in timings: - VBlank detection is done at cycle 0 (old) -> -128 (new) - Autopoll busy is set at cycle 0 (both) - Controllers are latched at cycle 0 (both) - Controllers are unlatched at cycle 0 (old) -> 256 (new) - Registers are not cleared (old) -> registers are cleared at cycle 0 (new). - Registers are shifted left with read bit shifted in on cycles 0,256,512,...,3840 (old) -> 384, 640,...,4224 (new). - Autopoll busy is cleared at cycle 3840 (old) -> 4224 (new). Negative VBlank detection cycle means that VBlank must have been raised that much before normal autopoll time for autopoll to start. What is not emulated: - The times things become visible can be off by a few cycles. - "Glitching" is not emulated, that is, incorrect values returned by registers (e.g. 0080 to 0100 shift reading 0180 for few cycles). That it syncs on lsnes isn't surprising, given that the new movie avoids reading autopoller registers during poll active. The hardware is a lot less forgiving on that. Oh, I determined that the old and new video when dumped from lsnes differ in 3 frames...
Emulator Coder, Experienced Forum User, Published Author, Skilled player (1142)
Joined: 5/1/2010
Posts: 1217
FractalFusion wrote:
The technical rating sort in the Movie Filter still doesn't work. All it does is order the movies in alphabetical order.
Should be fixed now.
Emulator Coder, Experienced Forum User, Published Author, Skilled player (1142)
Joined: 5/1/2010
Posts: 1217
Is that motion blur in the game or is it some encoding artifact?
Emulator Coder, Experienced Forum User, Published Author, Skilled player (1142)
Joined: 5/1/2010
Posts: 1217
alec kermit wrote:
I've been using DSP LLE Recompiler, is that OK? Or is interpreter better?
AFAIK, recompiler is better choice as it is faster and just as stable/high-quality.
Emulator Coder, Experienced Forum User, Published Author, Skilled player (1142)
Joined: 5/1/2010
Posts: 1217
alec kermit wrote:
As for the audio Ilari there are audio glitches when not using the DSP LLE, works perfect with it though. Is Nightfire not in the same boat, it's encode turned out perfect.
DSP LLE should be used for TASing (the DSP used does make difference in sync).
Emulator Coder, Experienced Forum User, Published Author, Skilled player (1142)
Joined: 5/1/2010
Posts: 1217
alec kermit wrote:
Is it OK that I'm using this Dolphin build? The input file will stay synced when the time comes to encode it with audio?
The AVHack builds are NOT meant for TASing, only for dumping runs, so those have to sync the runs from corresponding non-hacked version. Also, I am not sure, but I have impression that current AVhack builds can't properly handle DTK, so there may be trouble with the music.
Emulator Coder, Experienced Forum User, Published Author, Skilled player (1142)
Joined: 5/1/2010
Posts: 1217
alec kermit wrote:
I'm understanding this, but I'm not savvy with a hex editor. I've set the editor to 8 bytes per line and have found the first input line but how do I find line 2165 (the one I need to replace) without tapping down 2165 times
Use the scrollbar to scroll using mouse? Or use PgDn/PgUp?
alec kermit wrote:
Also what is DTK?
Way for game to do music similar to CD audio in certain other systems. Causes extra fun when encoding...
Emulator Coder, Experienced Forum User, Published Author, Skilled player (1142)
Joined: 5/1/2010
Posts: 1217
alec kermit wrote:
I started a TAS of 007 Agent Under Fire for gamecube.
That will be fun to encode... Three magic letters: DTK.
alec kermit wrote:
Can explain how to take the inputs from one .dtm and paste them in another using a hex editor.
The DTM header is 256 bytes large and each controller frame is 8 bytes (in order, starting from the first). After doing copypaste on the data, you need to adjust VI count (8 bytes at 0x000D) and frame count (8 bytes at 0x0015). The DTM file format specifications has more information.
Emulator Coder, Experienced Forum User, Published Author, Skilled player (1142)
Joined: 5/1/2010
Posts: 1217
What is known and guessed so far: Based on the videos and other data, here is my guess on the timings (just a guess, confirming would require more detailed measurements): Cycle 0 (must be 128 mod 256): Detect VBlank Cycle 128: Set Autopoll busy, Raise latch, zero autopoll result registers. Cycle 384: Lower latch. Cycle 512: Shift the autopoll registers one place to left and read new LSB from controllers, Raise clock. Cycle 640: Lower clock. Cycle 768: Shift the autopoll registers one place to left and read new LSB from controllers, Raise clock. Cycle 896: Lower clock. ... Cycle 4096: Shift the autopoll registers one place to left and read new LSB from controllers, Raise clock. Cycle 4224: Lower clock. Cycle 4352: Shift the autopoll registers one place to left and read new LSB from controllers, clear autopoll busy. Might not be correct, but is likely way closer to reality than what bsnes currently uses: Cycle 0 (must be 0 mod 256): Detect VBlank, set autopoll busy. Shift autopoll registers one place to left and read new LSB from controllers. Cycle 256: Shift autopoll registers one place to left and read new LSB from controllers. Cycle 512: Shift autopoll registers one place to left and read new LSB from controllers. ... Cycle 3584: Shift autopoll registers one place to left and read new LSB from controllers. Cycle 3840: Shift autopoll registers one place to left and read new LSB from controllers. Clear autopoll busy. But additionally glitching is seen in the captured videos. The bits are not shifting at the same time, resulting values where some bits have been copied from proper places and some haven't. Following glitched update sequences have been seen: 0080->0180->0100 and 0100->0200->0201. There are probably others. In first, bit 8 copies its value from bit 7 before bit 7 copies its value from bit 6. In second, bit 1 copies its value from bit 0 before bit 0 copies its value from serial in. Additionally, 0 and 1 bits might get copied at different times (Digital circuits are usually not symmetric with regards to 0 and 1), but this hasn't really been probed yet. One thing that might be useful: Test ROM that functioned like Masterjun's test ROM, but only showed glitched values (those that aren't F >> x, for any x, where F is the final value and >> is right shift).
Emulator Coder, Experienced Forum User, Published Author, Skilled player (1142)
Joined: 5/1/2010
Posts: 1217
Those aren't "categories", but systems. If one submits DooM demo, it gets system of "DOOM". Also, many of those demo file formats store game state and not just keypresses, making tampering easy and verification very hard. Also, I think there was a project to make rerecording version of Quake I (IIRC, by Riot2/OneEightHundred), but I don't know what came of it.
Emulator Coder, Experienced Forum User, Published Author, Skilled player (1142)
Joined: 5/1/2010
Posts: 1217
Patashu wrote:
This is unlikely because it implies that some dev has to code the operation 'transfer memory card to another instance of dolphin running in parallel' and have it be sync-stable, TASable, etc.
The only problematic part here I see is that copying the file won't happen instantaneously, so to emulate it in realistic manner would take coding some delays, during which the memory card is not available. (This is from "could this happen in reality?" viewpoint).
Emulator Coder, Experienced Forum User, Published Author, Skilled player (1142)
Joined: 5/1/2010
Posts: 1217
creaothceann wrote:
Have you checked anomie's docs on RHDN?
Yeah, I saw that document, and those guessed timings were heavily based on that (and one page giving oscillator outputs), but didn't seem to reproduce the same results (sprites visible on with oddly scrolled background) as seen on the console (black screen). Of course, there's a chance that those timings I intended were buggily implemented...
Emulator Coder, Experienced Forum User, Published Author, Skilled player (1142)
Joined: 5/1/2010
Posts: 1217
Weatherton wrote:
It had one issue. Near the beginning I paused the playback, not realizing that would be visible in the encode. But, if I'm removing duplicate frames anyway when compressing, would that pause be automatically removed?
Nope, because duplicate frame removal only removes truly identical frames, and that text makes it not-identical, so it is preserved.
Post subject: SNES autopoller timings
Emulator Coder, Experienced Forum User, Published Author, Skilled player (1142)
Joined: 5/1/2010
Posts: 1217
The failures in console-verifying Super Mario World glitched run[1] likely point to that the autopoller timings in bsnes core are incorrect. These timing errors are not severe enough to cause failures or even desyncs in any even remotely well-programmed game, but really mess up things when run probes these timings to extreme degree, like the SMW glitched run. I did an inspired guess[3] about how real SNES would do the polling, but alas it didn't result in the same kind of failure than on real console, so it is likely incorrect. Looks like one has to probe what the heck the real console does with those timings, which requires test ROMs and flashcarts to run those on. Unfortunately, I have none of: - SNES programming skills. - SNES flashcart. - SNES console. Some questions to resolve: - When does the SNES autopoll cycle start (it varies per frame)? - How long is the SNES autopoll cycle[4]? - When in autopoll cycle the buttons are read? - What kind of incorrect values autopoll output registers contain when autopoll is active? [1] The run syncs fine up to first executed frame, which is 4th last frame in the movie. The jump to controller registers does work[2]. [2] Simplified payload that is just one frame long does work. [3] Autopoller can't activate for first 128 cycles of VBlank, the first time autopoller is invoked, it doesn't read input and there are extra 128 cycles autopoller active flag is raised after autopoll ends. [4] One document I found says 4224 cycles (16.5*256 cycles).