Compare commits

..

36 Commits

Author SHA1 Message Date
tudnai
6a20b9d070 Immediate value should be 8 bit 2020-05-07 13:21:43 -07:00
tudnai
ae427f9926 Fixed 4 line Text screen position in Mixed mode 2020-05-07 13:20:46 -07:00
tudnai
6cd257850e Disk adjustment magic numbers lifted out as variables so it will be easier to remember them and adjust them 2020-05-06 20:49:15 -07:00
tudnai
3cb987a0d7 Removed dead code 2020-05-06 20:24:22 -07:00
tudnai
1afaaf164d Removed breakpoint settings from project 2020-05-06 20:08:01 -07:00
tudnai
d2a37ca1d2 Adjusted Disk properties to work with the new instruction clock counter 2020-05-06 20:07:09 -07:00
tudnai
a91e8239ae Speed bumped to 1244MHz!
Fixed CPU initialization
2020-05-06 16:07:19 -07:00
tudnai
d03524e771 Link time optimization 2020-05-06 10:12:04 -07:00
tudnai
cb5339e01f - Optimized Text Rendering
- Optimized HiRes screen hiding
2020-05-06 09:56:21 -07:00
tudnai
803ce37b0a - Startup speed is set by ColdReset, so it will work always
- HiRes screen is being cleared when switched back to text mode
- Turned off Debug app for Release mode
2020-05-05 23:03:36 -07:00
tudnai
2eead2f4ad - Speed improvements
- Keyboard Up
- HiRes optimized (battery save) refresh / Refresh by blocks that modified
2020-05-05 08:35:57 -07:00
tudnai
092c40a7cb Optimized color management 2020-05-04 13:54:04 -07:00
tudnai
7b4771d236 Optimizing HiRes screen updates - do not refresh HiRes when it is in TextMode 2020-05-04 13:53:36 -07:00
tudnai
3f4968624e Slight speed improvements 2020-05-04 13:52:52 -07:00
tudnai
1c4cdf7399 Simplifying reset + Cleanup code 2020-05-02 22:39:54 -07:00
tudnai
361726b0a4 Interrupt handling outside of the instruction loop 2020-05-02 22:35:59 -07:00
tudnai
bae447ad32 - Fixed disk acceleration algorithm
- Some tiny speed optimizations
2020-05-02 22:04:22 -07:00
tudnai
12dc2f1d2b - Removed some dead code
- Disk accelerator reset moved to a function
- Some tiny speed optimizations
2020-05-02 21:26:24 -07:00
tudnai
291dd59b31 Limit increased to allow sheer power 2020-05-02 21:07:02 -07:00
tudnai
97e8fb5230 Code Cleaning 2020-05-02 21:06:34 -07:00
tudnai
dab96d6a28 Fixed Text Page switching 2020-05-02 10:36:21 -07:00
tudnai
60017f1c82 Milestone! GHz reached! & Removing large files 2020-05-01 23:35:17 -07:00
tudnai
c2a74d4511 Shadow memory direct access for all instructions & flags promoted to uint8_t instead of bitfield 2020-05-01 21:52:51 -07:00
tudnai
38fc6367b2 Not sure why it got removed 2020-05-01 20:16:41 -07:00
tudnai
0db174cdc7 Merge branch 'speedbump' 2020-05-01 20:13:01 -07:00
tudnai
b64fe9e1a7 added schemas 2020-05-01 20:12:01 -07:00
tudnai
cc76b018b0 Merge branch 'speedbump' 2020-05-01 19:54:40 -07:00
tudnai
242c4339e1 Removing log files 2020-05-01 19:49:31 -07:00
tudnai
e00583823d Page Table removed 2020-05-01 19:33:14 -07:00
tudnai
650f169f3a Getting rid of Page Table 2020-05-01 19:24:09 -07:00
tudnai
8c7fcc437a Rendering running independently on the main thread 2020-05-01 19:10:44 -07:00
tudnai
4c006f5323 Shadow memory kinda works 2020-05-01 18:56:30 -07:00
tudnai
db68ac0bac Started to come alive 2020-05-01 14:43:41 -07:00
tudnai
c163f80bd7 Further steps to implement Shadow Memory 2020-04-30 19:33:59 -07:00
tudnai
bc56d23bd2 Bugfixes merged from Master 2020-04-30 12:01:35 -07:00
tudnai
92442e6491 Merge branch 'master'
Conflicts:
	src/cpu/6502.c
	src/dev/mem/mmio.h
