MarbleousDave
He/Him
Player (13)
Joined: 9/12/2009
Posts: 1559
If always load cheats is checked and saved cheats as a different name than the ROM filename or in the database then reboot core, it doesn't do anything as normal. If saved as the same name, it'll load cheats as usual. If autosave cheats is checked and saved cheats as a different name than the ROM filename or in the database then reboot core, the cheats are saved. But if there's no cheats loaded after rebooting core then you reboot the core again with autosave cheats checked, the cheats get deleted. What it's supposed to do if no cheats are added is not autosave even if checked. If you loaded cheats beforehand and rebooted the core with autosave cheats checked, the cheats are safe. The cheats getting deleted is an unintended side-effect of the autosave cheats function if you saved cheats as other than the name provided then rebooted the core twice.
MarbleousDave
He/Him
Player (13)
Joined: 9/12/2009
Posts: 1559
THIS IS URGENT! GBHawk is NOT saving SaveRAM properly! This NEEDS to be fixed ASAP!
MarbleousDave
He/Him
Player (13)
Joined: 9/12/2009
Posts: 1559
UPDATE! GBHawkLink doesn't save properly for 3 and 4 players. Also, Pokémon might have trouble linking on 3 and 4 players.
Alyosha
He/Him
Editor, Emulator Coder, Expert player (3810)
Joined: 11/30/2014
Posts: 2829
Location: US
Make sure you are using 2.6.1 or the dev build.
PikachuMan wrote:
THIS IS URGENT! GBHawk is NOT saving SaveRAM properly! This NEEDS to be fixed ASAP!
Looks like it works fine for me. I would need a specific example where it's not working.
PikachuMan wrote:
UPDATE! GBHawkLink doesn't save properly for 3 and 4 players. Also, Pokémon might have trouble linking on 3 and 4 players.
I would need specific cases to check, do you have a file that's not working?
Joined: 2/23/2021
Posts: 1
Hi. I'm trying to use the debugging tools on Octohawk but it seems like memory write breakpoints don't work. Even trying to use Lua commands to watch memory locations gives me non-deterministic results. Is this a known issue? There's a ticket about improving Octoshock debugging tools but I can't really follow it.
Post subject: The Terminator (SMS) won't show backgrounds
Joined: 5/4/2018
Posts: 18
So I've tried to play The Terminator on the newest version of Bizhawk (2.6.1), and the game won't show backgrounds at all. Apparently this has been a thing for what seems like numerous version of Bizhawk; even 2.5.2 seems to do this. All you really get are your sprite as well as those of the enemies. Backgrounds are just completely black as if they don't even exist. https://twitter.com/PrinceWatercres/status/1364264787194957828 EDIT: Changed the link so you could actually see the screenshot.
Post subject: Re: The Terminator (SMS) won't show backgrounds
Alyosha
He/Him
Editor, Emulator Coder, Expert player (3810)
Joined: 11/30/2014
Posts: 2829
Location: US
PrinceWatercress wrote:
So I've tried to play The Terminator on the newest version of Bizhawk (2.6.1), and the game won't show backgrounds at all. Apparently this has been a thing for what seems like numerous version of Bizhawk; even 2.5.2 seems to do this. All you really get are your sprite as well as those of the enemies. Backgrounds are just completely black as if they don't even exist. https://twitter.com/PrinceWatercres/status/1364264787194957828 EDIT: Changed the link so you could actually see the screenshot.
I'm pretty sure the game gear version of this same game was fixed a while back by adding SRAM to it. I can't test it right now myself, but if you go into gamedb->gamedb_sega_sms and replace this line:
F224907676A09C7F0404C95C316F1503		The Terminator (E)	SMS			Europe
with this:
F224907676A09C7F0404C95C316F1503		The Terminator (E)	SMS		SRAM=8192	Europe
(or equivalently for the brazil version if you are using that one.) I'm guessing it will probably work. Let me know if so and I can commit it to master.
Post subject: Re: The Terminator (SMS) won't show backgrounds
Joined: 5/4/2018
Posts: 18
Alyosha wrote:
PrinceWatercress wrote:
So I've tried to play The Terminator on the newest version of Bizhawk (2.6.1), and the game won't show backgrounds at all. Apparently this has been a thing for what seems like numerous version of Bizhawk; even 2.5.2 seems to do this. All you really get are your sprite as well as those of the enemies. Backgrounds are just completely black as if they don't even exist. https://twitter.com/PrinceWatercres/status/1364264787194957828 EDIT: Changed the link so you could actually see the screenshot.
I'm pretty sure the game gear version of this same game was fixed a while back by adding SRAM to it. I can't test it right now myself, but if you go into gamedb->gamedb_sega_sms and replace this line:
F224907676A09C7F0404C95C316F1503		The Terminator (E)	SMS			Europe
with this:
F224907676A09C7F0404C95C316F1503		The Terminator (E)	SMS		SRAM=8192	Europe
(or equivalently for the brazil version if you are using that one.) I'm guessing it will probably work. Let me know if so and I can commit it to master.
I just tried this and it works. It gave me the SMB1 ? Block and the "Warning: Unknown ROM" status in the lower-left corner of the window, but it did the trick. Thanks!
RGL
Joined: 7/13/2017
Posts: 57
Critical Bug : All branches are gone when I load any TASproj with 2.6.1 now. (not only old ones, those I created with this version too)
RGL
Joined: 7/13/2017
Posts: 57
May I suggest a warning message on the download page that says that Version 2.5.2 needs to be used for TASProjects as long as this bug isnt fixed?
MarbleousDave
He/Him
Player (13)
Joined: 9/12/2009
Posts: 1559
3-4 players on Gameboy doesn't create the SaveRAM files when it's supposed to. The AutoSaveRAM feature can be used but the AutoSaveRAM needs to be renamed to load the data as in removing .AutoSaveRAM from the file name.
MESHUGGAH
Other
Skilled player (1917)
Joined: 11/14/2009
Posts: 1353
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
There is a change in 2.6.2 BizHawk which made my Lua scripts broken from 2.3.2. edit: the change probably introduced earlier but I've only trying it now. also changed version of where my scripts working. The problem is the following: NLua.Exceptions.LuaScriptException: [string "main"]:4: attempt to call field 'registerafter' (a nil value) Example lua which is broken, copy pasted from Wiki: LuaScripting/Registers
local function Fn() --Insert somewhat mediocre code here end emu.registerafter(Fn)
Used NESHawk edit3: I've tested 2.3.2 and it still not working. Is it possible that I'm trying a lua script for FCEUX and the page also only refers to FCEUX's lua?
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
Bigbass
He/Him
Moderator
Joined: 2/2/2021
Posts: 189
Location: Midwest
MESHUGGAH wrote:
There is a change in 2.6.2 BizHawk which made my Lua scripts broken from 2.3.2. edit: the change probably introduced earlier but I've only trying it now. also changed version of where my scripts working. The problem is the following: NLua.Exceptions.LuaScriptException: [string "main"]:4: attempt to call field 'registerafter' (a nil value) Example lua which is broken, copy pasted from Wiki: LuaScripting/Registers
local function Fn() --Insert somewhat mediocre code here end emu.registerafter(Fn)
Used NESHawk
The page you linked hasn't been updated since 2013. You can find the available lua functions on this page. The equivalent function you're looking for is probably "event.onframeend"
TAS Verifications | Mastodon | Github | Discord: @bigbass
Emulator Coder, Judge, Experienced player (729)
Joined: 2/26/2020
Posts: 778
Location: California
MESHUGGAH wrote:
There is a change in 2.6.2 BizHawk which made my Lua scripts broken from 2.3.2. edit: the change probably introduced earlier but I've only trying it now. also changed version of where my scripts working. The problem is the following: NLua.Exceptions.LuaScriptException: [string "main"]:4: attempt to call field 'registerafter' (a nil value) Example lua which is broken, copy pasted from Wiki: LuaScripting/Registers
local function Fn() --Insert somewhat mediocre code here end emu.registerafter(Fn)
Used NESHawk
That function has not existed in BizHawk for a long while, being removed in 1.2.0 in favor of event.frameafter() (which at some point became event.onframeend()).
MESHUGGAH
Other
Skilled player (1917)
Joined: 11/14/2009
Posts: 1353
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
Thanks! This means I tried FCEUX compatible lua script. Sorry! edit: what I needed to change to run my FCEUX lua in BizHawk: - remove emu.registerafter(hud) - add the following instead:
Language: lua

