Post subject: Re: BizHawk compiling in VS2015 crashes in x64
Fog
Emulator Coder, Experienced player (641)
Joined: 4/5/2014
Posts: 459
godzil wrote:
Hi guys! I just have downloaded an svn update of the BizHawk 1.11.6 and compiling in Visual Studio works ok when selecting x86 , but when trying to compile in x64 compiling triggers an exception in library slimDX. Any idea? Thanks a lot!
Not a bug, BizHawk does not support x64 building.
godzil
He/Him
Joined: 3/16/2016
Posts: 10
Oh, ok! I was starting to think that I forgot to read the instructions! :) Thanks anyways...
Post subject: Re: BizHawk compiling in VS2015 crashes in x64
Editor
Joined: 3/31/2010
Posts: 1466
Location: Not playing Puyo Tetris
Fog wrote:
godzil wrote:
Hi guys! I just have downloaded an svn update of the BizHawk 1.11.6 and compiling in Visual Studio works ok when selecting x86 , but when trying to compile in x64 compiling triggers an exception in library slimDX. Any idea? Thanks a lot!
Not a bug, BizHawk does not support x64 building.
I believe that a 64 Bit Version will be released, at some point in time in the future. But, don't count on it happening.
When TAS does Quake 1, SDA will declare war. The Prince doth arrive he doth please.
godzil
He/Him
Joined: 3/16/2016
Posts: 10
You guys have a bug in your libretro implementation... In the video_refresh callback you don't perform correctly the matrix transformations for the bitmap when dealing with vertical games, in fact, any vertical game tested appears like garbage . Tested with fba the games (donkey kong , gyrodine...) look ok with the same core in Retroarch but with Bizhawk they look bad. Tip: the width and height in that case are being used wrong. Maybe you need to take a peak to Retroarch and see the libretro instructions to learn how to do it? ... Fyi: I have solved the problem in my svn version and now every game looks perfect!
Editor, Emulator Coder
Joined: 8/7/2008
Posts: 1156
so, please post the change you made.
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Latest release. Link to video
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.
Invariel
He/Him
Editor, Site Developer, Player (171)
Joined: 8/11/2011
Posts: 539
Location: Toronto, Ontario
Sorry about that, feos. You will be able to once again drag-and-drop Super Mario World and Chakan - The Forever Man after the next release.
I am still the wizard that did it. "On my business card, I am a corporate president. In my mind, I am a game developer. But in my heart, I am a gamer." -- Satoru Iwata <scrimpy> at least I now know where every map, energy and save room in this game is
Joined: 1/11/2016
Posts: 4
zeromus wrote:
mercenariez, do you know the difference between the fake analog buttons and the analog axes? "P1 A Up" for example is a button which sets the analog stick to the upmost extent. We record those separately. If those were in the inputlog and conflicting with simultaneous analog input, I don't know what will happen.
Yes, I know the difference lol. -_- The fake analog buttons were left blank, I only used analog axes for stick control, derp. Here's a photo for proof. This is from version 1.11.3. Do you see how I inputted 46 on the Y axis, yet the virtual pad does not show it? The latest 1.11.6 release still has not fixed it. Here's a photo of 1.11.6 still not getting the Y input right (it gets it right on MOST frames, but for some reason on random frames it messes it up from time to time, reading it as 0 when it's not 0). Do you see how I inputted -22 on the Y axis, yet it shows 0 on the virtual pad? Note: This only applies to P1. P2 seems to be fine. I did not upload proof that I know the difference between the "Up/Down/Left/Right" controls vs analog controls because it should be self-evident that I know the difference. They are left BLANK. I will upload a photo if you're still not convinced for some odd reason.
Joined: 1/11/2016
Posts: 4
Thank you very much, zeromus. It seems to be fixed now. This will greatly assist me in my TAS projects.
Joined: 10/23/2009
Posts: 545
Location: Where?
Language: lua

Local function EnemyBox(Presence,Xcam,Lx,Rx,Ycam,Uy,Dy) if Presence == 0 then gui.drawBox( Xcam - Lx, Ycam - Uy, Xcam + Rx, Ycam + Dy, ) end end while true do gui.drawBox( mainmemory.readbyte(0x0B9A)-5, mainmemory.readbyte(0x0B9B)-25, mainmemory.readbyte(0x0B9A)+10, mainmemory.readbyte(0x0B9B) ) --[[ I dislike the coordinates to be moving, so I'll change it once a new release os out so I can use extrapadding. gui.pixelText( mainmemory.readbyte(0x0B9A)-10, mainmemory.readbyte(0x0B9B), "X:".. mainmemory.readbyte(0x0B9A) + mainmemory.readbyte(0x0483) + mainmemory.readbyte(0x484)*255 ) gui.pixelText( mainmemory.readbyte(0x0B9A)-10, mainmemory.readbyte(0x0B9B)+8, "Y:".. mainmemory.readbyte(0x0B9B) + mainmemory.readbyte(0x0481) + mainmemory.readbyte(0x482)*255 )]] EnemyBox( mainmemory.readbyte(0x07E2), mainmemory.readbyte(0x3874),5,5, mainmemory.readbyte(0x3873),5,5 ) emu.frameadvance() end
I'm trying to do this, and it throws me this error: http://imgur.com/Ntfy3cQ I preferred posting tis here in case of. I posted it there since it seems that both me an error are at fault. i think I made something bad with my script, but instead of just telling me that my script has an error, it threw me that window. So I'm not sure... EDIT: Added a "," that should've been there. It still throws the error. EDIT: It seems that it's the capital L of "local" that throws this. I've changed Local to local and it's now okay. EDIT: Scratch that, it's not because of the "l".
Editor, Emulator Coder
Joined: 8/7/2008
Posts: 1156
https://github.com/TASVideos/BizHawk/issues/607 Ycam + Dy, <-- has comma after it
Amaraticando
It/Its
Editor, Player (159)
Joined: 1/10/2012
Posts: 673
Location: Brazil
Nice to see that this issue is reported, because it's been difficulty to these errors sometimes. In the previous example, proper indentation would make it easier to see the problem.
Editor, Emulator Coder
Joined: 8/7/2008
Posts: 1156
you could also... uhhhhh.. make your lua script a string containing the real script, with a line at the end to compile the script and output the error message if any or run it if none. I hate lua but ahhhhh it's cool.
Joined: 2/10/2014
Posts: 12
Location: Germany
I get an error every time I play a movie while a watch file is loaded in RAM Watch. It also happens when I reboot a core manually.
Editor, Emulator Coder
Joined: 8/7/2008
Posts: 1156
I don't. What core, and if it's snes, what bsnes profile?
Joined: 2/10/2014
Posts: 12
Location: Germany
It seems to happen with any core. And it only happens when a watch file is loaded, not when RAM Watch is empty. Edit: Still the same issue when I re-download BizHawk 1.11.6.
************** Ausnahmetext **************
System.AggregateException: Mindestens ein Fehler ist aufgetreten. ---> System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
   bei BizHawk.Client.Common.WatchList.<>c__DisplayClass4.<RefreshDomains>b__3(Watch watch)
   bei System.Threading.Tasks.Parallel.<>c__DisplayClass31_0`2.<ForEachWorker>b__0(Int32 i)
   bei System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.<ForWorker>b__1()
   bei System.Threading.Tasks.Task.InnerInvoke()
   bei System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
   bei System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object )
   --- Ende der internen Ausnahmestapelüberwachung ---
   bei System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   bei System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   bei System.Threading.Tasks.Task.Wait()
   bei 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)
   bei System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IList`1 list, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
   bei System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable`1 source, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
   bei System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable`1 source, Action`1 body)
   bei BizHawk.Client.Common.WatchList.RefreshDomains(IMemoryDomains core)
   bei BizHawk.Client.EmuHawk.RamWatch.Restart()
   bei BizHawk.Client.EmuHawk.ToolManager.Restart()
   bei BizHawk.Client.EmuHawk.MainForm.LoadRom(String path, LoadRomArgs args)
   bei BizHawk.Client.EmuHawk.MainForm.RebootCore()
   bei BizHawk.Client.EmuHawk.MainForm.PowerMenuItem_Click(Object sender, EventArgs e)
   bei System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   bei System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   bei System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   bei System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   bei System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   bei System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   bei System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   bei System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
   bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   bei System.Windows.Forms.Control.WndProc(Message& m)
   bei System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   bei System.Windows.Forms.ToolStrip.WndProc(Message& m)
   bei System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
---> (Interne Ausnahme #0) System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
   bei BizHawk.Client.Common.WatchList.<>c__DisplayClass4.<RefreshDomains>b__3(Watch watch)
   bei System.Threading.Tasks.Parallel.<>c__DisplayClass31_0`2.<ForEachWorker>b__0(Int32 i)
   bei System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.<ForWorker>b__1()
   bei System.Threading.Tasks.Task.InnerInvoke()
   bei System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
   bei System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object )<---
Editor, Emulator Coder
Joined: 8/7/2008
Posts: 1156
Post one of your watch files. You must be doing the magic thing which breaks it, over and over. I dont know what the magic thing is, but itll be in the watch file.
Editor, Emulator Coder
Joined: 8/7/2008
Posts: 1156
Alyosha
He/Him
Editor, Emulator Coder, Expert player (3821)
Joined: 11/30/2014
Posts: 2829
Location: US
The AtariHawk bug fixes resolve several issues on the issue tracker: #206: Halo 2600 is Incompatible Game now works properly, the bug was in RESP constantly moving the player to the right as they try to go left #260: Crystal Castles Graphical Glitch The bug was not assigning a color to pixels in Late HBlank region. They are now properly assinged to black. #263: Several Atari 2600 games emulate improperly graphical and gameplay bugs are resolved through numerous bug fixes. I think this one can be closed and a new one opened specifically for the audio emulation, which is known to be incorrect.
Former player
Joined: 11/25/2009
Posts: 77
Okay, I've experienced this issue several times now.. When I get a game over in PS1 Resident Evil 2 and try loading the latest (memory card) save afterwards, the game gets stuck after the text ("you've once again stepped into the world of survival horror. good luck...") goes away. The disk drive LED light stops blinking after a couple of seconds. I've rebooted the computer since it first happened and the problem remains. The only way I seem to be able to load it is if I reboot the core (alternatively shut down and open Bizhawk again). A simple Soft Reset doesn't help. [ EDIT: Okay, actually, this seems to happen mostly only if played for a longer period. If I get game over within like 5 minutes after loading, I don't have any issues. ] [ EDIT 2: I've tested it a bit more comprehensively now and it seems it happens completely at random in fact... ] I'm playing on disc 1 (Leon) and use Bizhawk 1.11.6. The rip matches the entry on Redump.org for SLUS-00421. OS: Windows XP SP3 GPU: ATI HD 4850 CPU: Intel Core 2 Duo E8200
Editor, Emulator Coder
Joined: 8/7/2008
Posts: 1156
Try it in mednafen. if youre only using one memory card then the .saveram file should be the same as a mednafen .mcr so you can port it over.
Former player
Joined: 11/25/2009
Posts: 77
@zeromus: Well, I gave Mednafen a shot, but it's giving me a filesize error on the memory card file:
Memory card file "Resident Evil 2 (USA) (Disc 1).f671973b24cf4387bc42a59af197f134.0.mcr" is an incorrect size(262144 bytes). The correct size is 131072 bytes.
Any ideas? I just copied the .SaveRAM file from Bizhawk's \PSX\SaveRAM\ directory over to Mednafen's \sav\ directory and changed the extension to .mcr. I assume you did want me to try the latest version from mednafen.fobby.net (as opposed to mednafen-rr or something)? EDIT: Didn't bother to figure it out, so I just decided to make a proper in-game save at the nearest possible place. And, well, I am unable to reproduce the issue on Mednafen 0.9.38.7. Also, in case you missed them, please read the edits in my previous post. Don't know if it really changes anything, but thought it's best you know.
Editor, Emulator Coder
Joined: 8/7/2008
Posts: 1156
You used two memory cards, therefore the saveram is twice the size of the .mcr. You can cut it in half in a hex editor. I would really need you to test the same scenario in mednafen for me to be happy. I seriously doubt a random crashing as youve described is a difference between bizhawk and mednafen.