Update to the latest build engine.
This commit is contained in:
Jeremy Rand 2018-06-18 23:44:47 -04:00
parent ebf29e1b06
commit 5a7f8bd58d
16 changed files with 666 additions and 2227 deletions

View File

@ -3,88 +3,149 @@
archiveVersion = 1; archiveVersion = 1;
classes = { classes = {
}; };
objectVersion = 46; objectVersion = 50;
objects = { objects = {
/* Begin PBXBuildFile section */
9D24616A20D8B2AE00227E1D /* main.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D24616920D8B2AE00227E1D /* main.c */; };
9D24616C20D8B2AE00227E1D /* Makefile in Sources */ = {isa = PBXBuildFile; fileRef = 9D24616B20D8B2AE00227E1D /* Makefile */; };
9D24616F20D8B2AE00227E1D /* AppleCommander.jar in Frameworks */ = {isa = PBXBuildFile; fileRef = 9D24616E20D8B2AE00227E1D /* AppleCommander.jar */; };
9D24617120D8B2AE00227E1D /* createDiskImage in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9D24617020D8B2AE00227E1D /* createDiskImage */; };
9D24617320D8B2AE00227E1D /* DevApple.vii in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9D24617220D8B2AE00227E1D /* DevApple.vii */; };
9D24617520D8B2AE00227E1D /* dos33_template.dsk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9D24617420D8B2AE00227E1D /* dos33_template.dsk */; };
9D24617720D8B2AE00227E1D /* head.mk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9D24617620D8B2AE00227E1D /* head.mk */; };
9D24617920D8B2AE00227E1D /* prodos_template.dsk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9D24617820D8B2AE00227E1D /* prodos_template.dsk */; };
9D24617B20D8B2AE00227E1D /* tail.mk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9D24617A20D8B2AE00227E1D /* tail.mk */; };
9D24617D20D8B2AE00227E1D /* V2Make.scpt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9D24617C20D8B2AE00227E1D /* V2Make.scpt */; };
9D24618020D8B2AE00227E1D /* CurtaSim.xcscheme in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9D24617F20D8B2AE00227E1D /* CurtaSim.xcscheme */; };
9D24619220D8B30C00227E1D /* curtaModel.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D24618B20D8B30B00227E1D /* curtaModel.c */; };
9D24619320D8B30C00227E1D /* joystick.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D24618E20D8B30C00227E1D /* joystick.c */; };
9D24619420D8B30C00227E1D /* curta.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D24618F20D8B30C00227E1D /* curta.c */; };
9D24619520D8B30C00227E1D /* curtaUI.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D24619120D8B30C00227E1D /* curtaUI.c */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
9D24616420D8B2AE00227E1D /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = /usr/share/man/man1/;
dstSubfolderSpec = 0;
files = (
9D24617120D8B2AE00227E1D /* createDiskImage in CopyFiles */,
9D24617320D8B2AE00227E1D /* DevApple.vii in CopyFiles */,
9D24617520D8B2AE00227E1D /* dos33_template.dsk in CopyFiles */,
9D24617B20D8B2AE00227E1D /* tail.mk in CopyFiles */,
9D24617D20D8B2AE00227E1D /* V2Make.scpt in CopyFiles */,
9D24617920D8B2AE00227E1D /* prodos_template.dsk in CopyFiles */,
9D24617720D8B2AE00227E1D /* head.mk in CopyFiles */,
9D24618020D8B2AE00227E1D /* CurtaSim.xcscheme in CopyFiles */,
);
runOnlyForDeploymentPostprocessing = 1;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
9D02B4DA1A1C5ADC002799E3 /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; }; 9D24616620D8B2AE00227E1D /* doNotBuild */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = doNotBuild; sourceTree = BUILT_PRODUCTS_DIR; };
9D02B4DC1A1C5ADC002799E3 /* AppleCommander.jar */ = {isa = PBXFileReference; lastKnownFileType = archive.jar; name = AppleCommander.jar; path = make/AppleCommander.jar; sourceTree = "<group>"; }; 9D24616920D8B2AE00227E1D /* main.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = main.c; sourceTree = "<group>"; };
9D02B4DD1A1C5ADC002799E3 /* createDiskImage */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = createDiskImage; path = make/createDiskImage; sourceTree = "<group>"; }; 9D24616B20D8B2AE00227E1D /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
9D02B4DE1A1C5ADC002799E3 /* DevApple.vii */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; name = DevApple.vii; path = make/DevApple.vii; sourceTree = "<group>"; }; 9D24616E20D8B2AE00227E1D /* AppleCommander.jar */ = {isa = PBXFileReference; lastKnownFileType = archive.jar; name = AppleCommander.jar; path = make/AppleCommander.jar; sourceTree = "<group>"; };
9D02B4DF1A1C5ADC002799E3 /* dos33_template.dsk */ = {isa = PBXFileReference; lastKnownFileType = file; name = dos33_template.dsk; path = make/dos33_template.dsk; sourceTree = "<group>"; }; 9D24617020D8B2AE00227E1D /* createDiskImage */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = createDiskImage; path = make/createDiskImage; sourceTree = "<group>"; };
9D02B4E01A1C5ADC002799E3 /* head.mk */ = {isa = PBXFileReference; lastKnownFileType = text; name = head.mk; path = make/head.mk; sourceTree = "<group>"; }; 9D24617220D8B2AE00227E1D /* DevApple.vii */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; name = DevApple.vii; path = make/DevApple.vii; sourceTree = "<group>"; };
9D02B4E11A1C5ADC002799E3 /* prodos_template.dsk */ = {isa = PBXFileReference; lastKnownFileType = file; name = prodos_template.dsk; path = make/prodos_template.dsk; sourceTree = "<group>"; }; 9D24617420D8B2AE00227E1D /* dos33_template.dsk */ = {isa = PBXFileReference; lastKnownFileType = file; name = dos33_template.dsk; path = make/dos33_template.dsk; sourceTree = "<group>"; };
9D02B4E21A1C5ADC002799E3 /* tail.mk */ = {isa = PBXFileReference; lastKnownFileType = text; name = tail.mk; path = make/tail.mk; sourceTree = "<group>"; }; 9D24617620D8B2AE00227E1D /* head.mk */ = {isa = PBXFileReference; lastKnownFileType = text; name = head.mk; path = make/head.mk; sourceTree = "<group>"; };
9D02B4E31A1C5ADC002799E3 /* V2Make.scpt */ = {isa = PBXFileReference; lastKnownFileType = file; name = V2Make.scpt; path = make/V2Make.scpt; sourceTree = "<group>"; }; 9D24617820D8B2AE00227E1D /* prodos_template.dsk */ = {isa = PBXFileReference; lastKnownFileType = file; name = prodos_template.dsk; path = make/prodos_template.dsk; sourceTree = "<group>"; };
9D02B4E91A1C5B62002799E3 /* a2e.hi.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = a2e.hi.s; sourceTree = "<group>"; }; 9D24617A20D8B2AE00227E1D /* tail.mk */ = {isa = PBXFileReference; lastKnownFileType = text; name = tail.mk; path = make/tail.mk; sourceTree = "<group>"; };
9D02B4EA1A1C5B62002799E3 /* curta.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = curta.c; sourceTree = "<group>"; }; 9D24617C20D8B2AE00227E1D /* V2Make.scpt */ = {isa = PBXFileReference; lastKnownFileType = file; name = V2Make.scpt; path = make/V2Make.scpt; sourceTree = "<group>"; };
9D02B4EB1A1C5B62002799E3 /* curtaModel.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = curtaModel.c; sourceTree = "<group>"; }; 9D24617F20D8B2AE00227E1D /* CurtaSim.xcscheme */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = CurtaSim.xcscheme; path = CurtaSim.xcodeproj/xcshareddata/xcschemes/CurtaSim.xcscheme; sourceTree = SOURCE_ROOT; };
9D02B4EC1A1C5B62002799E3 /* curtaModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = curtaModel.h; sourceTree = "<group>"; }; 9D24618920D8B2C000227E1D /* curta.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = curta.png; sourceTree = "<group>"; };
9D02B4ED1A1C5B62002799E3 /* curtaUI.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = curtaUI.c; sourceTree = "<group>"; }; 9D24618A20D8B2C000227E1D /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
9D02B4EE1A1C5B62002799E3 /* curtaUI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = curtaUI.h; sourceTree = "<group>"; }; 9D24618B20D8B30B00227E1D /* curtaModel.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = curtaModel.c; sourceTree = "<group>"; };
9D02B4EF1A1C5B62002799E3 /* joystick.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = joystick.c; sourceTree = "<group>"; }; 9D24618C20D8B30B00227E1D /* curtaUI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = curtaUI.h; sourceTree = "<group>"; };
9D02B4F01A1C5B62002799E3 /* joystick.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = joystick.h; sourceTree = "<group>"; }; 9D24618D20D8B30B00227E1D /* curtaModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = curtaModel.h; sourceTree = "<group>"; };
9D6B474F1D43BF2D00F6D704 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; }; 9D24618E20D8B30C00227E1D /* joystick.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = joystick.c; sourceTree = "<group>"; };
9D6B47511D43BF5100F6D704 /* curta.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = curta.png; sourceTree = "<group>"; }; 9D24618F20D8B30C00227E1D /* curta.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = curta.c; sourceTree = "<group>"; };
9D24619020D8B30C00227E1D /* joystick.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = joystick.h; sourceTree = "<group>"; };
9D24619120D8B30C00227E1D /* curtaUI.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = curtaUI.c; sourceTree = "<group>"; };
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
9D24616320D8B2AE00227E1D /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
9D24616F20D8B2AE00227E1D /* AppleCommander.jar in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */ /* Begin PBXGroup section */
9D02B4D21A1C5ADC002799E3 = { 9D24615C20D8B2AE00227E1D = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
9D6B474F1D43BF2D00F6D704 /* README.md */, 9D24618920D8B2C000227E1D /* curta.png */,
9D6B47501D43BF4000F6D704 /* Screenshots */, 9D24618A20D8B2C000227E1D /* README.md */,
9D02B4D81A1C5ADC002799E3 /* CurtaSim */, 9D24616820D8B2AE00227E1D /* CurtaSim */,
9D24616720D8B2AE00227E1D /* Products */,
); );
sourceTree = "<group>"; sourceTree = "<group>";
}; };
9D02B4D81A1C5ADC002799E3 /* CurtaSim */ = { 9D24616720D8B2AE00227E1D /* Products */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
9D02B4E91A1C5B62002799E3 /* a2e.hi.s */, 9D24616620D8B2AE00227E1D /* doNotBuild */,
9D02B4EA1A1C5B62002799E3 /* curta.c */, );
9D02B4EB1A1C5B62002799E3 /* curtaModel.c */, name = Products;
9D02B4EC1A1C5B62002799E3 /* curtaModel.h */, sourceTree = "<group>";
9D02B4ED1A1C5B62002799E3 /* curtaUI.c */, };
9D02B4EE1A1C5B62002799E3 /* curtaUI.h */, 9D24616820D8B2AE00227E1D /* CurtaSim */ = {
9D02B4EF1A1C5B62002799E3 /* joystick.c */, isa = PBXGroup;
9D02B4F01A1C5B62002799E3 /* joystick.h */, children = (
9D02B4DA1A1C5ADC002799E3 /* Makefile */, 9D24616920D8B2AE00227E1D /* main.c */,
9D02B4DB1A1C5ADC002799E3 /* make */, 9D24618F20D8B30C00227E1D /* curta.c */,
9D24618B20D8B30B00227E1D /* curtaModel.c */,
9D24618D20D8B30B00227E1D /* curtaModel.h */,
9D24619120D8B30C00227E1D /* curtaUI.c */,
9D24618C20D8B30B00227E1D /* curtaUI.h */,
9D24618E20D8B30C00227E1D /* joystick.c */,
9D24619020D8B30C00227E1D /* joystick.h */,
9D24616B20D8B2AE00227E1D /* Makefile */,
9D24616D20D8B2AE00227E1D /* make */,
9D24617E20D8B2AE00227E1D /* Supporting Files */,
); );
path = CurtaSim; path = CurtaSim;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
9D02B4DB1A1C5ADC002799E3 /* make */ = { 9D24616D20D8B2AE00227E1D /* make */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
9D02B4DC1A1C5ADC002799E3 /* AppleCommander.jar */, 9D24616E20D8B2AE00227E1D /* AppleCommander.jar */,
9D02B4DD1A1C5ADC002799E3 /* createDiskImage */, 9D24617020D8B2AE00227E1D /* createDiskImage */,
9D02B4DE1A1C5ADC002799E3 /* DevApple.vii */, 9D24617220D8B2AE00227E1D /* DevApple.vii */,
9D02B4DF1A1C5ADC002799E3 /* dos33_template.dsk */, 9D24617420D8B2AE00227E1D /* dos33_template.dsk */,
9D02B4E01A1C5ADC002799E3 /* head.mk */, 9D24617620D8B2AE00227E1D /* head.mk */,
9D02B4E11A1C5ADC002799E3 /* prodos_template.dsk */, 9D24617820D8B2AE00227E1D /* prodos_template.dsk */,
9D02B4E21A1C5ADC002799E3 /* tail.mk */, 9D24617A20D8B2AE00227E1D /* tail.mk */,
9D02B4E31A1C5ADC002799E3 /* V2Make.scpt */, 9D24617C20D8B2AE00227E1D /* V2Make.scpt */,
); );
name = make; name = make;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
9D6B47501D43BF4000F6D704 /* Screenshots */ = { 9D24617E20D8B2AE00227E1D /* Supporting Files */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
9D6B47511D43BF5100F6D704 /* curta.png */, 9D24617F20D8B2AE00227E1D /* CurtaSim.xcscheme */,
); );
name = Screenshots; name = "Supporting Files";
sourceTree = "<group>"; sourceTree = "<group>";
}; };
/* End PBXGroup section */ /* End PBXGroup section */
/* Begin PBXLegacyTarget section */ /* Begin PBXLegacyTarget section */
9D02B4D71A1C5ADC002799E3 /* CurtaSim */ = { 9D24616120D8B2AE00227E1D /* CurtaSim */ = {
isa = PBXLegacyTarget; isa = PBXLegacyTarget;
buildArgumentsString = "-C CurtaSim $(ACTION)"; buildArgumentsString = "-C CurtaSim $(ACTION)";
buildConfigurationList = 9D02B4E61A1C5ADC002799E3 /* Build configuration list for PBXLegacyTarget "CurtaSim" */; buildConfigurationList = 9D24618320D8B2AE00227E1D /* Build configuration list for PBXLegacyTarget "CurtaSim" */;
buildPhases = ( buildPhases = (
); );
buildToolPath = /usr/bin/make; buildToolPath = /usr/bin/make;
@ -96,113 +157,186 @@
}; };
/* End PBXLegacyTarget section */ /* End PBXLegacyTarget section */
/* Begin PBXNativeTarget section */
9D24616520D8B2AE00227E1D /* doNotBuild */ = {
isa = PBXNativeTarget;
buildConfigurationList = 9D24618620D8B2AE00227E1D /* Build configuration list for PBXNativeTarget "doNotBuild" */;
buildPhases = (
9D24616220D8B2AE00227E1D /* Sources */,
9D24616320D8B2AE00227E1D /* Frameworks */,
9D24616420D8B2AE00227E1D /* CopyFiles */,
);
buildRules = (
);
dependencies = (
);
name = doNotBuild;
productName = doNotBuild;
productReference = 9D24616620D8B2AE00227E1D /* doNotBuild */;
productType = "com.apple.product-type.tool";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */ /* Begin PBXProject section */
9D02B4D31A1C5ADC002799E3 /* Project object */ = { 9D24615D20D8B2AE00227E1D /* Project object */ = {
isa = PBXProject; isa = PBXProject;
attributes = { attributes = {
LastUpgradeCheck = 0610; LastUpgradeCheck = 0940;
ORGANIZATIONNAME = "Jeremy Rand"; ORGANIZATIONNAME = "Jeremy Rand";
TargetAttributes = { TargetAttributes = {
9D02B4D71A1C5ADC002799E3 = { 9D24616120D8B2AE00227E1D = {
CreatedOnToolsVersion = 6.1; CreatedOnToolsVersion = 9.4.1;
};
9D24616520D8B2AE00227E1D = {
CreatedOnToolsVersion = 9.4.1;
}; };
}; };
}; };
buildConfigurationList = 9D02B4D61A1C5ADC002799E3 /* Build configuration list for PBXProject "CurtaSim" */; buildConfigurationList = 9D24616020D8B2AE00227E1D /* Build configuration list for PBXProject "CurtaSim" */;
compatibilityVersion = "Xcode 3.2"; compatibilityVersion = "Xcode 9.3";
developmentRegion = English; developmentRegion = en;
hasScannedForEncodings = 0; hasScannedForEncodings = 0;
knownRegions = ( knownRegions = (
en, en,
); );
mainGroup = 9D02B4D21A1C5ADC002799E3; mainGroup = 9D24615C20D8B2AE00227E1D;
productRefGroup = 9D24616720D8B2AE00227E1D /* Products */;
projectDirPath = ""; projectDirPath = "";
projectRoot = ""; projectRoot = "";
targets = ( targets = (
9D02B4D71A1C5ADC002799E3 /* CurtaSim */, 9D24616120D8B2AE00227E1D /* CurtaSim */,
9D24616520D8B2AE00227E1D /* doNotBuild */,
); );
}; };
/* End PBXProject section */ /* End PBXProject section */
/* Begin PBXSourcesBuildPhase section */
9D24616220D8B2AE00227E1D /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
9D24616C20D8B2AE00227E1D /* Makefile in Sources */,
9D24616A20D8B2AE00227E1D /* main.c in Sources */,
9D24619220D8B30C00227E1D /* curtaModel.c in Sources */,
9D24619520D8B30C00227E1D /* curtaUI.c in Sources */,
9D24619320D8B30C00227E1D /* joystick.c in Sources */,
9D24619420D8B30C00227E1D /* curta.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */ /* Begin XCBuildConfiguration section */
9D02B4E41A1C5ADC002799E3 /* Debug */ = { 9D24618120D8B2AE00227E1D /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES; CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99; ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO; GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0; GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = ( GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1", "DEBUG=1",
"$(inherited)", "$(inherited)",
); );
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.10;
MTL_ENABLE_DEBUG_INFO = YES; MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES; ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
}; };
name = Debug; name = Debug;
}; };
9D02B4E51A1C5ADC002799E3 /* Release */ = { 9D24618220D8B2AE00227E1D /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES; CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = YES; COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO; ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99; GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.10;
MTL_ENABLE_DEBUG_INFO = NO; MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;
}; };
name = Release; name = Release;
}; };
9D02B4E71A1C5ADC002799E3 /* Debug */ = { 9D24618420D8B2AE00227E1D /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
CODE_SIGN_STYLE = Automatic;
DEBUGGING_SYMBOLS = YES; DEBUGGING_SYMBOLS = YES;
DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_TEAM = VD9FGCW36C;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES; GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_OPTIMIZATION_LEVEL = 0; GCC_OPTIMIZATION_LEVEL = 0;
OTHER_CFLAGS = ""; OTHER_CFLAGS = "";
@ -211,37 +345,71 @@
}; };
name = Debug; name = Debug;
}; };
9D02B4E81A1C5ADC002799E3 /* Release */ = { 9D24618520D8B2AE00227E1D /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
CODE_SIGN_STYLE = Automatic;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = VD9FGCW36C;
OTHER_CFLAGS = ""; OTHER_CFLAGS = "";
OTHER_LDFLAGS = ""; OTHER_LDFLAGS = "";
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
}; };
name = Release; name = Release;
}; };
9D24618720D8B2AE00227E1D /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = VD9FGCW36C;
GCC_PREPROCESSOR_DEFINITIONS = "__fastcall__=\"\"";
HEADER_SEARCH_PATHS = /usr/local/lib/cc65/include;
PRODUCT_NAME = doNotBuild;
};
name = Debug;
};
9D24618820D8B2AE00227E1D /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = VD9FGCW36C;
GCC_PREPROCESSOR_DEFINITIONS = "__fastcall__=\"\"";
HEADER_SEARCH_PATHS = /usr/local/lib/cc65/include;
PRODUCT_NAME = doNotBuild;
};
name = Release;
};
/* End XCBuildConfiguration section */ /* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */ /* Begin XCConfigurationList section */
9D02B4D61A1C5ADC002799E3 /* Build configuration list for PBXProject "CurtaSim" */ = { 9D24616020D8B2AE00227E1D /* Build configuration list for PBXProject "CurtaSim" */ = {
isa = XCConfigurationList; isa = XCConfigurationList;
buildConfigurations = ( buildConfigurations = (
9D02B4E41A1C5ADC002799E3 /* Debug */, 9D24618120D8B2AE00227E1D /* Debug */,
9D02B4E51A1C5ADC002799E3 /* Release */, 9D24618220D8B2AE00227E1D /* Release */,
); );
defaultConfigurationIsVisible = 0; defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release; defaultConfigurationName = Release;
}; };
9D02B4E61A1C5ADC002799E3 /* Build configuration list for PBXLegacyTarget "CurtaSim" */ = { 9D24618320D8B2AE00227E1D /* Build configuration list for PBXLegacyTarget "CurtaSim" */ = {
isa = XCConfigurationList; isa = XCConfigurationList;
buildConfigurations = ( buildConfigurations = (
9D02B4E71A1C5ADC002799E3 /* Debug */, 9D24618420D8B2AE00227E1D /* Debug */,
9D02B4E81A1C5ADC002799E3 /* Release */, 9D24618520D8B2AE00227E1D /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
9D24618620D8B2AE00227E1D /* Build configuration list for PBXNativeTarget "doNotBuild" */ = {
isa = XCConfigurationList;
buildConfigurations = (
9D24618720D8B2AE00227E1D /* Debug */,
9D24618820D8B2AE00227E1D /* Release */,
); );
defaultConfigurationIsVisible = 0; defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release; defaultConfigurationName = Release;
}; };
/* End XCConfigurationList section */ /* End XCConfigurationList section */
}; };
rootObject = 9D02B4D31A1C5ADC002799E3 /* Project object */; rootObject = 9D24615D20D8B2AE00227E1D /* Project object */;
} }

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Scheme <Scheme
LastUpgradeVersion = "0610" LastUpgradeVersion = "0830"
version = "1.3"> version = "1.3">
<BuildAction <BuildAction
parallelizeBuildables = "YES" parallelizeBuildables = "YES"
@ -14,7 +14,7 @@
buildForAnalyzing = "YES"> buildForAnalyzing = "YES">
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "9D02B4D71A1C5ADC002799E3" BlueprintIdentifier = "9D0B917C1F526C2D004D7E0B"
BuildableName = "CurtaSim" BuildableName = "CurtaSim"
BlueprintName = "CurtaSim" BlueprintName = "CurtaSim"
ReferencedContainer = "container:CurtaSim.xcodeproj"> ReferencedContainer = "container:CurtaSim.xcodeproj">
@ -23,44 +23,65 @@
</BuildActionEntries> </BuildActionEntries>
</BuildAction> </BuildAction>
<TestAction <TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES" shouldUseLaunchSchemeArgsEnv = "YES">
buildConfiguration = "Debug">
<Testables> <Testables>
</Testables> </Testables>
<AdditionalOptions>
</AdditionalOptions>
</TestAction> </TestAction>
<LaunchAction <LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" buildConfiguration = "Debug"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" selectedDebuggerIdentifier = ""
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
launchStyle = "0" launchStyle = "0"
useCustomWorkingDirectory = "NO" useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO" ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES" debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES"> allowLocationSimulation = "YES">
<PathRunnable
runnableDebuggingMode = "0"
FilePath = "/usr/bin/make">
</PathRunnable>
<MacroExpansion> <MacroExpansion>
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "9D02B4D71A1C5ADC002799E3" BlueprintIdentifier = "9D0B917C1F526C2D004D7E0B"
BuildableName = "CurtaSim" BuildableName = "CurtaSim"
BlueprintName = "CurtaSim" BlueprintName = "CurtaSim"
ReferencedContainer = "container:CurtaSim.xcodeproj"> ReferencedContainer = "container:CurtaSim.xcodeproj">
</BuildableReference> </BuildableReference>
</MacroExpansion> </MacroExpansion>
<CommandLineArguments>
<CommandLineArgument
argument = "-C"
isEnabled = "YES">
</CommandLineArgument>
<CommandLineArgument
argument = "$PROJECT_DIR/CurtaSim"
isEnabled = "YES">
</CommandLineArgument>
<CommandLineArgument
argument = "execute"
isEnabled = "YES">
</CommandLineArgument>
</CommandLineArguments>
<AdditionalOptions> <AdditionalOptions>
</AdditionalOptions> </AdditionalOptions>
</LaunchAction> </LaunchAction>
<ProfileAction <ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES" shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = "" savedToolIdentifier = ""
useCustomWorkingDirectory = "NO" useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES"> debugDocumentVersioning = "YES">
<MacroExpansion> <MacroExpansion>
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "9D02B4D71A1C5ADC002799E3" BlueprintIdentifier = "9D0B917C1F526C2D004D7E0B"
BuildableName = "CurtaSim" BuildableName = "CurtaSim"
BlueprintName = "CurtaSim" BlueprintName = "CurtaSim"
ReferencedContainer = "container:CurtaSim.xcodeproj"> ReferencedContainer = "container:CurtaSim.xcodeproj">

