Post subject: Bizhawk: TAS Studio (Sequence Editor) _ Suggestion
Player (56)
Joined: 2/5/2024
Posts: 1
I take it this is the place to suggest or to explain yout thoughts 1. I usually TAS with Nintendo DS, which makes me use the Touchscreen and microphone. Let's say I want to write an 8 frame long sequence. Let's say I have written a sequence of inputs on the "Touch X" Column that says: 99 99 50 50 20 20 1 1. Then I select the sequence with shift, and I clone the sequence of inputs 99 times. Now, I may realize it is more optimal to write 99 99 45 45 20 20 1 1, instead of 99 99 50 50 20 20 1 1. It would be very useful if I could Select the sequence with Shift and modify the frames which contain the number 50 exclusively. Instead of deleting it whole and write the new sequence, then clone it 99 times. I find myself trying to guess if the best value is 50, 44, 51, 45 or 48 many times. And so I have to keep cloning 99 times, then deleting it all again. Sometimes I have to clone the sequence 99 times, and TAS a bit after the cloned sequences, otherwise I cannot verify if I got the result I was looking for. Then I have to delete it all again. They say madness is defined as "doing the same thing over and over", and at some point you are just tired of cloning the same sequence 99 times, leave it play, then delete it all again. Now imagine I need to do that for every number. First for the number 50, then for the number 99, then for the number 20, then for the number 1. And then I have to see how does it (the modified value of the sequence) affect the other values. Maybe 45 is better than 50, maybe 95 is better than 99, but maybe combining 95 with 45 does not work well. Maybe 97 works great with 45. It's a tedious process. I was hoping that an editor of values can be added to Bizhawk, since I have not found any. I wish that I can select my 99 clones of the sequence with shift, then edit every number 50 within it and replace it with the number 45. A "Sequence Editor". I envy word office, because their users can "Search: hellow -> Replace all with: hello", which is very helpful. I understand I'm using a movie editor, which is different than a word, but I also think a tool like that is convenient for Bizhawk TAS Studio. An experience enhancer. FOR THE RECORD: I am TASing short minigames, like a Hammer Throw spin on a touchscreen. Then I clone the spin (99 times). I see this trend on many minigames. 2. Many times, I have found myself cloning a sequence of inputs 99 times, only to have to Control Z 99 times to undo the cloning. Once per cloned sequence. It's a minor inconvenience, I can always select the 99 clones with shift and delete everything. But I'd like to have a Control Z X times option if I right click. Or to just undo the action of cloning 99 times all together. FINAL: I understand these situations might be anecdotal, but I hope they are taken into account for the next update of Bizhawk emulator.
YoshiRulz
Any
Editor, Emulator Coder
Location: 🇦🇺 Sydney, Australia
Joined: 8/30/2020
Posts: 198
Location: 🇦🇺 Sydney, Australia
The option to edit multiple cells (with a Ctrl+click selection) may already exist, I'm not sure. You can definitely "Clone # Times" already, but I think in 2.10 that creates N undo steps. In the next release it will be just 1.
I contribute to BizHawk as Linux/cross-platform lead, testing and automation lead, and UI designer. This year, I'm experimenting with streaming BizHawk development on Twitch. nope Links to find me elsewhere and to some of my side projects are on my personal site. I will respond on Discord faster than to PMs on this site.
Hey look buddy, I'm an engineer. That means I solve problems. Not problems like "What is software," because that would fall within the purview of your conundrums of philosophy. I solve practical problems. For instance, how am I gonna stop some high-wattage thread-ripping monster of a CPU dead in its tracks? The answer: use code. And if that don't work? Use more code.
DrD2k9
He/Him
Editor, Expert player (2433)
Location: US
Joined: 8/21/2016
Posts: 1179
Location: US
While we do already have the ability to load a branch and edit the current branch's text label via lua, it would be nice to have the ability to add/save/remove branches in TAStudio using lua functions.. While the savestate.saveslot() function does work for adding/saving the first 10 branches, it is limited to the 10 savestates. Would it be possible to add some lua functions something along the lines of the following so that a greater number of branches can be created/manipulated via lua?
  • add an indexed branch (optionally with the provided name)
    tastudio.addbranch(int index, , [string message = nil])
  • to save the current branch
    tastudio.savebranch()
  • to remove a specific indexed branch
    tastudio.removebranch(int index)
