BizHawk Emulator Development


Evan0512
He/Him
Experienced Forum User
Joined: 10/18/2017
Posts: 147
Location: San Francisco
I have a problem because there is a serious bug that still been used on BizHawk by today. The Direct3d9 wasn't working.
System.Exception: Initialization of Direct3d 9 Display Method failed; falling back to GDI+ ---> SlimDX.Direct3D9.Direct3D9Exception: D3DERR_NOTAVAILABLE: Not available (-2005530518)
   at SlimDX.Result.Throw[T](Object dataKey, Object dataValue)
   at SlimDX.Result.Record[T](Int32 hr, Boolean failed, Object dataKey, Object dataValue)
   at SlimDX.Direct3D9.Direct3D.GetDeviceCaps(Int32 adapter, DeviceType deviceType)
   at BizHawk.Bizware.BizwareGL.Drivers.SlimDX.IGL_SlimDX9.CreateDevice()
   at BizHawk.Bizware.BizwareGL.Drivers.SlimDX.IGL_SlimDX9..ctor()
   at BizHawk.Client.EmuHawk.Program.SubMain(String[] args)
   --- End of inner exception stack trace ---
Planned runs: Super Mario Bros. (warps, under 4:56 as a goal) SMB2 (warps) Marble Madness in 4 games:
    Marble Madness (NES) Marble Madness (Arcade) Marble Madness (Genesis) Marble Madness (GG/SMS)[/list:u] Proposed: Ecco the Dolphin (Genesis, GG/SMS, CD: regular, camera freeze) Ecco: The Tides of Time (Genesis, GG/SMS, CD; normal, hard modes) Super Princess Rescue (Homebrew A2600, no deaths, deaths) Halo 2600 (Homebrew A2600, short, long) New Super Mario Bros. (DS, 100%, warpless, warps, all star coins) Mario Kart DS (all cups, all missions)
Post subject: BizHawk 2.3.1 problems
Evan0512
He/Him
Experienced Forum User
Joined: 10/18/2017
Posts: 147
Location: San Francisco
BizHawk 2.3 was running functionally. BizHawk 2.3.1 didn't run because there is a problem:
System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Users\evan\Documents\BizHawk-2.3.1\gamedb\gamedb.txt'.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
   at BizHawk.Emulation.Common.Database.LoadDatabase(String path)
   at BizHawk.Client.EmuHawk.MainForm..ctor(String[] args)
   at BizHawk.Client.EmuHawk.Program.Win32MainLoopCrashHandler.TryCatchFinally(String[] args)
Planned runs: Super Mario Bros. (warps, under 4:56 as a goal) SMB2 (warps) Marble Madness in 4 games:
    Marble Madness (NES) Marble Madness (Arcade) Marble Madness (Genesis) Marble Madness (GG/SMS)[/list:u] Proposed: Ecco the Dolphin (Genesis, GG/SMS, CD: regular, camera freeze) Ecco: The Tides of Time (Genesis, GG/SMS, CD; normal, hard modes) Super Princess Rescue (Homebrew A2600, no deaths, deaths) Halo 2600 (Homebrew A2600, short, long) New Super Mario Bros. (DS, 100%, warpless, warps, all star coins) Mario Kart DS (all cups, all missions)
