Post subject: BizHawk 2.2.1 Released
adelikat
He/Him
Emulator Coder, Expert player, Site Developer, Site Owner (3580)
Joined: 11/3/2004
Posts: 4736
Location: Tennessee
Version 2.2.1 has been released! Changelog: http://tasvideos.org/Bizhawk/ReleaseHistory.html#Bizhawk221 Downloads: https://github.com/TASVideos/BizHawk/releases/tag/2.2.1 Includes major accuracy improvements to various cores such as SMS/Colecovision, SG-1000, and TI-83
It's hard to look this good. My TAS projects
Skilled player (1216)
Joined: 8/29/2014
Posts: 301
Would it be possible to add an option that uses hotkeys to do something like switch which folder BizHawk loads savestates from? For example, instead of always loading from the folder named "State", you would be able to toggle through it loading from "State", "State1", "State2", etc. Usually I just set up a bunch of folders with savestates in them and manually rename whichever one I need at the time to "State" so I'm not restricted to only 10 savestates when not using Tastudio, but being able to do something like that with hotkeys would be much more efficient.
Player (33)
Joined: 2/16/2012
Posts: 282
I second the idea, though maybe with a different implementation. I find that I'm constantly running low on crucial save states for practice and testing. I either have to apply them judiciously, or make separate folders according to the stage of game. Really, the problem is just no straightforward way of expanding the number of "QuickSave" style slots available. Rather than working with folders, it might be easier to implement "sets" of save states, with a button to cycle between them. The set just corresponds to another digit on the actual savestate files this way.
adelikat
He/Him
Emulator Coder, Expert player, Site Developer, Site Owner (3580)
Joined: 11/3/2004
Posts: 4736
Location: Tennessee
Omnigamer wrote:
Really, the problem is just no straightforward way of expanding the number of "QuickSave" style slots available. Rather than working with folders, it might be easier to implement "sets" of save states, with a button to cycle between them. The set just corresponds to another digit on the actual savestate files this way.
Yeah, I've had this idea before. I was thinking you have prev/next buttons that toggle the "sets" or groups of 10. So you press next, now it is slots 10-19, then 20-29, etc. At that point you would not be restricted in the total number of slots.
It's hard to look this good. My TAS projects
Editor, Expert player (2310)
Joined: 5/15/2007
Posts: 3854
Location: Germany
There is a small graphical glitch I encountered while TASing on Bizhawk-Gambatte (ver 2.2). I load a state A (this is the starting point). I advance to a certain frame*. I load state A again. The next frame, it shows the glitched sprites. The frame after that, it is normal again. If I advance to a different frame, and then load state A, it doesn't happen. I think other effects that I saw was that my character and enemies turned invisible. I'm noticing this problem especially in the current level I'm in (The Smurfs GB, level 11 "The Cliff"). I turned off the luascript and it still happens. No memory freezing or lua memory editing is going on. Seems to be graphical only. ___ *This frame will always produce the problem. The chance of landing on such a frame is really high in The Smurfs GB, level 11.
Skilled player (1703)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Is there a way to cap the amount of memory BizHawk is using? I'm getting something like after a while of opening, closing then reopening TAStudios over and over. Currently the only "fix" is to close and reopen the emulator.
MarbleousDave
He/Him
Player (12)
Joined: 9/12/2009
Posts: 1554
The transfer to disk function is supposed to happen when the set value is reached. But when I set it to 4 GB, it causes slowdown when there's less than 1 GB of memory not being used.
Joined: 5/4/2016
Posts: 67
Will the environment for building Waterbox cores ever be changed to something a bit more user-friendly to configure? I've run into few minor quirks with Waterbox cores and I'm unable to do much outside of providing reproduction steps as setting up a Waterbox build environment required obtaining and properly configuring an obscure cross-compiler with minimal documentation that you can only get access to by joining an IRC and asking. I don't have any plans on developing cores, but it'd be nice to be able to submit minor fixes (I'm assuming Natt would still want to build the binary for security and integrity reasons, but it could at least allow for others to submit minor bugfixes)
Editor, Emulator Coder
Joined: 8/7/2008
Posts: 1156
Who can tell the future? I can only tell you that not even I have ever built a waterbox core, so it's in a pretty bad situation. I think he does it in linux, maybe the setup steps spew shit all over your system like gnuware is prone to do, so it can't even be readily uploaded?
Joined: 5/4/2016
Posts: 67
I probably should have phrased that question as "are there any plans to make it more user friendly" rather than "will it be made more user friendly". Anyways, thanks for the response. I had looked into it a bit but setting it up required setting up midipix which appears to be an obscure cross-compiler. You then needed to merge in Natt's fork of mmglue and build the entire compiler. I found a bit of info on setting it up but it was way more effort than it was worth to submit minor bugfixes.
Editor, Expert player (2310)
Joined: 5/15/2007
Posts: 3854
Location: Germany
I'm in the middle of converting and re-writing my Yoshi Topsy-Turvy script, from VBA to Bizhawk. I stumbled on a problem, where I want to draw an axis on top of Yoshi, depending on the current angle the game is tilted in. But after I finished the re-write it looks different. The x-axis looks off by a small margin. I noticed using this gives a different result in both emulators:
Language: Lua

angle = 0 -- as read from memory when not tilting AngleDegree = angle * 1.40625 -- converting from 0-255 to 0°-360° RPD = 0.0174532925 -- radians per degree print(math.cos(-(AngleDegree+90)*RPD))
VBA prints: 1.79489673697e-009 Bizhawk prints: 1.79489673696339E-09 Is this a bug?
Pokota
He/Him
Joined: 2/5/2014
Posts: 778
Biz is using a longer degree of precision.
    VBA prints: 1.79489673697e-009 
Bizhawk prints: 1.79489673696339E-09 
Do they draw right when Yoshi's standing in the same spot?
Adventures in Lua When did I get a vest?
Editor, Expert player (2310)
Joined: 5/15/2007
Posts: 3854
Location: Germany
It doesn't matter where Yoshi is standing. The line gets drawn depending on the angle the game is tilted. In both screenshots above, the angle is 0. Please note I'm not very good with math things. I achieve much of what I want through trial and error.
Language: Lua

-- draw line from yoshi to this destination (*80 factor is how far the line goes) des1 = math.sin(AngleDegree*RPD)*-80 des2 = math.cos(-AngleDegree*RPD)*80 des3 = math.sin((AngleDegree+90)*RPD)*-80 des4 = math.cos(-(AngleDegree+90)*RPD)*80 gui.drawLine(Xscreen,Yscreen,Xscreen+des1,Yscreen+des2,0xFFFFFFFF) -- below yoshi gui.drawLine(Xscreen,Yscreen,Xscreen-des1,Yscreen-des2,0xFFFFFFFF) -- above yoshi gui.drawLine(Xscreen,Yscreen,Xscreen+des3,Yscreen+des4,0xFFFFFFFF) -- left of yoshi gui.drawLine(Xscreen,Yscreen,Xscreen-des3,Yscreen-des4+1,0xFFFFFFFF) -- right of yoshi (this is the line that looks off, but by adding +1 it looks as before)
I added +1 and it looks like before. This is good enough for my purposes.
Joined: 5/4/2016
Posts: 67
There's no way built in to balance the volume so different cores output at around the same volume, right? There's a massive difference in volume levels between some cores (gambatte is super loud, bsnes is fairly quiet, GBHawk is really quiet, etc) which can get quite irritating when streaming or recording using external software as you have to re-balance the audio around the core (and if you don't do it ahead of time, you can blow your ears out from the volume differences).
Joined: 7/17/2012
Posts: 528
Location: Switzerland
Is it planned to update the Saturnus core? Bizhawk has version 0.9.44.1, Mednafen is at 0.9.48 version, with a lot of fix for the Saturnus core.
My Citra 3DS rerecording movie files test repositery: https://cutt.ly/vdM0jzl Youtube playlist "Citra Tests": https://cutt.ly/AdM0wg9 http://www.youtube.com/user/phoenix1291
Skilled player (1703)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
I'm not sure if it's just the build I'm using, or it's like this for others, but for some reason, if I opened BizHawk and do nothing, according to Task Manager, it uses like 30% CPU. As soon as I load a GBA game (not sure of others) and pause, it immediately drops to like 2% usage. So here's 2 questions: 1. Anyone have this problem? 2. How does that even work?
Editor, Emulator Coder, Site Developer
Joined: 5/11/2011
Posts: 1108
Location: Murka
jlun2 wrote:
I'm not sure if it's just the build I'm using, or it's like this for others, but for some reason, if I opened BizHawk and do nothing, according to Task Manager, it uses like 30% CPU. As soon as I load a GBA game (not sure of others) and pause, it immediately drops to like 2% usage. So here's 2 questions: 1. Anyone have this problem? 2. How does that even work?
The clock throttle eats a lot of CPU. The sound throttle eats very little CPU. The VSync throttle can eat a little or a lot of CPU depending on how jenga your video drivers are. For some reason that I can't quite remember right now, the clock throttle is always "used" when no game is loaded.
Editor, Expert player (2310)
Joined: 5/15/2007
Posts: 3854
Location: Germany
Lua functions wrote:
void gui.drawText(int x, int y, string message, [color? forecolor = null], [color? backcolor = null], [int? fontsize = null], [string fontfamily = null], [string fontstyle = null], [string horizalign = null], [string vertalign = null])
Language: Lua

while true do gui.drawText(50,60,"hillo",0xFF0000) emu.frameadvance() end
Isn't it supposed to be red text?
Site Admin, Skilled player (1234)
Joined: 4/17/2010
Posts: 11251
Location: RU
Looks like you forgot the alpha channel?
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.
Amaraticando
It/Its
Editor, Player (157)
Joined: 1/10/2012
Posts: 673
Location: Brazil
In most emulators, the default (opaque) alhpa channel is 0, so it's not necessary to write it in the most significant bytes of the number. BizHawk oddly is the reverse: 0xFF is fully opaque and 0 is fully transparent.
Pokota
He/Him
Joined: 2/5/2014
Posts: 778
MUGG wrote:
Isn't it supposed to be red text?
You need to assign the Alpha byte's value as well, so instead of 0xRRGGBB it's 0xAARRGGBB (Yes, this catches me off guard at times as well)
Adventures in Lua When did I get a vest?
Joined: 12/7/2015
Posts: 3
(...)
Player (33)
Joined: 2/16/2012
Posts: 282
I was browsing through this file because it's a good resource for console frame rates, but noticed that it hadn't been updated with info for a few of the recently added consoles, particularly N64 and Saturn. Does anybody have info for those?
Site Admin, Skilled player (1234)
Joined: 4/17/2010
Posts: 11251
Location: RU
Self-request: Add turbo mode getter to 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.
adelikat
He/Him
Emulator Coder, Expert player, Site Developer, Site Owner (3580)
Joined: 11/3/2004
Posts: 4736
Location: Tennessee
Omnigamer wrote:
I was browsing through this file because it's a good resource for console frame rates, but noticed that it hadn't been updated with info for a few of the recently added consoles, particularly N64 and Saturn. Does anybody have info for those?
this is a better resource. TASVideos uses these when determining movie times, they are not parsed out of a .bk2 file. The platform frames in Bizhawk are for display purposes, they are used to calculate movie times on the Play Movie dialog (the actual core may or may not run at precisely that framerate).
It's hard to look this good. My TAS projects