2020-04-30 11:49:52 -07:00
455 changed files with 1940874 additions and 310557 deletions

BIN
.Apple_II_ROM.s.swp Normal file

Binary file not shown.

BIN
.disksectorload.log.swo Normal file

Binary file not shown.

34
.gitignore vendored
View File

@ -1,34 +0,0 @@
# gitignore for A2MAC project
@ (c) by Tamas Rudnai
# logfiles
*.log
**/*.log
# XCode debugger settings
A2Mac.xcodeproj/xcuserdata/trudnai.xcuserdatad/xcdebugger/
convert_spkr_buf_to_wav.wav
steve2_audio_debug_ema.wav
steve2_audio_debug_raw.wav
steve2_audio_debug.wav
XPS_Aux_Mem_test.txt
XPS_Aux_Mem_test.txt.dis
Resources/rom/Downloads/Apple II ROMs.zip
Resources/rom/Downloads/Apple II ROMs.zip
Resources/rom/Downloads/apple_2e_unenhanced_rom.zip
Resources/rom/Downloads/APPLE_IIe_ROM_KRK.zip
Resources/rom/Downloads/APPLE_IIe_ROM_KRK1.zip
Resources/rom/Downloads/APPLE_IIe_ROM_KRK2.zip
Resources/rom/Downloads/apple_iie_rom.zip
Resources/rom/Downloads/077-0026-0027 for IIe.zip
**/Contents/**
.DS_Store
Brewfile
1
ssasa
*.au
*.aup
*.csv
*.swp

187
1 Normal file
View File

@ -0,0 +1,187 @@
#!/usr/bin/perl
my $state = 'begin';
my $trk = 0;
my $sec = 0;
my @sectorData = ();
my $reLDA_C08C = qr/LDA\s+\$C08C,X\t0x([8-9A-Fa-f][0-9A-Fa-f])/;
my $reLDY_C08C = qr/LDY\s+\$C08C,X\t0x([0-9A-Fa-f]{2})\t0x([0-9A-Fa-f]{2})\t0x([8-9A-Fa-f][0-9A-F])/;
my $reSTA_0300 = qr/STA\s+\$0300,Y\t0x([0-9A-F]{2})\t0x([0-9A-F]{2})\t0x([0-9A-F]{2})/;
my $reSTA_26Y = qr/STA\s+\(\$26\),Y\t0x([0-9A-F]{2})\t0x([0-9A-F]{2})\t0x([0-9A-F]{2})/;
sub hexdump {
my ($arr) = @_;
for($i = 0; $i < scalar(@{$arr}); $i++) {
if ( $i % 16 == 0 ) {
printf("\n%04X: ", $i);
}
printf("%02X ", @{$arr}[$i]);
}
print "\n";
}
while (<>) {
chomp;
s/[\n\r]+//;
print;
{ # for the redo to avoid print input twice
if ( $state eq 'begin' ) {
if ( /LDA\s+\$C08C,X\t0xD5/ ) {
print "\t marker D5";
$state = 'loaded_D5';
}
}
elsif ( $state eq 'loaded_D5' ) {
if ( /LDA\s+\$C08C,X\t0xAA/ ) {
print "\t marker AA";
$state = 'loaded_AA';
}
elsif ( /$reLDA_C08C/ ) {
$state = 'begin';
redo;
}
}
elsif ( $state eq 'loaded_AA' ) {
if ( /LDA\s+\$C08C,X\t0x96/ ) {
print "\t marker 96";
$state = 'loaded_96';
print "\t; sector marker";
}
elsif ( /$reLDA_C08C/ ) {
$state = 'begin';
redo;
}
}
elsif ( $state eq 'loaded_96' ) {
if ( /$reLDA_C08C/ ) {
print "\t marker v1";
$state = 'loaded_v1';
}
}
elsif ( $state eq 'loaded_v1' ) {
if ( /$reLDA_C08C/ ) {
print "\t marker v2";
$state = 'loaded_v2';
}
}
elsif ( $state eq 'loaded_v2' ) {
if ( /$reLDA_C08C/ ) {
print "\t marker t1:$1";
$trk = hex($1) << 1;
$trk |= 1;
$state = 'loaded_t1';
}
}
elsif ( $state eq 'loaded_t1' ) {
if ( /$reLDA_C08C/ ) {
print "\t marker t2:$1";
$trk &= hex($1);
print "\t; trk:$trk";
$state = 'loaded_t2';
}
}
elsif ( $state eq 'loaded_t2' ) {
if ( /$reLDA_C08C/ ) {
print "\t marker s1:$1";
$sec = hex($1) << 1;
$sec |= 1;
$state = 'loaded_s1';
}
}
elsif ( $state eq 'loaded_s1' ) {
if ( /$reLDA_C08C/ ) {
print "\t marker s2:$1";
$sec &= hex($1);
print "\t; sec:$sec";
$state = 'loaded_s2';
}
}
elsif ( $state eq 'loaded_s2' ) {
if ( /LDA\s+\$C08C,X\t0xD5/ ) {
print "\t marker D5";
$state = 'waitingfor_AA';
}
elsif ( /EOR\s+#\$D5/ ) {
$state = 'begin';
redo;
}
}
elsif ( $state eq 'waitingfor_AA' ) {
if ( /LDA\s+\$C08C,X\t0xAA/ ) {
print "\t marker AA 2";
$state = 'waitingfor_AD';
}
elsif ( /$reLDA_C08C/ ) {
$state = 'begin';
redo;
}
}
elsif ( $state eq 'waitingfor_AD' ) {
if ( /LDA\s+\$C08C,X\t0xAD/ ) {
print "\t marker AD";
$state = 'loaded_AD';
print "\t; sector data marker";
}
elsif ( /EOR\s+#\$D5/ ) {
$state = 'begin';
redo;
}
}
elsif ( $state eq 'loaded_AD' ) {
if ( /$reLDY_C08C/ ) {
print "\t byte read: $3 (t:$trk s:$sec)";
}
elsif ( /$reSTA_0300/ ) {
printf( "\t byte to mem: \$%04X:$1\n", 0x300 + hex($3) );
}
elsif ( /$reSTA_26Y/ ) {
my $y = hex($3);
printf( "\t byte to mem ind: (\$26)+\$%02X:$1\n", $y );
if ($y >= 255) {
$state = 'sector_decode';
}
}
}
elsif ( $state eq 'sector_decode' ) {
if ( /$reSTA_26Y/ ) {
$i = hex($1);
$y = hex($3);
printf( "\t byte to mem ind: (\$26)+\$%02X:$1\n", $y );
$sectorData[$y] = $i;
if ($y >= 255) {
$state = 'sector_decode';
print "\nHEXDUMP track: $trk sector: $sec\n";
hexdump(\@sectorData);
}
}
elsif ( /$reLDA_C08C/ ) {
$state = 'begin';
redo;
}
}
} # for the redo to avoid print input twice
print "\n";
}

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1100"
version = "2.0">
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
@ -15,8 +15,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "32BFFB5622EACC630003B53F"
BuildableName = "Steve ][.app"
BlueprintName = "Steve ]["
BuildableName = "A2Mac.app"
BlueprintName = "A2Mac"
ReferencedContainer = "container:A2Mac.xcodeproj">
</BuildableReference>
</BuildActionEntry>
@ -31,8 +31,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "32BFFB5622EACC630003B53F"
BuildableName = "Steve ][.app"
BlueprintName = "Steve ]["
BuildableName = "A2Mac.app"
BlueprintName = "A2Mac"
ReferencedContainer = "container:A2Mac.xcodeproj">
</BuildableReference>
</MacroExpansion>
@ -63,25 +63,19 @@
buildConfiguration = "Release"
selectedDebuggerIdentifier = ""
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
disableMainThreadChecker = "YES"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "NO"
debugXPCServices = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
enableGPUValidationMode = "1"
allowLocationSimulation = "NO"
viewDebuggingEnabled = "No"
queueDebuggingEnabled = "No"
GPUProfilerEnabled = "No">
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "32BFFB5622EACC630003B53F"
BuildableName = "Steve ][.app"
BlueprintName = "Steve ]["
BuildableName = "A2Mac.app"
BlueprintName = "A2Mac"
ReferencedContainer = "container:A2Mac.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
@ -97,8 +91,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "32BFFB5622EACC630003B53F"
BuildableName = "Steve ][.app"
BlueprintName = "Steve ]["
BuildableName = "A2Mac.app"
BlueprintName = "A2Mac"
ReferencedContainer = "container:A2Mac.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>

View File

@ -15,8 +15,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "325EB63F23FBBACF00C6B4A4"
BuildableName = "Steve ][ iOS.app"
BlueprintName = "Steve ][ iOS"
BuildableName = "A2iOS.app"
BlueprintName = "A2iOS"
ReferencedContainer = "container:A2Mac.xcodeproj">
</BuildableReference>
</BuildActionEntry>
@ -65,8 +65,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "325EB63F23FBBACF00C6B4A4"
BuildableName = "Steve ][ iOS.app"
BlueprintName = "Steve ][ iOS"
BuildableName = "A2iOS.app"
BlueprintName = "A2iOS"
ReferencedContainer = "container:A2Mac.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
@ -82,8 +82,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "325EB63F23FBBACF00C6B4A4"
BuildableName = "Steve ][ iOS.app"
BlueprintName = "Steve ][ iOS"
BuildableName = "A2iOS.app"
BlueprintName = "A2iOS"
ReferencedContainer = "container:A2Mac.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>

View File

@ -15,8 +15,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "32BFFB5622EACC630003B53F"
BuildableName = "Steve ][.app"
BlueprintName = "Steve ]["
BuildableName = "A2Mac.app"
BlueprintName = "A2Mac"
ReferencedContainer = "container:A2Mac.xcodeproj">
</BuildableReference>
</BuildActionEntry>
@ -31,8 +31,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "32BFFB5622EACC630003B53F"
BuildableName = "Steve ][.app"
BlueprintName = "Steve ]["
BuildableName = "A2Mac.app"
BlueprintName = "A2Mac"
ReferencedContainer = "container:A2Mac.xcodeproj">
</BuildableReference>
</MacroExpansion>
@ -63,33 +63,22 @@
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
enableASanStackUseAfterReturn = "YES"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
enableGPUValidationMode = "1"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "32799F78264B1A5700255669"
BuildableName = "Steve ][ Debug.app"
BlueprintName = "Steve ][ Debug"
BlueprintIdentifier = "32BFFB5622EACC630003B53F"
BuildableName = "A2Mac.app"
BlueprintName = "A2Mac"
ReferencedContainer = "container:A2Mac.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "32BFFB5622EACC630003B53F"
BuildableName = "Steve ][.app"
BlueprintName = "Steve ]["
ReferencedContainer = "container:A2Mac.xcodeproj">
</BuildableReference>
</MacroExpansion>
</LaunchAction>
<ProfileAction
buildConfiguration = "Debug"
@ -102,8 +91,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "32BFFB5622EACC630003B53F"
BuildableName = "Steve ][.app"
BlueprintName = "Steve ]["
BuildableName = "A2Mac.app"
BlueprintName = "A2Mac"
ReferencedContainer = "container:A2Mac.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>

View File

@ -15,8 +15,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "32BFFB5622EACC630003B53F"
BuildableName = "Steve ][.app"
BlueprintName = "Steve ]["
BuildableName = "A2Mac.app"
BlueprintName = "A2Mac"
ReferencedContainer = "container:A2Mac.xcodeproj">
</BuildableReference>
</BuildActionEntry>
@ -91,8 +91,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "32BFFB5622EACC630003B53F"
BuildableName = "Steve ][.app"
BlueprintName = "Steve ]["
BuildableName = "A2Mac.app"
BlueprintName = "A2Mac"
ReferencedContainer = "container:A2Mac.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>

View File

@ -29,11 +29,6 @@
<key>orderHint</key>
<integer>3</integer>
</dict>
<key>Steve ][ copy.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>5</integer>
</dict>
</dict>
<key>SuppressBuildableAutocreation</key>
<dict>

View File

@ -1,24 +1,9 @@
//
// A2Mac-Bridging-Header.h
// Steve ][
// A2Mac
//
// Created by Tamas Rudnai on 2/17/20.
// Copyright © 2019, 2020 Tamas Rudnai. All rights reserved.
//
// This file is part of Steve ][ -- The Apple ][ Emulator.
//
// Steve ][ is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Steve ][ is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Steve ][. If not, see <https://www.gnu.org/licenses/>.
// Copyright © 2020 GameAlloy. All rights reserved.
//
//
// Use this file to import your target's public headers that you would like to expose to Swift.
@ -29,16 +14,6 @@
#import "6502.h"
#import "6502_bp.h"
#import "6502_dbg.h"
#import "6502_dis.h"
#import "6502_dis_utils.h"
#import "speaker.h" // So we can access to speaker stuff from Swift
#import "disk.h"
#import "dsk2woz.h"
#import "mmio.h"
#import "hires.h"
#import "woz.h"
#endif /* A2Mac_Bridging_Header_h */

