Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I’m not seeing how that would work. Any frame can be the first one. The system doesn’t track which cheats are new and need to be applied for the first time.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Loading a state where the cheat isn't set yet? Then you'd frame advance without the cheat taking effect. (It's the poke afterwards that shouldn't need to be called.)
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
This is a weakness of the current implementation of the cheat system.
Currently, a cheat doesn't actually freeze an address in writable memory. Instead, it just pokes it at the start of a frame. This address can still change over the course of a frame though. So, in order for things like RAM watch to make sense, you have to reset it to the desired value after the frame as well.
And you can't simply make all pokes permanent. You may want a one time poke in hex editor for example.
This situation is evident in the core side as well, where pokes generally just end up as one time writes.
Theoretically, you can pass a variable along with a poke to tell a core whether its a freeze (cheat) or just a one time poke. In fact, as a proof of concept I just did so on my personal build for NESHawk. Then the value truly is frozen, and there would be no need for a second call. This is a tractable problem for in house cores.
But, for anything non-native, it's basically hopeless. Rewriting the desired value is the only way to do it.
EDIT: I should also note that the implementation I did for NESHawk is only applicable to the system bus. Fairly substantial restructuring would be required for it to be more generally applicable to other memory domains.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
About this TAS's ratings: This is the only TAS I can recall that made me feel physically irritated while trying to watch it. Something about how the art style combines with the movement just made it painful for my brain. So I really am not at all surprised if it gets low entertainment ratings, even if technically impressive.
Gens and emulators: When I first started TASing I thought emulators were already perfect. I was introduced to the concept of emulators from SMW ACE, so I guess I just assumed the same capability existed for other systems. It was quite shocking to see how bad things actually were. While at first I wasn't much bothered by it, as time went on my opinion hardened on the issue of accuracy, to the point where if something had no chance of working on console, then I basically consider it pointless to even make. Why bother making something wrong? It just seems like wasted effort. I know this is an untenable position from the sites perspective. Honestly though, we really shouldn't be having genesis audio issues now, there are several very high accuracy genesis emulators to learn from. So, I don't see the harm in pointing out why things aren't quite right in the movie description.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Ha! I didn't even know about that.
Yeah I have no doubt that there are numerous improvements throughout the run, I did not research it super thoroughly. I have run out of motivation for it really (I guess I just don't have the motivation to do actual TASing anymore) but I'm happy I got at least a complete WIP.
Anyone is free to use this WIP, it is pretty easy to edit, since there is no RNG, but be aware that it is not entirely sync friendly. Data is processed in slightly different ways on different frames as there is a sort of global timer. If you save an inconvenient number of frames in one level, later levels can desync (although in relatively simple to fix ways, it's not fatal) so just be aware of that.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
http://tasvideos.org/userfiles/info/51425525087708191
Alright here is a complete game 2P WIP. I believe the first half of the game to be pretty optimized. I admittedly ran out of steam on the second half so there are probably more frames to save there.
EDIT: The run also syncs on Mesen, so it's very likely it would also work on console, as one would expect from a relatively simple RNG free game.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
That's crazy. If anyone throws a trace logger at this to figure out exactly what's going on, I would be very interested to see exactly what convoluted series of events leads to this byte shift. Yes vote.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
mupen64plus has actually seen a lot of activity lately. Microcode emulation for some of the later N64 games was greatly improved not too long ago. This doesn't fix mupen's underlying accuracy flaws, but playability is certainly still improving. Also CEN64 still sees commits, but activity on it has waned.
Most every core in Bizhawk needs updating, both in house and external. I'm not sure there is any particular time frame to do it, and it's not tied to a release schedule. Just keep an eye out I guess.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
It’s very disappointing that TASing emulation hasn’t kept pace with the incredible progress of emulation as a whole. I guess it’s to be expected since just making an emulator itself must be much more rewarding then all the laborious work of adding robust TAS tools.
I certainly wish there was an lsnes equivalent for genesis, but who would do it? If it hasn’t been done by now I think it’s unlikely in the future. Heck, I was hoping for a TAS capable CEN64 by now, but no such luck.
I know BizHawk isn’t a workable solution for everyone , but out of curiousuty what is keeping cam hacks from working ?
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I'm not familiar enough with the game to find this interesting, but I seriously want to see someone try to run this on console, that would be impressive.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
http://tasvideos.org/userfiles/info/51269910871841142
Here is a new WIP which includes the first 2 levels of part 2 (in the castle.)
I went back and redid many of the earlier levels, saving a few frames here ad there and resyncing as needed.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Cool!
Honestly I think 1 player is going to be more interesting. Two player has some close calls here and there, but overall the levels are a bit too simple and the strategies a bit trivial.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Bizhawk doesn't like that the movie starts from SRAM apparently.
If I ignore that and create a movie anyway, I get this:
http://tasvideos.org/userfiles/info/51115175536913401
I don't know how hard it would be to extract the SRAM itself from the movie so it will actually run, but hope tat somehow helps.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I just made a pretty big commit to GBHawk to improve accuracy fairly significantly. A bunch of tests from Wilbert Pol (which are variants of Gekkio's tests but also a lot of cool original stuff) now work for GB. CGB is a bit behind still, but I hope to catch up a bit as I sort things out and clean everything up.
There is a little work left to do for sprite evaluation, but it's now much more accurate. Also everything is much more fine tuned as the overall maturity of the core goes up.
If anyone finds any regressions please let me know.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I think part of the problem here is in dealing with different ideas of 'authenticity.' We don't really require emulators to be true to hardware, 'passably plausible' would be more accurate of what we require. This usually comes down to easy to identify and understand metrics. We don't overclock a NES CPU for example, this is something that is easy to understand and easy to check. Beyond that it if looks and sounds right it's given a pass. I haven't ever heard anyone say 'Hey that emulator is doing DMA instantaneously, that's not authentic!' I don't think this gives much of a platform to build off of for 'authenticity' in PC games, where the dynamic nature of hardware is just part of the landscape.
My two cents would be to leave it up to the TASer and just make a judgement call as cases come up, probably based in large part on audience enjoyment.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
http://tasvideos.org/userfiles/info/50978662357332331
here is a cleaned up WIP expanded to 15 levels. Apparently the game only checks collision every other frame, so you can duck/unduck under certain enemies and save some time.
While some of the routes are pretty tight in terms of timing, there are unfortunately quite a few times where an enemy or the other player is holding up progress. Overall it looks pretty smooth though.
EDIT: also anyone can jump in and contribute if they want. It's a simple and not too serious game with just enough optimization choices to make it interesting.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I'm curious, what else is known about he roadkill spawning glitch? Are any memory addresses associated with it known?
Is it possible other entities in the game (enemies or bosses) could have spawns favorably manipulated if the glitch is better understood?
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I can agree that sending fake and precise times to a game that is supposed to be reading real time is not an ideal solution, but it's better then nothing, and we surely already accept worse nonsense then that from emulators.
Also yes vote for this TAS, it was a fun fast watch.