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.
Make sure you are using 2.6.1 or the dev build.
Looks like it works fine for me. I would need a specific example where it's not working.
I would need specific cases to check, do you have a file that's not working?
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.
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!
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.
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...
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"
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()).
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...
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...
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.
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.
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.
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.
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.
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?
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?
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:
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.