Posts for ody

Post subject: BizHawk 2.8 - Regression in SMSHawk
ody
Experienced Forum User
Joined: 11/12/2014
Posts: 14
In Phantasy Star (UE) (Rev 3).sms (verified good ROM, MD5:1110938DF80F4E44C8213D7F85CFB5E6), BizHawk 2.8 shows part of the sprite of Odin in front of the sprite of Alis, when it should be behind it. In BizHawk 2.7 it is OK.
ody
Experienced Forum User
Joined: 11/12/2014
Posts: 14
Yeah... I've tried the xbrz shaders and none worked. The oldest version from 2016 didn't work either. Your best bet for a good shader similar to xbrz is the xbr-lv2. The newer stuff are incompatible.
ody
Experienced Forum User
Joined: 11/12/2014
Posts: 14
franpa wrote:
Bizhawk doesn't let me load CG files but it does let me load CGP files
The .cg files are the shaders and a .cgp file is a preset that tell the emulator how to use the shaders. You are only suppose to load the .cgp files.
franpa wrote:
when I try to load one of them I now get this error
I've tried various shaders in BizHawk and only a few single-pass shaders worked for me. Never tried xbrz. A similar one that I use and can work is "xbr-lv2.cg". Here: https://raw.githubusercontent.com/libretro/common-shaders/master/xbr/shaders/xbr-lv2.cg The latest version DOESN'T work in BizHawk. It gives a similar error message as the xbrz. But it's easy to fix: Open "xbr-lv2.cg" with a text editor (Notepad will do), and change the line 83 from:
	return (df(A, B) < float4(XBR_EQ_THRESHOLD));
to:
	return (df(A, B) < (float4)(XBR_EQ_THRESHOLD));
Also, use the following "xbr-lv2.cgp" file:
shaders = 1
shader0 = "shaders/xbr-lv2.cg"

filter_linear0 = false
float_framebuffer0 = false
scale_type0 = source
scale0 = 4
The .cgp file in https://github.com/libretro/common-shaders is missing the "scale0 = 4" line and BizHawn doesn't like that... You can change the scale value to whatever you want.
ody
Experienced Forum User
Joined: 11/12/2014
Posts: 14
You are missing the "compat_includes.inc" file. Which itself references other files that you must also have in a "include" subfolder. Put the "compat_includes.inc" file and the "include" folder in ...\BizHawk\Shaders, along with your presets. Get them from here: https://github.com/libretro/common-shaders The .glsl shaders work with OpenGL. If you use Direct3D, you need .cg shaders.
Post subject: Re: Seiken Densetsu 3 video bug
ody
Experienced Forum User
Joined: 11/12/2014
Posts: 14
Cool Lurker wrote:
Seiken Densetsu 3 (SNES) - video mode changes the window size making it double wide when some text dialogs are shown. You can see this in the very beginning of the game. Im using version 2.3.1 on Windows 10.
Config -> Display -> Enable "Maintain aspect ratio" Use custom size 299x224 (if you want 4:3 aspect ratio) Including the overscan, the height is 240, as is with NES and Genesis. If you want 4:3 aspect ratio including the overscan, then Use custom size 320x224 "Use custom size" has the advantage over "Always Double-Size Framebuffer" that it doesn't mess with the shaders' image quality. But it's a global setting and you'll have to change it to "Use system's recommendation" for most systems.
ody
Experienced Forum User
Joined: 11/12/2014
Posts: 14
Here are the shaders I use in bizhahk. I haven't update them in years because a) some newer versions I tried in the past didn't work and b) I'm quite happy with these as they are. I use xbr, not xBRZ. They are quite similar, xBRZ is a fork of xbr. I've created all these presets myself and in my system (AMD gpu) they work as they should. Whatever shader didn't work or I didn't want to use, I've deleted from the pack. I've made extra presets with 6x scaling for you. https://www.dropbox.com/s/zqi4svr5shzrlos/shaders%20for%20bizhawk.zip?dl=1 Unzip the shader zip file in Bizhawks' base folder. From the display configuration select the preset you want to use. The most easy on the gpu is "Preset (2x) xbr-lv2.cgp". I mostly use "Preset (4x) xbr-lv2_ + smart-blur_ + adaptive-sharpen.cgp". The dither presets are for games with a lot of dithering.
ody
Experienced Forum User
Joined: 11/12/2014
Posts: 14
Alyosha wrote:
Down to just 2 tests...
The results of your efforts are quite impressive.
ody
Experienced Forum User
Joined: 11/12/2014
Posts: 14
You need to use glsl shaders. Cg shaders didn't work when I tried them. You can find a huge collection of glsl shaders in Retroarch for Android. So, download the latest stable version and extract the contents of the apk file (apk is just a zip). The shaders are in 'assets\shaders_glsl'. EDIT: Automatically updated GLSL conversions of the Libretro Cg shaders: https://github.com/reedolph/common-shaders-glsl You can also convert a cg shader to glsl yourself with this Python3 script: https://github.com/libretro/RetroArch/blob/master/tools/cg2glsl.py Once you have the shaders you want to use, you must create a preset file (cgp) for each one of them. From all the shaders that Bizhawk is compatible with, I believe that 4xbr-v3.8d offers the best upscale. Let's see how we can use it. The shader is here: ...\BizHawk\shaders\xbr\4xbr-v3.8d.glsl Create a text file (change the extension to cgp) and put it in the shaders folder: ...\BizHawk\shaders\Preset (4x) 4xbr-v3.8d.cgp Open "Preset (4x) 4xbr-v3.8d.cgp" with a text editor and put inside the following.
shaders = 1
shader0 = "xbr/4xbr-v3.8d.glsl"

