From a900bfed65e96c1edc74a708c698a984bd435770 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Sat, 9 Jan 2016 20:34:22 -0500 Subject: [PATCH] Fixed to ensure that frame rendering wraps around, and to properly connect the Electron to its view. Now I need a working pixel shader. --- Machines/Electron/Electron.cpp | 4 ++-- .../Mac/Clock Signal/Documents/ElectronDocument.swift | 8 +++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Machines/Electron/Electron.cpp b/Machines/Electron/Electron.cpp index bd043717d..c436187c6 100644 --- a/Machines/Electron/Electron.cpp +++ b/Machines/Electron/Electron.cpp @@ -195,7 +195,7 @@ inline void Machine::update_display() _outputPosition = end_of_hsync; } - while(_outputPosition < _frameCycles) + while(_outputPosition >= end_of_hsync && _outputPosition < _frameCycles) { const int current_line = _outputPosition >> 7; const int line_position = _outputPosition & 127; @@ -215,7 +215,7 @@ inline void Machine::update_display() if(line_position == 9) { _crt->output_blank(119 * crt_cycles_multiplier); - _outputPosition += 119; + _outputPosition = (_outputPosition + 119) % cycles_per_frame;; } } else diff --git a/OSBindings/Mac/Clock Signal/Documents/ElectronDocument.swift b/OSBindings/Mac/Clock Signal/Documents/ElectronDocument.swift index 0756920e9..86f06db98 100644 --- a/OSBindings/Mac/Clock Signal/Documents/ElectronDocument.swift +++ b/OSBindings/Mac/Clock Signal/Documents/ElectronDocument.swift @@ -23,9 +23,11 @@ class ElectronDocument: MachineDocument { } } -// override func windowControllerDidLoadNib(aController: NSWindowController) { -// super.windowControllerDidLoadNib(aController) -// } + override func windowControllerDidLoadNib(aController: NSWindowController) { + super.windowControllerDidLoadNib(aController) + electron.view = openGLView +// openGLView.frameBounds = CGRectMake(0.1, 0.1, 0.8, 0.8) + } override var windowNibName: String? { return "ElectronDocument"