BizHawk Emulator Development


Experienced Forum User
Joined: 12/1/2016
Posts: 12
I have it set to OpenGL. The PC shouldn't be an issue. I'm running a 4770k clocked at 4.2GHz and a 780Ti GPU. If it's not enough power, then I guess I'll just have to wait until I can get something new. I don't know what to do about Up/Down movements not registering on the Virtual Pad for analog coordinates though.
Editor, Emulator Coder, Experienced Forum User, Site Developer
Joined: 5/11/2011
Posts: 1105
Location: Murka
Saturnus core is slower than the original Mednafen core it was based on, which was already slow. At least it's stable. That CPU is at the cusp of usability, depending on game. I know some possible ways to make Saturnus faster, but there are a lot of other things that need doing too.
Experienced Forum User
Joined: 12/1/2016
Posts: 12
I see. Thank you for the information.
Post subject: BizHawk 2.1.0 Released!
Noxxa
Any
Admin Assistant, Experienced Forum User, Published Author (5230)
Joined: 8/14/2009
Posts: 4020
Location: The Netherlands
Exotic platforms TASer of 2018Exotic platforms TAS of 2018Exotic platforms TASer of 2017Exotic platforms TAS of 2017Exotic platforms TAS of 2017Exotic platforms TASer of 2016Exotic platforms TAS of 2016Gameboy TASer of 2013
Version 2.1.0 has been released! Changelog: http://tasvideos.org/Bizhawk/ReleaseHistory.html#Bizhawk210 Downloads: https://github.com/TASVideos/BizHawk/releases/tag/2.1 Includes new cores for Super Game Boy (using Pizza Boy), Sega 32X (using PicoDrive), PC-FX (using Mednafen), and Uzebox (using Uzem), Lua interface reworks, and more.
http://www.youtube.com/Noxxa (formerly known as Mothrayas) <dwangoAC> This is a TAS (...). Not suitable for all audiences. May cause undesirable side-effects. May contain emulator abuse. Emulator may be abusive. This product contains glitches known to the state of California to cause egg defects. <Masterjun> I'm just a guy arranging bits in a sequence which could potentially amuse other people looking at these bits <adelikat> In Oregon Trail, I sacrificed my own family to save time. In Star trek, I killed helpless comrades in escape pods to save time. Here, I kill my allies to save time. I think I need help.
Challenger
He/Him
Experienced Forum User, Published Author (2752)
Joined: 2/23/2016
Posts: 916
Sega TASer of 2017TASer of 2017NES TAS of 2017
WOW! Sega32xHawk! :D Thanks a lot! Someday I'll choose a 32x game to work!
My homepage --Currently not much motived for TASing as before...-- But I'm still working.
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 tried GB Daffy Duck The Marvin Missions' 0 HP glitch with Bizhawk 2.1.0's Pizza Boy core. It's basicly flashing like in Gambatte core except it never freezes or glitch warps. Just infinite flashing, it seems. Seems same as VBA/BGB's behavior. Please note neither Gambatte's nor VBA/BGB/Pizza Boy's behavior seems correct. More interestingly, in Pizza Boy, it seems sound effects are somewhat messed up and in the game's SGB port, the colors seem wrong. Opened issue: https://github.com/TASVideos/BizHawk/issues/924
Editor, Emulator Coder, Experienced Forum User
Joined: 8/7/2008
Posts: 1156
Pizza boy is same as VBA/BGB Pizza boy/VBA/BGB is not correct. Gambatte is not correct. _Who is correct, then?_ Is your bug report "pizza boy doesn't act like gambatte. I want it to work like gambatte even though gambatte is not correct"?
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
My first paragraph is an observation, my second paragraph is the bug report.
More interestingly, in Pizza Boy, it seems sound effects are somewhat messed up and in the game's SGB port, the colors seem wrong. Opened issue: https://github.com/TASVideos/BizHawk/issues/924
Fortranm
He/Him
Editor, Experienced Forum User, Published Author (536)
Joined: 10/19/2013
Posts: 999
SGB intro is not fully played when Pizzaboy core is chosen. Is this intentional? Which SGB core is preferred for TASing purpose?
Editor, Emulator Coder, Experienced Forum User
Joined: 8/7/2008
Posts: 1156
It's intentional. It's a pseudo-SGB which has only the important functions. BSNES SGB is not ready for prime time. I can't say what's preferred, since we don't like pizza either, but it probably works better than BSNES. Use whichever one works, if you're lucky and one of them works.
Editor, Emulator Coder, Experienced Forum User, Site Developer
Joined: 5/11/2011
Posts: 1105
Location: Murka
The new SGB core is going to get some more love, but yes, it doesn't emulate a SNES at all so there are certain things it just won't do
Experienced Forum User, Published Author (2045)
Joined: 9/17/2009
Posts: 4871
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
GBA TASer of 2010
Is there any way to truncate a movie from current frame "easily"? Right now, there's 3 ways: 1. manually edit the input log and remove all the input from end to whatever frame 2. open the movie in TAStudios, then playback to whichever point you want, then click "Truncate" and import movie 3. toggle off read-only, make a different input, toggle it back on, then remove that input using method 1. Would it make sense to make an option that allows truncating while playing back a movie, or is that too niche (and I should just probably be more careful)?
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
Some features I would like to use across platforms 1. Disable video (headless) to seek much faster to given frame while other tools are available (TAStudio) 2. Disable ROM not in gamedb. Let me choose another entry. 3. Disable verificaions like invalid platform id, sync settings, mnemonics difference. 4. Disable error dialogs. Give me a warning like FATAL ERROR and let me able to make a memory dump or atleast history setting for the last created and unsaved input sequence in TAStudio.
PhD in TASing 🎓 obsoletes TASes ⏱️ guardian of the vault 🔥 uses black magic 🧙
Editor, Experienced Forum User, Published Author (908)
Joined: 5/23/2006
Posts: 361
Location: Washington, United States
NES TAS of 2019Lucky TAS of 2019Funny TAS of 2013
jlun2 wrote:
Is there any way to truncate a movie from current frame "easily"?
What about, save a state, toggle off read-only, load the state? That'll truncate without having to mess with the input file. I use this method all the time.
Experienced Forum User, Published Author (2045)
Joined: 9/17/2009
Posts: 4871
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
GBA TASer of 2010
Chef Stef wrote:
jlun2 wrote:
Is there any way to truncate a movie from current frame "easily"?
What about, save a state, toggle off read-only, load the state? That'll truncate without having to mess with the input file. I use this method all the time.
How are you doing this? My savestate seems to save the movie as well. Not complaining about that however; it saved my progress more than once. 🙂
Editor, Emulator Coder, Experienced Forum User
Joined: 8/7/2008
Posts: 1156
fixed (openAL missing problem, which is now a deleted post?)
Post subject: 2.1.1 Released
adelikat
He/Him
Emulator Coder, Published Author, Site Admin (4250)
Joined: 11/3/2004
Posts: 4656
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
Version 2.1.1 has been released! Changelog: http://tasvideos.org/Bizhawk/ReleaseHistory.html#Bizhawk211 Downloads: https://github.com/TASVideos/BizHawk/releases/tag/2.1.1 This version replaces Pizza Boy with SameBoy for SGB emulation as it was found to be a lot better. If anyone started any serious SGB TAS with 2.1, I highly recommend to update to this one. Also some big fixes to tools, particularly lua, and mGBA is updated to 0.6
Pimpin' ain't easy My Homepage My TAS projects
Post subject: BizHawk 2.2 released
adelikat
He/Him
Emulator Coder, Published Author, Site Admin (4250)
Joined: 11/3/2004
Posts: 4656
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.2 released. This release features the new Atari 7800 core written by Alyosha. For those who haven't been following the the thread, you can see the development of this core here And of course, see the release notes for more details.
Pimpin' ain't easy My Homepage My TAS projects
Experienced Forum User
Joined: 5/4/2016
Posts: 67
I was wondering about the possibility of having support for the hex editor with libretro cores. Is there a technical barrier preventing them from having support?
adelikat
He/Him
Emulator Coder, Published Author, Site Admin (4250)
Joined: 11/3/2004
Posts: 4656
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
smellyfeetyouhave wrote:
I was wondering about the possibility of having support for the hex editor with libretro cores. Is there a technical barrier preventing them from having support?
very much so. There is no api on libretro for read/writing memory regions. And even after that has been fleshed out, each libretro core would have to adequately support it.
Pimpin' ain't easy My Homepage My TAS projects
Experienced Forum User
Joined: 5/4/2016
Posts: 67
adelikat wrote:
smellyfeetyouhave wrote:
I was wondering about the possibility of having support for the hex editor with libretro cores. Is there a technical barrier preventing them from having support?
very much so. There is no api on libretro for read/writing memory regions. And even after that has been fleshed out, each libretro core would have to adequately support it.
Well that sucks, although it does make me question how they handled cheat support in Retroarch without reading/writing to memory regions. Is it implemented in the retroarch frontend rather than the libretro backend? Edit: Found this in libretro-common

