Posts for Bisqwit


Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
DK64_MASTER wrote:
So RAM is the "status" or output of the whole game, while button presses is the input. So I take it, it's impossible to directly manipulate RAM?
Indeed. Well, depends what you mean by "directly". You can mess up with the RAM with cheat codes (gamegenie etc), by "crooked cartridge" trickery and by hacking the emulator. But you can't affect it with your controller input, unless the game is programmed to do so.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Technically a movie could be tidied up by emulating the game two frames at time and checking if a particular button of the frame before previous carried any effect to the RAM. Usually games cache the buttons for 1 or 2 frames, but they don't distribute them everywhere in the RAM. Some games use them in randomness checks, but if they do, it would be found out by observing that the RAM is changed across more than two frames.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
These are Finalfighter's four choices of route in the eight boss rematches.
1: A(P*2→ W)   H(B)   W(A)  B(M)  Q(C*3 → A)  C(A)   F(M)   M(M)
2: A(P*2→ W) H(B) W(A)  B(M)  Q(P) C(A) F(M) M(M)
3: H(B) A(P*2→ W) W(A)  B(M)  Q(C*3 → A) C(A) F(M) M(M)
4: H(B) A(P*2 →W) W(A)  B(M)  Q(P) C(A) F(M) M(M)
We should most likely go with path 1 (or path 3, they should be compared). We use C to shoot Quickman until the power runs out, then switch to A and finish him (A is used in Crashman battle too, which is next). This movie by Finalfighter demonstrates how to fight Quickman with the Airman weapon. http://www.yuko2ch.net/rockman/quickair.mpg
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Twisted Eye wrote:
I didn't see any numbers in the avi, and I doubt they're in the fcm, so unless I'm missing something
Did you download the right AVI? Because I'm pretty sure they are there. Albeit in a rather small font that doesn't exactly stick out from the background that is approximately the same level of brightness. And ps. I realize now that no matter how many times BisqBot would have tried, it wouldn't have succeeded. This was just something that couldn't be predicted. And that room where I initialize the value of 70-75 (the first one displayed in the AVI) is too difficult to program BisqBot to play even once. Edit: Thanks Renalia for the feedback, and welcome :)
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Progress at last! https://files.tasvideos.org/bisqwit/rockman2-boobeamclear.avi (1.9 MB) (*) https://files.tasvideos.org/bisqwit/rockman2-shinryuu,bisqwit-pending-v2.14.0.fcm Those who were on the IRC channel tonight got better than a glimpse of what it took to make this trick actually working. In short: - I coded an assembler code tracer into fceu, since the Linux version doesn't have one - I further developed nesmock to attempt to convert VirtuaNES savestates into FCEU savestates. It is not perfect, but it's enough to copy the RAM, CPU status and memory mappings in this particular game so I could start my work. I had to do this because Finalfighter had this VirtuaNES movie that happens to perform the trick by some freaky lucky accident, and I haven't had success in doing it. The movie didn't play quite in sync by the way. - I analyzed the disassembly meticulously to find a hint of what causes the glitch. It was 2000-16000 lines of code by the way, depending on the way how it's calculated (irrelevant subroutines and loop repeats snipped away, etc) - I bisected the RAM of the game in order to find the specific variable that controls whether the trick works or not. The address is 06EE by the way. This was done by copying a savestate and using a hex-editor to copypaste&undo stuff between two savestates. - I pinpointed which values in that address make it work. The range is 70..75 in decimal by the way. - I analyzed how to make that value occur in the particular address. It is affected by taking damage, by dying, by water surface animations, among other things. Long story in short, to perform this trick, the _previous_ time you took damage must have been in X coordinate that matches something that is exploding in the current screen. I wonder if I should choose the guru or tired avatar for this occassion. It took about 8 hours to do that by the way. I think I'll go by guru this time. What this means that the rest of the movie should be a piece of cake. What 8 boss rematches, but anyway. *) The numbers displayed on the bottom of the screen are the magic numbers for the trick. Specifically, the second last number. Among other things, it indicates the X position of the last time damage was taken. It must match the X position of the object being exploding at the same time as a boobeamtrap is being killed. Which is why I take damage from the right edge.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
schneelocke wrote:
Was that sarcasm? I really can't tell. :)
It was not sarcasm.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
schneelocke wrote:
The occasional "this video is tool-assisted" message that some videos have (not the one at the beginning, but the one in the middle of the video) is annoying enough already...
Thank you for the feedback.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Tub wrote:
oh, bisqwit, isn't creativity and inventing (and maybe cookies ;)) something you can identify with? *looks confused*
Thank you for the comforting thought :)
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
flagitious wrote:
On a somewhat unrelated note there is a problem when trying to go to http://tasvideos.org/jsgames/peterbox/ it gives the trailing slash missing error and if you follow the correction it takes you to http://tasvideos.org/jsgames/peterbox// with the same error.
Interesting. The right address is http://bisqwit.iki.fi/jsgames/peterbox/, btw. Fixed.
Post subject: Re: Problem linking to TASVideos
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
My site does not allow referrals from URLs ending with .jpg, .png etc, because those are usually not hypertext documents. Agents claiming that a JPG image referred to my site are usually proxies that lie blatantly claiming to protect privacy. I realize your Wikipedia referral is different, and I will add an exception.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Since you don't have a level 8 movie yet... Here's a comparison between my and Sig VG's level 1. Sir VG is on the right. http://bisqwit.iki.fi/kala/spyvsspycomp.avi (800 kB)
Post subject: Re: Bart vs the Space Mutants (The Simpsons)
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Probably the USA version, "(U)".
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Dark Fulgore wrote:
Dark because I'm from darkness !!!
No, if you are from Brazil, you are from sunlight!
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
parrot14gree wrote:
does the new version publish rule is at least 30 seconds?
No, but it must be better than existing versions. It should also utilize techniques that are publicly known when the movie is made. Movies are often rejected if they don't do something good that they could do. What FractalFusion said is that he already knows of techniques that would make the currently published movie of MMX2 at least 30 seconds faster. So if you make a movie of MMX2, and it is not 30 seconds faster than the published movie, you fail. Regarding the desync issue -- if your movie does not work properly after a certain point, you must rerecord it. Note that you do not need to do it entirely over. Only the part that desyncs. http://tasvideos.org/UsingEmulatorTools.html#resuming_recording_
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
I encoded also this AVI using Blargg's Nes_Sound_Emu (a manually upgraded version by integrating most components from Game_Sound_Emu). It should sound a bit better than it would have with FCEU's own sound emulation. I did the same with Gimmick and Solstice, too. Both Gimmick and CV3 have a special sound chip in them. Game_Sound_Emu supports three special chips in addition to the standard NES APU, so I have already utilized 75% of its capabilities in just these three movies (or even two movies).
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Oh :-/
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Bob A wrote:
maybe you could tell us how it's pronounced. anyway, i can't think of an interpretation that sounds that great.
uhh-ohh-hoh-hah-ehheh-hah (A clever insult (oxymoron?) towards the English way of writing how something is supposedly pronounced. No, it's not the real pronounciation.) It's pronounced "aa kanerva" :) http://www.mikropuhe.com/demo.asp?teksti=aa+kanerva&asetukset=0
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
HiddenGamer wrote:
moozooh yes I can take things out of context too.
Anyone can bang a piano randomly.
Post subject: Re: Suggetion: Make the emulator movies member download only
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
graviteh wrote:
I had a reason for this. It had something to do with non members being able to encode the movies themselves, upload to youtube and claim as their own.
Sorry, I will not do this. One of the reasons is proof of movie authenticity. Yes, one could register and then download the movie… but it just doesn't feel right.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Host moozooh.weirdwire.ru not found. *Hint* it's not a good idea to embed images from your own machine that is only accessible in the net for <2 hours per day...
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
If you make a improvement that would be large enough even if sticking to the same version, go ahead and make it with either version. Personally, I don't have problem with the European version. It seems the right speed to me. :) I think "8 seconds" is large enough at this point for Solstice.
Post subject: Re: Luck manipulation...
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
NES executes an interrupt function (NMI) 60 times per second, every time the screen refreshes. Normally, the main program of the code will do certain calculations for each frame, and then wait for an NMI to occur, and then do the same calculations again, for the new frame, etc, ad infinitum. However, the CPU can only execute a certain amount of work between each interrupt, and if it happens that the CPU hasn't yet finished calculating all the work for the current frame when an NMI happens, it means that the work for that same frame will continue the next frame, and only when it's finished calculating that work, it'll wait for another NMI to occur, before starting a new frame. The game is experiencing "lag" if an NMI occurs before the main program has returned into a NMI-waiting loop. Other systems also work in a similar manner. There are exceptions; not all games have a main loop -- SMB1, for example, does all of its work inside the NMI. I haven't analyzed those in detail.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
For whoever is interested, I recorded the soundtrack of ths AVI using Blargg's NES APU emulation API instead of FCEU's own APU emulation. I configured it to generate PAL audio at 96 kHz and resampled it to 48 kHz using a lanczos scaler. (Yes, I seem to put those everywhere.)
Post subject: Re: Luck manipulation...
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
qqwref wrote:
Can we be sure that the emulator and the console compute random numbers in the same way?
It is the game which calculates the random numbers, not the emulator. However, the game calculates them with mechanisms that are subject to emulation artifacts. For example, in Rockman 1, the random counter is updated on every frame (by a part of the game code which is executed on every NMI) -- even when it lags. However, the occurances of lag depend highly on the emulator (the number of cycles it emulates per frame, and the penalties it incurs for memory accesses, etc), and because of the lag, it may be that you reach the situation at a later or earlier frame than on the real console, and thus, getting a different random value, even if you outputted precisely the same sequence of input. (This is btw why movies are not portable across emulators.) Other games might use even more volatile measures to influence the randomness, such as the horizontal scanning position of the PPU. I know of no game that does that, though.
Post subject: Re: Why one h264 video lags over the other one
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
HiddenGamer wrote:
lagging
By any chance, are you having one of these: * An obsolete display card (as in, over 10 years old) * A 24-bit screen mode (as opposed to 16-bit or 32-bit) * Display acceleration settings disabled * A powersaving mode enabled that sets the CPU frequency lower than it would be capable * A dual screen mode and the window positioned partially in both monitors As for why one video but not the other: * SMB3 updates the screen at every frame. * OoT updates the screen only at every second or third frame, depending on situation. I.e. nearly 2/3 of the frames require no power to process.