View File

@ -4,18 +4,15 @@
<dict> <dict>
<key>SchemeUserState</key> <key>SchemeUserState</key>
<dict> <dict>
<key>CurtaSim.xcscheme</key> <key>CurtaSim.xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>0</integer> <integer>0</integer>
</dict> </dict>
</dict> <key>doNotBuild.xcscheme</key>
<key>SuppressBuildableAutocreation</key>
<dict>
<key>9D02B4D71A1C5ADC002799E3</key>
<dict> <dict>
<key>primary</key> <key>orderHint</key>
<true/> <integer>1</integer>
</dict> </dict>
</dict> </dict>
</dict> </dict>

View File

@ -48,13 +48,9 @@ START_ADDR = 4000
# Note: You can assemble for 65816 in 16-bit mode but the C compiler # Note: You can assemble for 65816 in 16-bit mode but the C compiler
# will only produce 8-bit code. # will only produce 8-bit code.
# Any *.c files in your main project directory will automatically be # Add any other directories where you are putting C or assembly source
# built. But, if you have subdirectories with C files in them, you # files to this list:
# should add them to the list of C_SRCS to build. Do that by SRCDIRS+=
# uncommenting the following line and changing "someSubDir" to match
# the subdirectory you have created. Add multiple lines like this
# for each subdirectory:
# C_SRCS += $(wildcard someSubDir/*.c)
# Any *.s files in your main project directory will automatically be # Any *.s files in your main project directory will automatically be
# built. But, if you have subdirectories with assembly files in them, # built. But, if you have subdirectories with assembly files in them,
@ -85,10 +81,163 @@ START_ADDR = 4000
# this variable: # this variable:
# LDFLAGS += -v # LDFLAGS += -v
# If you want to link the lores graphics driver with your executable,
# uncomment the next line.
# DRIVERS += loresgr
#
# To use the lores driver, add code which looks like this to your
# project:
#
# #include "drivers/a2_lores_drv.h"
# int main(void)
# {
# tgi_install(&a2_lores_drv);
# tgi_init();
# // Use the graphics driver
# tgi_uninstall();
# }
#
# Read the /usr/local/lib/cc65/include/tgi.h file to see what the
# driver interface provides. Also check out
# /usr/local/lib/cc65/include/apple2.h to see the colour definitions.
# If you want to link the hires graphics driver with your executable,
# uncomment the next line.
DRIVERS += hiresgr
#
# To use the hires driver, add code which looks like this to your
# project:
#
# #include "drivers/a2_hires_drv.h"
# int main(void)
# {
# tgi_install(&a2_hires_drv);
# tgi_init();
# // Use the graphics driver
# tgi_uninstall();
# }
#
# Read the /usr/local/lib/cc65/include/tgi.h file to see what the
# driver interface provides. Also check out
# /usr/local/lib/cc65/include/apple2.h to see the colour definitions.
# If you want to link the extended memory driver with your executable,
# uncomment the next line.
# DRIVERS += auxmem
#
# To use the auxmem driver, add code which looks like this to your
# project:
#
# #include "drivers/a2_auxmem_drv.h"
# int main(void)
# {
# em_install(&a2_auxmem_drv);
# // Use the auxmem driver
# em_uninstall();
# }
#
# Read the /usr/local/lib/cc65/include/em.h file to see what the
# driver interface provides.
# If you want to link the joystick driver with your executable,
# uncomment the next line.
# DRIVERS += joystick
#
# To use the joystick driver, add code which looks like this to your
# project:
#
# #include "drivers/a2_joystick_drv.h"
# int main(void)
# {
# joy_install(&a2_joystick_drv);
# // Use the joystick driver
# joy_uninstall();
# }
#
# Read the /usr/local/lib/cc65/include/joystick.h file to see what the
# driver interface provides.
# If you want to link the mouse driver with your executable,
# uncomment the next line.
# DRIVERS += mouse
#
# To use the mouse driver, add code which looks like this to your
# project:
#
# #include "drivers/a2_mouse_drv.h"
# int main(void)
# {
# mouse_install(&mouse_def_callbacks, &a2_mouse_drv);
# // Use the mouse driver
# mouse_uninstall();
# }
#
# Read the /usr/local/lib/cc65/include/mouse.h file to see what the
# driver interface provides.
# If you want to link the serial driver with your executable,
# uncomment the next line.
# DRIVERS += serial
#
# To use the serial driver, add code which looks like this to your
# project:
#
# #include "drivers/a2_serial_drv.h"
# int main(void)
# {
# ser_install(&a2_serial_drv);
# // Use the serial driver
# ser_uninstall();
# }
#
# Read the /usr/local/lib/cc65/include/serial.h file to see what the
# driver interface provides.
# If you have java installed in a non-standard location, you can set # If you have java installed in a non-standard location, you can set
# the path to it by uncommenting the following line: # the path to it by uncommenting the following line:
# export JAVA=/usr/bin/java # export JAVA=/usr/bin/java
# If you want to copy one or more files or directories to the target disk
# image, add the root directory to this variable. All files will be
# copied from the source to the target using the same path from the source.
#
# For example, if you set COPYDIRS to dir and in your project you have
# the following files:
# dir/mySystemFile
# dir/newDir/anotherFile
#
# Then, during the copy phase, mySystemFile will be copied into the root
# of the disk and anotherFile will be copied into a directory named
# newDir. The newDir directory will be created if it does not already
# exist.
#
# The name of the file to copy is checked and if it ends in:
# .as - It assumes the file is in AppleSingle format. The .as
# suffix is stripped from the name when copied to the
# disk image.
# .<char> - If the file ends with a single character which matches
# a DOS 3.3 file type (A, B, T, etc) it uses that value as
# the file type of the file copied to the disk image. The
# single character is removed from the file name.
# .<TLA> - If the file ends with a three letter alpha extension, it
# uses that TLA as the file type of the file copied to the
# disk image. The TLA is removed from the file name.
#
# If you do not provide any type information for your filenames,
# it will be copied as a binary.
#
COPYDIRS=
# Add any rules you want to execute before any compiles or assembly
# commands are called here, if any. You can generate .c, .s or .h
# files for example. You can generate data files. Whatever you
# might need.
gen:
# For any files you generated in the gen target above, you should
# add rules in genclean to remove those generated files when you
# clean your build.
genclean:
# Do not change anything else below here... # Do not change anything else below here...
include make/tail.mk include make/tail.mk

