Alyosha
He/Him
Editor, Emulator Coder, Expert player (3824)
Joined: 11/30/2014
Posts: 2832
Location: US
Gambatte has gotten a pretty important improvement today with a newly discovered glitch in Halt behaviour being accurately emulated. This glitch is relatively uncommon but it's impact can be fairly large, since it basically causes a second Halt to occur. So if anyone out there is working on a GB or GBC run in Gambatte, I would strongly encourage you to check out the dev build and see if it effects your run. The recent Pokemon Yellow run desynced on console due to this glitch in an otherwise unremarkable section of normal bike riding, so it is an important accuracy fix to be sure.
Aran_Jaeger
He/Him
Banned User
Joined: 10/29/2014
Posts: 176
Location: Bavaria, Germany
I'm not sure if this idea/request/suggestion has been mentioned yet (which it very well might have, but I didn't check the history of this thread, so please forgive me if this is redundant), but how about an additional feature or tool for Bizhawk (or technically any TASing emulator that has an input editor window) where you manually insert a given memory address together with 1 of the typical memory search filter conditions (such as a memory address value increasing or decreasing or being equal to a specific value or having changed at least n times for some chosen integer n, etc.; from 1 frame to the next frame), and once this is done, the corresponding frame lines in the input editor window/TAStudio are ran through and those for which the given memory-search-like comparison to the next frame doesn't fulfill the condition are marked as red frame line (instead of the default indication of certain frame lines with red colour, to make this indication customizable to adapt it to a given specific game). The indication wouldn't need to be a red line such as the already existing indication of frame lines in TAStudio, it could also be something parallel to it, something additional and independent from it. One idea behind this would be to quickly have an overview and identify frames with certain properties (bound to a given, chosen memory address comparison condition), such as for example some memory address value not incrementing by 1 from one frame to another for some memory address that is observed to behave or act as frame timer, to be able to comfortly detect those frames in which the game runs through an ''empty loop'' with regard to those (sub-)routines that directly correlate to making progress in the given game (such as for example the next character position update to move some character another step forwards). Maybe something like this even already exists and I just haven't found it.
collect, analyse, categorise. "Mathematics - When tool-assisted skills are just not enough" ;) Don't want to be taking up so much space adding to posts, but might be worth mentioning and letting others know for what games 1) already some TAS work has been done (ordered in decreasing amount, relative to a game completion) by me and 2) I am (in decreasing order) planning/considering to TAS them. Those would majorly be SNES games (if not, it will be indicated in the list) I'm focusing on. 1) Spanky's Quest; On the Ball/Cameltry; Musya; Super R-Type; Plok; Sutte Hakkun; The Wizard of Oz; Battletoads Doubledragon; Super Ghouls'n Ghosts; Firepower 2000; Brain Lord; Warios Woods; Super Turrican; The Humans. 2) Secret Command (SEGA); Star Force (NES); Hyperzone; Aladdin; R-Type 3; Power Blade 2 (NES); Super Turrican 2; First Samurai. (last updated: 18.03.2018)
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11480
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Aran Jaeger, I didn't understand anything in your post, but why not just use Lua scripts? If tastudio lacks some functions such a script would need, I can add them.
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.
Aran_Jaeger
He/Him
Banned User
Joined: 10/29/2014
Posts: 176
Location: Bavaria, Germany
Well I'm not so familiar with the making of Lua scripts and their limits, and showing on the screen if the current frame fulfills some condition or doesn't (or showing the current total amount of frames that let's say don't fulfill some condition up to that point) would also help, but probably not be quite as comfortable as not only knowing if the current frame is a ''progress-wise'' / ''time-wise'' lag frame (as opposed to ''controller input'' lag frames which do not necessarily coincide with the former but are the ones that Bizhawk naturally indicates with the red highlighting, at least to my knowledge), but also seeing which frames (still) contribute to these kinds of lag frames (that one usually wants to avoid) might be even more helpful. What I am imagining is some highlighting of sorts (possibly similar to or substituting the existing case with the red frame lines) of frame lines that are sown in TAStudio / the input editor window, which for example stand for the set of frames in which the screen doesn't update and stays frozen, which could possibly be equivalent to and hence identified by some memory address that behaves like a timer that increments by 1 every ''gameplay'' frame (and maybe loops around from the maximum back to 0) but stops at these ''freeze frames''. Since there is games in which the naturally highlighted red frame lines don't correspond in any form with such ''freeze frames'' whereas these would be exactly those frames that one would want to search (currently 1 by 1, going slowly through a TAS, or checking frame count differences and comparing that to a difference of the values at start and end point of a frame counter memory address to see if it amounts to the same and if not, then one knows there have to be some ''freeze frames'' inbetween in this segment) and eliminate/reduce/avoid.
collect, analyse, categorise. "Mathematics - When tool-assisted skills are just not enough" ;) Don't want to be taking up so much space adding to posts, but might be worth mentioning and letting others know for what games 1) already some TAS work has been done (ordered in decreasing amount, relative to a game completion) by me and 2) I am (in decreasing order) planning/considering to TAS them. Those would majorly be SNES games (if not, it will be indicated in the list) I'm focusing on. 1) Spanky's Quest; On the Ball/Cameltry; Musya; Super R-Type; Plok; Sutte Hakkun; The Wizard of Oz; Battletoads Doubledragon; Super Ghouls'n Ghosts; Firepower 2000; Brain Lord; Warios Woods; Super Turrican; The Humans. 2) Secret Command (SEGA); Star Force (NES); Hyperzone; Aladdin; R-Type 3; Power Blade 2 (NES); Super Turrican 2; First Samurai. (last updated: 18.03.2018)
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11480
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Ah wait. You need a custom lag indicator, for a game whose lack if controller poll on a frame doesn't relate to actual gameplay lag?
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.
DrD2k9
He/Him
Editor, Judge, Expert player (2220)
Joined: 8/21/2016
Posts: 1090
Location: US
feos wrote:
Ah wait. You need a custom lag indicator, for a game whose lack if controller poll on a frame doesn't relate to actual gameplay lag?
That would make TASing some systems much easier. (c64 for example).
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11480
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
This is what I have for Gargoyles:
Language: lua