View File

@ -2,9 +2,9 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<false/>
<key>com.apple.security.files.user-selected.read-write</key>
<true/>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.files.user-selected.read-only</key>
<true/>
</dict>
</plist>

File diff suppressed because it is too large Load Diff

View File

@ -1,169 +1,38 @@
//
// AppDelegate.swift
// Steve ][
// A2Mac
//
// Created by Tamas Rudnai on 7/25/19.
// Copyright © 2019, 2020 Tamas Rudnai. All rights reserved.
//
// This file is part of Steve ][ -- The Apple ][ Emulator.
//
// Steve ][ is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Steve ][ is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Steve ][. If not, see <https://www.gnu.org/licenses/>.
// Copyright © 2019 GameAlloy. All rights reserved.
//
import Cocoa
import Foundation
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
static var current : AppDelegate?
var preferencesController : PreferencesWindowController?
func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool {
return true
}
@IBAction func ROM_Selected(_ sender: NSMenuItem) {
if let menuIdentifier = sender.identifier {
// rom_loadFile( Bundle.main.resourcePath, menuIdentifier.rawValue + ".rom" )
ViewController.romFileName = menuIdentifier.rawValue + ".rom"
// print("Resource Path: " + Bundle.main.resourcePath!)
m6502_ColdReset( Bundle.main.resourcePath! + "/rom/", ViewController.romFileName )
m6502_ColdReset( Bundle.main.resourcePath, ViewController.romFileName )
}
}
@IBAction func Disk1_Selected(_ sender: NSMenuItem) {
if let menuIdentifier = sender.identifier {
let woz_err = woz_loadFile( Bundle.main.resourcePath! + "/dsk/" + menuIdentifier.rawValue + ".woz" )
ViewController.shared?.chk_woz_load(err: woz_err)
woz_flags.image_file_readonly = 1
woz_loadFile( Bundle.main.resourcePath, menuIdentifier.rawValue + ".woz" )
}
}
func applicationDidFinishLaunching(_ aNotification: Notification) {
// Insert code here to initialize your application
AppDelegate.current = self
}
func applicationWillTerminate(_ aNotification: Notification) {
// Insert code here to tear down your application
}
@IBAction func selectAnImageFromFile(sender: AnyObject) {
ViewController.shared?.openDiskImageDialog()
}
func application(_ sender: NSApplication, openFile filename: String) -> Bool {
ViewController.shared?.openDiskImage(url: URL(fileURLWithPath: filename))
return true;
}
@IBAction func openFile(_ sender: NSMenuItem) {
ViewController.shared?.openDiskImageDialog()
}
@IBAction func saveFile(_ sender: NSMenuItem) {
ViewController.shared?.saveFile()
}
@IBAction func saveFileAs(_ sender: NSMenuItem) {
ViewController.shared?.saveFileAs()
}
@IBAction func Cheat_Wavy_Navy_Vitroy(_ sender: Any) {
ViewController.shared?.Cheat_Wavy_Navy_Victory()
}
@IBAction func Cheat_Wavy_Navy_Add_3_Ships(_ sender: Any) {
ViewController.shared?.Cheat_Wavy_Navy_Add_3_Ships()
}
@IBAction func Cheat_Wavy_Navy_Never_Lose(_ menuItem: NSMenuItem) {
menuItem.state = (ViewController.shared?.Cheat_Wavy_Navy_Never_Lose())!
}
@IBAction func Cheat_Wavy_Navy_Lose_To_Win(_ menuItem: NSMenuItem) {
menuItem.state = (ViewController.shared?.Cheat_Wavy_Navy_Lose_To_Win())!
}
@IBOutlet weak var MenuItem_Cheat: NSMenuItem!
@IBOutlet weak var MenuItem_Hard_Hat_Mack: NSMenuItem!
@IBOutlet weak var MenuItem_Hard_Hat_Mack_Add_3_Macks: NSMenuItem!
func Cheat_Menu() {
// print("Cheat_Menu Menu")
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.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.shared?.Cheat_Hard_Hat_Mack(add: 3)
}
@IBAction func Cheat_Hard_Hat_Mack_Never_Lose(_ menuItem: NSMenuItem) {
menuItem.state = (ViewController.shared?.Cheat_Hard_Hat_Mack_Never_Lose())!
}
@IBAction func showPreferences(_ sender: NSMenuItem) {
if ( preferencesController == nil ) {
let storyboard = NSStoryboard(name: NSStoryboard.Name("Preferences"), bundle: nil)
preferencesController = storyboard.instantiateInitialController() as? PreferencesWindowController
}
}
@IBAction func PowerOn(_ sender: Any) {
ViewController.shared?.PowerOn(sender)
}
@IBAction func Pause(_ sender: Any) {
ViewController.shared?.Pause(sender)
}
@IBAction func PowerOff(_ sender: Any) {
ViewController.shared?.PowerOff(sender)
}
@IBAction func ColdReset(_ sender: Any) {
ViewController.shared?.Reset(sender)
}
@IBAction func WarmReset(_ sender: Any) {
ViewController.shared?.Reset(sender)
}
@IBAction func DebugContinue(_ sender: Any) {
DebuggerWindowController.shared?.ContinuePauseButton(sender)
}
@IBAction func DebugStepOver(_ sender: Any) {
DebuggerWindowController.shared?.Step_Over(sender)
}
@IBAction func DebugStepIn(_ sender: Any) {
DebuggerWindowController.shared?.Step_In(sender)
}
@IBAction func DebugStepOut(_ sender: Any) {
DebuggerWindowController.shared?.Step_Out(sender)
}
}

