Posts for Alyosha


Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
More progress is being made on various fronts on GBHawk. Frame processing is improved so MIB the series behaves correctly and doesn't flicker now. HDMA is improved so that Worms Armageddon, which expects one cycle of HDMA transfer to occur when the screen is off, now works correctly. The linking protocol is significantly improved so that games needing double speed mode transfers in GBC double speed mode now work, and an edge case of HDMA interference is dealt with, so now Perfect Dark multiplayer works. I've found where the pokemon crystal run desyncs in GBHawk. There is some interrupt blocking that occurs when an HBlank interrupt occurs while an interrupt for HBlank is currently happening. This is un-emulated so far so I'll have to look into it.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
That information is now outdated. Gbhawk now uses constant length frames, so frame count is now an accurate representation of time.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
@Chamale: Ok Pokemon Crystal is finally fixed. Turns out it was an HDMA bug. Please try 3x again and make sure everything is good on your end. I'm making more progress at tracking down and fixing accuracy issues. I'll be checking Pokemon yellow glitched next, then trying to sync the crystal run. After that I should have all the information I need to at least have an accurate single speed mode. All of the pokemon games only run in single speed mode, so this should be pretty straight forward. Then the next step will be GBC in compatibility mode, which should be only small adjustments from single speed mode. After that the big challenge will be double speed mode. EDIT: I just added in IR support for GBC as well, it still needs testing though. EDIT2: http://tasvideos.org/userfiles/info/58572461423264950 here is a resync of the pokemon yellow game end glitch run as well.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
http://tasvideos.org/userfiles/info/58572432775661275 Here is the pokemon yellow console verified run resynced in GBHawk (again.) This isn't anything new, more just a proof of correctness for all the rework I've done since I resynced it the last time. Now I will move on to Crystal.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I've decided not to just truncate this. I did not optimize for any%, only the same rules as the current run. there are many other variables to consider, I'll leave it someone else. Feel free to reject.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I have made some pretty significant changes to GBHawk and the associated linked versions, they are pretty big changes which should help with long term maintenance and improvements. First, frames now run at a constant time interval. No more variable length frames or waiting for VBlank. This should take care of audio issues. However, input processing still happens on VBlank boundaries, so there won't be any annoying circumstances where input can change midway through a video frame just because Bizhawk cuts up the frame there. Second, the input processing method from GBHawk is carried over to the linked versions, so that each separate console now also only processes input on VBlank boundaries. This is helpful because linked modes always ran at a constant rate by necessity, but the input could happen anywhere the frame was cut. This issue is now dealt with. Third, video processing is improved, so that in linked versions there won't be anymore annoying visual glitches after loading a state. This has a slight downsize of increasing state size by quite a bit, but it's still small overall (~50KB) Finally on the accuracy front, I've separated GBC-GB compatibility mode ppu from GBC single speed mode. this will eventually allow for more accuracy improvements and hopefully more console verification. GBC in GBC mode behaves quite differently from compatibility mode, so this was a necessary and long overdue step. As always keep an eye out for regressions. I'll be testing the new changes by re-syncing pokemon yellow and hopefully the crystal run to GBHawk. EDIT: @chamale please try the dev build for pokemon crystal, it might have fixed it.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Warp wrote:
Whether to publish something on Vault or Moons is ultimately arbitrary and up to opinion. You cannot remove arbitrariness from this.
I think this is why nothing ever happens when discussions about this come up. It doesn't really matter what the poll asks or how many ways there are to answer. This is a system that runs on inertia, not utility. The perception of the poll will not change even if it's content changes.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
It's dead. I lost interest and motivation. I don't have the patience to do all the interface stuff.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
It doesn't happen on single core GBHawk? it will take a few days again but I'll look into it. Also I did a few updates so please use the most recent dev build, it maybe might fix your problem. EDIT: also please verify that the rom you are using has one of these 2 hashes:
F2F52230B536214EF7C9924F483392993E226CFB	G	Pokemon - Crystal Version (USA, Europe) (Rev A)	GBC		
F4CD194BDEE0D04CA4EAC29E09B8E4E9D818C133	G	Pokemon - Crystal Version (USA, Europe)	GBC	
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Cool, glad it works. Keep in mind that this is pretty much untested, so I would encourage you to try and think of difficult cases and see if anything breaks before seriously attempting any work. Things like SRAM have not been thoroughly looked into, and savestates haven't been verified for all cases. Also, trace logger and lag definition only follow the left console, if you need something more thorough and complicated, let me know.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Will the truncated movie still obsolete the current run?
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Cool, nice work finding an additional time save.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I did some testing and it seems to work just fine. My guess is that you probably tried to link on both consoles at the exact same time. This will not work. There needs to be some time between when the first console tries to link and the second, usually a couple of frames. This is because the first console to try linking will become the master time keeper. The second console will then be slaved to it, and will only send and receive data when triggered by the master console. When you try to link at exactly the same time, both consoles try to be the master time keeper, and cannot sync properly.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Chamale wrote:
Ah, thank you. The link buttons are working in the console window, but the games are responding as if they aren't linked. Here's a savestate of three Pokemon Yellow games prepared to trade, which aren't successfully linking. I appreciate that you're setting up this feature that may only be useful for one TAS. Hopefully I can get it working.
Alright good, so at least we're on the same page. Give me a few days to sort this out. The big advantage of in house cores is exactly for situations like this, new utilities are relatively easily built on top of an existing framework. As long as someone is actually going to use it, I'm happy to add stuff in.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I downloaded the dev build just to make sure and yes it works fine for me. (Remember that console window doesn't display anything when you first turn it on, you need to turn it on then exit BizHawk then open Bizhawk again.)
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Are you using the most recent dev build? I'm talking about View -> Display Log Window. It should display a message like this every time you hit a linking button:
Cable connect status:
LC: False
CR: False
RL: True
@scrimpeh: Sure it's possible for input to have an impact when the screen is off, especially if IRQ's are on. The correct way to time runs is with cycle count. Gambatte also requires this, as TIKevin83 pointed out in a recent submission (just to a lesser extent.) Shonumi left pretty good details on how to work out the DMG 07 four way connector, but I don't really see a compelling reason to implement it, unless someone actually has a TAS idea. Also it would run at about 15 fps.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Each frame the button is pressed is a different event , so make sure you are only pressing it for one frame. For example pressing L for one frame will link console L and C until you press L again. Also if you turn on the console log window, it will tell you the current state of the console links
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
jlun2 wrote:
Alright, thanks. Any suggestions on how to debug gameboy color games, outside simulating the z80 entirely?
Not sure exactly what you are looking for. If you want actual debugging utilities I think only BGB really has anything substantial. Maybe sameboy has some debugging utilities as well but not sure how detailed they are.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
@Chamale: I got linking working for a test. If you download the dev build you should be able to link the 3 games (only 2 at a time.) The linking controls in TAStudio are 'L' 'C' 'R'. 'L' links the left and (bottom) center consoles. 'C' links the center and right consoles. 'R' links the right and left consoles. If you are have more then one selected in a frame, they will be linked in that order of precedence. If you already have two consoles linked and you press any link button they will become disconnected. So, you can only perform one connect or disconnect action per frame. If you could do some tests and make sure things are working as expected I would appreciate it. I don't have a lot of time for detailed tests of new systems like this.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I made the first round of commits for 3x GB/C support. Just select GB3x in the multi disk bundler. (it must have 3 roms, no sanity checking.) They don't connect yet though, maybe next week. It will probably only run around 45 fps once all the connecting logic is done, and probably only 30 fps in TAStudio, but it should work at least. I imagine the uses of this will be limited to the Gen2 pokemon catch em all, but at least the capability will be there. @EZGames69: I don't really have anything to add beyond what I've written previously.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Chamale wrote:
Is it possible to record a TAS of three Gameboy Color games, with no more than two games linked at any one time? Either directly with the multi-disk bundler, or by somehow using a lot of movies that start from savestates in order to switch connected games.
Not currently, what exactly are you trying to do? This is something that could theoretically be done, but would be quite a bit of work. Edit: actually I guess it wouldn’t be that hard , maybe I can look into it.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Ha! That was awesome! Great work that was a cool level.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
It's not the rules fault if game knowledge is incomplete. The rules themselves would be quite clear; if you think a game has a maximum score but it later turns out not to, then the category is dead and your run is obsolete. At least in my mind, this is very solid and straight forward. But I also have no qualms about 'unpublishing' things, so this makes the most sense to me.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Yes exactly, the only remaining valid category would be any%, so any% would obsolete it.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Personally I don't like the idea of trying to limit tricks that allow infinite score. If infinite score is possible, then that game simply doesn't have a maximum score, no such run would exist for it. If a game was published with a thought to be maximum score run and that game was later found to have infinite score potential, then just kill off the category and obsolete it with any other category, maybe just with an explanation of the technique and why the maximum score category is now dead.