event.onframeend(function() emu.setislagged(memory.read_u8(0xfff6d4) == 0) 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.
Aran_Jaeger
He/Him
Banned User
Joined: 10/29/2014
Posts: 176
Location: Bavaria, Germany
Ah wait. You need a custom lag indicator, for a game whose lack of controller poll on a frame doesn't relate to actual gameplay lag?
Well yes, to some extent that is what I had in mind, except instead of a concrete script made for 1 game, it probably would be more generally applicable to have a tool or add-on for which one would first be searching for a memory address (in a given game) that increments every gameplay frame that one can trust or rely on, then inserts it into some script together with a condition like ''Greater Than (before)'', and then let's say one runs through the so far worked out part of a TAS and for every pair of neighboured frames, the script checks if the value of this chosen, inserted memory address strictly increased (by 1, for example) when the movie is going from 1 frame to the next, and then accordingly colours those frame lines in TAStudio red (or adds some other indicator to the frame lines) where this doesn't happen (for which I'd assume this would occur either when the timer stays frozen for 1 frame, or the timer just looped around from the maximum back to 0).
collect, analyse, categorise. "Mathematics - When tool-assisted skills are just not enough" ;) Don't want to be taking up so much space adding to posts, but might be worth mentioning and letting others know for what games 1) already some TAS work has been done (ordered in decreasing amount, relative to a game completion) by me and 2) I am (in decreasing order) planning/considering to TAS them. Those would majorly be SNES games (if not, it will be indicated in the list) I'm focusing on. 1) Spanky's Quest; On the Ball/Cameltry; Musya; Super R-Type; Plok; Sutte Hakkun; The Wizard of Oz; Battletoads Doubledragon; Super Ghouls'n Ghosts; Firepower 2000; Brain Lord; Warios Woods; Super Turrican; The Humans. 2) Secret Command (SEGA); Star Force (NES); Hyperzone; Aladdin; R-Type 3; Power Blade 2 (NES); Super Turrican 2; First Samurai. (last updated: 18.03.2018)
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11480
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
It's impossible to generalize this for all games. Just find the address and attach this callback to it.
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.
Aran_Jaeger
He/Him
Banned User
Joined: 10/29/2014
Posts: 176
Location: Bavaria, Germany
Oh, I see. Well yes that is what I was looking for, namely something for which one could search or choose one's ''own'' memory address, then plug it in, and then get some sort of indicator with respect to that address, thanks.
collect, analyse, categorise. "Mathematics - When tool-assisted skills are just not enough" ;) Don't want to be taking up so much space adding to posts, but might be worth mentioning and letting others know for what games 1) already some TAS work has been done (ordered in decreasing amount, relative to a game completion) by me and 2) I am (in decreasing order) planning/considering to TAS them. Those would majorly be SNES games (if not, it will be indicated in the list) I'm focusing on. 1) Spanky's Quest; On the Ball/Cameltry; Musya; Super R-Type; Plok; Sutte Hakkun; The Wizard of Oz; Battletoads Doubledragon; Super Ghouls'n Ghosts; Firepower 2000; Brain Lord; Warios Woods; Super Turrican; The Humans. 2) Secret Command (SEGA); Star Force (NES); Hyperzone; Aladdin; R-Type 3; Power Blade 2 (NES); Super Turrican 2; First Samurai. (last updated: 18.03.2018)
MESHUGGAH
Other
Skilled player (1918)
Joined: 11/14/2009
Posts: 1353
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
Regarding the lag indicator, you can also add a marker text for TAStudio in case the game has too many lags and overlaps with original lag frames. Maybe you can even color it differently.
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
Darth_Marios
He/Him
Joined: 5/11/2015
Posts: 109
I've tried to run newest BizHawk, but i always get the same error: it say Visual C++ 2012 runtime is missed. I've installed both 2.0 and 2.1 prerequisites, and also that 2012 runtime manually, but BizHawk still give me that error. Why?
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11480
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Version 1.13.2 has been released! Downloads: https://github.com/TASVideos/BizHawk/releases/tag/1.13.2 Changelog: http://tasvideos.org/Bizhawk/ReleaseHistory.html#Bizhawk1132
  • It is a maintenance release compatible with Windows XP 32-bit
  • Fix Lua related crashes
  • Update GLideN64 plugin to latest master branch
  • Update mGBA core to latest 0.6 branch
  • TAStudio updates and fixes
