BizHawk Emulator Development


Experienced Forum User
Joined: 8/3/2008
Posts: 252
Which version of the BSNES core is good? I am mostly using the BSNES vanilla version but I heard that the v115+ was also good. Edit: This is also apples to the NES emulator as well.
Guernsey Adams Pierre
Lord Tom
He/Him
Experienced Forum User, Published Author (3567)
Joined: 5/25/2007
Posts: 386
Location: New England
NES TAS of 2018NES TASer of 2016NES TAS of 2016Funny TAS of 2016Glitchy TAS of 2016NES TAS of 2014TASer of 2009NES TASer of 2009
Just wanted to post a big thank you to the devs, especially those who worked on the N64 core. I haven't used BizHawk too much over the years, sticking to FCEUX for my NES runs, but fired it up to have a look at N64 F-Zero X and wow, compared to mupen the ability to search/poke/freeze memory addresses and do Lua scripting has been a huge treat the past few weeks!
Fortranm
He/Him
Editor, Experienced Forum User, Published Author (536)
Joined: 10/19/2013
Posts: 1001
Alyosha wrote:
I have a WIP version of the MC6800 which is used in all the Adam's peripherals, so it's closer then it was, but I don't yet have a proof for it. The only system that used the chip was the APF MP1000, and I lack the motivation to work on such a boring system. Also, the expansion pack for the colecovision that makes most of the Adam games (or ports of them) workable makes it a low priority for me. Still, if someone made an APF MP1000 core to proof out the MC6800, I'd be willing to help put everything together to get a proper Adam core going, but otherwise no.
https://fms.komkon.org/ColEm/ ColEm is open and now supposedly has complete Coleco Adam emulation. How feasible would it be to port the Adam portion of it to Bizhawk?
Post subject: BizHawk 2.7 Released!
adelikat
He/Him
Emulator Coder, Published Author, Site Admin (4249)
Joined: 11/3/2004
Posts: 4658
Location: Tennessee
TASer of 2010NES TASer of 2010DS TASer of 2010Arcade TAS of 2010NES TASer of 2008NES TAS of 2008Funny TAS of 2008TASer of 2007NES TASer of 2007Funny TAS of 2007
BizHawk 2.7 has been released! New Core, melonDS! Also, lua support for linux! Other core updates as well. See full changelog: http://tasvideos.org/Bizhawk/ReleaseHistory.html#Bizhawk#27 Grab Windows and Linux binaries here: https://github.com/TASVideos/BizHawk/releases/tag/2.7
It's hard to look this good. My TAS projects
Post subject: Bizhawk 2.7 NDS Core!
xRavenXP
He/Him
Experienced Forum User
Joined: 4/15/2012
Posts: 109
Location: Brazil
Great to see Nintendo DS emulated by Bizhawk. Just a question: how to use the mic in Bizhawk's NDS core? I only know this function in DesMume, but in Bizhawk 2.7 I didn't find any settings for the DS microphone. I await response. Thanks.
I love games and love to record videos (longplays). Visit my Youtube channel https://www.youtube.com/user/xRavenXP
Post subject: Re: Bizhawk 2.7 NDS Core!
Experienced Forum User, Judge, Moderator, Published Author (506)
Joined: 2/26/2020
Posts: 414
Location: California
Rookie of 2020Gameboy TASer of 2020Lucky TAS of 2020
xRavenXP wrote:
Great to see Nintendo DS emulated by Bizhawk. Just a question: how to use the mic in Bizhawk's NDS core? I only know this function in DesMume, but in Bizhawk 2.7 I didn't find any settings for the DS microphone. I await response. Thanks.
There is no support for custom mic samples currently. All the core does right now is blast white noise constantly, which you can adjust the volume of using the Mic Volume axis. Custom mic samples will be implemented eventually.
fsvgm777
She/Her
Experienced Forum User, Published Author, Senior Publisher (261)
Joined: 5/28/2009
Posts: 1077
Location: Luxembourg
The last two posts above were previously in the Encoders sub-forum (more precisely, the "Ask a question, get an answer" topic, even though the question at hand is not related to encoding.
Twitter account - Steam Community page Oh, I'm just a concerned observer. Memory, GoddessMaria and Samsara are my sisters~♥
Experienced Forum User
Joined: 8/3/2008
Posts: 252
I have a question about the BSNES v115+ core in BizHawk. I read once that the core itself was somewhat experimental in Bizhawk. I wanted to use it but what I would like to know if it safe to use?
Guernsey Adams Pierre
Experienced Forum User, Judge, Moderator, Published Author (506)
Joined: 2/26/2020
Posts: 414
Location: California
Rookie of 2020Gameboy TASer of 2020Lucky TAS of 2020
Guernsey wrote:
I have a question about the BSNES v115+ core in BizHawk. I read once that the core itself was somewhat experimental in Bizhawk. I wanted to use it but what I would like to know if it safe to use?
Not sure what you mean by "safe" (if "safe" is "won't fuck up your PC" then yes it's safe and we would not ship a core that does malware level bs in any capacity for releases). "Experimental" more means unfinished/potentially has issues with sync/etc. That core in particular is perfectly fine and I see it getting released officially sooner or later.
Experienced Forum User, Published Author (1871)
Joined: 7/1/2013
Posts: 395
Arcade TASer of 2017Arcade TAS of 2016Exotic platforms TASer of 2014Exotic platforms TAS of 2014
Per a recent discussion regarding the Nintendo VS. System (http://tasvideos.org/forum/viewtopic.php?t=22928): For the sake of convenience, it would be nice if the DIP switches were descriptively labeled, rather than simply being numbered. For the sake of accuracy, it would be nice if the DIP switches were set to factory default settings by default, rather than the DIP switches all being set to "off" by default. I recognize that these concerns are of limited priority.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author (3927)
Joined: 11/30/2014
Posts: 2394
Location: US
NES TASer of 2015
http://johnsarcade.com/nintendo_vs_ppu_info.php I think this is the most complete resource available for dip switches and their effects. Implementing what you described would be a lot of work, since the name of each switch would have to vary by game, but most of the information seems to be there. Maybe just compiling all the info into a one document reference would be a good start? I'm personally not interested, but such a thing would be nice to have.
Experienced Forum User, Published Author, Senior Judge, Senior Publisher (1423)
Joined: 4/17/2010
Posts: 10330
Location: RU
NES TAS of 2011
MAME can output all this info in an xml format if you specify the right device with the -lx command. Example for Battletoads:
Language: xml

<dipswitch name="Demo Sounds" tag="SW1" mask="1"> <diplocation name="SW1" number="1"/> <dipvalue name="Off" value="1"/> <dipvalue name="On" value="0" default="yes"/> </dipswitch> <dipswitch name="Stereo" tag="SW1" mask="2"> <diplocation name="SW1" number="2"/> <dipvalue name="Off" value="2"/> <dipvalue name="On" value="0" default="yes"/> </dipswitch> <dipswitch name="Common Coin Mech" tag="SW1" mask="4"> <diplocation name="SW1" number="3"/> <dipvalue name="Off" value="4"/> <dipvalue name="On" value="0" default="yes"/> </dipswitch> <dipswitch name="Three Players" tag="SW1" mask="8"> <diplocation name="SW1" number="4"/> <dipvalue name="Off" value="8" default="yes"/> <dipvalue name="On" value="0"/> </dipswitch> <dipswitch name="Free Play" tag="SW1" mask="16"> <diplocation name="SW1" number="5"/> <dipvalue name="Off" value="16" default="yes"/> <dipvalue name="On" value="0"/> </dipswitch> <dipswitch name="Blood Free Mode" tag="SW1" mask="32"> <diplocation name="SW1" number="6"/> <dipvalue name="Off" value="32" default="yes"/> <dipvalue name="On" value="0"/> </dipswitch> <dipswitch name="Credit Retention" tag="SW1" mask="64"> <diplocation name="SW1" number="7"/> <dipvalue name="Off" value="64" default="yes"/> <dipvalue name="On" value="0"/> </dipswitch> <dipswitch name="Unknown" tag="SW1" mask="128"> <diplocation name="SW1" number="8"/> <dipvalue name="Off" value="128" default="yes"/> <dipvalue name="On" value="0"/> </dipswitch>
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. If TASing is meta-play, TASVideos Movie Rules are meta-meta-play!
Experienced Forum User
Joined: 8/3/2008
Posts: 252
Should I use Gambette or GBHawk?
Guernsey Adams Pierre
ThunderAxe31
He/Him
Experienced Forum User, Judge, Moderator, Published Author (1258)
Joined: 9/12/2016
Posts: 1461
Location: Southern Italy
Gameboy TASer of 2017
Guernsey wrote:
Should I use Gambette or GBHawk?
Use the one that emulates better the game you want to TAS. If you just want to play casually, then use Gambatte.
my personal page - my YouTube channel - my GitHub - my Discord: ThunderAxe31#1512 <Masterjun> if you look at the "NES" in a weird angle, it actually clearly says "GBA"
Experienced Forum User
Joined: 8/3/2008
Posts: 252
I read that Mednafen is apart of BizHawk. How do you set it up? Also, should you use PSXHawk or Mednafen?
Guernsey Adams Pierre
ventuz
He/Him
Experienced Forum User, Published Author (295)
Joined: 10/4/2004
Posts: 938
Thoughts on integrating EasyRPG core to BizHawk? It plays RPGMaker 2000, 2003 Doesn't anyone want to see a Space Funeral TAS?
Post subject: Can I expect a core which will allow users to TAS flash SWFs or EXEs
MrTASer
He/Him
Experienced Forum User
Joined: 7/3/2021
Posts: 32
Location: Udaipur, Rajasthan, India
I am so pleased to the developing team for adding some new cores like Flash core or 3ds core. Flash is actually more important in terms of short games. It has enough of those. BizHawk is already a multi system emulator then let's also have a flash core to get mote variety in the games.
Experienced Forum User, Judge, Moderator, Published Author (506)
Joined: 2/26/2020
Posts: 414
Location: California
Rookie of 2020Gameboy TASer of 2020Lucky TAS of 2020
Putting a core into Bizhawk (either by porting or making the core) is not a trivial task. The dev team is also just a bunch of volunteers doing what they want. Don't expect any core requests to be fulfilled any time soon. Maybe eventually they'll be done, but that will take time and someone with the know-how wanting it. (and of course always the option of doing it yourself and PR'ing it)
TiKevin83
He/Him
Ambassador, Experienced Forum User, Moderator, Published Author, Site Developer (164)
Joined: 3/17/2018
Posts: 302
Location: Holland, MI
Rookie of 2018Gameboy TASer of 2018Gameboy TAS of 2018
In reference to flash, it's being worked on by wrapping Ruffle with libTAS.
Experienced Forum User, Published Author (88)
Joined: 8/5/2007
Posts: 853
Lua feature request (assuming it isn't lurking somewhere in the functions already): gui.hold(). This function (no arguments) would save all user-drawn gui pixels for a quick redraw on a subsequent frame. The useless context that made me think of it is my Ising model project, but I imagine it would have occasional practical uses too. One might draw a HUD onscreen and overlay the gauges with lines and fills that indicate the player state. The closest thing we have is gui.drawImage. Although I haven't really tested that function's use, I'm guessing it's computationally expensive to frequently take a screenshot and load that file. I'm not even sure if gui.drawImage supports an alpha channel.
YoshiRulz
He/Him
Editor, Experienced Forum User
Joined: 8/30/2020
Posts: 9
Location: Sydney, Australia
https://github.com/TASEmulators/BizHawk/releases/tag/2.8-rc1 First candidate build for the upcoming 2.8 release. Please help us check for regressions, especially in TAStudio and the rest of the TASing workflow. Remember: if it's not reported then it won't be fixed! ...I should go through this subforum at some point
I contribute to BizHawk as Linux/cross-platform lead, testing and automation lead, and UI designer (relevant xkcd). This year, I'm experimenting with streaming BizHawk development on Twitch. Links to find me elsewhere and to some of my side projects are on my personal site. If you need to reach me, use Discord (the TASVideos server or DMs) as I'll see it much sooner.
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.
Post subject: Will it be possible to use FCEUX LUAs in BizHawk?
MrTASer
He/Him
Experienced Forum User
Joined: 7/3/2021
Posts: 32
Location: Udaipur, Rajasthan, India
There are a lot of interesting LUAs for fceux like the jetpack and HitBox lua. They are so good to experiment with, but when I thought to TAS with those LUAs in BizHawk, it malfunctioned. I know that LUAs are meant for changing a specific software's code but will it be possible to open fceux LUAs in BizHawk or make those LUAs apply-able for BizHawk?
Experienced Forum User, Judge, Moderator, Published Author (506)
Joined: 2/26/2020
Posts: 414
Location: California
Rookie of 2020Gameboy TASer of 2020Lucky TAS of 2020
Lua scripts generally have to use emulator implemented functions (such as reading memory), which will obviously vary from emulator to emulator. Half the time these functions share the same name (somewhat out of coincidence, somewhat due to simplicity of naming some functions), the other half other of the time there will be an equivalent function under a different name. Or maybe there's just no equivalent and you're screwed over. But there isn't any way to automatically "convert" scripts besides some giant regex (which even is not guaranteed to work). BizHawk's lua functions are fairly well documented, so it shouldn't be too hard to convert scripts.
Editor, Experienced Forum User
Joined: 2/2/2021
Posts: 87
Location: Midwest
MrTASer wrote:
I know that LUAs are meant for changing a specific software's code but will it be possible to open fceux LUAs in BizHawk
Lua scripts can be used for various tasks, not just manipulating the game's memory. Everything CPP said is spot on. However, it is technically possible to write a script that works on both emulators, but it's not easy, and sometimes not possible depending on what you're trying to accomplish. It's possible in Lua to check if a function exists before trying to use it, and thus you can potentially write something that figures out which function to use, etc. There's no automated way to do this either. This is specifically something the script writer must do; not something emulators will do for you. If you really want the same functionality that a script made for FCEUX provides, then I suggest opening the script in a text editor, learning what exactly it's doing, and then try to rewrite it given Bizhawk's API.
TAS Verifications | Twitter | Github | Discord: Bigbass#9631