Posts for feos


1 2 350 351 352 439 440
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
Yes. In theory whatever can be displayed like that, but in original peops all HUDs are not so handy. Observing possible Abe's fix for TAS gpu now.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
Will see if hacking the very game fix into TAS gpu is even possible.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
Added basic HUD for Abe games: Post #347230
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
Hi guys I made a patch for you.
Dooty wrote:
Even during movie playback? If so, we still have the video plugin problem; I was not able to display even a single digit on screen using Lua.
http://code.google.com/p/feos-tas/downloads/detail?name=pcsx-hud.exe
Log message wrote:
pcsx: Added HUD (frame, lag, input) for non-tasGPU plugins. Enable FPS display to see. OpenGL2 doesn't support this, but who TASes with it?
For now I have no idea if drawing pixels can be hacked into original peops. I used displaytext callback here. Can add a lua function for that as well if you want to mess around with this HUD. EDIT: Also, movie mode now resets after you press Esc.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
I guess the easiest thing to try in the first place was muxing not to mp4, but to mkv. mkvmerge tool and the container itself are known for more stability than mp4box. They are also somehow easier to work with. Here's the command line for muxing with mkvmerge for your files:
mkvmerge -o encode.mkv --compression -1:none output.mp4 output.ogg
I have no idea if it supports m4a, but you may resave your wav file as ogg as well. My mkvmerge is here: http://rghost.ru/45995179
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
You won't need path for savestates. State is stored in RAM as it is created. If it is not needed (desync lasted less than 15 frames), it will be removed from RAM. If it was used by app2, it gets dumped to disc.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
Weatherton wrote:
Sorry. I don't know off hand. It's on my desktop at home.
Was it at least some version of Glide64 or another plugin like Rice?
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
New edition. http://code.google.com/p/feos-tas/source/detail?r=582 Now we have lua hash implemented in pcsx. It uses the framebuffer provided by lua loop that co-operates with GPU (also used by dgscreenshot for example). It was proven, that it never matters what GPU was used to make a state, when you load it, you get the picture you need at proper resolution. It means, we can do all passes with lowres TAS GPU and move to hires antialiasing when capturin, it will look proper. So we can rely on lua hashing pretty much. If we could keep 2 instances in sync, we won't ever need frequent backup savestates. If framecount of one instance overruns another, it must be set to sleep. Once check instance (eternal) finds the first desync, partol instance (tas) makes a state and freezes. If desync in eternal lasts 15 frames, it loads the state tas instance just created. If the state was LOADED by app2, that state is reserved. If desync disappeared, both resume running, and at the next desync this state gets replaced somehow. At the end, we will only have the necessary states. They are to be loaded at capturing. And all that can be done in lua with small expect of OOM. BUT: we can't control 2 instances with one script. Only through sockets. So, we either keep using sockets, or add some kind of interaction to pcsx, or build the external app to read the returned hashes and framecounts, make and load states, sleep instances. Probably not as hard as it can sound. But some experienced hints are needed.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
It improves this movie so much, right? [1458] PSX Crash Bandicoot (USA) by Mukki in 45:29.50
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
Ilari wrote:
One simple test ROM: Around when autopoller is active, it records values from autopoll register as fast as it can and then shows those on screen. Then hold various button combos and see what appears on the screen. If bsnes has register updates correct, holding B it should show 8000 0001 0002 0004 0008 0010 0020 0040 0080 0100 0200 0400 0800 1000 2000 4000 8000. ... It is likely correct, given that kind of behaviour makes a lot of sense from hardware POV (it is SIPO). Then after how register updates is established, one could use carefully cycle-counted code (the bsnes CPU cycle counts are likely correct) to establish when the changes happen. By carefully choosing the ops, one should be able to get to 2 cycle accuracy.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Post subject: Re: SNES autopoller timings
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
creaothceann wrote:
Ilari wrote:
Unfortunately, I have none of: - SNES programming skills. - SNES flashcart. - SNES console.
Well, byuu has all three.
It will be very kind if you bring this issue up on his forums. He can check that stuff in an evening I think :D
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
My vision of the future workflow so far. 1. Pass one - TAS SPU. Playback the movie, dump every frame hashes. Also, take savestates for every 100th (?) frame. 2. Pass two - Eternal SPU. Playback the movie, hash every frame again, compare the values with the ones from the first pass. a) if mismatch, first mismatch frame gets stored in memory. b) if constant mismatch lasts 15 frames, switch to TAS SPU, load the last backup state, run to the first mismatch frame. Save state. Switch to Eternal SPU. Load state. Resume playback. c) in this case the first mismatch frame gets dumped to a file. Otherwise, the value gets replaced by the new one at the next mismatch. 3. Pass tree - Eternal SPU. Start capture, let the states from the framelist be loaded on playback. Notes about implementation and usage. First of all, one must use the same GPU plugin for hashing and final capturing. If you do antialiasing, use such a plugin right on the first pass. This ensures that you save control states with the same picture you will be using at dumping and use them without any visual difference then. Second, in pcsx, all but client and core is done by plugins completely. They output sound, video, dump them, make screenshots, etc. Regular plugins also provide lua access, for example, most GPUs have a callback to give lua the framebuffer. So, we can order it via lua and use as we wish. Right now it is how lua framehashing is implemented. But modern OpenGL2 plugin by Pete that supports antialiasing does not return any frame bitmap to lua and seems to ignore its callbacks completely. So we just can't order bitmap the fast way. There are 3 ways to grab bitmap though. Call GetScreenPic that is used by savesates and can be very slow. Call GPUfreeze that returns VRAM contents in one of the parameters. Call GPUmakeSnapshot and the delete the file to prevent overload. Each of these returns framebuffer of some kind and can be hashed. It wasn't just fully tested which would work faster. It must be decided, will one of the hashing ways be used for all cases (any GPU), or it will be made dependent on plugin (luahashing for GPUs that allow lua interacition), one of the 3 above for OpenGL2. Finally, we must work out the savestate usage: how frequently we can afford it. With no compression each is 4MB and isn't too managable. Compression 9 makes it a bit over 1MB, compression 1 gives about 2MB. If we save every 100th frame, for an hour movie we get 2000 savestates that are about 4GB in total. Recalling how huge our antialiased encodes (up to 100GB and more), we can afford such a thing.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
He started youtubing our tases back when they were almost not present at youtube at all. Mirrored quite a ton of Archive streams, and it was really good. Then, after youtube was taken into official consideration (HD encode era), his videos started becoming obsoleted.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
Since openGL2 won't give screencontents to lua (callback isn't present), and GPUfreeze would be required to use for it (which is slow), maybe really we shall create snapshots, hash the files and remove them, as you suggested earlier. Otherwise it will stay incomplete. Dunno if it shall be done only for opengl2 case, or for all cases. EDIT: Well, pcsx must also be able to hash the newly created snapshot file (even is it does not create it itself) and delete it, right? Still may be faster than lua.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
Using code=battlecity.lua tag allows to download it right from the forum post.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
So what was the working version? And what's the total size of your lossless capture? I may be interested in getting it by torrent.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
Stage one never starts for me. Framecount starts running at a high speed and the green background of menu freezes forever.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
Right, if it's a popular game, people will always post many questions. For now communicating with them requires to add the video to your favorites and checking the comments manually each time. It will also always be some side person relatively to the video hosting channel. The video uploader explaining what happens is way more convenient. Also, imo the author deserves an exception if he wants to. As I said somewhere, the author only must engage himself to keep the video description true to the site's one and up-to-date, since it's one of the main features of TVC. It must not be one-sided.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
There also such nice looking things as moving to one direction, turning for one frame and shooting to another, then turning back and resuming your way. In real time looks like it shoots from its side. Or from back. Also, all these weird movements when you reach some diagonal point not by LLLLLLLLLLLLUUUUUUUUUUUU, but by LULULULULULULULULULULULU or something. Was used here: http://www.youtube.com/watch?v=xQaHrPI56bE#t=424s
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
Maybe this better?
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
Meanwhile... http://code.google.com/p/feos-tas/source/list Fri, May 10 2013 9:08pm pcsx: Calling menu now resets movie mode. Fri, May 10 2013 8:01pm now it's possible to switch spu plugin multiple time in a single script Fri, May 10 2013 3:53pm pcsx: SPU switch looks implemented. State gets passed between pluings. Sound works. Fri, May 10 2013 5:02am Added string as param for pcsx.switchspu for dll change Fri, May 10 2013 2:35am pcsx: lua function to switch spu almost done. It loads eternal spu, but it has no sound. One can use a test script like this: Download SwitchSPU.lua
Language: lua

local key = {"V", "B"} local now = {}; local lastframe = {} function KeyEvent() for k, v in pairs(key) do now[k] = input.get()[v] now[v] = now[k]; if now[k] and not lastframe[k] then print(v) if (v=="V") then print("load spuTAS") pcsx.switchspu("spuTAS.dll"); elseif (v=="B") then print("load spuEternal") pcsx.switchspu("spuEternal.dll"); end end lastframe[k] = now[k] lastframe[v] = now[k] end end while true do KeyEvent() emu.frameadvance() end
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced Forum User, Published Author, Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11270
Location: RU
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
1 2 350 351 352 439 440