File diff suppressed because it is too large Load Diff

View File

@ -18,10 +18,7 @@
#include "curtaModel.h" #include "curtaModel.h"
#include "joystick.h" #include "joystick.h"
#include "curtaUI.h" #include "curtaUI.h"
#include "drivers/a2_hires_drv.h"
// Extern symbols for graphics drivers
extern char a2e_hi;
typedef int8_t tAction; typedef int8_t tAction;
@ -373,7 +370,7 @@ void initUI(void)
initDevice(changeOperand, changeSelectedOperand); initDevice(changeOperand, changeSelectedOperand);
tgi_install(&a2e_hi); tgi_install(&a2_hires_drv);
tgi_init(); tgi_init();
tgi_clear(); tgi_clear();

20
CurtaSim/main.c Normal file
View File

@ -0,0 +1,20 @@
/*
* main.c
* CurtaSim
*
* Created by Jeremy Rand on 2018-06-18.
* Copyright (c) 2018 Jeremy Rand. All rights reserved.
*
*/
#include <stdio.h>
#include <conio.h>
int main(void)
{
printf("HELLO, WORLD!\n");
cgetc();
return 0;
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -29,10 +29,19 @@ then
fi fi
APPLECOMMANDER=$1 APPLECOMMANDER=$1
MACHINE=$2 shift
DISKIMAGE=$3
PROGRAM=$4 MACHINE=$1
STARTADDR=`echo $5 | sed 's/^0*//'` shift
DISKIMAGE=$1
shift
PROGRAM=$1
shift
STARTADDR=`echo $1 | sed 's/^0*//'`
shift
if [ ! -f "$PROGRAM" ] if [ ! -f "$PROGRAM" ]
then then
@ -148,7 +157,7 @@ case "$MACHINE" in
HASHEADER=1 HASHEADER=1
FILETYPE="bin" FILETYPE="bin"
TARGETFILE=`basename $PROGRAM` TARGETFILE=`basename $PROGRAM`
MAXFILENAMELEN=8 MAXFILENAMELEN=15
;; ;;
*) *)
@ -185,7 +194,7 @@ then
rm -f "$DISKIMAGE" rm -f "$DISKIMAGE"
exit 1 exit 1
fi fi
"$JAVA" -jar "$APPLECOMMANDER" -e "$DISKIMAGE" LOADER.SYSTEM | "$JAVA" -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$LOADERFILE" sys "$JAVA" -jar "$APPLECOMMANDER" -g "$DISKIMAGE" LOADER.SYSTEM | "$JAVA" -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$LOADERFILE" sys
"$JAVA" -jar "$APPLECOMMANDER" -d "$DISKIMAGE" LOADER.SYSTEM "$JAVA" -jar "$APPLECOMMANDER" -d "$DISKIMAGE" LOADER.SYSTEM
fi fi
@ -206,3 +215,54 @@ then
else else
"$JAVA" -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$TARGETFILE" $FILETYPE < "$PROGRAM" "$JAVA" -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$TARGETFILE" $FILETYPE < "$PROGRAM"
fi fi
for DIR in $*
do
if [ ! -d "$DIR" ]
then
echo Unable to find directory $DIR
exit 1
fi
OLDPWD=`pwd`
cd $DIR
find . -type f -print | while read FILE
do
TRANSFERARG=-p
FILETYPE=bin
DESTFILE=`echo $FILE | sed 's/^\.\///'`
if echo $FILE | egrep '\.as$' > /dev/null
then
# If the file ends with .as, this means the input is AppleSingle format.
# Strip the .as from the end of the file name and set the args to do
# an AppleSingle transfer.
TRANSFERARG=-as
FILETYPE=""
DESTFILE=`echo $DESTFILE | sed 's/\.as$//'`
elif echo $FILE | egrep '\.[ABITSRab]$' > /dev/null
then
# If the file ends with a single character DOS 3.3 file type, then use
# that as the file type.
FILETYPE=`echo $DESTFILE | awk -F. '{print $NF}'`
DESTFILE=`echo $DESTFILE | sed 's/\.[ABITSRab]$//'`
elif echo $FILE | egrep '\.[a-zA-Z][a-zA-Z][a-zA-Z]$' > /dev/null
then
# If the file ends with a three letter extension, use that as
# the file type.
FILETYPE=`echo $DESTFILE | awk -F. '{print $NF}'`
DESTFILE=`echo $DESTFILE | sed 's/\.[a-zA-Z][a-zA-Z][a-zA-Z]$//'`
fi
# If the file type is text, convert the line feeds to carriage return
if [ $FILETYPE = txt ] || [ $FILETYPE = T ]
then
tr '\n' '\r' < $FILE | "$JAVA" -jar "$OLDPWD/$APPLECOMMANDER" $TRANSFERARG "$OLDPWD/$DISKIMAGE" "$DESTFILE" $FILETYPE
else
"$JAVA" -jar "$OLDPWD/$APPLECOMMANDER" $TRANSFERARG "$OLDPWD/$DISKIMAGE" "$DESTFILE" $FILETYPE < $FILE
fi
done
cd "$OLDPWD"
done

