OK...so figured out the logging...
Here is a working log:
[1] 2018/09/11 20:07:05.105 INFO | Launching console tool.
[1] 2018/09/11 20:07:05.202 INFO | Added VirtualDMD renderer.
[1] 2018/09/11 20:07:05.202 INFO | Resizing virtual
DMD to 128x32
[1] 2018/09/11 20:07:05.212 INFO | Setting up Render Graph for 1 destination(s)
[1] 2018/09/11 20:07:05.212 INFO | Connecting Pinball FX3 to Dmd (ColoredGray2 => Rgb24)
[1] 2018/09/11 20:07:05.230 INFO | Waiting for Pinball FX3 to spawn...
[1] 2018/09/11 20:07:05.256 INFO | Press CTRL+C to close.
[3] 2018/09/11 20:07:15.270 INFO | Reading
DMD data from Pinball FX3's memory at 25 fps...
[3] 2018/09/11 20:07:15.274 INFO | Frames coming in from Pinball FX3.
[3] 2018/09/11 20:07:23.042 INFO | Frames stopped from Pinball FX3.
[3] 2018/09/11 20:07:23.042 INFO | Exiting.
[3] 2018/09/11 20:07:23.042 DEBUG | Disposing Render Graph...
[3] 2018/09/11 20:07:23.058 INFO | Source for 1 renderer(s) stopped.
Here is a not working log:
[1] 2018/09/11 20:08:51.779 INFO | Launching console tool.
[1] 2018/09/11 20:08:51.881 INFO | Added VirtualDMD renderer.
[1] 2018/09/11 20:08:51.887 INFO | Resizing virtual
DMD to 128x32
[1] 2018/09/11 20:08:51.887 INFO | Setting up Render Graph for 1 destination(s)
[1] 2018/09/11 20:08:51.899 INFO | Connecting Pinball FX3 to Dmd (ColoredGray2 => Rgb24)
[1] 2018/09/11 20:08:51.899 INFO | Waiting for Pinball FX3 to spawn...
[1] 2018/09/11 20:08:51.939 INFO | Press CTRL+C to close.
[4] 2018/09/11 20:08:51.984 ERROR | Index was outside the bounds of the array.
[4] 2018/09/11 20:08:51.984 ERROR | System.IndexOutOfRangeException: Index was outside the bounds of the array.
at LibDmd.Input.PinballFX.PinballFX3MemoryGrabber.FindPattern(Process gameProc, Int32 gameBase, Int32 size, Byte[] bytePattern, Int32 offset) in D:\per\Visual Pinball Cabinet Project\dmd-extensions\LibDmd\Input\PinballFX\PinballFX3MemoryGrabber.cs:line 292
at LibDmd.Input.PinballFX.PinballFX3MemoryGrabber.GetPointerBaseAddress(Process gameProc) in D:\per\Visual Pinball Cabinet Project\dmd-extensions\LibDmd\Input\PinballFX\PinballFX3MemoryGrabber.cs:line 279
at LibDmd.Input.PinballFX.PinballFX3MemoryGrabber.FindGameHandle() in D:\per\Visual Pinball Cabinet Project\dmd-extensions\LibDmd\Input\PinballFX\PinballFX3MemoryGrabber.cs:line 204
at LibDmd.Input.PinballFX.PinballFX3MemoryGrabber.<>c__DisplayClass30_0.<StartPolling>b__0(Int64 x) in D:\per\Visual Pinball Cabinet Project\dmd-extensions\LibDmd\Input\PinballFX\PinballFX3MemoryGrabber.cs:line 78
at System.Reactive.AnonymousSafeObserver`1.OnNext(T value)
at System.Reactive.Linq.ObservableImpl.TakeUntil`2._.T.OnNext(TSource value)
at System.Reactive.Linq.ObservableImpl.Timer.TimerImpl.InvokeStart(IScheduler self, Object state)
--- End of stack trace from previous location where exception was thrown ---
at System.Reactive.PlatformServices.DefaultExceptionServices.Rethrow(Exception exception)
at System.Reactive.Linq.ObservableImpl.Timer.TimerImpl.InvokeStart(IScheduler self, Object state)
at System.Reactive.Concurrency.DefaultScheduler.<>c__DisplayClass1`1.<Schedule>b__0(Object _)
at System.Reactive.Concurrency.DefaultConcurrencyAbstractionLayer.<>c__DisplayClass1.<QueueUserWorkItem>b__0(Object _)
at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()