Editor, Expert player (2310)
Joined: 5/15/2007
Posts: 3854
Location: Germany
I tried using Basic Bot in Bizhawk 2.8. Playing a GBA game. When the game runs in unthrottled mode but I use frame-advance, it will update the screen only every few frames when frame advancing. When poking a value to an address in hex editor, Basic Bot doesn't seem to recognize the value in its condition as changed.
MarbleousDave
He/Him
Player (12)
Joined: 9/12/2009
Posts: 1554
************** Exception Text ************** System.AggregateException: One or more errors occurred. ---> System.InvalidOperationException: VirtualAlloc() returned NULL at BizHawk.BizInvoke.MemoryBlockWindowsPal..ctor(UInt64 size) at BizHawk.BizInvoke.MemoryBlock..ctor(UInt64 size) at BizHawk.Client.Common.ZwinderBuffer..ctor(IRewindSettings settings) at BizHawk.Client.Common.ZwinderStateManager.UpdateBuffer(ZwinderBuffer buffer, RewindConfig newConfig, Boolean keepOldStates) at BizHawk.Client.Common.ZwinderStateManager.UpdateSettings(ZwinderStateManagerSettings settings, Boolean keepOldStates) at BizHawk.Client.Common.ZwinderStateManager..ctor(ZwinderStateManagerSettings settings, Func`2 reserveCallback) at BizHawk.Client.Common.TasMovie..ctor(IMovieSession session, String path, IQuickBmpFile quickBmpFile) at BizHawk.Client.Common.MovieSession.Get(String path) at BizHawk.Client.EmuHawk.PlayMovie.PreLoadMovieFile(HawkFile hf, Boolean force) at BizHawk.Client.EmuHawk.PlayMovie.AddMovieToList(String filename, Boolean force) at BizHawk.Client.EmuHawk.PlayMovie.<>c__DisplayClass24_0.<ScanFiles>b__0(Int32 i) at System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.<ForWorker>b__1() at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask) at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object <p0>) --- End of inner exception stack trace --- at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Func`4 bodyWithLocal, Func`1 localInit, Action`1 localFinally) at System.Threading.Tasks.Parallel.For(Int32 fromInclusive, Int32 toExclusive, Action`1 body) at BizHawk.Client.EmuHawk.PlayMovie.ScanFiles() at BizHawk.Client.EmuHawk.PlayMovie.MatchHashCheckBox_CheckedChanged(Object sender, EventArgs e) at System.Windows.Forms.CheckBox.OnCheckedChanged(EventArgs e) at System.Windows.Forms.CheckBox.set_CheckState(CheckState value) at System.Windows.Forms.CheckBox.set_Checked(Boolean value) at BizHawk.Client.EmuHawk.PlayMovie.PlayMovie_Load(Object sender, EventArgs e) at System.Windows.Forms.Form.OnLoad(EventArgs e) at System.Windows.Forms.Form.OnCreateControl() at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible) at System.Windows.Forms.Control.CreateControl() at System.Windows.Forms.Control.WmShowWindow(Message& m) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.Form.WmShowWindow(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) ---> (Inner Exception #0) System.InvalidOperationException: VirtualAlloc() returned NULL at BizHawk.BizInvoke.MemoryBlockWindowsPal..ctor(UInt64 size) at BizHawk.BizInvoke.MemoryBlock..ctor(UInt64 size) at BizHawk.Client.Common.ZwinderBuffer..ctor(IRewindSettings settings) at BizHawk.Client.Common.ZwinderStateManager.UpdateBuffer(ZwinderBuffer buffer, RewindConfig newConfig, Boolean keepOldStates) at BizHawk.Client.Common.ZwinderStateManager.UpdateSettings(ZwinderStateManagerSettings settings, Boolean keepOldStates) at BizHawk.Client.Common.ZwinderStateManager..ctor(ZwinderStateManagerSettings settings, Func`2 reserveCallback) at BizHawk.Client.Common.TasMovie..ctor(IMovieSession session, String path, IQuickBmpFile quickBmpFile) at BizHawk.Client.Common.MovieSession.Get(String path) at BizHawk.Client.EmuHawk.PlayMovie.PreLoadMovieFile(HawkFile hf, Boolean force) at BizHawk.Client.EmuHawk.PlayMovie.AddMovieToList(String filename, Boolean force) at BizHawk.Client.EmuHawk.PlayMovie.<>c__DisplayClass24_0.<ScanFiles>b__0(Int32 i) at System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.<ForWorker>b__1() at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask) at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object <p0>)<--- ---> (Inner Exception #1) System.InvalidOperationException: VirtualAlloc() returned NULL at BizHawk.BizInvoke.MemoryBlockWindowsPal..ctor(UInt64 size) at BizHawk.BizInvoke.MemoryBlock..ctor(UInt64 size) at BizHawk.Client.Common.ZwinderBuffer..ctor(IRewindSettings settings) at BizHawk.Client.Common.ZwinderStateManager.UpdateBuffer(ZwinderBuffer buffer, RewindConfig newConfig, Boolean keepOldStates) at BizHawk.Client.Common.ZwinderStateManager.UpdateSettings(ZwinderStateManagerSettings settings, Boolean keepOldStates) at BizHawk.Client.Common.ZwinderStateManager..ctor(ZwinderStateManagerSettings settings, Func`2 reserveCallback) at BizHawk.Client.Common.TasMovie..ctor(IMovieSession session, String path, IQuickBmpFile quickBmpFile) at BizHawk.Client.Common.MovieSession.Get(String path) at BizHawk.Client.EmuHawk.PlayMovie.PreLoadMovieFile(HawkFile hf, Boolean force) at BizHawk.Client.EmuHawk.PlayMovie.AddMovieToList(String filename, Boolean force) at BizHawk.Client.EmuHawk.PlayMovie.<>c__DisplayClass24_0.<ScanFiles>b__0(Int32 i) at System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.<ForWorker>b__1() at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask) at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object <p0>)<--- ---> (Inner Exception #2) System.InvalidOperationException: VirtualAlloc() returned NULL at BizHawk.BizInvoke.MemoryBlockWindowsPal..ctor(UInt64 size) at BizHawk.BizInvoke.MemoryBlock..ctor(UInt64 size) at BizHawk.Client.Common.ZwinderBuffer..ctor(IRewindSettings settings) at BizHawk.Client.Common.ZwinderStateManager.UpdateBuffer(ZwinderBuffer buffer, RewindConfig newConfig, Boolean keepOldStates) at BizHawk.Client.Common.ZwinderStateManager.UpdateSettings(ZwinderStateManagerSettings settings, Boolean keepOldStates) at BizHawk.Client.Common.ZwinderStateManager..ctor(ZwinderStateManagerSettings settings, Func`2 reserveCallback) at BizHawk.Client.Common.TasMovie..ctor(IMovieSession session, String path, IQuickBmpFile quickBmpFile) at BizHawk.Client.Common.MovieSession.Get(String path) at BizHawk.Client.EmuHawk.PlayMovie.PreLoadMovieFile(HawkFile hf, Boolean force) at BizHawk.Client.EmuHawk.PlayMovie.AddMovieToList(String filename, Boolean force) at BizHawk.Client.EmuHawk.PlayMovie.<>c__DisplayClass24_0.<ScanFiles>b__0(Int32 i) at System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.<ForWorker>b__1() at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask) at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object <p0>)<--- ---> (Inner Exception #3) System.InvalidOperationException: VirtualAlloc() returned NULL at BizHawk.BizInvoke.MemoryBlockWindowsPal..ctor(UInt64 size) at BizHawk.BizInvoke.MemoryBlock..ctor(UInt64 size) at BizHawk.Client.Common.ZwinderBuffer..ctor(IRewindSettings settings) at BizHawk.Client.Common.ZwinderStateManager.UpdateBuffer(ZwinderBuffer buffer, RewindConfig newConfig, Boolean keepOldStates) at BizHawk.Client.Common.ZwinderStateManager.UpdateSettings(ZwinderStateManagerSettings settings, Boolean keepOldStates) at BizHawk.Client.Common.ZwinderStateManager..ctor(ZwinderStateManagerSettings settings, Func`2 reserveCallback) at BizHawk.Client.Common.TasMovie..ctor(IMovieSession session, String path, IQuickBmpFile quickBmpFile) at BizHawk.Client.Common.MovieSession.Get(String path) at BizHawk.Client.EmuHawk.PlayMovie.PreLoadMovieFile(HawkFile hf, Boolean force) at BizHawk.Client.EmuHawk.PlayMovie.AddMovieToList(String filename, Boolean force) at BizHawk.Client.EmuHawk.PlayMovie.<>c__DisplayClass24_0.<ScanFiles>b__0(Int32 i) at System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.<ForWorker>b__1() at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask) at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object <p0>)<--- ---> (Inner Exception #4) System.InvalidOperationException: VirtualAlloc() returned NULL at BizHawk.BizInvoke.MemoryBlockWindowsPal..ctor(UInt64 size) at BizHawk.BizInvoke.MemoryBlock..ctor(UInt64 size) at BizHawk.Client.Common.ZwinderBuffer..ctor(IRewindSettings settings) at BizHawk.Client.Common.ZwinderStateManager.UpdateBuffer(ZwinderBuffer buffer, RewindConfig newConfig, Boolean keepOldStates) at BizHawk.Client.Common.ZwinderStateManager.UpdateSettings(ZwinderStateManagerSettings settings, Boolean keepOldStates) at BizHawk.Client.Common.ZwinderStateManager..ctor(ZwinderStateManagerSettings settings, Func`2 reserveCallback) at BizHawk.Client.Common.TasMovie..ctor(IMovieSession session, String path, IQuickBmpFile quickBmpFile) at BizHawk.Client.Common.MovieSession.Get(String path) at BizHawk.Client.EmuHawk.PlayMovie.PreLoadMovieFile(HawkFile hf, Boolean force) at BizHawk.Client.EmuHawk.PlayMovie.AddMovieToList(String filename, Boolean force) at BizHawk.Client.EmuHawk.PlayMovie.<>c__DisplayClass24_0.<ScanFiles>b__0(Int32 i) at System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.<ForWorker>b__1() at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask) at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object <p0>)<--- ---> (Inner Exception #5) System.InvalidOperationException: VirtualAlloc() returned NULL at BizHawk.BizInvoke.MemoryBlockWindowsPal..ctor(UInt64 size) at BizHawk.BizInvoke.MemoryBlock..ctor(UInt64 size) at BizHawk.Client.Common.ZwinderBuffer..ctor(IRewindSettings settings) at BizHawk.Client.Common.ZwinderStateManager.UpdateBuffer(ZwinderBuffer buffer, RewindConfig newConfig, Boolean keepOldStates) at BizHawk.Client.Common.ZwinderStateManager.UpdateSettings(ZwinderStateManagerSettings settings, Boolean keepOldStates) at BizHawk.Client.Common.ZwinderStateManager..ctor(ZwinderStateManagerSettings settings, Func`2 reserveCallback) at BizHawk.Client.Common.TasMovie..ctor(IMovieSession session, String path, IQuickBmpFile quickBmpFile) at BizHawk.Client.Common.MovieSession.Get(String path) at BizHawk.Client.EmuHawk.PlayMovie.PreLoadMovieFile(HawkFile hf, Boolean force) at BizHawk.Client.EmuHawk.PlayMovie.AddMovieToList(String filename, Boolean force) at BizHawk.Client.EmuHawk.PlayMovie.<>c__DisplayClass24_0.<ScanFiles>b__0(Int32 i) at System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.<ForWorker>b__1() at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask) at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object <p0>)<--- ---> (Inner Exception #6) System.InvalidOperationException: VirtualAlloc() returned NULL at BizHawk.BizInvoke.MemoryBlockWindowsPal..ctor(UInt64 size) at BizHawk.BizInvoke.MemoryBlock..ctor(UInt64 size) at BizHawk.Client.Common.ZwinderBuffer..ctor(IRewindSettings settings) at BizHawk.Client.Common.ZwinderStateManager.UpdateBuffer(ZwinderBuffer buffer, RewindConfig newConfig, Boolean keepOldStates) at BizHawk.Client.Common.ZwinderStateManager.UpdateSettings(ZwinderStateManagerSettings settings, Boolean keepOldStates) at BizHawk.Client.Common.ZwinderStateManager..ctor(ZwinderStateManagerSettings settings, Func`2 reserveCallback) at BizHawk.Client.Common.TasMovie..ctor(IMovieSession session, String path, IQuickBmpFile quickBmpFile) at BizHawk.Client.Common.MovieSession.Get(String path) at BizHawk.Client.EmuHawk.PlayMovie.PreLoadMovieFile(HawkFile hf, Boolean force) at BizHawk.Client.EmuHawk.PlayMovie.AddMovieToList(String filename, Boolean force) at BizHawk.Client.EmuHawk.PlayMovie.<>c__DisplayClass24_0.<ScanFiles>b__0(Int32 i) at System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.<ForWorker>b__1() at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask) at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object <p0>)<---
Emulator Coder, Experienced player, Judge (593)
Joined: 2/26/2020
Posts: 691
Location: California
The error indicates you ran out of memory. Not much else to that. Just close any unneeded applications and make sure are not maxing out your memory.
MarbleousDave
He/Him
Player (12)
Joined: 9/12/2009
Posts: 1554
Can't we just have the option to use a standard open window for play movie in case of insufficient memory and warn us of any mismatches?
Joined: 3/27/2022
Posts: 9
Location: Netherlands
I'm experiencing audio lag - though no FPS drop - in Samurai Shodown on the Game Boy using the Gambatte or SameBoy core. The problem seems to occur mostly during screen transitions. By the way - no problems with GBHawk or SubGBHawk. The ROM I'm using is from the No-Intro ROM set. Is this a mistake on my part or is it something to do with the cores?
Emulator Coder, Experienced player, Judge (593)
Joined: 2/26/2020
Posts: 691
Location: California
Config -> Speed/Skip -> Audio Throttle
Joined: 3/27/2022
Posts: 9
Location: Netherlands
CasualPokePlayer wrote:
Config -> Speed/Skip -> Audio Throttle
That did the trick - thanks!
Post subject: C64 Desync (loading related?)
DrD2k9
He/Him
Editor, Expert player, Judge (2037)
Joined: 8/21/2016
Posts: 1009
Location: US
copy of github issue: https://github.com/TASEmulators/BizHawk/issues/3563
Summary I have had a number of instances where TASing using the C64 core results in desyncs after TASing a while and then clearing greenzone. Specifically, I'll load/run a game and begin TASing. Then after clearing greenzone the game will load in differently causing a desync for inputs beyond the loading process. I'm wondering if this has to do with changes in input during loading and/or savestates during loading affecting the Loading process of the games, but I don't know how to describe much beyond this. I can say that nearly every time I've had this occur, the loading time after clearing the greenzone appearss to be faster, but not always. I've only ever TASed in BizHawk using TAStudio, so I don't know if anyone donig classic frameadvance TASing would also experience this issue. In discussing with NYMX, he has also seen this issue. I probably should have reported this issue before, but wasn't sure exactly how to describe it. I'm not even sure what I have described is enough for the devs to go on. Repro I unfortunately don't have a way to definitively reproduce this bug. Soemtimes it happens, sometimes it doesn't. Output There are no error codes associated with this bug. Host env. -I've had the issue with multiple host computers from different manufacturers (MSI, Dell, HP) with both AMD and Intel processors. -I've seen this issue over multiple versions of BizHawk. I'm fairly confident I've seen as far back as version 2.0, but I can't remember exactly when I first encountered it to know if I also saw the issue in 1.x.x versions.
Banned User, Player (197)
Joined: 1/6/2023
Posts: 263
Is import movies not working? Second time this has happened and I end up just getting a blank .bk2 if you open the zip and check the InputLog. [link removed] Movie runs fine on the version it was made on. Anyways, when I try to open it I get:
See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. ************** Exception Text ************** System.NullReferenceException: Object reference not set to an instance of an object. at BizHawk.Client.Common.MovieConversionExtensions.ToTasMovie(IMovie old) at BizHawk.Client.Common.MovieSession.ConvertToTasProj() at BizHawk.Client.EmuHawk.TAStudio.ConvertCurrentMovieToTasproj() at BizHawk.Client.EmuHawk.TAStudio.LoadMovieFile(String filename, Boolean askToSave) at BizHawk.Client.EmuHawk.TAStudio.OpenTasMenuItem_Click(Object sender, EventArgs e) at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e) at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e) at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e) at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e) at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea) at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ToolStrip.WndProc(Message& m) at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Published TASes: #1, #2, #3, #4, #5, #6, #7, #8, #9, #10, #11, #12 Please consider voting for me as Rookie TASer Of 2023 - Voting is in December 2023 My rule is quality TASes over quantity TASes... unless I'm bored.
YoshiRulz
Any
Editor
Joined: 8/30/2020
Posts: 72
Location: Sydney, Australia
OtakuTAS wrote:
Is import movies not working? Second time this has happened and I end up just getting a blank .bk2 if you open the zip and check the InputLog.
The problem seems to be that GG is missing from the logkey map: https://github.com/TASEmulators/BizHawk/blob/44322e6a7d5197b1a2d4f5a7c0b17e08cc6c18b2/src/BizHawk.Client.Common/movie/import/bkm/BkmControllerAdapter.cs#L17 edit: opened https://github.com/TASEmulators/BizHawk/issues/3596
I contribute to BizHawk as Linux/cross-platform lead, testing and automation lead, and UI designer. This year, I'm experimenting with streaming BizHawk development on Twitch. nope Links to find me elsewhere and to some of my side projects are on my personal site. I will respond on Discord faster than to PMs on this site.
Hey look buddy, I'm an engineer. That means I solve problems. Not problems like "What is software," because that would fall within the purview of your conundrums of philosophy. I solve practical problems. For instance, how am I gonna stop some high-wattage thread-ripping monster of a CPU dead in its tracks? The answer: use code. And if that don't work? Use more code.
Banned User, Player (197)
Joined: 1/6/2023
Posts: 263
Thanks!
Published TASes: #1, #2, #3, #4, #5, #6, #7, #8, #9, #10, #11, #12 Please consider voting for me as Rookie TASer Of 2023 - Voting is in December 2023 My rule is quality TASes over quantity TASes... unless I'm bored.
Banned User, Player (197)
Joined: 1/6/2023
Posts: 263
Pittfall Mayan Adventure (Jaguar) softlocks on the new BizHawk. BK2 for easy menuing: https://tasvideos.org/UserFiles/Info/638165667520976233
Published TASes: #1, #2, #3, #4, #5, #6, #7, #8, #9, #10, #11, #12 Please consider voting for me as Rookie TASer Of 2023 - Voting is in December 2023 My rule is quality TASes over quantity TASes... unless I'm bored.
Banned User, Player (197)
Joined: 1/6/2023
Posts: 263
Club Drive (Jaguar) crashes as well at the start of the first race. Froze the emulator so wasn't able to preserve the BK2. :-(
Published TASes: #1, #2, #3, #4, #5, #6, #7, #8, #9, #10, #11, #12 Please consider voting for me as Rookie TASer Of 2023 - Voting is in December 2023 My rule is quality TASes over quantity TASes... unless I'm bored.
MrTASer
He/Him
Player (242)
Joined: 7/3/2021
Posts: 147
Location: Udaipur, Rajasthan, India, God'sBeautifulWorld
I was loading the BK2 of my VCop2 TAS created in BizHawk 2.8 to 2.9, but it spammed showed this error. It worked fine when I opened BK2 of my NSMB DS WIP TAS.
My TASing channel ; My MUSIC channel ; My SoundCloud ; My HomePage ; Music Composer ; Mr.TASer#5922 VCop 2 TAS completed, but in a completely different way ; And SMB - GAGOTO (WL) TAS COMPLETED TILL W-4 ; Some more...
Emulator Coder, Experienced player, Judge (593)
Joined: 2/26/2020
Posts: 691
Location: California
There is no guarentee at compatibility when loading a movie from an older BizHawk version.
MrTASer
He/Him
Player (242)
Joined: 7/3/2021
Posts: 147
Location: Udaipur, Rajasthan, India, God'sBeautifulWorld
I am getting problems with BizHawk 2.9 in playing a Jaguar game. It just stops on frame 98 with fps dropping gradually from 60 to 9 and then crashing the EmuHawk. I didn't changed any setting for the core.
My TASing channel ; My MUSIC channel ; My SoundCloud ; My HomePage ; Music Composer ; Mr.TASer#5922 VCop 2 TAS completed, but in a completely different way ; And SMB - GAGOTO (WL) TAS COMPLETED TILL W-4 ; Some more...
MarbleousDave
He/Him
Player (12)
Joined: 9/12/2009
Posts: 1554
I'm using Davinci Resolve and I imported the video file encoded with the built-in encoder in the emulator, but the video editor treated the video file I imported as an audio file. It's probably due to the codec being incompatible with Davinci Resolve. Maybe I should use a different video editor.
TheBlazingmo
He/Him
Joined: 11/27/2022
Posts: 10
So I'm making a TAS for DS Sonic & Sega All-Stars Racing and my computer crashes... I reinstall Bizhawk and try to play the .tasproj file but it gets an error saying, "Unhandled exception has occurred in a component." and I can't play the TAS... what do I do?
Emulator Coder, Experienced player, Judge (593)
Joined: 2/26/2020
Posts: 691
Location: California
There should be a Details... button, please press that and copy paste that output here.
Joined: 10/29/2023
Posts: 2
Location: USA
Hey all, having trouble getting one specific Sega CD game to run on BizHawk. The game in question is Penn & Teller's Smoke and Mirrors. I've been able to get other Sega CD games to run in BizHawk, so I don't think it should be something like not having the right BIOS. I can also get the Smoke and Mirrors ROM to run in Kega Fusion, so I don't think it's a problem with the ROM itself. Not a developer but I think all that leaves is either a bug with BizHawk or something is goofing up on my end. When I try to load PTSM1.cue I get the following error: I thought the reference to a G: drive was kind of weird, as I don't have one. So I created a virtual G drive just to see what happened, and I got the following error message instead: Didn't post this on GitHub but would be happy to. Wasn't sure if it's an actual bug or just me being incompetent somehow.
Emulator Coder, Experienced player, Judge (593)
Joined: 2/26/2020
Posts: 691
Location: California
The .cue file is referencing a file path that doesn't exist. Edit the .cue file with a text editor to fix this.
Joined: 10/29/2023
Posts: 2
Location: USA
CasualPokePlayer wrote:
The .cue file is referencing a file path that doesn't exist. Edit the .cue file with a text editor to fix this.
That fixed it, thanks for the quick reply!
Player (79)
Joined: 8/5/2007
Posts: 865
emu.disassemble() does not properly capture high ROM addresses, at least in Game Boy games (check other systems too). It looks like it folds your query down to the range $0000 - $FFFF. Here's two commands I made directly from the Lua console and their outputs:
memory.getmemorydomainsize("ROM")
--> 131072
emu.disassemble(0x1C000, "ROM")
--> "disasm": "C000:  5B        ld e, e"        "length": "1"
Decimal value 131072 corresponds to hex value 0x20000, so BizHawk knows $1C000 is in range but ignores the "1" and just happily queries address $C000.
Emulator Coder, Experienced player, Judge (593)
Joined: 2/26/2020
Posts: 691
Location: California
GB disassembler takes in a 16 bit address internally as disassembly is expected to use System Bus for addressing (and using other domains typically makes no sense wrt addressing). I'm not quite sure if this is possible to fix per se, as disassembly would be expected to roll over at 0xFFFF -> 0x0000 for System Bus and addressing otherwise within the disassembly would be completely wrong unless System Bus is used (maybe disassembler allowing for multiple domains could be considered a misfeature here?).
Player (79)
Joined: 8/5/2007
Posts: 865
CasualPokePlayer wrote:
GB disassembler takes in a 16 bit address internally as disassembly is expected to use System Bus for addressing (and using other domains typically makes no sense wrt addressing). I'm not quite sure if this is possible to fix per se, as disassembly would be expected to roll over at 0xFFFF -> 0x0000 for System Bus and addressing otherwise within the disassembly would be completely wrong unless System Bus is used (maybe disassembler allowing for multiple domains could be considered a misfeature here?).
Thanks for the prompt reply! I understand where you're coming from, but I'm investigating hypothetical bank switching. If I know from the assembly elsewhere that I'm in bank 7 and especially if this is reset between VBLANKs, I have no clean way of accessing that portion of the ROM. I'm reluctant to build my own instruction disassembler when BizHawk has a perfectly good one built in.