RETRO_API void retro_cheat_reset(void);
RETRO_API void retro_cheat_set(unsigned index, bool enabled, const char *code);
Any chance we could get cheat support since it appears to exist in the API? I also found this but it's marked as experimental

#define RETRO_ENVIRONMENT_SET_MEMORY_MAPS (36 | RETRO_ENVIRONMENT_EXPERIMENTAL)
                                           /* const struct retro_memory_map * --
                                            * This environment call lets a libretro core tell the frontend 
                                            * about the memory maps this core emulates.
                                            * This can be used to implement, for example, cheats in a core-agnostic way.
                                            *
                                            * Should only be used by emulators; it doesn't make much sense for 
                                            * anything else.
                                            * It is recommended to expose all relevant pointers through 
                                            * retro_get_memory_* as well.
                                            *
                                            * Can be called from retro_init and retro_load_game.
Looks like it might be possible now if the core implements this feature?
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'm trying to code a game in Bizhawk in lua and it draws images on the screen. It works perfectly in 1.12.0 but in 1.13.0 I get all sorts of random errors, such as "file not found" and then it crashes. It's unusable. Opened issue here. Also, when using client.closerom(), the lua console seems to break and you cannot load any more scripts until you restart the emulator. I've been wanting to use a function that just closes the script itself but that doesn't seem to exist.
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
Are there any example command line scripts? (This) Is it possible to write a .bat that opens bizhawk, a rom and a lua?
Pokota
He/Him
Experienced Forum User
Joined: 2/5/2014
Posts: 776
Here's an example that opens bizhawk, a lua, and a rom
EmuHawk --lua=".\Lua\pokemon.lua" "D:\Public\Roms\Gameboy Color\Pokemon Blue.gb"
Adventures in Lua When did I get a vest?
Editor, Experienced Forum User, Published Author (1498)
Joined: 9/27/2008
Posts: 1072
MUGG wrote:
[...] I've been wanting to use a function that just closes the script itself but that doesn't seem to exist.
Closest equivalent would be error("Closed script",0). BizHawk's behavior is to terminate scripts that throw an unprotected error, and the error function's whole purpose is to throw an error. If you regularly use pcall to call all your functions, you're on your own. I do not know BizHawk's behavior on functions throwing errors when registered to certain hooks rather than in the while true do emu.frameadvance end loop.