filter_linear0 = false
float_framebuffer0 = false
scale_type0 = source
scale0 = 4
Select the cgp in the options and that's it. In the Final Filter it is best to select 'Bilinear'. Note: Many shaders come with presets that are ready to use. *Don't* use them exactly as they are. Specifically, notice the scale option. Normally it's like this "scale_0 = 4.000000" or "scale_x0 = 2.000000" & "scale_y0 = 2.000000". But in Bizhawk you have to use an integer. Some shaders will require a specific scale value, or no value at all. But with shaders like 4xbr-v3.8d you can use whatever scale you like. In a very weak GPU or a low res monitor you may want to use scale0 = 2 or 3. On the other hand, you could also create a preset with scale0 = 6 or 8, to use with Atari Lynx or Gameboy for example. Be careful with the N64 and the Saturn. If you have set the resolution in the N64 video plugin to something like 1280x960, it's pointless to have that upscaled to 4x. The GPU will work really hard for nothing.
ody
Experienced Forum User
Joined: 11/12/2014
Posts: 14
When "Single instance mode" is enabled and I try to open EmuHawk.exe a second time, two things happen: 1. The one already running gives an "Index was out of range" exception. I can click Continue and still works OK. EDIT: Here are the details.
************** Exception Text **************
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.ThrowHelper.ThrowArgumentOutOfRangeException()
   at System.SZArrayHelper.get_Item[T](Int32 index)
   at BizHawk.Client.EmuHawk.Program.SingleInstanceController.this_StartupNextInstance(Object sender, StartupNextInstanceEventArgs e)
   at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnStartupNextInstance(StartupNextInstanceEventArgs eventArgs)
   at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnStartupNextInstanceMarshallingAdaptor(Object args)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.18444 built by: FX451RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
EmuHawk
    Assembly Version: 1.9.1.8272
    Win32 Version: 1.9.1.8272
    CodeBase: file:///G:/Emulators/Bizhawk/EmuHawk.exe
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34238 built by: FX452RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
BizHawk.Client.Common
    Assembly Version: 1.9.1.8272
    Win32 Version: 1.9.1.8272
    CodeBase: file:///G:/Emulators/Bizhawk/dll/BizHawk.Client.Common.dll