Alyosha
He/Him
Editor, Experienced Forum User, Published Author (3927)
Joined: 11/30/2014
Posts: 2388
Location: US
NES TASer of 2015
Try the dev build, I seem to remember some file stuff changing recently. https://ci.appveyor.com/project/zeromus/bizhawk-udexo/build/artifacts
Alyosha
He/Him
Editor, Experienced Forum User, Published Author (3927)
Joined: 11/30/2014
Posts: 2388
Location: US
NES TASer of 2015
With a huge thanks to MrWint, a new version of gambatte has been merged into BizHawk. This version incorporates the improvements made over the years particularly by the speedrun community, into a newer code base that is much more manageable then before. The primary improvement in accuracy is in RTC emulation, with the hope that some gen 2 pokemon games will be verifiable on console now, pretty cool! If you are working on a TAS using the 2.3.1 version of gambatte, I strongly recommend you update to the dev build, especially if you are not too far along.
Experienced Forum User, Published Author, Senior Judge, Senior Publisher (1423)
Joined: 4/17/2010
Posts: 10321
Location: RU
NES TAS of 2011
mGBA core updated, please test the hell out of it with the dev build!
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!
Editor, Experienced Forum User, Published Author (2799)
Joined: 5/15/2007
Posts: 3821
Location: Germany
Gameboy TASer of 2015NES TAS of 2013Gameboy TASer of 2011Gameboy TASer of 2010
I wanted to record a TAS, starting from SaveRAM, to play through Super Mario Ball's Time Attack mode (which becomes unlocked after collecting 2 star keys and can be selected via the title screen). While recording the TAS, saving and loading a state from before the game's intro cutscene will cause the Time Attack to be gone. The game will behave as if nothing has been unlocked. https://github.com/TASVideos/BizHawk/issues/1593
Experienced Forum User, Published Author, Senior Judge, Senior Publisher (1423)
Joined: 4/17/2010
Posts: 10321
Location: RU
NES TAS of 2011
RedGreenSonic wrote:
Unless I'm doing something wrong, attempting to set a custom resolution in GLideN64 just sets it back to 2880x2160 when you reload the settings. Can anyone confirm this?
Fixed.
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, Published Author, Senior Judge, Senior Publisher (1423)
Joined: 4/17/2010
Posts: 10321
Location: RU
NES TAS of 2011
Version 2.3.2 has been released! Downloads: https://github.com/TASVideos/BizHawk/releases/tag/2.3.2 Tons of fixes and updates to cores and tools (took us only another half a year). See the release notes for details http://tasvideos.org/BizHawk/ReleaseHistory.html#Bizhawk232
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!
PikachuMan
He/Him
Experienced Forum User, Limited User, Published Author (14)
Joined: 9/12/2009
Posts: 1510
Location: Wichita
In TAStudio if you swipe up or down on a button column in the middle of playback, it affects the seeking end zone by placing right above or below the selected frame, pausing the playback. I didn't like this change as it never happens in previous version, but it's here to stay. I'll still be using 2.3.1 and I'll be using 2.3.2 as well. This new update is recommended for NES, GB/GBC/GBA, N64, Genesis, and Atari 2600 TASes.
A Gameboy saveram splitter/combiner tool will be very useful for the 1st gen and 2nd gen Pokémon games.
Post subject: Version 2.3.2 firmware question
Joined: 6/20/2019
Posts: 1
Hello and thanks for this new 2.3.2 version! 2 firmware related questions: 1- The Atari 7800 NTSC now has a red circle/white question mark. The info provided by BizHawk is as follow: 4096 sha1:CE236581AB7921B59DB95BA12837C22F160896CB 7800NTSCBIOS.bin NTSC Bios All 7800 NTSC firmware sources I looked at (TOSEC, MAME, No intro, etc...) have a CRC32 of 5D13730C with SHA1 of D9D134BB6B36907C615A594CC7688F7BFCEF5B43 for the 7800 NTSC BIOS. The only other firmware beside PAL, NTSC and "high score cartridge" I could find is the "DEV OS BIOS" with a CRC32 of A13C2E50 and SHA1 of CE7856AB8BF947B2D9DDC4080FA9FA2C24C3BB29. So, what is this entirely new 7800 NTSC BIOS with SHA1 of CE236581AB7921B59DB95BA12837C22F160896CB ? 2- The 3 Vectrex firmware are under "FIX ME (FirmwaresConfig.cs)" Why? Thanks, Ramon
Alyosha
He/Him
Editor, Experienced Forum User, Published Author (3927)
Joined: 11/30/2014
Posts: 2388
Location: US
NES TASer of 2015
The A7800 firmware listed is a fast load custom bios that I forgot to switch back to the official one. you can find it pretty easily by googling "atari 7800 homebrew bios". I fixed this issue in master. Maybe we can get a hotfix patch that fixes this issue fir rekease, sorry! Vectrex is work in progress so things are still being built.
Experienced Forum User, Published Author (2216)
Joined: 12/23/2007
Posts: 769
NES TASer of 2012
Question: Since there have been years without an ideal TAS emulator for Arcade (all current ones have crashes and desync and other issues), how hard would it be for BizHawk to work with Arcade? Is it almost impossible, or just a matter of time? Thanks. :)
Recent projects: SMB warpless TAS (2018), SMB warpless walkathon (2019), SMB something never done before (2019), Extra Mario Bros. (best ending) (2020).
Experienced Forum User, Published Author, Senior Judge, Senior Publisher (1423)
Joined: 4/17/2010
Posts: 10321
Location: RU
NES TAS of 2011
HappyLee wrote:
Question: Since there have been years without an ideal TAS emulator for Arcade (all current ones have crashes and desync and other issues), how hard would it be for BizHawk to work with Arcade? Is it almost impossible, or just a matter of time? Thanks. :)
https://github.com/vadosnaprimer/BizHawk/commits/mame_core https://github.com/vadosnaprimer/mame/commits/headless_shared_library
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!
EZGames69
He/They
Experienced Forum User, Published Author, Publisher (4046)
Joined: 5/29/2017
Posts: 2416
Location: Marquette MI
TASer of 2020SNES TASer of 2020Sega TASer of 2020TASer of 2019Sega TASer of 2019Exotic platforms TAS of 2018
Iirc it was also planned to have MAME be allowed when used by libTAS, no idea where that’s going.
[14:15] <feos> WinDOES what DOSn't 12:33:44 PM <Mothrayas> "I got an oof with my game!" Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish [Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
Experienced Forum User, Published Author, Senior Judge, Senior Publisher (1423)
Joined: 4/17/2010
Posts: 10321
Location: RU
NES TAS of 2011
It's planned to eventually be supported too. And it already works: http://tasvideos.org/forum/viewtopic.php?t=20554
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!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author (3927)
Joined: 11/30/2014
Posts: 2388
Location: US
NES TASer of 2015
Not sure anyone will be interested, but as an offshoot of my vectrex work I'm putting together an MC6800 cpu core. It can be used for such things as some Atari Arcade machines. May or may not see any use, but since it's basically a stripped down version of the MC6809 that I already had to build for Vectrex, I figured I'd have it available while all the working knowledge was still fresh in my mind, and it would be faast to get going.
Post subject: Useful features request
TasMAJ
He/Him
Experienced Forum User
Joined: 7/17/2019
Posts: 6
Hello and thanks for such amazing universal emulator! But I can't find some much needed features for me. Namely: automatic switch on the next state while quick save to avoid manually switch to it; autosaving (in separate state\slot); automatic menu bar hiding; bilinear interpolation to avoid pixelation. PS: Any plans to add some video filters? What about netplay?
Experienced Forum User
Joined: 7/17/2012
Posts: 469
Location: Switzerland
Hi, Can we change The OSD size and how?
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
Experienced Forum User, Published Author, Senior Judge, Senior Publisher (1423)
Joined: 4/17/2010
Posts: 10321
Location: RU
NES TAS of 2011
What do you mean by OSD size?
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: 7/17/2012
Posts: 469
Location: Switzerland
feos wrote:
What do you mean by OSD size?
https://image.noelshack.com/fichiers/2019/31/6/1564853039-img-20190803-192251.jpg This, on a 2 or 4k screen, it's really tiny. Edited by feos: don't embed giant images.
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
Experienced Forum User, Published Author, Senior Judge, Senior Publisher (1423)
Joined: 4/17/2010
Posts: 10321
Location: RU
NES TAS of 2011
It's fixed size bitmap font, there's no way to change it. You can draw this info with lua tho, with whatever font size you wish: gui.drawText.
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!
Editor, Experienced Forum User, Published Author (2799)
Joined: 5/15/2007
Posts: 3821
Location: Germany
Gameboy TASer of 2015NES TAS of 2013Gameboy TASer of 2011Gameboy TASer of 2010
Bizhawk 2.3.1 I opened a .gb ROM, then moved the .gb to a different place. I then opened hex editor and it caused an exception.
MESHUGGAH
Other
Editor, Experienced Forum User, Published Author (2615)
Joined: 11/14/2009
Posts: 1241
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
NES TASer of 2013NES TAS of 2013NES TAS of 2012NES TAS of 2011
^ - Also happens in BizHawk 2.3.2 and any other ROMs. - If the ROM file moved back to original place, you can repair it with a soft reset (Emulation > Soft reset. If the core somehow doesn't have this, you will have to do hard reset). - Exception:
System.NullReferenceException: Az objektumhivatkozás nincs beállítva semmilyen objektumpéldányra.
   a következő helyen: BizHawk.Emulation.Common.MemoryDomainByteArray.set_Data(Byte[] value)
   a következő helyen: BizHawk.Client.EmuHawk.HexEditor.Restart()
   a következő helyen: BizHawk.Client.EmuHawk.ToolManager.Load[T](String toolPath, Boolean focus)
   a következő helyen: BizHawk.Client.EmuHawk.MainForm.HexEditorMenuItem_Click(Object sender, EventArgs e)
   a következő helyen: System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   a következő helyen: System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   a következő helyen: System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   a következő helyen: System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   a következő helyen: System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   a következő helyen: System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
   a következő helyen: System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   a következő helyen: System.Windows.Forms.Control.WndProc(Message& m)
   a következő helyen: System.Windows.Forms.ToolStrip.WndProc(Message& m)
   a következő helyen: System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
   a következő helyen: System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
PhD in TASing 🎓 obsoletes TASes ⏱️ guardian of the vault 🔥 uses black magic 🧙
Experienced Forum User, Published Author, Senior Judge, Senior Publisher (1423)
Joined: 4/17/2010
Posts: 10321
Location: RU
NES TAS of 2011
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: 9/18/2018
Posts: 21
Location: Québec, Canada
Wow, this is awesome to see a possible MameHawk! This could lead to endless possibilities if it ever expands to many of the obscure system it can emulate outside of Arcade that no other emulator does. But yeah, lets first start with Arcade.
My new website, a blog about retro gaming! RetroGameUp Youtube channel featuring gameplay of old retro game! GlitchoMuseum