View File

@ -17,14 +17,32 @@ CC65_BIN = /usr/local/bin
CL65=$(CC65_BIN)/cl65 CL65=$(CC65_BIN)/cl65
CA65=$(CC65_BIN)/ca65 CA65=$(CC65_BIN)/ca65
CC65=$(CC65_BIN)/cc65 CC65=$(CC65_BIN)/cc65
CO65=$(CC65_BIN)/co65
AC=make/AppleCommander.jar AC=make/AppleCommander.jar
C_SRCS=$(wildcard *.c) SRCDIRS=.
ASM_SRCS=$(wildcard *.s)
MACHINE=apple2 MACHINE=apple2
CPU=6502 CPU=6502
CFLAGS= CFLAGS=
ASMFLAGS= ASMFLAGS=
LDFLAGS= LDFLAGS=
DRIVERS=
DRVDIR=drivers
XCODE_PATH=/Applications/Xcode.app
XCODE_INFO=$(XCODE_PATH)/Contents/Info.plist
CC65_PLUGIN_PATH=$(HOME)/Library/Developer/Xcode/Plug-ins/cc65.ideplugin
CC65_PLUGIN_INFO=$(CC65_PLUGIN_PATH)/Contents/Info.plist
XCODE_PLUGIN_COMPATIBILITY=DVTPlugInCompatibilityUUID
.PHONY: all gen genclean
all:
@make gen
@make build

