mirror of
https://github.com/trudnai/Steve2.git
synced 2025-04-07 20:37:12 +00:00
- .current renamed to .shared
- Automatically witch to debugger and back to emulator view when debugging
This commit is contained in:
parent
57e10e65e6
commit
82deef06aa
@ -46,7 +46,7 @@ class AppDelegate: NSObject, NSApplicationDelegate {
|
||||
@IBAction func Disk1_Selected(_ sender: NSMenuItem) {
|
||||
if let menuIdentifier = sender.identifier {
|
||||
let woz_err = woz_loadFile( Bundle.main.resourcePath! + "/dsk/" + menuIdentifier.rawValue + ".woz" )
|
||||
ViewController.current?.chk_woz_load(err: woz_err)
|
||||
ViewController.shared?.chk_woz_load(err: woz_err)
|
||||
woz_flags.image_file_readonly = 1
|
||||
}
|
||||
}
|
||||
@ -61,42 +61,42 @@ class AppDelegate: NSObject, NSApplicationDelegate {
|
||||
}
|
||||
|
||||
@IBAction func selectAnImageFromFile(sender: AnyObject) {
|
||||
ViewController.current?.openDiskImageDialog()
|
||||
ViewController.shared?.openDiskImageDialog()
|
||||
}
|
||||
|
||||
|
||||
func application(_ sender: NSApplication, openFile filename: String) -> Bool {
|
||||
ViewController.current?.openDiskImage(url: URL(fileURLWithPath: filename))
|
||||
ViewController.shared?.openDiskImage(url: URL(fileURLWithPath: filename))
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@IBAction func openFile(_ sender: NSMenuItem) {
|
||||
ViewController.current?.openDiskImageDialog()
|
||||
ViewController.shared?.openDiskImageDialog()
|
||||
}
|
||||
|
||||
@IBAction func saveFile(_ sender: NSMenuItem) {
|
||||
ViewController.current?.saveFile()
|
||||
ViewController.shared?.saveFile()
|
||||
}
|
||||
|
||||
@IBAction func saveFileAs(_ sender: NSMenuItem) {
|
||||
ViewController.current?.saveFileAs()
|
||||
ViewController.shared?.saveFileAs()
|
||||
}
|
||||
|
||||
@IBAction func Cheat_Wavy_Navy_Vitroy(_ sender: Any) {
|
||||
ViewController.current?.Cheat_Wavy_Navy_Victory()
|
||||
ViewController.shared?.Cheat_Wavy_Navy_Victory()
|
||||
}
|
||||
|
||||
@IBAction func Cheat_Wavy_Navy_Add_3_Ships(_ sender: Any) {
|
||||
ViewController.current?.Cheat_Wavy_Navy_Add_3_Ships()
|
||||
ViewController.shared?.Cheat_Wavy_Navy_Add_3_Ships()
|
||||
}
|
||||
|
||||
@IBAction func Cheat_Wavy_Navy_Never_Lose(_ menuItem: NSMenuItem) {
|
||||
menuItem.state = (ViewController.current?.Cheat_Wavy_Navy_Never_Lose())!
|
||||
menuItem.state = (ViewController.shared?.Cheat_Wavy_Navy_Never_Lose())!
|
||||
}
|
||||
|
||||
@IBAction func Cheat_Wavy_Navy_Lose_To_Win(_ menuItem: NSMenuItem) {
|
||||
menuItem.state = (ViewController.current?.Cheat_Wavy_Navy_Lose_To_Win())!
|
||||
menuItem.state = (ViewController.shared?.Cheat_Wavy_Navy_Lose_To_Win())!
|
||||
}
|
||||
|
||||
@IBOutlet weak var MenuItem_Cheat: NSMenuItem!
|
||||
@ -105,21 +105,21 @@ class AppDelegate: NSObject, NSApplicationDelegate {
|
||||
|
||||
func Cheat_Menu() {
|
||||
// print("Cheat_Menu Menu")
|
||||
let ships = ViewController.current?.Get_Hard_Hat_Mack()
|
||||
let ships = ViewController.shared?.Get_Hard_Hat_Mack()
|
||||
MenuItem_Hard_Hat_Mack_Add_3_Macks.title = String(format: "Add 3 Macks (%d)", ships!)
|
||||
}
|
||||
|
||||
@IBAction func Cheat_Hard_Hat_Mack(_ menuItem: NSMenuItem) {
|
||||
print("Cheat_Hard_Hat_Mack SubMenu")
|
||||
let ships = ViewController.current?.Get_Hard_Hat_Mack()
|
||||
let ships = ViewController.shared?.Get_Hard_Hat_Mack()
|
||||
MenuItem_Hard_Hat_Mack_Add_3_Macks.title = String(format: "Add 3 Macks (%d)", ships!)
|
||||
}
|
||||
@IBAction func Cheat_Hard_Hat_Mack_Add_3_Macks(_ menuItem: NSMenuItem) {
|
||||
let _ = ViewController.current?.Cheat_Hard_Hat_Mack(add: 3)
|
||||
let _ = ViewController.shared?.Cheat_Hard_Hat_Mack(add: 3)
|
||||
}
|
||||
|
||||
@IBAction func Cheat_Hard_Hat_Mack_Never_Lose(_ menuItem: NSMenuItem) {
|
||||
menuItem.state = (ViewController.current?.Cheat_Hard_Hat_Mack_Never_Lose())!
|
||||
menuItem.state = (ViewController.shared?.Cheat_Hard_Hat_Mack_Never_Lose())!
|
||||
}
|
||||
|
||||
@IBAction func showPreferences(_ sender: NSMenuItem) {
|
||||
@ -130,39 +130,39 @@ class AppDelegate: NSObject, NSApplicationDelegate {
|
||||
}
|
||||
|
||||
@IBAction func PowerOn(_ sender: Any) {
|
||||
ViewController.current?.PowerOn(sender)
|
||||
ViewController.shared?.PowerOn(sender)
|
||||
}
|
||||
|
||||
@IBAction func Pause(_ sender: Any) {
|
||||
ViewController.current?.Pause(sender)
|
||||
ViewController.shared?.Pause(sender)
|
||||
}
|
||||
|
||||
@IBAction func PowerOff(_ sender: Any) {
|
||||
ViewController.current?.PowerOff(sender)
|
||||
ViewController.shared?.PowerOff(sender)
|
||||
}
|
||||
|
||||
@IBAction func ColdReset(_ sender: Any) {
|
||||
ViewController.current?.Reset(sender)
|
||||
ViewController.shared?.Reset(sender)
|
||||
}
|
||||
|
||||
@IBAction func WarmReset(_ sender: Any) {
|
||||
ViewController.current?.Reset(sender)
|
||||
ViewController.shared?.Reset(sender)
|
||||
}
|
||||
|
||||
@IBAction func DebugContinue(_ sender: Any) {
|
||||
DebuggerWindowController.current?.ContinuePauseButton(sender)
|
||||
DebuggerWindowController.shared?.ContinuePauseButton(sender)
|
||||
}
|
||||
|
||||
@IBAction func DebugStepOver(_ sender: Any) {
|
||||
DebuggerWindowController.current?.Step_Over(sender)
|
||||
DebuggerWindowController.shared?.Step_Over(sender)
|
||||
}
|
||||
|
||||
@IBAction func DebugStepIn(_ sender: Any) {
|
||||
DebuggerWindowController.current?.Step_In(sender)
|
||||
DebuggerWindowController.shared?.Step_In(sender)
|
||||
}
|
||||
|
||||
@IBAction func DebugStepOut(_ sender: Any) {
|
||||
DebuggerWindowController.current?.Step_Out(sender)
|
||||
DebuggerWindowController.shared?.Step_Out(sender)
|
||||
}
|
||||
|
||||
|
||||
|
@ -17,7 +17,7 @@ class CheatMenu: NSMenu {
|
||||
|
||||
// AppDelegate.current?.Cheat_Menu()
|
||||
|
||||
let /* ships */ _ = ViewController.current?.Get_Hard_Hat_Mack()
|
||||
let /* ships */ _ = ViewController.shared?.Get_Hard_Hat_Mack()
|
||||
// AppDelegate.current?.MenuItem_Hard_Hat_Mack_Add_3_Macks.title = String(format: "Add 3 Macks (%d)", ships!)
|
||||
|
||||
}
|
||||
|
@ -52,7 +52,7 @@ class DebuggerViewController: NSViewController {
|
||||
|
||||
UpdateImmediately()
|
||||
|
||||
if let debugger = DebuggerWindowController.current {
|
||||
if let debugger = DebuggerWindowController.shared {
|
||||
debugger.PauseButtonUpdate(needUpdateMainToolbar: false)
|
||||
}
|
||||
}
|
||||
@ -197,9 +197,9 @@ N V - B D I Z C
|
||||
if c == 0xAA { // '*'
|
||||
// converted.append("\u{E895}") // big dot (8x8)
|
||||
// converted.append("\u{ED3C}") // big dot2 (8x8)
|
||||
// converted.append("\u{E09B}") // right arrow
|
||||
// converted.append("\u{E095}") // diamond
|
||||
converted.append("\u{E080}") // closed apple
|
||||
converted.append("\u{E095}") // right arrow
|
||||
// converted.append("\u{E09B}") // diamond
|
||||
// converted.append("\u{E080}") // closed apple
|
||||
// converted.append("\u{E081}") // open apple
|
||||
// converted.append("\u{E185}") // checkmark
|
||||
}
|
||||
@ -443,7 +443,7 @@ N V - B D I Z C
|
||||
|
||||
// if m6502.PC > disass_addr && m6502.PC < disass_addr + disass_addr_max {
|
||||
if line_number_at_PC == 0 || need_disass {
|
||||
ViewController.current?.UpdateSemaphore.wait()
|
||||
ViewController.shared?.UpdateSemaphore.wait()
|
||||
|
||||
let m6502_saved = m6502
|
||||
|
||||
@ -485,7 +485,7 @@ N V - B D I Z C
|
||||
}
|
||||
|
||||
m6502 = m6502_saved
|
||||
ViewController.current?.UpdateSemaphore.signal()
|
||||
ViewController.shared?.UpdateSemaphore.signal()
|
||||
}
|
||||
|
||||
DispatchQueue.main.async {
|
||||
|
@ -26,11 +26,11 @@ import Cocoa
|
||||
|
||||
class DebuggerWindowController: NSWindowController, NSWindowDelegate {
|
||||
|
||||
static var current : DebuggerWindowController? = nil
|
||||
static var shared : DebuggerWindowController? = nil
|
||||
|
||||
required init?(coder: NSCoder) {
|
||||
super.init(coder: coder)
|
||||
DebuggerWindowController.current = self
|
||||
DebuggerWindowController.shared = self
|
||||
}
|
||||
|
||||
|
||||
@ -57,7 +57,7 @@ class DebuggerWindowController: NSWindowController, NSWindowDelegate {
|
||||
}
|
||||
|
||||
func windowWillClose(_ notification: Notification) {
|
||||
DebuggerWindowController.current = nil
|
||||
DebuggerWindowController.shared = nil
|
||||
}
|
||||
|
||||
|
||||
@ -119,14 +119,14 @@ class DebuggerWindowController: NSWindowController, NSWindowDelegate {
|
||||
m6502.debugger.wMask = 0
|
||||
m6502.debugger.on = true
|
||||
|
||||
ViewController.current?.Resume()
|
||||
ViewController.shared?.Resume()
|
||||
}
|
||||
|
||||
|
||||
func Pause() {
|
||||
PauseButtonUpdate()
|
||||
|
||||
ViewController.current?.Pause(0)
|
||||
ViewController.shared?.Pause(0)
|
||||
|
||||
m6502.debugger.wMask = 0
|
||||
m6502.debugger.on = false
|
||||
@ -153,7 +153,7 @@ class DebuggerWindowController: NSWindowController, NSWindowDelegate {
|
||||
m6502.debugger.mask.out = 1
|
||||
m6502.debugger.on = true
|
||||
|
||||
ViewController.current?.Resume()
|
||||
ViewController.shared?.Resume()
|
||||
}
|
||||
else {
|
||||
// not a JSR call, only do a single step
|
||||
@ -171,7 +171,7 @@ class DebuggerWindowController: NSWindowController, NSWindowDelegate {
|
||||
}
|
||||
|
||||
// TODO: Update Screen and speaker etc
|
||||
ViewController.current?.Update()
|
||||
ViewController.shared?.Update()
|
||||
}
|
||||
|
||||
|
||||
@ -182,7 +182,7 @@ class DebuggerWindowController: NSWindowController, NSWindowDelegate {
|
||||
m6502.debugger.mask.out = 1
|
||||
m6502.debugger.on = true
|
||||
|
||||
ViewController.current?.Resume()
|
||||
ViewController.shared?.Resume()
|
||||
}
|
||||
|
||||
|
||||
|
@ -53,34 +53,34 @@ class DisplayView: NSTextView {
|
||||
|
||||
override func mouseDown(with event: NSEvent) {
|
||||
// print(#function + "DisplayView")
|
||||
ViewController.current?.mouseDown(with: event)
|
||||
ViewController.shared?.mouseDown(with: event)
|
||||
|
||||
// debugDisplayContraints()
|
||||
}
|
||||
|
||||
override func mouseUp(with event: NSEvent) {
|
||||
// print(#function + "DisplayView")
|
||||
ViewController.current?.mouseUp(with: event)
|
||||
ViewController.shared?.mouseUp(with: event)
|
||||
}
|
||||
|
||||
override func rightMouseDown(with event: NSEvent) {
|
||||
// print(#function + "DisplayView")
|
||||
ViewController.current?.rightMouseDown(with: event)
|
||||
ViewController.shared?.rightMouseDown(with: event)
|
||||
}
|
||||
|
||||
override func rightMouseUp(with event: NSEvent) {
|
||||
// print(#function + "DisplayView")
|
||||
ViewController.current?.rightMouseUp(with: event)
|
||||
ViewController.shared?.rightMouseUp(with: event)
|
||||
}
|
||||
|
||||
override func otherMouseDown(with event: NSEvent) {
|
||||
// print(#function + "DisplayView")
|
||||
ViewController.current?.otherMouseDown(with: event)
|
||||
ViewController.shared?.otherMouseDown(with: event)
|
||||
}
|
||||
|
||||
override func otherMouseUp(with event: NSEvent) {
|
||||
// print(#function + "DisplayView")
|
||||
ViewController.current?.otherMouseUp(with: event)
|
||||
ViewController.shared?.otherMouseUp(with: event)
|
||||
}
|
||||
|
||||
|
||||
|
@ -251,7 +251,7 @@ class HiRes: NSView {
|
||||
|
||||
// blockChanged = [Bool](repeating: false, count: HiRes.blockRows * HiRes.blockCols)
|
||||
|
||||
if ( ViewController.current?.CRTMonitor ?? false ) {
|
||||
if ( ViewController.shared?.CRTMonitor ?? false ) {
|
||||
// do not clear the changes table
|
||||
}
|
||||
else {
|
||||
@ -275,7 +275,7 @@ class HiRes: NSView {
|
||||
if shadowScreen[ screenIdx ] != block {
|
||||
blockChanged[ blockVertIdx + blockHorIdx ] = 0xFF
|
||||
}
|
||||
else if ( ViewController.current?.CRTMonitor ?? false ) {
|
||||
else if ( ViewController.shared?.CRTMonitor ?? false ) {
|
||||
// slow CRT fade out effect
|
||||
if (y % HiRes.blockHeight == 0) && (blockChanged[ blockVertIdx + blockHorIdx ] > 0) {
|
||||
blockChanged[ blockVertIdx + blockHorIdx ] = UInt8( Double(blockChanged[ blockVertIdx + blockHorIdx ]) / pixelTrail )
|
||||
@ -571,7 +571,7 @@ class HiRes: NSView {
|
||||
|
||||
|
||||
func Render() {
|
||||
if ( ViewController.current?.ColorMonitor ?? true ) {
|
||||
if ( ViewController.shared?.ColorMonitor ?? true ) {
|
||||
RenderColor()
|
||||
}
|
||||
else {
|
||||
@ -591,7 +591,7 @@ class HiRes: NSView {
|
||||
// refresh the entire screen
|
||||
let boundingBox = CGRect(x: 0, y: 0, width: frame.width, height: frame.height)
|
||||
|
||||
if ( ViewController.current?.CRTMonitor ?? false ) {
|
||||
if ( ViewController.shared?.CRTMonitor ?? false ) {
|
||||
currentContext?.interpolationQuality = .high // TODO: Make a switch that lets you turn on and off "old monitor effects"
|
||||
}
|
||||
else {
|
||||
|
@ -138,7 +138,7 @@ class ToolBarController: NSWindowController, NSWindowDelegate {
|
||||
PauseButton.state = .on
|
||||
}
|
||||
|
||||
ViewController.current?.PowerOn(sender)
|
||||
ViewController.shared?.PowerOn(sender)
|
||||
|
||||
default:
|
||||
if let PauseToolbarItem = PauseToolbarItem {
|
||||
@ -149,7 +149,7 @@ class ToolBarController: NSWindowController, NSWindowDelegate {
|
||||
PauseButton.state = .off
|
||||
}
|
||||
|
||||
ViewController.current?.PowerOff(sender)
|
||||
ViewController.shared?.PowerOff(sender)
|
||||
}
|
||||
}
|
||||
|
||||
@ -188,7 +188,7 @@ class ToolBarController: NSWindowController, NSWindowDelegate {
|
||||
}
|
||||
|
||||
if needUpdateDebugToolbar {
|
||||
if let debugger = DebuggerWindowController.current {
|
||||
if let debugger = DebuggerWindowController.shared {
|
||||
debugger.PauseButtonUpdate(needUpdateMainToolbar: false)
|
||||
}
|
||||
}
|
||||
@ -197,10 +197,10 @@ class ToolBarController: NSWindowController, NSWindowDelegate {
|
||||
@IBAction func Pause(_ sender: Any) {
|
||||
switch cpuState {
|
||||
case cpuState_halted:
|
||||
ViewController.current?.Pause(sender)
|
||||
ViewController.shared?.Pause(sender)
|
||||
|
||||
case cpuState_running:
|
||||
ViewController.current?.Pause(sender)
|
||||
ViewController.shared?.Pause(sender)
|
||||
|
||||
default:
|
||||
break
|
||||
@ -208,46 +208,46 @@ class ToolBarController: NSWindowController, NSWindowDelegate {
|
||||
|
||||
PauseButtonUpdate()
|
||||
|
||||
if let debugger = DebuggerWindowController.current {
|
||||
if let debugger = DebuggerWindowController.shared {
|
||||
debugger.PauseButtonUpdate(needUpdateMainToolbar: false)
|
||||
}
|
||||
}
|
||||
|
||||
@IBAction func Reset(_ sender: Any) {
|
||||
ViewController.current?.Reset(sender)
|
||||
ViewController.shared?.Reset(sender)
|
||||
}
|
||||
|
||||
@IBAction func SelectAll(_ sender: Any) {
|
||||
// ViewController.current?.displayField.currentEditor()?.selectAll(nil)
|
||||
// ViewController.current?.displayField.selectText(nil)
|
||||
ViewController.current?.textDisplay.setSelectedRange(NSRange())
|
||||
ViewController.shared?.textDisplay.setSelectedRange(NSRange())
|
||||
}
|
||||
|
||||
@IBAction func Copy(_ sender: Any) {
|
||||
ViewController.current?.Copy()
|
||||
ViewController.shared?.Copy()
|
||||
}
|
||||
|
||||
@IBAction func Paste(_ sender: Any) {
|
||||
ViewController.current?.Paste()
|
||||
ViewController.shared?.Paste()
|
||||
}
|
||||
|
||||
@IBAction func Green(_ sender: Any) {
|
||||
// print("NSToolbarItem:", sender.tag)
|
||||
ViewController.current?.MonoMonitorChange(color: "Green")
|
||||
ViewController.shared?.MonoMonitorChange(color: "Green")
|
||||
}
|
||||
|
||||
@IBAction func Amber(_ sender: Any) {
|
||||
// print("NSToolbarItem:", sender.tag)
|
||||
ViewController.current?.MonoMonitorChange(color: "Amber")
|
||||
ViewController.shared?.MonoMonitorChange(color: "Amber")
|
||||
}
|
||||
|
||||
@IBAction func White(_ sender: Any) {
|
||||
// print("NSToolbarItem:", sender.tag)
|
||||
ViewController.current?.MonoMonitorChange(color: "White")
|
||||
ViewController.shared?.MonoMonitorChange(color: "White")
|
||||
}
|
||||
|
||||
@IBAction func Color(_ sender: Any) {
|
||||
ViewController.current?.ColorMonitorSelector(color: true)
|
||||
ViewController.shared?.ColorMonitorSelector(color: true)
|
||||
}
|
||||
|
||||
@IBOutlet weak var SpeedSelector: NSToolbarItem!
|
||||
@ -255,43 +255,43 @@ class ToolBarController: NSWindowController, NSWindowDelegate {
|
||||
@IBAction func SpeedSelected(_ slider: NSSliderCell) {
|
||||
switch slider.intValue {
|
||||
case 1:
|
||||
ViewController.current?.setCPUClockSpeed(freq: 0.25)
|
||||
ViewController.shared?.setCPUClockSpeed(freq: 0.25)
|
||||
SpeedSelector.label = "0.25 MHz"
|
||||
|
||||
case 2:
|
||||
ViewController.current?.setCPUClockSpeed(freq: 0.5)
|
||||
ViewController.shared?.setCPUClockSpeed(freq: 0.5)
|
||||
SpeedSelector.label = "0.5 MHz"
|
||||
|
||||
case 4:
|
||||
ViewController.current?.setCPUClockSpeed(freq: 1.5)
|
||||
ViewController.shared?.setCPUClockSpeed(freq: 1.5)
|
||||
SpeedSelector.label = "1.5 MHz"
|
||||
|
||||
case 5:
|
||||
ViewController.current?.setCPUClockSpeed(freq: 2)
|
||||
ViewController.shared?.setCPUClockSpeed(freq: 2)
|
||||
SpeedSelector.label = "2 MHz"
|
||||
|
||||
case 6:
|
||||
ViewController.current?.setCPUClockSpeed(freq: 2.8)
|
||||
ViewController.shared?.setCPUClockSpeed(freq: 2.8)
|
||||
SpeedSelector.label = "2.8 MHz"
|
||||
|
||||
case 7:
|
||||
ViewController.current?.setCPUClockSpeed(freq: 4)
|
||||
ViewController.shared?.setCPUClockSpeed(freq: 4)
|
||||
SpeedSelector.label = "4 MHz"
|
||||
|
||||
case 8:
|
||||
ViewController.current?.setCPUClockSpeed(freq: 10)
|
||||
ViewController.shared?.setCPUClockSpeed(freq: 10)
|
||||
SpeedSelector.label = "10 MHz"
|
||||
|
||||
case 9:
|
||||
ViewController.current?.setCPUClockSpeed(freq: 100)
|
||||
ViewController.shared?.setCPUClockSpeed(freq: 100)
|
||||
SpeedSelector.label = "100 MHz"
|
||||
|
||||
case 10:
|
||||
ViewController.current?.setCPUClockSpeed(freq: 2000)
|
||||
ViewController.shared?.setCPUClockSpeed(freq: 2000)
|
||||
SpeedSelector.label = "MAX Speed"
|
||||
|
||||
default:
|
||||
ViewController.current?.setCPUClockSpeed(freq: 14.31818 / 14.0)
|
||||
ViewController.shared?.setCPUClockSpeed(freq: 14.31818 / 14.0)
|
||||
SpeedSelector.label = "1.023 MHz"
|
||||
}
|
||||
}
|
||||
@ -312,24 +312,24 @@ class ToolBarController: NSWindowController, NSWindowDelegate {
|
||||
@IBAction func GamePort(_ sender: NSPopUpButton) {
|
||||
switch sender.selectedItem?.tag {
|
||||
case 1: // "Keyboard -> Joystick"
|
||||
if let state = ViewController.current?.Keyboard2Joystick {
|
||||
ViewController.current?.Keyboard2Joystick = !state
|
||||
if let state = ViewController.shared?.Keyboard2Joystick {
|
||||
ViewController.shared?.Keyboard2Joystick = !state
|
||||
sender.selectedItem?.state = state ? .off : .on
|
||||
}
|
||||
break
|
||||
|
||||
case 2: // "Mouse -> Joystick"
|
||||
if let state = ViewController.current?.Mouse2Joystick {
|
||||
ViewController.current?.Mouse2Joystick = !state
|
||||
if let state = ViewController.shared?.Mouse2Joystick {
|
||||
ViewController.shared?.Mouse2Joystick = !state
|
||||
sender.selectedItem?.state = state ? .off : .on
|
||||
|
||||
ViewController.current?.mouseCursor(hide: !state)
|
||||
ViewController.shared?.mouseCursor(hide: !state)
|
||||
}
|
||||
break
|
||||
|
||||
case 3: // "Mouse Enabled"
|
||||
if let state = ViewController.current?.MouseInterface {
|
||||
ViewController.current?.MouseInterface = !state
|
||||
if let state = ViewController.shared?.MouseInterface {
|
||||
ViewController.shared?.MouseInterface = !state
|
||||
sender.selectedItem?.state = state ? .off : .on
|
||||
}
|
||||
break
|
||||
@ -376,7 +376,7 @@ class ToolBarController: NSWindowController, NSWindowDelegate {
|
||||
@IBAction func CPUMode(_ sender: NSPopUpButton) {
|
||||
switch sender.selectedItem?.tag {
|
||||
case 1: // "Normal Mode"
|
||||
ViewController.current?.setSimulationMode( mode: "Normal" )
|
||||
ViewController.shared?.setSimulationMode( mode: "Normal" )
|
||||
for i in sender.itemArray {
|
||||
i.state = .off
|
||||
}
|
||||
@ -384,7 +384,7 @@ class ToolBarController: NSWindowController, NSWindowDelegate {
|
||||
break
|
||||
|
||||
case 2: // "Eco Mode"
|
||||
ViewController.current?.setSimulationMode( mode: "Eco" )
|
||||
ViewController.shared?.setSimulationMode( mode: "Eco" )
|
||||
for i in sender.itemArray {
|
||||
i.state = .off
|
||||
}
|
||||
@ -392,7 +392,7 @@ class ToolBarController: NSWindowController, NSWindowDelegate {
|
||||
break
|
||||
|
||||
case 3: // "Write Enabled"
|
||||
ViewController.current?.setSimulationMode( mode: "Game" )
|
||||
ViewController.shared?.setSimulationMode( mode: "Game" )
|
||||
for i in sender.itemArray {
|
||||
i.state = .off
|
||||
}
|
||||
@ -405,16 +405,16 @@ class ToolBarController: NSWindowController, NSWindowDelegate {
|
||||
}
|
||||
|
||||
@IBAction func CRTModeOnOff(_ sender: NSButton) {
|
||||
ViewController.current?.CRTMonitorOnOff(sender)
|
||||
ViewController.shared?.CRTMonitorOnOff(sender)
|
||||
}
|
||||
|
||||
@IBAction func Debugger(_ sender: Any) {
|
||||
if DebuggerWindowController.current == nil {
|
||||
if DebuggerWindowController.shared == nil {
|
||||
let debuggerStoryboard = NSStoryboard.init(name: NSStoryboard.Name("Debugger"), bundle: nil)
|
||||
debuggerStoryboard.instantiateController(withIdentifier: NSStoryboard.SceneIdentifier("debuggerWindowController"))
|
||||
}
|
||||
|
||||
if let debugger = DebuggerWindowController.current {
|
||||
if let debugger = DebuggerWindowController.shared {
|
||||
debugger.showWindow(self)
|
||||
}
|
||||
}
|
||||
|
@ -77,7 +77,7 @@ import Metal
|
||||
|
||||
class ViewController: NSViewController {
|
||||
|
||||
static var current : ViewController? = nil
|
||||
static var shared : ViewController? = nil
|
||||
|
||||
var displayLink: CVDisplayLink?
|
||||
|
||||
@ -254,7 +254,7 @@ class ViewController: NSViewController {
|
||||
self.upd.resume()
|
||||
#endif
|
||||
|
||||
if let debugger = DebuggerWindowController.current {
|
||||
if let debugger = DebuggerWindowController.shared {
|
||||
debugger.PauseButtonUpdate(needUpdateMainToolbar: false)
|
||||
}
|
||||
}
|
||||
@ -322,7 +322,7 @@ class ViewController: NSViewController {
|
||||
})
|
||||
}
|
||||
|
||||
if let debugger = DebuggerWindowController.current {
|
||||
if let debugger = DebuggerWindowController.shared {
|
||||
debugger.PauseButtonUpdate(needUpdateMainToolbar: false)
|
||||
}
|
||||
|
||||
@ -348,7 +348,11 @@ class ViewController: NSViewController {
|
||||
|
||||
cpuState = cpuState_running
|
||||
|
||||
if let debugger = DebuggerWindowController.current {
|
||||
DispatchQueue.main.async {
|
||||
self.view.window?.windowController?.showWindow(self)
|
||||
}
|
||||
|
||||
if let debugger = DebuggerWindowController.shared {
|
||||
debugger.PauseButtonUpdate()
|
||||
}
|
||||
}
|
||||
@ -363,7 +367,7 @@ class ViewController: NSViewController {
|
||||
|
||||
cpuState = cpuState_halted
|
||||
|
||||
if let debugger = DebuggerWindowController.current {
|
||||
if let debugger = DebuggerWindowController.shared {
|
||||
debugger.PauseButtonUpdate()
|
||||
}
|
||||
}
|
||||
@ -735,17 +739,17 @@ class ViewController: NSViewController {
|
||||
Pause()
|
||||
|
||||
case F6FunctionKey:
|
||||
if let debugger = DebuggerWindowController.current {
|
||||
if let debugger = DebuggerWindowController.shared {
|
||||
debugger.Step_Over(event)
|
||||
}
|
||||
|
||||
case F7FunctionKey:
|
||||
if let debugger = DebuggerWindowController.current {
|
||||
if let debugger = DebuggerWindowController.shared {
|
||||
debugger.Step_In(event)
|
||||
}
|
||||
|
||||
case F8FunctionKey:
|
||||
if let debugger = DebuggerWindowController.current {
|
||||
if let debugger = DebuggerWindowController.shared {
|
||||
debugger.Step_Out(event)
|
||||
}
|
||||
|
||||
@ -1272,7 +1276,7 @@ class ViewController: NSViewController {
|
||||
if let debugger = DebuggerViewController.shared {
|
||||
debugger.Update()
|
||||
}
|
||||
if let debugger = DebuggerWindowController.current {
|
||||
if let debugger = DebuggerWindowController.shared {
|
||||
DispatchQueue.main.async {
|
||||
debugger.showWindow(self)
|
||||
}
|
||||
@ -1427,7 +1431,7 @@ class ViewController: NSViewController {
|
||||
// print(#function)
|
||||
super.init(coder: coder)
|
||||
|
||||
ViewController.current = self
|
||||
ViewController.shared = self
|
||||
}
|
||||
|
||||
|
||||
@ -2085,7 +2089,7 @@ class ViewController: NSViewController {
|
||||
case 1000: // Open Default Disk Image
|
||||
if let menuIdentifier = sender.selectedItem?.title {
|
||||
let woz_err = woz_loadFile( Bundle.main.resourcePath! + "/dsk/" + menuIdentifier + ".woz" )
|
||||
ViewController.current?.chk_woz_load(err: woz_err)
|
||||
ViewController.shared?.chk_woz_load(err: woz_err)
|
||||
woz_flags.image_file_readonly = 1
|
||||
}
|
||||
|
||||
@ -2285,6 +2289,6 @@ class ViewController: NSViewController {
|
||||
|
||||
@_cdecl("woz_ask_to_save")
|
||||
func woz_ask_to_save() {
|
||||
ViewController.current?.saveFile()
|
||||
ViewController.shared?.saveFile()
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user