Post subject: How do you port cores to bizhawk?
Joined: 9/12/2014
Posts: 536
Location: Waterford, MI
I'm curios to know how cores are ported to bizhawk. That way I would understand why highly anticipated cores are on hiatus. About libretro, people seem very excited when a desired platform is "ported" to libretro. And they say things like "its a step closer to tasing". How though? I DO have programming experience, been doing it since I was 15(now 22), so I may be able to help. And I also see that you would need the source code of an emulator to add tas tools to it. No idea how that's done, but I do understand that you would have to understand the code to even begin. But I don't know what to look for. I'd be willing to help.
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11269
Location: RU
For a quick ref, we have this thread (lol) http://tasvideos.org/forum/viewtopic.php?t=16865 So yeah, you pick an emulator, strip it down to basic needs, wire up the callback system that would let emuhawk talk to the core, or just pick an existing core that's already been prepared for that. Then you set up the bizhawk layer for that core, which would pull all the strings in the core that you just wired up. Examples: https://github.com/TASVideos/BizHawk/blob/master/BizHawk.Emulation.Cores/Consoles/Sony/PSX/Octoshock.cs https://github.com/TASVideos/BizHawk/blob/master/BizHawk.Emulation.Cores/Consoles/Sony/PSX/OctoshockDll.cs https://github.com/TASVideos/BizHawk/blob/master/BizHawk.Emulation.Cores/Consoles/Nintendo/QuickNES/QuickNES.cs https://github.com/TASVideos/BizHawk/blob/master/BizHawk.Emulation.Cores/Consoles/Nintendo/QuickNES/LibQuickNES.cs
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.