Binary file not shown.

View File

@ -14,10 +14,18 @@ export PATH := $(PATH):$(CC65_BIN)
CWD=$(shell pwd) CWD=$(shell pwd)
ifneq ($(DRIVERS),)
SRCDIRS+=$(DRVDIR)
endif
C_SRCS=$(patsubst ./%, %, $(wildcard $(addsuffix /*.c, $(SRCDIRS))))
C_OBJS=$(C_SRCS:.c=.o) C_OBJS=$(C_SRCS:.c=.o)
C_DEPS=$(C_SRCS:.c=.u) C_DEPS=$(C_SRCS:.c=.u)
ASM_SRCS=$(patsubst ./%, %, $(wildcard $(addsuffix /*.s, $(SRCDIRS))))
ASM_OBJS=$(ASM_SRCS:.s=.o) ASM_OBJS=$(ASM_SRCS:.s=.o)
ASM_LSTS=$(ASM_SRCS:.s=.lst) ASM_LSTS=$(ASM_SRCS:.s=.lst)
OBJS=$(C_OBJS) $(ASM_OBJS) OBJS=$(C_OBJS) $(ASM_OBJS)
MAPFILE=$(PGM).map MAPFILE=$(PGM).map
@ -28,10 +36,6 @@ LINK_ARGS=
EXECCMD= EXECCMD=
ALLTARGET=$(DISKIMAGE) ALLTARGET=$(DISKIMAGE)
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Darwin)
ALLTARGET=execute
endif
ifneq ($(START_ADDR),) ifneq ($(START_ADDR),)
# If the MACHINE is set to an option which does not support a variable start # If the MACHINE is set to an option which does not support a variable start
@ -57,6 +61,13 @@ ifneq ($(filter $(MACHINE), apple2 apple2enh apple2-dos33 apple2enh-dos33),)
EXECCMD=$(shell echo brun $(PGM) | tr '[a-z]' '[A-Z]') EXECCMD=$(shell echo brun $(PGM) | tr '[a-z]' '[A-Z]')
endif endif
# By default, use the a2 drivers. If the machine is one of the enhanced
# targets though, use the a2e drivers.
DRV_BASE_MACHINE=a2
ifneq ($(filter $(MACHINE), apple2enh apple2enh-dos33 apple2enh-system apple2enh-loader apple2enh-reboot),)
DRV_BASE_MACHINE=a2e
endif
MACHCONFIG= -t apple2 MACHCONFIG= -t apple2
ifneq ($(filter $(MACHINE), apple2enh apple2apple2enh-dos33 apple2enh-system apple2enh-loader apple2enh-reboot),) ifneq ($(filter $(MACHINE), apple2enh apple2apple2enh-dos33 apple2enh-system apple2enh-loader apple2enh-reboot),)
@ -67,32 +78,30 @@ ifeq ($(filter $(MACHINE), apple2 apple2enh),)
MACHCONFIG += -C $(MACHINE).cfg MACHCONFIG += -C $(MACHINE).cfg
endif endif
.PHONY: all execute clean .PHONY: build execute clean xcodefix loresgr hiresgr auxmem joystick mouse serial
all: $(ALLTARGET) build: $(ALLTARGET)
clean: clean: genclean
rm -f $(PGM) rm -f "$(PGM)"
rm -f $(OBJS) rm -f $(OBJS)
rm -f $(C_DEPS) rm -f $(C_DEPS)
rm -f $(MAPFILE) rm -f $(MAPFILE)
rm -f $(ASM_LSTS) rm -f $(ASM_LSTS)
rm -f $(DISKIMAGE) rm -f "$(DISKIMAGE)"
rm -Rf "$(DRVDIR)"
createPackage:
pkg/createPackage
cleanMacCruft: cleanMacCruft:
rm -rf pkg rm -rf pkg
$(PGM): $(OBJS) $(PGM): $(OBJS)
$(CL65) $(MACHCONFIG) --mapfile $(MAPFILE) $(LDFLAGS) -o $(PGM) $(OBJS) $(CL65) $(MACHCONFIG) --mapfile $(MAPFILE) $(LDFLAGS) -o "$(PGM)" $(OBJS)
$(DISKIMAGE): $(PGM) $(DISKIMAGE): $(PGM)
make/createDiskImage $(AC) $(MACHINE) $(DISKIMAGE) $(PGM) "$(START_ADDR)" make/createDiskImage $(AC) $(MACHINE) "$(DISKIMAGE)" "$(PGM)" "$(START_ADDR)" $(COPYDIRS)
execute: $(DISKIMAGE) execute: $(DISKIMAGE)
osascript make/V2Make.scpt $(CWD) $(PGM) $(CWD)/make/DevApple.vii "$(EXECCMD)" osascript make/V2Make.scpt "$(CWD)" "$(PGM)" "$(CWD)/make/DevApple.vii" "$(EXECCMD)"
%.o: %.c %.o: %.c
$(CL65) $(MACHCONFIG) $(CFLAGS) --create-dep -c -o $@ $< $(CL65) $(MACHCONFIG) $(CFLAGS) --create-dep -c -o $@ $<
@ -102,4 +111,92 @@ execute: $(DISKIMAGE)
%.o: %.s %.o: %.s
$(CL65) $(MACHCONFIG) --cpu $(CPU) $(ASMFLAGS) -l -c -o $@ $< $(CL65) $(MACHCONFIG) --cpu $(CPU) $(ASMFLAGS) -l -c -o $@ $<
$(OBJS): Makefile
# Some gen phase stuff...
gen: xcodefix $(DRIVERS)
xcodefix:
defaults write "$(CC65_PLUGIN_INFO)" $(XCODE_PLUGIN_COMPATIBILITY)s -array `defaults read "$(XCODE_INFO)" $(XCODE_PLUGIN_COMPATIBILITY)`
# Lores driver codegen
loresgr: $(DRVDIR)/a2_lores_drv.s $(DRVDIR)/a2_lores_drv.h
$(DRVDIR)/a2_lores_drv.s: $(CC65_HOME)/tgi/$(DRV_BASE_MACHINE).lo.tgi
mkdir -p $(DRVDIR)
$(CO65) --code-label _a2_lores_drv -o $@ $(CC65_HOME)/tgi/$(DRV_BASE_MACHINE).lo.tgi
$(DRVDIR)/a2_lores_drv.h:
mkdir -p $(DRVDIR)
echo '#include <tgi.h>' > $@
echo 'extern char a2_lores_drv;' >> $@
# Hires driver codegen
hiresgr: $(DRVDIR)/a2_hires_drv.s $(DRVDIR)/a2_hires_drv.h
$(DRVDIR)/a2_hires_drv.s: $(CC65_HOME)/tgi/$(DRV_BASE_MACHINE).hi.tgi
mkdir -p $(DRVDIR)
$(CO65) --code-label _a2_hires_drv -o $@ $(CC65_HOME)/tgi/$(DRV_BASE_MACHINE).hi.tgi
$(DRVDIR)/a2_hires_drv.h:
mkdir -p $(DRVDIR)
echo '#include <tgi.h>' > $@
echo 'extern char a2_hires_drv;' >> $@
# Auxmem driver codegen
auxmem: $(DRVDIR)/a2_auxmem_drv.s $(DRVDIR)/a2_auxmem_drv.h
$(DRVDIR)/a2_auxmem_drv.s: $(CC65_HOME)/emd/$(DRV_BASE_MACHINE).auxmem.emd
mkdir -p $(DRVDIR)
$(CO65) --code-label _a2_auxmem_drv -o $@ $(CC65_HOME)/emd/$(DRV_BASE_MACHINE).auxmem.emd
$(DRVDIR)/a2_auxmem_drv.h:
mkdir -p $(DRVDIR)
echo '#include <em.h>' > $@
echo 'extern char a2_auxmem_drv;' >> $@
# Joystick driver codegen
joystick: $(DRVDIR)/a2_joystick_drv.s $(DRVDIR)/a2_joystick_drv.h
$(DRVDIR)/a2_joystick_drv.s: $(CC65_HOME)/joy/$(DRV_BASE_MACHINE).stdjoy.joy
mkdir -p $(DRVDIR)
$(CO65) --code-label _a2_joystick_drv -o $@ $(CC65_HOME)/joy/$(DRV_BASE_MACHINE).stdjoy.joy
$(DRVDIR)/a2_joystick_drv.h:
mkdir -p $(DRVDIR)
echo '#include <joystick.h>' > $@
echo 'extern char a2_joystick_drv;' >> $@
# Mouse driver codegen
mouse: $(DRVDIR)/a2_mouse_drv.s $(DRVDIR)/a2_mouse_drv.h
$(DRVDIR)/a2_mouse_drv.s: $(CC65_HOME)/mou/$(DRV_BASE_MACHINE).stdmou.mou
mkdir -p $(DRVDIR)
$(CO65) --code-label _a2_mouse_drv -o $@ $(CC65_HOME)/mou/$(DRV_BASE_MACHINE).stdmou.mou
$(DRVDIR)/a2_mouse_drv.h:
mkdir -p $(DRVDIR)
echo '#include <mouse.h>' > $@
echo 'extern char a2_mouse_drv;' >> $@
# Serial driver codegen
serial: $(DRVDIR)/a2_serial_drv.s $(DRVDIR)/a2_serial_drv.h
$(DRVDIR)/a2_serial_drv.s: $(CC65_HOME)/ser/$(DRV_BASE_MACHINE).ssc.ser
mkdir -p $(DRVDIR)
$(CO65) --code-label _a2_serial_drv -o $@ $(CC65_HOME)/ser/$(DRV_BASE_MACHINE).ssc.ser
$(DRVDIR)/a2_serial_drv.h:
mkdir -p $(DRVDIR)
echo '#include <serial.h>' > $@
echo 'extern char a2_serial_drv;' >> $@
-include $(C_DEPS) -include $(C_DEPS)