----------------------------------------
BizHawk.Emulation.Common
    Assembly Version: 1.9.1.8272
    Win32 Version: 1.9.1.8272
    CodeBase: file:///G:/Emulators/Bizhawk/dll/BizHawk.Emulation.Common.dll
----------------------------------------
BizHawk.Emulation.DiscSystem
    Assembly Version: 1.9.1.8272
    Win32 Version: 1.9.1.8272
    CodeBase: file:///G:/Emulators/Bizhawk/dll/BizHawk.Emulation.DiscSystem.dll
----------------------------------------
BizHawk.Common
    Assembly Version: 1.9.1.8272
    Win32 Version: 1.9.1.8272
    CodeBase: file:///G:/Emulators/Bizhawk/dll/BizHawk.Common.dll
----------------------------------------
System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
SlimDX
    Assembly Version: 4.0.10.43
    Win32 Version: 
    CodeBase: file:///G:/Emulators/Bizhawk/dll/SlimDX.dll
----------------------------------------
BizHawk.Bizware.BizwareGL.OpenTK
    Assembly Version: 0.0.0.0
    Win32 Version: 0.0.0.0
    CodeBase: file:///G:/Emulators/Bizhawk/dll/BizHawk.Bizware.BizwareGL.OpenTK.dll
----------------------------------------
BizHawk.Bizware.BizwareGL
    Assembly Version: 0.0.0.0
    Win32 Version: 0.0.0.0
    CodeBase: file:///G:/Emulators/Bizhawk/dll/BizHawk.Bizware.BizwareGL.dll
----------------------------------------
OpenTK
    Assembly Version: 1.1.0.0
    Win32 Version: 1.1.1475.5656
    CodeBase: file:///G:/Emulators/Bizhawk/dll/OpenTK.dll
----------------------------------------
Microsoft.VisualBasic
    Assembly Version: 10.0.0.0
    Win32 Version: 11.0.50938.18408 built by: FX451RTMGREL
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
BizHawk.Emulation.Cores
    Assembly Version: 1.9.1.8272
    Win32 Version: 1.9.1.8272
    CodeBase: file:///G:/Emulators/Bizhawk/dll/Bizhawk.Emulation.Cores.dll
----------------------------------------
Newtonsoft.Json
    Assembly Version: 6.0.0.0
    Win32 Version: 6.0.3.17312
    CodeBase: file:///G:/Emulators/Bizhawk/dll/Newtonsoft.Json.dll
----------------------------------------
System.Numerics
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
----------------------------------------
System.ComponentModel.DataAnnotations
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.18408
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.ComponentModel.DataAnnotations/v4.0_4.0.0.0__31bf3856ad364e35/System.ComponentModel.DataAnnotations.dll
----------------------------------------
System.Runtime.Serialization
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34234 built by: FX452RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Serialization/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Serialization.dll
----------------------------------------
System.Xml.Linq
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml.Linq/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.Linq.dll
----------------------------------------
System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34234 built by: FX452RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Data
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
Anonymously Hosted DynamicMethods Assembly
    Assembly Version: 0.0.0.0
    Win32 Version: 4.0.30319.18444 built by: FX451RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/mscorlib/v4.0_4.0.0.0__b77a5c561934e089/mscorlib.dll
----------------------------------------
EMU7800
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///G:/Emulators/Bizhawk/dll/EMU7800.dll
----------------------------------------
System.Runtime.Remoting
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34245 built by: FX452RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
OpenTK.GLControl
    Assembly Version: 1.1.0.0
    Win32 Version: 1.1.1475.5656
    CodeBase: file:///G:/Emulators/Bizhawk/dll/OpenTK.GLControl.dll