View File

@ -1,54 +0,0 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "amber.light.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "amber..dark.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "amber.light.128.png",
"idiom" : "universal",
"scale" : "3x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "amber..dark.128.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 800 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 800 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 717 B

View File

@ -1,54 +0,0 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "chip.light.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "chip.dark.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "chip.light.128.png",
"idiom" : "universal",
"scale" : "3x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "chip.dark.128.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 715 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 922 B

View File

@ -1,54 +0,0 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "color.light.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "color.dark.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "color.light.128.png",
"idiom" : "universal",
"scale" : "3x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "color.dark.128.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 859 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 859 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 838 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 838 B

View File

@ -1,6 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
"version" : 1,
"author" : "xcode"
}
}
}

View File

@ -1,54 +0,0 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "copy.light.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "copy.dark.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "copy.light.128.png",
"idiom" : "universal",
"scale" : "3x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "copy.dark.128.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -1,52 +0,0 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "ant_dark.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "ant.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

View File

@ -1,52 +0,0 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "1x",
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
]
},
{
"idiom" : "universal",
"filename" : "Apple Disk II D1 Open Light.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "Apple Disk II D1 Open Dark.png",
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
},
{
"idiom" : "universal",
"scale" : "3x",
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
]
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

View File

@ -1,52 +0,0 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "1x",
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
]
},
{
"idiom" : "universal",
"filename" : "Apple Disk II D2 Open Light.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "Apple Disk II D2 Open Dark.png",
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
},
{
"idiom" : "universal",
"scale" : "3x",
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
]
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