Editor
Joined: 8/6/2014
Posts: 38
DrD2k9 wrote:
While we do already have the ability to load a branch and edit the current branch's text label via lua, it would be nice to have the ability to add/save/remove branches in TAStudio using lua functions.. While the savestate.saveslot() function does work for adding/saving the first 10 branches, it is limited to the 10 savestates. Would it be possible to add some lua functions something along the lines of the following so that a greater number of branches can be created/manipulated via lua?
  • add an indexed branch (optionally with the provided name)
    tastudio.addbranch(int index, , [string message = nil])
  • to save the current branch
    tastudio.savebranch()
  • to remove a specific indexed branch
    tastudio.removebranch(int index)
Lua functions that reference branches should be using their ID instead of index. And there's currently no support for re-arranging branches even with the UI, so I don't think giving an index to the "add" function makes any sense. TAStudio does not know which branch is "current", any further than knowing the current set of inputs. So a "save" function must include an ID parameter. And it should be called "update", to match the UI. So this gives us
  • add a new branch (optionally with the provided text)
    tastudio.add_branch([string text = nil])
  • update a branch
    tastudio.update_branch(string branch_id)
  • remove a branch
    tastudio.remove_branch(string branch_id
YoshiRulz
Any
Editor, Emulator Coder
Location: 🇦🇺 Sydney, Australia
Joined: 8/30/2020
Posts: 198
Location: 🇦🇺 Sydney, Australia
See #4073.
I contribute to BizHawk as Linux/cross-platform lead, testing and automation lead, and UI designer. This year, I'm experimenting with streaming BizHawk development on Twitch. nope Links to find me elsewhere and to some of my side projects are on my personal site. I will respond on Discord faster than to PMs on this site.
Hey look buddy, I'm an engineer. That means I solve problems. Not problems like "What is software," because that would fall within the purview of your conundrums of philosophy. I solve practical problems. For instance, how am I gonna stop some high-wattage thread-ripping monster of a CPU dead in its tracks? The answer: use code. And if that don't work? Use more code.
Emulator Coder, Site Admin, Skilled player (1277)
Joined: 4/17/2010
Posts: 11866
BizHawk 2.11 has been released! New cores Lots of updates and fixes to other cores and EmuHawk. Full changelog: http://tasvideos.org/BizHawk/ReleaseHistory.html#Bizhawk211 Binaries: https://github.com/TASEmulators/BizHawk/releases/tag/2.11
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.
Alyosha
He/Him
Editor, Emulator Coder, Expert player (4549)
Location: US
Joined: 11/30/2014
Posts: 2962
Location: US
NESHawk has suffered some regressions in t his release. Ex. [4611] NES Tiny Toon Adventures by Kaylee & Alyosha in 10:59.847 now desyncs. "Count errors" controller reading test ROM's are now broken,. These were previously console verified.
Bigbass
He/Him
Moderator
Location: Midwest
Joined: 2/2/2021
Posts: 286
Location: Midwest
Alyosha wrote:
"Count errors" controller reading test ROM's are now broken,. These were previously console verified.
Not sure which test ROM that is in particular. I did some checking though. Going by 100thCoin's AccuracyCoin test suite, which has a couple controller tests that are console verified, the Controller Clocking test regressed somewhere inside this PR's changes. After the PR was merged, the test, which previously passed, then began to fail here:
Docs wrote:
5: (NES / AV Famicom only) The "put"/"halt" cycles of the DMC DMA should be able to clock the controller if the DMA occurs during a read from $4016. The LDA instruction should clock the controller again after the DMC DMA's "get" cycle.
Assuming the "count errors" test is checking something similar, that PR is likely the culprit of the regression. However, in addition to several CPU instructions, that PR also fixed a different controller problem in the Controller Strobing test:
Docs wrote:
4: Controllers should not be strobed when the CPU transitions from a "put" cycle to a "get" cycle.
TAS Verifications | Mastodon | Github | Discord: @bigbass
Bigbass
He/Him
Moderator
Location: Midwest
Joined: 2/2/2021
Posts: 286
Location: Midwest
I got in contact with 100thCoin. He's fixed the above regression, and fixed a related DMC DMA bug too. PR is up! Edit: And merged! As noted in the PR, with these changes, the aforementioned Tiny Toons TAS syncs again.
TAS Verifications | Mastodon | Github | Discord: @bigbass
Location: Rio de janeiro
Joined: 2/24/2022
Posts: 18
Location: Rio de janeiro
adelikat wrote:
BizHawk is a multi-platform emulator with rerecording tools written in C# * Github Project * Downloads, Release notes, and old versions
Hello, The BizHawk-2.11 emulator is not working well! fighting games like Street fight, mortal kombat among others, the hits on the joystick are not working.
Joined: 5/7/2024
Posts: 5
Hello everyone, I would like some help solving a problem. I recently downloaded the latest version of Bizhawk and opened several MS-DOS games. They all opened and are playable, however I'm having some audio problems. When testing the game X-Men Children of the Atom, it's only possible to hear the sound effects; the background music doesn't play. When testing Mortal Kombat II, the music plays, but I can't hear any sound effects. I've already tried some Sound Blaster options, but it didn't solve the problem, and it's not possible to use Gravis Ultrasound. Does anyone know of a solution to this problem? Thank you in advance.
🇺🇸 United States
Joined: 12/26/2025
Posts: 5
Location: 🇺🇸 United States
I'm using the latest dev version of BizHawk for optimal Linux compatibility (as linked here: https://nightly.link/TASEmulators/BizHawk/workflows/ci/master/BizHawk-dev-linux.zip) and I notice it isn't compatible with RetroAchievements. When signing in, the emulator immediately crashes, and it is never able to start up with it enabled.
Emulator Coder, Judge, Skilled player (1309)
Location: California
Joined: 2/26/2020
Posts: 913
Location: California
Abomasnow wrote:
I'm using the latest dev version of BizHawk for optimal Linux compatibility (as linked here: https://nightly.link/TASEmulators/BizHawk/workflows/ci/master/BizHawk-dev-linux.zip) and I notice it isn't compatible with RetroAchievements. When signing in, the emulator immediately crashes, and it is never able to start up with it enabled.
The issue is unrelated to Linux, dev builds are broken with RetroAchievements due to an unrelated change breaking them: https://github.com/TASEmulators/BizHawk/issues/4603 EDIT: I committed a fix, so the next dev build should be not broken.
Editor, Expert player (2418)
🇩🇪 Germany
Joined: 5/15/2007
Posts: 4065
Location: 🇩🇪 Germany
While TASing in Bizhawk 2.11's DosBox-X core in TAStudio, I tried copying and paste-inserting several lines of input to the end of the movie, then Undo. This causes an unhandled exception, but Bizhawk will continue working after this. Something about System.OverflowException, and array dimensions being exceeded. EDIT 1: In Bizhawk 2.11, also while TASing in DOSBox-X, I tried copying input in TAStudio from a movie that had mouse input to a movie that had mouse disabled, but it just made all keys active. EDIT 2: In Bizhawk DOSBox-X, while TASing in TAStudio, if I press Left mouse button at the end of my run and save that to bk2 and play back the movie, it doesn't register the left mouse button press, even if I put 1 additional idle frame before exporting to bk2. EDIT 3: When TASing DOS, please make it possible to clear mouse coordinate/speed input in TAStudio. It seems once there are values, they can't be removed... EDIT 4: Opened issue for the problem mentioned in EDIT 3.
Editor, Expert player (2418)
🇩🇪 Germany
Joined: 5/15/2007
Posts: 4065
Location: 🇩🇪 Germany
I have seen an odd behavior two times in the past 2-3 weeks. The window for Bizhawk 2.11 would suddenly go to position (-32000, -32000). This time it happened when I selected a recent ROM (.hdd) to load, then set another window on focus to do something else, then looked at Bizhawk and couldn't find the window... The config file would say "MainWindowPosition": "-32000, -32000", and I have to set it to (0, 0) to fix it.
YoshiRulz
Any
Editor, Emulator Coder
Location: 🇦🇺 Sydney, Australia
Joined: 8/30/2020
Posts: 198
Location: 🇦🇺 Sydney, Australia
MUGG wrote:
I have seen an odd behavior two times in the past 2-3 weeks. The window for Bizhawk 2.11 would suddenly go to position (-32000, -32000). This time it happened when I selected a recent ROM (.hdd) to load, then set another window on focus to do something else, then looked at Bizhawk and couldn't find the window... The config file would say "MainWindowPosition": "-32000, -32000", and I have to set it to (0, 0) to fix it.
¯\_(ツ)_/¯ (Not even a fix, just a smooth version of your workaround...)
I contribute to BizHawk as Linux/cross-platform lead, testing and automation lead, and UI designer. This year, I'm experimenting with streaming BizHawk development on Twitch. nope Links to find me elsewhere and to some of my side projects are on my personal site. I will respond on Discord faster than to PMs on this site.
Hey look buddy, I'm an engineer. That means I solve problems. Not problems like "What is software," because that would fall within the purview of your conundrums of philosophy. I solve practical problems. For instance, how am I gonna stop some high-wattage thread-ripping monster of a CPU dead in its tracks? The answer: use code. And if that don't work? Use more code.

1775769331