----------------------------------------
2. The new instance crashes. The details of the "BizHawk.Client.EmuHawk has stopped working" message are:
Problem signature:
  Problem Event Name:	CLR20r3
  Problem Signature 01:	emuhawk.exe
  Problem Signature 02:	1.9.1.8272
  Problem Signature 03:	54793af0
  Problem Signature 04:	EmuHawk
  Problem Signature 05:	1.9.1.8272
  Problem Signature 06:	54793af0
  Problem Signature 07:	6a4
  Problem Signature 08:	0
  Problem Signature 09:	System.NullReferenceException
  OS Version:	6.1.7601.2.1.0.256.1
  Locale ID:	1032
  Additional Information 1:	0a9e
  Additional Information 2:	0a9e372d3b4ad19135b953a78882e789
  Additional Information 3:	0a9e
  Additional Information 4:	0a9e372d3b4ad19135b953a78882e789
The same crash happens when the emulator is running and I try to open a rom from the command line. This time the instance that's already running does NOT give an exception and the rom loads normally in it. But the new instance still crashes. So my real problem is that if I open roms from the command line, it works, but I end up with as many "BizHawk.Client.EmuHawk has stopped working" messages. OS is Win7 64bit. This happens in 1.9.0 and 1.9.1. I don't know about earlier versions.
ody
Experienced Forum User
Joined: 11/12/2014
Posts: 14
If rewind resets itself and starts saving frames from the beginning, every time you load a savestate, would that reduce the possibility for something to go wrong? As for future savestates, would they be a problem to use? Since they contain the whole movie up to that point. Maybe you could first make an experimental version so that people can test it and report what works and what desyncs. I'd like to beta test this feature.
adelikat wrote:
I suppose I haven't considered an either/or and have an option to only record with rewind, I might ponder that.
That would be awesome.
ody
Experienced Forum User
Joined: 11/12/2014
Posts: 14
First let me say that I'd love to use rewind and future savestetes to create a time paradox in a movie and wreck it like that :D Anyway, in the Record Movie dialog you could put a dropdown menu with three options: Use savestates Use rewind Use both at your own risk! I don't know what combination could wreck a movie so I can't tell what you could write to make it clear. Perhaps the third option is not worth having. I know that it's not fun at all when you play for hours and then your movie desyncs.
ody
Experienced Forum User
Joined: 11/12/2014
Posts: 14
A small bug: When recording a movie of the Master system game "Phantasy Star (J) (T-Eng v1.02)", the extension .bk2 is not put in the movie file. So it is not showing in the Play Movie dialog unless you add the extension. Also the savestate has this name: "Phantasy Star (J) (T-Eng v1.02).Phantasy Star (J) (T-Eng v1.QuickSave1.State". The savestates when not recording are OK. This also happens with the Master system public domain games: AntiISDA Warrior (V1.02) Driar (V0.05) SALY (v1.00) SMS Chip-8 (v1.11) SMS Power's 7th Anniversary Intro (v1.03) I tried many different names and it seems that this happens only when the name ends with ".\d\d)". Where "\d" a digit. I haven't found any other game, of any system, in the database that's affected. If a game is not in the database and it's name is like that, it still happens. This happens in versions 1.8.4, 1.9.0 and 1.9.1. I didn't try any earlier version.
ody
Experienced Forum User
Joined: 11/12/2014
Posts: 14
I figured that their combination could cause problems. Too bad... I'd prefer to have rewind available when recording simple gameplay videos. And savestates when doing a speedrun. Could there be an option to have one or the other when starting a recording? Or is this too much to ask?
Post subject: Rewind while recording a bk2 movie?
ody
Experienced Forum User
Joined: 11/12/2014
Posts: 14
Hi everybody. I've just started using BizHawk and it's already one of my favorite emulators. I have one problem. Rewind doesn't work when recording a bk2 movie. I press the hotkey and nothing happens. The statistics in Rewind & Savestate Configuration indicate that it is enabled. It works as expected when not recording. I've tried fresh installs of versions 1.7.4, 1.8.4, 1.9.0 and 1.9.1. Changing any of the settings doesn't make a difference. I've read almost all the threads in the forum and all I found was a recommendation, something like "use savestates, rewind is not recommended for TASing." Can rewind be functional during recording? It would make a world of difference. What I'd like is this: You press the hotkey, rewind works, you release it and, just as if you loaded a savestate, the rerecording count increases by 1 and you continue to play.