mirror of
https://github.com/TomHarte/CLK.git
synced 2024-06-30 22:29:56 +00:00
Adds the Spectrum to the macOS New... menu.
This commit is contained in:
parent
3925eee575
commit
7562917740
|
@ -189,13 +189,15 @@ template<Model model> class ConcreteMachine:
|
||||||
|
|
||||||
// Test for classic 128kb paging register.
|
// Test for classic 128kb paging register.
|
||||||
if((address & 0xc002) == 0x4000) {
|
if((address & 0xc002) == 0x4000) {
|
||||||
disable_paging_ |= *cycle.value & 0x20;
|
|
||||||
|
|
||||||
// Set the proper video base pointer.
|
// Set the proper video base pointer.
|
||||||
set_video_address();
|
set_video_address();
|
||||||
|
|
||||||
port7ffd_ = *cycle.value;
|
port7ffd_ = *cycle.value;
|
||||||
update_memory_map();
|
update_memory_map();
|
||||||
|
|
||||||
|
// Potentially lock paging, _after_ the current
|
||||||
|
// port values have taken effect.
|
||||||
|
disable_paging_ |= *cycle.value & 0x20;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Test for +2a/+3 paging.
|
// Test for +2a/+3 paging.
|
||||||
|
|
|
@ -62,6 +62,11 @@ typedef NS_ENUM(NSInteger, CSMachineOricDiskInterface) {
|
||||||
CSMachineOricDiskInterfaceBD500
|
CSMachineOricDiskInterfaceBD500
|
||||||
};
|
};
|
||||||
|
|
||||||
|
typedef NS_ENUM(NSInteger, CSMachineSpectrumModel) {
|
||||||
|
CSMachineSpectrumModelPlus2a,
|
||||||
|
CSMachineSpectrumModelPlus3,
|
||||||
|
};
|
||||||
|
|
||||||
typedef NS_ENUM(NSInteger, CSMachineVic20Region) {
|
typedef NS_ENUM(NSInteger, CSMachineVic20Region) {
|
||||||
CSMachineVic20RegionAmerican,
|
CSMachineVic20RegionAmerican,
|
||||||
CSMachineVic20RegionEuropean,
|
CSMachineVic20RegionEuropean,
|
||||||
|
@ -90,6 +95,7 @@ typedef int Kilobytes;
|
||||||
- (instancetype)initWithMacintoshModel:(CSMachineMacintoshModel)model;
|
- (instancetype)initWithMacintoshModel:(CSMachineMacintoshModel)model;
|
||||||
- (instancetype)initWithMSXRegion:(CSMachineMSXRegion)region hasDiskDrive:(BOOL)hasDiskDrive;
|
- (instancetype)initWithMSXRegion:(CSMachineMSXRegion)region hasDiskDrive:(BOOL)hasDiskDrive;
|
||||||
- (instancetype)initWithOricModel:(CSMachineOricModel)model diskInterface:(CSMachineOricDiskInterface)diskInterface;
|
- (instancetype)initWithOricModel:(CSMachineOricModel)model diskInterface:(CSMachineOricDiskInterface)diskInterface;
|
||||||
|
- (instancetype)initWithSpectrumModel:(CSMachineSpectrumModel)model;
|
||||||
- (instancetype)initWithVic20Region:(CSMachineVic20Region)region memorySize:(Kilobytes)memorySize hasC1540:(BOOL)hasC1540;
|
- (instancetype)initWithVic20Region:(CSMachineVic20Region)region memorySize:(Kilobytes)memorySize hasC1540:(BOOL)hasC1540;
|
||||||
- (instancetype)initWithZX80MemorySize:(Kilobytes)memorySize useZX81ROM:(BOOL)useZX81ROM;
|
- (instancetype)initWithZX80MemorySize:(Kilobytes)memorySize useZX81ROM:(BOOL)useZX81ROM;
|
||||||
- (instancetype)initWithZX81MemorySize:(Kilobytes)memorySize;
|
- (instancetype)initWithZX81MemorySize:(Kilobytes)memorySize;
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
#include "../../../../../Analyser/Static/MSX/Target.hpp"
|
#include "../../../../../Analyser/Static/MSX/Target.hpp"
|
||||||
#include "../../../../../Analyser/Static/Oric/Target.hpp"
|
#include "../../../../../Analyser/Static/Oric/Target.hpp"
|
||||||
#include "../../../../../Analyser/Static/ZX8081/Target.hpp"
|
#include "../../../../../Analyser/Static/ZX8081/Target.hpp"
|
||||||
|
#include "../../../../../Analyser/Static/ZXSpectrum/Target.hpp"
|
||||||
|
|
||||||
#import "Clock_Signal-Swift.h"
|
#import "Clock_Signal-Swift.h"
|
||||||
|
|
||||||
|
@ -187,6 +188,20 @@
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (instancetype)initWithSpectrumModel:(CSMachineSpectrumModel)model {
|
||||||
|
self = [super init];
|
||||||
|
if(self) {
|
||||||
|
using Target = Analyser::Static::ZXSpectrum::Target;
|
||||||
|
auto target = std::make_unique<Target>();
|
||||||
|
switch(model) {
|
||||||
|
case CSMachineSpectrumModelPlus2a: target->model = Target::Model::Plus2a; break;
|
||||||
|
case CSMachineSpectrumModelPlus3: target->model = Target::Model::Plus3; break;
|
||||||
|
}
|
||||||
|
_targets.push_back(std::move(target));
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
- (instancetype)initWithVic20Region:(CSMachineVic20Region)region memorySize:(Kilobytes)memorySize hasC1540:(BOOL)hasC1540 {
|
- (instancetype)initWithVic20Region:(CSMachineVic20Region)region memorySize:(Kilobytes)memorySize hasC1540:(BOOL)hasC1540 {
|
||||||
self = [super init];
|
self = [super init];
|
||||||
if(self) {
|
if(self) {
|
||||||
|
|
|
@ -17,14 +17,14 @@
|
||||||
<window title="Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" animationBehavior="default" titleVisibility="hidden" id="QvC-M9-y7g">
|
<window title="Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" animationBehavior="default" titleVisibility="hidden" id="QvC-M9-y7g">
|
||||||
<windowStyleMask key="styleMask" titled="YES" documentModal="YES"/>
|
<windowStyleMask key="styleMask" titled="YES" documentModal="YES"/>
|
||||||
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
|
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
|
||||||
<rect key="contentRect" x="196" y="240" width="810" height="205"/>
|
<rect key="contentRect" x="196" y="240" width="881" height="205"/>
|
||||||
<rect key="screenRect" x="0.0" y="0.0" width="2560" height="1440"/>
|
<rect key="screenRect" x="0.0" y="0.0" width="1440" height="900"/>
|
||||||
<view key="contentView" wantsLayer="YES" id="EiT-Mj-1SZ">
|
<view key="contentView" wantsLayer="YES" id="EiT-Mj-1SZ">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="810" height="205"/>
|
<rect key="frame" x="0.0" y="0.0" width="881" height="205"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="hKn-1l-OSN">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="hKn-1l-OSN">
|
||||||
<rect key="frame" x="716" y="13" width="81" height="32"/>
|
<rect key="frame" x="787" y="13" width="81" height="32"/>
|
||||||
<buttonCell key="cell" type="push" title="Choose" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="MnM-xo-4Qa">
|
<buttonCell key="cell" type="push" title="Choose" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="MnM-xo-4Qa">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
|
@ -37,7 +37,7 @@ DQ
|
||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="JQy-Cj-AOK">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="JQy-Cj-AOK">
|
||||||
<rect key="frame" x="643" y="13" width="76" height="32"/>
|
<rect key="frame" x="714" y="13" width="76" height="32"/>
|
||||||
<buttonCell key="cell" type="push" title="Cancel" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="sub-rB-Req">
|
<buttonCell key="cell" type="push" title="Cancel" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="sub-rB-Req">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
|
@ -59,7 +59,7 @@ Gw
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<tabView translatesAutoresizingMaskIntoConstraints="NO" id="VUb-QG-x7c">
|
<tabView translatesAutoresizingMaskIntoConstraints="NO" id="VUb-QG-x7c">
|
||||||
<rect key="frame" x="13" y="50" width="784" height="141"/>
|
<rect key="frame" x="13" y="50" width="855" height="141"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<tabViewItems>
|
<tabViewItems>
|
||||||
<tabViewItem label="Apple II" identifier="appleii" id="P59-QG-LOa">
|
<tabViewItem label="Apple II" identifier="appleii" id="P59-QG-LOa">
|
||||||
|
@ -195,7 +195,7 @@ Gw
|
||||||
</tabViewItem>
|
</tabViewItem>
|
||||||
<tabViewItem label="Amstrad CPC" identifier="cpc" id="JmB-OF-xcM">
|
<tabViewItem label="Amstrad CPC" identifier="cpc" id="JmB-OF-xcM">
|
||||||
<view key="view" id="5zS-Nj-Ynx">
|
<view key="view" id="5zS-Nj-Ynx">
|
||||||
<rect key="frame" x="10" y="33" width="764" height="95"/>
|
<rect key="frame" x="10" y="33" width="835" height="95"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="00d-sg-Krh">
|
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="00d-sg-Krh">
|
||||||
|
@ -457,9 +457,46 @@ Gw
|
||||||
</constraints>
|
</constraints>
|
||||||
</view>
|
</view>
|
||||||
</tabViewItem>
|
</tabViewItem>
|
||||||
|
<tabViewItem label="Spectrum" identifier="spectrum" id="HQv-oF-k8b">
|
||||||
|
<view key="view" id="bMx-F6-JUb">
|
||||||
|
<rect key="frame" x="10" y="33" width="835" height="95"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
|
<subviews>
|
||||||
|
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="gFZ-d4-WFv">
|
||||||
|
<rect key="frame" x="63" y="66" width="62" height="25"/>
|
||||||
|
<popUpButtonCell key="cell" type="push" title="+2a" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" tag="21" imageScaling="axesIndependently" inset="2" selectedItem="Fo7-NL-Kv5" id="tYs-sA-oek">
|
||||||
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||||
|
<font key="font" metaFont="menu"/>
|
||||||
|
<menu key="menu" id="8lt-dk-zPr">
|
||||||
|
<items>
|
||||||
|
<menuItem title="+2a" tag="21" id="Fo7-NL-Kv5"/>
|
||||||
|
<menuItem title="+3" tag="3" id="jwx-fZ-vXp"/>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</popUpButtonCell>
|
||||||
|
</popUpButton>
|
||||||
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="fJ3-ma-Byy">
|
||||||
|
<rect key="frame" x="18" y="72" width="42" height="16"/>
|
||||||
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Model" id="JId-Tp-LrE">
|
||||||
|
<font key="font" metaFont="system"/>
|
||||||
|
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
</textFieldCell>
|
||||||
|
</textField>
|
||||||
|
</subviews>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="gFZ-d4-WFv" secondAttribute="trailing" constant="20" symbolic="YES" id="90E-uI-MQg"/>
|
||||||
|
<constraint firstItem="fJ3-ma-Byy" firstAttribute="leading" secondItem="bMx-F6-JUb" secondAttribute="leading" constant="20" symbolic="YES" id="9kE-iQ-dxd"/>
|
||||||
|
<constraint firstItem="fJ3-ma-Byy" firstAttribute="centerY" secondItem="gFZ-d4-WFv" secondAttribute="centerY" id="LxG-5E-Q5Y"/>
|
||||||
|
<constraint firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="gFZ-d4-WFv" secondAttribute="bottom" constant="5" id="d8S-vX-B5e"/>
|
||||||
|
<constraint firstItem="gFZ-d4-WFv" firstAttribute="leading" secondItem="fJ3-ma-Byy" secondAttribute="trailing" constant="8" symbolic="YES" id="hKS-47-R2y"/>
|
||||||
|
<constraint firstItem="gFZ-d4-WFv" firstAttribute="top" secondItem="bMx-F6-JUb" secondAttribute="top" constant="5" id="wsX-Wq-iPt"/>
|
||||||
|
</constraints>
|
||||||
|
</view>
|
||||||
|
</tabViewItem>
|
||||||
<tabViewItem label="Vic-20" identifier="vic20" id="cyO-PU-hSU">
|
<tabViewItem label="Vic-20" identifier="vic20" id="cyO-PU-hSU">
|
||||||
<view key="view" id="fLI-XB-QCr">
|
<view key="view" id="fLI-XB-QCr">
|
||||||
<rect key="frame" x="10" y="33" width="764" height="95"/>
|
<rect key="frame" x="10" y="33" width="819" height="95"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ueK-gq-gaF">
|
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ueK-gq-gaF">
|
||||||
|
@ -638,7 +675,7 @@ Gw
|
||||||
<constraint firstItem="VUb-QG-x7c" firstAttribute="top" secondItem="EiT-Mj-1SZ" secondAttribute="top" constant="20" id="zT3-Ea-QQJ"/>
|
<constraint firstItem="VUb-QG-x7c" firstAttribute="top" secondItem="EiT-Mj-1SZ" secondAttribute="top" constant="20" id="zT3-Ea-QQJ"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
</view>
|
</view>
|
||||||
<point key="canvasLocation" x="94.5" y="90.5"/>
|
<point key="canvasLocation" x="129.5" y="90.5"/>
|
||||||
</window>
|
</window>
|
||||||
<customObject id="192-Eb-Rpg" customClass="MachinePicker" customModule="Clock_Signal" customModuleProvider="target">
|
<customObject id="192-Eb-Rpg" customClass="MachinePicker" customModule="Clock_Signal" customModuleProvider="target">
|
||||||
<connections>
|
<connections>
|
||||||
|
@ -658,6 +695,7 @@ Gw
|
||||||
<outlet property="msxRegionButton" destination="LG6-mP-SeG" id="3a9-VG-6Wf"/>
|
<outlet property="msxRegionButton" destination="LG6-mP-SeG" id="3a9-VG-6Wf"/>
|
||||||
<outlet property="oricDiskInterfaceButton" destination="fYL-p6-wyn" id="aAt-wM-hRZ"/>
|
<outlet property="oricDiskInterfaceButton" destination="fYL-p6-wyn" id="aAt-wM-hRZ"/>
|
||||||
<outlet property="oricModelTypeButton" destination="ENP-hI-BVZ" id="n9i-Ym-miE"/>
|
<outlet property="oricModelTypeButton" destination="ENP-hI-BVZ" id="n9i-Ym-miE"/>
|
||||||
|
<outlet property="spectrumModelTypeButton" destination="gFZ-d4-WFv" id="tdX-Cv-Swe"/>
|
||||||
<outlet property="vic20HasC1540Button" destination="Lrf-gL-6EI" id="21g-dJ-mOo"/>
|
<outlet property="vic20HasC1540Button" destination="Lrf-gL-6EI" id="21g-dJ-mOo"/>
|
||||||
<outlet property="vic20MemorySizeButton" destination="2eV-Us-eEv" id="5j4-jw-89d"/>
|
<outlet property="vic20MemorySizeButton" destination="2eV-Us-eEv" id="5j4-jw-89d"/>
|
||||||
<outlet property="vic20RegionButton" destination="ueK-gq-gaF" id="qMq-uP-y4r"/>
|
<outlet property="vic20RegionButton" destination="ueK-gq-gaF" id="qMq-uP-y4r"/>
|
||||||
|
|
|
@ -40,6 +40,9 @@ class MachinePicker: NSObject {
|
||||||
@IBOutlet var oricModelTypeButton: NSPopUpButton!
|
@IBOutlet var oricModelTypeButton: NSPopUpButton!
|
||||||
@IBOutlet var oricDiskInterfaceButton: NSPopUpButton!
|
@IBOutlet var oricDiskInterfaceButton: NSPopUpButton!
|
||||||
|
|
||||||
|
// MARK: - Spectrum properties
|
||||||
|
@IBOutlet var spectrumModelTypeButton: NSPopUpButton!
|
||||||
|
|
||||||
// MARK: - Vic-20 properties
|
// MARK: - Vic-20 properties
|
||||||
@IBOutlet var vic20RegionButton: NSPopUpButton!
|
@IBOutlet var vic20RegionButton: NSPopUpButton!
|
||||||
@IBOutlet var vic20MemorySizeButton: NSPopUpButton!
|
@IBOutlet var vic20MemorySizeButton: NSPopUpButton!
|
||||||
|
@ -98,6 +101,9 @@ class MachinePicker: NSObject {
|
||||||
oricDiskInterfaceButton.selectItem(withTag: standardUserDefaults.integer(forKey: "new.oricDiskInterface"))
|
oricDiskInterfaceButton.selectItem(withTag: standardUserDefaults.integer(forKey: "new.oricDiskInterface"))
|
||||||
oricModelTypeButton.selectItem(withTag: standardUserDefaults.integer(forKey: "new.oricModel"))
|
oricModelTypeButton.selectItem(withTag: standardUserDefaults.integer(forKey: "new.oricModel"))
|
||||||
|
|
||||||
|
// Spectrum settings
|
||||||
|
spectrumModelTypeButton.selectItem(withTag: standardUserDefaults.integer(forKey: "new.spectrumModel"))
|
||||||
|
|
||||||
// Vic-20 settings
|
// Vic-20 settings
|
||||||
vic20RegionButton.selectItem(withTag: standardUserDefaults.integer(forKey: "new.vic20Region"))
|
vic20RegionButton.selectItem(withTag: standardUserDefaults.integer(forKey: "new.vic20Region"))
|
||||||
vic20MemorySizeButton.selectItem(withTag: standardUserDefaults.integer(forKey: "new.vic20MemorySize"))
|
vic20MemorySizeButton.selectItem(withTag: standardUserDefaults.integer(forKey: "new.vic20MemorySize"))
|
||||||
|
@ -145,6 +151,9 @@ class MachinePicker: NSObject {
|
||||||
standardUserDefaults.set(oricDiskInterfaceButton.selectedTag(), forKey: "new.oricDiskInterface")
|
standardUserDefaults.set(oricDiskInterfaceButton.selectedTag(), forKey: "new.oricDiskInterface")
|
||||||
standardUserDefaults.set(oricModelTypeButton.selectedTag(), forKey: "new.oricModel")
|
standardUserDefaults.set(oricModelTypeButton.selectedTag(), forKey: "new.oricModel")
|
||||||
|
|
||||||
|
// Spectrum settings
|
||||||
|
standardUserDefaults.set(spectrumModelTypeButton.selectedTag(), forKey: "new.spectrumModel")
|
||||||
|
|
||||||
// Vic-20 settings
|
// Vic-20 settings
|
||||||
standardUserDefaults.set(vic20RegionButton.selectedTag(), forKey: "new.vic20Region")
|
standardUserDefaults.set(vic20RegionButton.selectedTag(), forKey: "new.vic20Region")
|
||||||
standardUserDefaults.set(vic20MemorySizeButton.selectedTag(), forKey: "new.vic20MemorySize")
|
standardUserDefaults.set(vic20MemorySizeButton.selectedTag(), forKey: "new.vic20MemorySize")
|
||||||
|
@ -241,18 +250,28 @@ class MachinePicker: NSObject {
|
||||||
case 2: diskInterface = .pravetz
|
case 2: diskInterface = .pravetz
|
||||||
case 3: diskInterface = .jasmin
|
case 3: diskInterface = .jasmin
|
||||||
case 4: diskInterface = .BD500
|
case 4: diskInterface = .BD500
|
||||||
default: break;
|
default: break
|
||||||
|
|
||||||
}
|
}
|
||||||
var model: CSMachineOricModel = .oric1
|
var model: CSMachineOricModel = .oric1
|
||||||
switch oricModelTypeButton.selectedItem!.tag {
|
switch oricModelTypeButton.selectedItem!.tag {
|
||||||
case 1: model = .oricAtmos
|
case 1: model = .oricAtmos
|
||||||
case 2: model = .pravetz
|
case 2: model = .pravetz
|
||||||
default: break;
|
default: break
|
||||||
}
|
}
|
||||||
|
|
||||||
return CSStaticAnalyser(oricModel: model, diskInterface: diskInterface)
|
return CSStaticAnalyser(oricModel: model, diskInterface: diskInterface)
|
||||||
|
|
||||||
|
case "spectrum":
|
||||||
|
var model: CSMachineSpectrumModel = .plus2a
|
||||||
|
switch oricModelTypeButton.selectedItem!.tag {
|
||||||
|
case 21: model = .plus2a
|
||||||
|
case 3: model = .plus3
|
||||||
|
default: break
|
||||||
|
}
|
||||||
|
|
||||||
|
return CSStaticAnalyser(spectrumModel: model)
|
||||||
|
|
||||||
case "vic20":
|
case "vic20":
|
||||||
let memorySize = Kilobytes(vic20MemorySizeButton.selectedItem!.tag)
|
let memorySize = Kilobytes(vic20MemorySizeButton.selectedItem!.tag)
|
||||||
let hasC1540 = vic20HasC1540Button.state == .on
|
let hasC1540 = vic20HasC1540Button.state == .on
|
||||||
|
|
Loading…
Reference in New Issue
Block a user