event.onframeend(hud) while true do emu.frameadvance() end
(Other lua scripts might require more changes)
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
MESHUGGAH
Other
Skilled player (1917)
Joined: 11/14/2009
Posts: 1353
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
Ok now for a real bug report. edit: reworded to reflect to my latest knowledge of informations If a lua script which has both an event.onframeend and a while true do emu.frameadvance() end block and you throw the lua script twice on BizHawk, BizHawk will shows an exception dialog and closes. Happens with both lua engine. There is a simple fix (as long as possible to change your code) by not using these hooks but incorporating it to the infinite while true do loop your functions. Exception text:
System.NullReferenceException: Az objektumhivatkozás nincs beállítva semmilyen objektumpéldányra. a következő helyen: BizHawk.Client.EmuHawk.LuaConsole.ResumeScripts(Boolean includeFrameWaiters) a következő helyen: BizHawk.Client.EmuHawk.MainForm.ProgramRunLoop() a következő helyen: BizHawk.Client.EmuHawk.Program.SubMain(String[] args)
Example lua script for repro steps:
Language: lua

local function hud() end event.onframeend(hud) while true do emu.frameadvance() end
alternative code:
Language: lua

event.oninputpoll(function () end) while true do emu.frameadvance() end
Step by step repro: 1. Launch BizHawk 2.6.2 (probably affects older versions) 2. Make a test.lua file using one of the codes I written above 3. Drag and drop it on BizHawk's window 4. Repeat step 3 (--> drag and drop the lua script two times total) 5. Dialog with exception comes and BizHawk closes. Notice that BizHawk doesn't closes if you do this only once. Also notice that it looks like not every problem gets output in the Lua console. There should be a null reference exception edit: because this script uses NullHawk which probably doesn't have the event or emu defined. I'm unsure if this is the case as I've read the bizhawk src code very long time ago. as well but this doesn't happens with my example code. edit (new info + edited repro steps: The problem happens if you drag and drop the same lua script which has both an event.onframeend and a while true do emu.frameadvance() end block to BizHawk twice. edit2: whoops, my previous conclusion wasn't ok. looks like I found the culprit. if the code contains an event.onframeend hook, drag and dropping that script twice to BizHawk will make it crash (force close) after a dialog with the exception comes up. Bug doesn't happens with event.onframestart(). Bug happens with event.onframeend(), event.oninputpoll()
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
tex1138
He/Him
Joined: 8/4/2021
Posts: 2
Hello forum, I am using Bizhawk 2.6.2 (x64) on Windows 10 21H1. I use a USB joystick as the input device. With a SNES ROM executing and Snes9x as the auto-selected engine, I find that if the USB connection gets disconnected, Bizhawk instantly crashes with no messages produced. Besides losing any progress since the last save state, the SaveRAM is also not updated. I didn't find anything by a search here or on the github. This feels like a serious bug to me, but since I'm a first-time reporter, I didn't post it to the github yet pending someone knowledgeable looking at this post and not seeing that I"m doing something stupid.
RGL
Joined: 7/13/2017
Posts: 57
Is that gamepad wired or not? With Xbox360 or Xboxone compatible controller you can prevent the controller from autodisconneting by simply using it with a cable connection.
tex1138
He/Him
Joined: 8/4/2021
Posts: 2
RGL wrote:
Is that gamepad wired or not? With Xbox360 or Xboxone compatible controller you can prevent the controller from autodisconneting by simply using it with a cable connection.
It’s a wired-only Logitech, Xbox 360 compatible. It doesn’t have a wireless capability. Sorry I don’t have the model number in front of me.
Joined: 3/26/2021
Posts: 2
tex1138 wrote:
Hello forum, I am using Bizhawk 2.6.2 (x64) on Windows 10 21H1. I use a USB joystick as the input device. With a SNES ROM executing and Snes9x as the auto-selected engine, I find that if the USB connection gets disconnected, Bizhawk instantly crashes with no messages produced. Besides losing any progress since the last save state, the SaveRAM is also not updated. I didn't find anything by a search here or on the github. This feels like a serious bug to me, but since I'm a first-time reporter, I didn't post it to the github yet pending someone knowledgeable looking at this post and not seeing that I"m doing something stupid.
Same thing happening to me. I'm using an Xbox One controller wireless.
Joined: 7/17/2012
Posts: 543
Location: Switzerland
Saturnus (latest BizHawk dev build): How do you make the crosshair match the actual mouse position? On the left, the crosshair, on the right the mouse in its actual position.
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
Fortranm
He/Him
Editor, Experienced player (878)
Joined: 10/19/2013
Posts: 1121
SGB and SGB2 firmwares are listed under both SNES and Gameboy on the Firmwares setting, and each entry looks for different files. Also, Open ROM starts at the SNES folder under SGB mode. Is it possible to make it start at the Gameboy folder instead?
Emulator Coder, Judge, Experienced player (729)
Joined: 2/26/2020
Posts: 778
Location: California
Fortranm wrote:
SGB and SGB2 firmwares are listed under both SNES and Gameboy on the Firmwares setting, and each entry looks for different files.
That's intentional, the ones in SNES cover the SNES side of firmware and the ones in Game Boy cover the Game Boy side of firmware (the latter is usable in HLE cores unlike the former). Does Open ROM go to the SNES folder for all SGB cores, or just BSNES cores?
Fortranm
He/Him
Editor, Experienced player (878)
Joined: 10/19/2013
Posts: 1121
Open ROM goes to the SNES folder for all SGB cores.
juef
He/Him
Player (154)
Joined: 1/29/2007
Posts: 208
Location: Québec, Canada
Not sure if I'm doing something wrong here so I won't post in the Github issues for now. I am using the latest BizHawk release for Linux. Using a fresh config file, I can load and play a GBC game (such as ucity). But if I import a GBC BIOS which is verified as correct by BizHawk and enable it, it crashes right after loading the ROM. Simply changing true to false in the following part of config.ini makes everything work as expected:
  "CoreSyncSettings": {
    "BizHawk.Emulation.Cores.Nintendo.Gameboy.Gameboy": {
      "$type": "BizHawk.Emulation.Cores.Nintendo.Gameboy.Gameboy+GambatteSyncSettings, BizHawk.Emulation.Cores",
      "EnableBIOS": true,
I can provide more details if necessary. Notably, I see a "mono_crash" JSON file created each time this happens. [EDIT] Switching from the Gambatte core to the GBHawk or SubGBHawk cores also make it work fine.