Make sure to run the updated prerequisite installer: https://github.com/TASVideos/BizHawk-Prereqs/releases/tag/1.4
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.
Skilled player (1742)
Joined: 9/17/2009
Posts: 4984
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
https://ci.appveyor.com/project/zeromus/bizhawk-udexo/build/artifacts On the interim build site, it says
Artifacts older than 6 months will be deleted after June 17th, 2018. For more details see Artifacts retention policy.
Is that a concern for this project, or nah it's fine?
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11480
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Version 2.3 has been released! Downloads: https://github.com/TASVideos/BizHawk/releases/tag/2.3 This release features a new core for emulating the ZX Spectrum Another new core is GBHawk (Gameboy and Gameboy Color) Updated GLideN64 plugin to latest master branch Updated mGBA core to latest 0.6 branch Many other core and UI fixes and updates. See the release notes for more details http://tasvideos.org/BizHawk/ReleaseHistory.html#Bizhawk23
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.
Joined: 4/17/2017
Posts: 25
Any plans on updating the N64 core to the latest?
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11480
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
arkazal wrote:
Any plans on updating the N64 core to the latest?
Everyone knows it needs to be done, and no one has the time. For the reference, the proper approach is making it a submodule, and porting over our changes within a fork, so we could in future update the core on a whim. zeromus has the commits that need to be reapplied, it just takes someone with the time (and basic skills).
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.
Joined: 4/17/2017
Posts: 25
feos wrote:
so we could in future update the core on a whim.
:O N64 emulation is still in development? I thought it was pretty dead. I would love to see better N64 emulation one day, but I know it's a very pesky console to emulate. But even getting the most recent core into Bizhawk would be something :)
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11480
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
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.
MarbleousDave
He/Him
Player (13)
Joined: 9/12/2009
Posts: 1560
Don't know how to get unlicensed PSX ISOs to work, and no, a GameShark is not the way. We could use a modding device as a boot file, but it's very experimental.
Joined: 5/12/2009
Posts: 748
Location: Brazil
Hey, Guys! I was playing Super Metroid and noticed there's a kinda big delay in the response from the emulator after pressing the button on Joystick. I tried both the Snes9x core and Bsnes core and had what seemed the same result. I then closed Bizhawk and tried Snes9x 1.51 and the difference was big in that regard. It's like Snes9x 1.51 gives me a 1 frame of input lag, but Bizhawk gives me 4 frames or something like that. Is there any way I can minimize that?
Joined: 9/12/2014
Posts: 541
Location: Waterford, MI
With so many features wanted for bizhawk, it could seem overwhelming on where to begin and thus turn down motivation. The solution? Schedule time for everyday for x feature and set a start time and end time. And do it even if you don’t feel like it. It’ll be on your todos with a specific time to help stay consistent. Just a tip. I don’t do it because I’m worried about my electric bill. And am saving for laptop to solve that.
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
I'm interested in creating a Super Mario Land 2 romhack using MooJelly. (Click green button to download, extract until you get Moojelly.zip, extract that and run the .exe, load a SML2 ROM and change stuff, then patch it.) The patch ROM created by it didn't run in Bizhawk(Gambatte) but in VBA it runs fine. I was curious why it is that way..?
Editor, Player (69)
Joined: 6/22/2005
Posts: 1050
MUGG wrote:
The patch ROM created by it didn't run in Bizhawk(Gambatte) but in VBA it runs fine. I was curious why it is that way..?
It might help to know what types of changes you made (new graphics, new levels, etc.).
Current Projects: TAS: Wizards & Warriors III.
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
I added a few wall tiles and patched it. It doesn't seem to matter what you do, the problem probably occurs as long as you add any tile at least once and then patch it. But I have also made an IPS file. http://www.mediafire.com/file/iif6uywg88bwh3a/Mario+2+Patched.ips You can use LunarIPS to apply it to a Super Mario Land 2 (UE) v1.0 ROM to create the patched ROM.

1732758652