diff --git a/FruitMachine/AppleI/AppleI.swift b/FruitMachine/AppleI/AppleI.swift
index 6cc7e18..ddc9f6b 100644
--- a/FruitMachine/AppleI/AppleI.swift
+++ b/FruitMachine/AppleI/AppleI.swift
@@ -57,16 +57,11 @@ class AppleI: NSObject {
CPU.sharedInstance.memoryInterface.read_overrides.append(PIAOverrides.readKBDCR)
}
- func runFrame() {
- let startTime = CFAbsoluteTimeGetCurrent()
-
+ func runFrame() {
CPU.sharedInstance.cycles = 0
CPU.sharedInstance.cyclesInBatch = AppleI.CYCLES_PER_BATCH
CPU.sharedInstance.runCyclesBatch()
- let timeElapsed = CFAbsoluteTimeGetCurrent() - startTime
- print("Time elapsed for runFrame: \(timeElapsed) s.")
-
//update the video display
CVPixelBufferLockBaseAddress(emulatorViewDelegate.pixels!, CVPixelBufferLockFlags(rawValue: 0))
let pixelBase = CVPixelBufferGetBaseAddress(emulatorViewDelegate.pixels!)
diff --git a/FruitMachine/PreferencesWindow.xib b/FruitMachine/PreferencesWindow.xib
index 1f61b04..97b6d32 100644
--- a/FruitMachine/PreferencesWindow.xib
+++ b/FruitMachine/PreferencesWindow.xib
@@ -17,7 +17,7 @@
-
+
@@ -32,7 +32,7 @@
-
+
@@ -102,6 +102,9 @@
+
+
+
diff --git a/FruitMachine/PreferencesWindowController.swift b/FruitMachine/PreferencesWindowController.swift
index 9adb100..1c9eb1b 100644
--- a/FruitMachine/PreferencesWindowController.swift
+++ b/FruitMachine/PreferencesWindowController.swift
@@ -36,8 +36,62 @@ class PreferencesWindowController: NSWindowController {
}
}
+ func windowWillClose(_ notification: Notification) {
+ defaults.set(path_ROMMonitor.stringValue, forKey: "path_ROMMonitor")
+ defaults.set(path_ROMCharacter.stringValue, forKey: "path_ROMCharacter")
+ defaults.set(path_ROMBasic.stringValue, forKey: "path_ROMBasic")
+
+ defaults.synchronize()
+ }
+
override var windowNibName : NSNib.Name? {
return NSNib.Name(rawValue: "PreferencesWindow")
}
+ @IBAction func btn_click_Monitor(_ sender: NSButton) {
+ let picker = NSOpenPanel()
+
+ picker.title = "Select your Monitor ROM (apple1.rom)"
+ picker.showsHiddenFiles = false
+ picker.canChooseFiles = true
+ picker.canChooseDirectories = false
+ picker.allowsMultipleSelection = false
+ picker.allowedFileTypes = ["rom"]
+
+ if(picker.runModal() == .OK) {
+ path_ROMMonitor.stringValue = picker.url!.path
+ }
+ }
+
+ @IBAction func btn_click_Character(_ sender: NSButton) {
+ let picker = NSOpenPanel()
+
+ picker.title = "Select your Monitor ROM (apple1.vid)"
+ picker.showsHiddenFiles = false
+ picker.canChooseFiles = true
+ picker.canChooseDirectories = false
+ picker.allowsMultipleSelection = false
+ picker.allowedFileTypes = ["vid"]
+
+ if(picker.runModal() == .OK) {
+ path_ROMCharacter.stringValue = picker.url!.path
+ }
+ }
+
+ @IBAction func btn_click_BASIC(_ sender: NSButton) {
+ let picker = NSOpenPanel()
+
+ picker.title = "Select your Monitor ROM (basic.bin)"
+ picker.showsHiddenFiles = false
+ picker.canChooseFiles = true
+ picker.canChooseDirectories = false
+ picker.allowsMultipleSelection = false
+ picker.allowedFileTypes = ["bin"]
+
+ if(picker.runModal() == .OK) {
+ path_ROMBasic.stringValue = picker.url!.path
+ }
+ }
+
+
}