View File

@ -1,54 +0,0 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "green.light.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "green.dark.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "green.light.128.png",
"idiom" : "universal",
"scale" : "3x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "green.dark.128.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 697 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 810 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 697 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 810 B

View File

@ -1,54 +0,0 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "joystick.light.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "joystick.dark.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "joystick.light.128.png",
"idiom" : "universal",
"scale" : "3x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "joystick.dark.128.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

View File

@ -1,54 +0,0 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "old.monitor.light.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "old.monitor.dark.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "old.monitor.light.128.png",
"idiom" : "universal",
"scale" : "3x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "old.monitor.dark.128.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 748 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 748 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -1,54 +0,0 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "paste.light.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "paste.dark.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "paste.light.128.png",
"idiom" : "universal",
"scale" : "3x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "paste.dark.128.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -1,54 +0,0 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "power.light.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "power.dark.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "power.light.128.png",
"idiom" : "universal",
"scale" : "3x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "power.dark.128.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

View File

@ -1,52 +0,0 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "1x",
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
]
},
{
"idiom" : "universal",
"filename" : "Apple Disk II thick.light.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "Apple Disk II thick.png",
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
},
{
"idiom" : "universal",
"scale" : "3x",
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
]
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

View File

@ -1,54 +0,0 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "reset.light.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "reset.dark.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "reset.light.128.png",
"idiom" : "universal",
"scale" : "3x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "reset.dark.128.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Some files were not shown because too many files have changed in this diff Show More