mirror of
https://github.com/jeremysrand/CurtaSim.git
synced 2024-06-13 06:29:30 +00:00
Compare commits
5 Commits
untagged-5
...
master
Author | SHA1 | Date | |
---|---|---|---|
|
5331adb06a | ||
|
70189e1567 | ||
|
204e9c119a | ||
|
0afbfb7356 | ||
|
628963f505 |
|
@ -7,133 +7,149 @@
|
||||||
objects = {
|
objects = {
|
||||||
|
|
||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
9D24616C20D8B2AE00227E1D /* Makefile in Sources */ = {isa = PBXBuildFile; fileRef = 9D24616B20D8B2AE00227E1D /* Makefile */; };
|
9DAEA04822FE69490067692F /* Makefile in Sources */ = {isa = PBXBuildFile; fileRef = 9DAEA04722FE69490067692F /* Makefile */; };
|
||||||
9D24616F20D8B2AE00227E1D /* AppleCommander.jar in Frameworks */ = {isa = PBXBuildFile; fileRef = 9D24616E20D8B2AE00227E1D /* AppleCommander.jar */; };
|
9DAEA04B22FE69490067692F /* AppleCommander.jar in Frameworks */ = {isa = PBXBuildFile; fileRef = 9DAEA04A22FE69490067692F /* AppleCommander.jar */; };
|
||||||
9D24617120D8B2AE00227E1D /* createDiskImage in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9D24617020D8B2AE00227E1D /* createDiskImage */; };
|
9DAEA04D22FE69490067692F /* bastokenizer-tools-bt-0.2.0.jar in Frameworks */ = {isa = PBXBuildFile; fileRef = 9DAEA04C22FE69490067692F /* bastokenizer-tools-bt-0.2.0.jar */; };
|
||||||
9D24617320D8B2AE00227E1D /* DevApple.vii in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9D24617220D8B2AE00227E1D /* DevApple.vii */; };
|
9DAEA04F22FE69490067692F /* createDiskImage in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9DAEA04E22FE69490067692F /* createDiskImage */; };
|
||||||
9D24617520D8B2AE00227E1D /* dos33_template.dsk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9D24617420D8B2AE00227E1D /* dos33_template.dsk */; };
|
9DAEA05122FE69490067692F /* bt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9DAEA05022FE69490067692F /* bt */; };
|
||||||
9D24617720D8B2AE00227E1D /* head.mk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9D24617620D8B2AE00227E1D /* head.mk */; };
|
9DAEA05322FE69490067692F /* DevApple.vii in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9DAEA05222FE69490067692F /* DevApple.vii */; };
|
||||||
9D24617920D8B2AE00227E1D /* prodos_template.dsk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9D24617820D8B2AE00227E1D /* prodos_template.dsk */; };
|
9DAEA05522FE69490067692F /* dos33_template.dsk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9DAEA05422FE69490067692F /* dos33_template.dsk */; };
|
||||||
9D24617B20D8B2AE00227E1D /* tail.mk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9D24617A20D8B2AE00227E1D /* tail.mk */; };
|
9DAEA05722FE69490067692F /* errorFilter.sh in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9DAEA05622FE69490067692F /* errorFilter.sh */; };
|
||||||
9D24617D20D8B2AE00227E1D /* V2Make.scpt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9D24617C20D8B2AE00227E1D /* V2Make.scpt */; };
|
9DAEA05922FE69490067692F /* head.mk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9DAEA05822FE69490067692F /* head.mk */; };
|
||||||
9D24618020D8B2AE00227E1D /* CurtaSim.xcscheme in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9D24617F20D8B2AE00227E1D /* CurtaSim.xcscheme */; };
|
9DAEA05B22FE69490067692F /* prodos_template.dsk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9DAEA05A22FE69490067692F /* prodos_template.dsk */; };
|
||||||
9D24619220D8B30C00227E1D /* curtaModel.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D24618B20D8B30B00227E1D /* curtaModel.c */; };
|
9DAEA05D22FE69490067692F /* tail.mk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9DAEA05C22FE69490067692F /* tail.mk */; };
|
||||||
9D24619320D8B30C00227E1D /* joystick.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D24618E20D8B30C00227E1D /* joystick.c */; };
|
9DAEA05F22FE69490067692F /* V2Make.scpt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9DAEA05E22FE69490067692F /* V2Make.scpt */; };
|
||||||
9D24619420D8B30C00227E1D /* curta.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D24618F20D8B30C00227E1D /* curta.c */; };
|
9DAEA06222FE69490067692F /* CurtaSim.xcscheme in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9DAEA06122FE69490067692F /* CurtaSim.xcscheme */; };
|
||||||
9D24619520D8B30C00227E1D /* curtaUI.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D24619120D8B30C00227E1D /* curtaUI.c */; };
|
9DAEA07B22FE696C0067692F /* curtaModel.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DAEA07422FE696C0067692F /* curtaModel.c */; };
|
||||||
|
9DAEA07C22FE696C0067692F /* curta.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DAEA07622FE696C0067692F /* curta.c */; };
|
||||||
|
9DAEA07D22FE696C0067692F /* curtaUI.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DAEA07822FE696C0067692F /* curtaUI.c */; };
|
||||||
|
9DAEA07E22FE696C0067692F /* joystick.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DAEA07A22FE696C0067692F /* joystick.c */; };
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
/* Begin PBXCopyFilesBuildPhase section */
|
/* Begin PBXCopyFilesBuildPhase section */
|
||||||
9D24616420D8B2AE00227E1D /* CopyFiles */ = {
|
9DAEA04122FE69490067692F /* CopyFiles */ = {
|
||||||
isa = PBXCopyFilesBuildPhase;
|
isa = PBXCopyFilesBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
dstPath = /usr/share/man/man1/;
|
dstPath = /usr/share/man/man1/;
|
||||||
dstSubfolderSpec = 0;
|
dstSubfolderSpec = 0;
|
||||||
files = (
|
files = (
|
||||||
9D24617120D8B2AE00227E1D /* createDiskImage in CopyFiles */,
|
9DAEA05B22FE69490067692F /* prodos_template.dsk in CopyFiles */,
|
||||||
9D24617320D8B2AE00227E1D /* DevApple.vii in CopyFiles */,
|
9DAEA05122FE69490067692F /* bt in CopyFiles */,
|
||||||
9D24617520D8B2AE00227E1D /* dos33_template.dsk in CopyFiles */,
|
9DAEA05522FE69490067692F /* dos33_template.dsk in CopyFiles */,
|
||||||
9D24617B20D8B2AE00227E1D /* tail.mk in CopyFiles */,
|
9DAEA04F22FE69490067692F /* createDiskImage in CopyFiles */,
|
||||||
9D24617D20D8B2AE00227E1D /* V2Make.scpt in CopyFiles */,
|
9DAEA05F22FE69490067692F /* V2Make.scpt in CopyFiles */,
|
||||||
9D24617920D8B2AE00227E1D /* prodos_template.dsk in CopyFiles */,
|
9DAEA05922FE69490067692F /* head.mk in CopyFiles */,
|
||||||
9D24617720D8B2AE00227E1D /* head.mk in CopyFiles */,
|
9DAEA05322FE69490067692F /* DevApple.vii in CopyFiles */,
|
||||||
9D24618020D8B2AE00227E1D /* CurtaSim.xcscheme in CopyFiles */,
|
9DAEA06222FE69490067692F /* CurtaSim.xcscheme in CopyFiles */,
|
||||||
|
9DAEA05722FE69490067692F /* errorFilter.sh in CopyFiles */,
|
||||||
|
9DAEA05D22FE69490067692F /* tail.mk in CopyFiles */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 1;
|
runOnlyForDeploymentPostprocessing = 1;
|
||||||
};
|
};
|
||||||
/* End PBXCopyFilesBuildPhase section */
|
/* End PBXCopyFilesBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
9D24616620D8B2AE00227E1D /* doNotBuild */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = doNotBuild; sourceTree = BUILT_PRODUCTS_DIR; };
|
9DAEA03B22FE69490067692F /* CurtaSim */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = CurtaSim; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
9D24616B20D8B2AE00227E1D /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
|
9DAEA03E22FE69490067692F /* CurtaSim.dsk */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = CurtaSim.dsk; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
9D24616E20D8B2AE00227E1D /* AppleCommander.jar */ = {isa = PBXFileReference; lastKnownFileType = archive.jar; name = AppleCommander.jar; path = make/AppleCommander.jar; sourceTree = "<group>"; };
|
9DAEA04322FE69490067692F /* doNotBuild */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = doNotBuild; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
9D24617020D8B2AE00227E1D /* createDiskImage */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = createDiskImage; path = make/createDiskImage; sourceTree = "<group>"; };
|
9DAEA04722FE69490067692F /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
|
||||||
9D24617220D8B2AE00227E1D /* DevApple.vii */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; name = DevApple.vii; path = make/DevApple.vii; sourceTree = "<group>"; };
|
9DAEA04A22FE69490067692F /* AppleCommander.jar */ = {isa = PBXFileReference; lastKnownFileType = archive.jar; name = AppleCommander.jar; path = make/AppleCommander.jar; sourceTree = "<group>"; };
|
||||||
9D24617420D8B2AE00227E1D /* dos33_template.dsk */ = {isa = PBXFileReference; lastKnownFileType = file; name = dos33_template.dsk; path = make/dos33_template.dsk; sourceTree = "<group>"; };
|
9DAEA04C22FE69490067692F /* bastokenizer-tools-bt-0.2.0.jar */ = {isa = PBXFileReference; lastKnownFileType = archive.jar; name = "bastokenizer-tools-bt-0.2.0.jar"; path = "make/bastokenizer-tools-bt-0.2.0.jar"; sourceTree = "<group>"; };
|
||||||
9D24617620D8B2AE00227E1D /* head.mk */ = {isa = PBXFileReference; lastKnownFileType = text; name = head.mk; path = make/head.mk; sourceTree = "<group>"; };
|
9DAEA04E22FE69490067692F /* createDiskImage */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = createDiskImage; path = make/createDiskImage; sourceTree = "<group>"; };
|
||||||
9D24617820D8B2AE00227E1D /* prodos_template.dsk */ = {isa = PBXFileReference; lastKnownFileType = file; name = prodos_template.dsk; path = make/prodos_template.dsk; sourceTree = "<group>"; };
|
9DAEA05022FE69490067692F /* bt */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = bt; path = make/bt; sourceTree = "<group>"; };
|
||||||
9D24617A20D8B2AE00227E1D /* tail.mk */ = {isa = PBXFileReference; lastKnownFileType = text; name = tail.mk; path = make/tail.mk; sourceTree = "<group>"; };
|
9DAEA05222FE69490067692F /* DevApple.vii */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; name = DevApple.vii; path = make/DevApple.vii; sourceTree = "<group>"; };
|
||||||
9D24617C20D8B2AE00227E1D /* V2Make.scpt */ = {isa = PBXFileReference; lastKnownFileType = file; name = V2Make.scpt; path = make/V2Make.scpt; sourceTree = "<group>"; };
|
9DAEA05422FE69490067692F /* dos33_template.dsk */ = {isa = PBXFileReference; lastKnownFileType = file; name = dos33_template.dsk; path = make/dos33_template.dsk; sourceTree = "<group>"; };
|
||||||
9D24617F20D8B2AE00227E1D /* CurtaSim.xcscheme */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = CurtaSim.xcscheme; path = CurtaSim.xcodeproj/xcshareddata/xcschemes/CurtaSim.xcscheme; sourceTree = SOURCE_ROOT; };
|
9DAEA05622FE69490067692F /* errorFilter.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = errorFilter.sh; path = make/errorFilter.sh; sourceTree = "<group>"; };
|
||||||
9D24618920D8B2C000227E1D /* curta.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = curta.png; sourceTree = "<group>"; };
|
9DAEA05822FE69490067692F /* head.mk */ = {isa = PBXFileReference; lastKnownFileType = text; name = head.mk; path = make/head.mk; sourceTree = "<group>"; };
|
||||||
9D24618A20D8B2C000227E1D /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
|
9DAEA05A22FE69490067692F /* prodos_template.dsk */ = {isa = PBXFileReference; lastKnownFileType = file; name = prodos_template.dsk; path = make/prodos_template.dsk; sourceTree = "<group>"; };
|
||||||
9D24618B20D8B30B00227E1D /* curtaModel.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = curtaModel.c; sourceTree = "<group>"; };
|
9DAEA05C22FE69490067692F /* tail.mk */ = {isa = PBXFileReference; lastKnownFileType = text; name = tail.mk; path = make/tail.mk; sourceTree = "<group>"; };
|
||||||
9D24618C20D8B30B00227E1D /* curtaUI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = curtaUI.h; sourceTree = "<group>"; };
|
9DAEA05E22FE69490067692F /* V2Make.scpt */ = {isa = PBXFileReference; lastKnownFileType = file; name = V2Make.scpt; path = make/V2Make.scpt; sourceTree = "<group>"; };
|
||||||
9D24618D20D8B30B00227E1D /* curtaModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = curtaModel.h; sourceTree = "<group>"; };
|
9DAEA06122FE69490067692F /* CurtaSim.xcscheme */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = CurtaSim.xcscheme; path = CurtaSim.xcodeproj/xcshareddata/xcschemes/CurtaSim.xcscheme; sourceTree = SOURCE_ROOT; };
|
||||||
9D24618E20D8B30C00227E1D /* joystick.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = joystick.c; sourceTree = "<group>"; };
|
9DAEA07122FE695D0067692F /* 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>"; };
|
9DAEA07222FE695D0067692F /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
|
||||||
9D24619020D8B30C00227E1D /* joystick.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = joystick.h; sourceTree = "<group>"; };
|
9DAEA07322FE695E0067692F /* LICENSE */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
|
||||||
9D24619120D8B30C00227E1D /* curtaUI.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = curtaUI.c; sourceTree = "<group>"; };
|
9DAEA07422FE696C0067692F /* curtaModel.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = curtaModel.c; sourceTree = "<group>"; };
|
||||||
9D65A1BF20DCA472004268B7 /* LICENSE */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
|
9DAEA07522FE696C0067692F /* curtaUI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = curtaUI.h; sourceTree = "<group>"; };
|
||||||
|
9DAEA07622FE696C0067692F /* curta.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = curta.c; sourceTree = "<group>"; };
|
||||||
|
9DAEA07722FE696C0067692F /* joystick.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = joystick.h; sourceTree = "<group>"; };
|
||||||
|
9DAEA07822FE696C0067692F /* curtaUI.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = curtaUI.c; sourceTree = "<group>"; };
|
||||||
|
9DAEA07922FE696C0067692F /* curtaModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = curtaModel.h; sourceTree = "<group>"; };
|
||||||
|
9DAEA07A22FE696C0067692F /* joystick.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = joystick.c; sourceTree = "<group>"; };
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
9D24616320D8B2AE00227E1D /* Frameworks */ = {
|
9DAEA04022FE69490067692F /* Frameworks */ = {
|
||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
9D24616F20D8B2AE00227E1D /* AppleCommander.jar in Frameworks */,
|
9DAEA04B22FE69490067692F /* AppleCommander.jar in Frameworks */,
|
||||||
|
9DAEA04D22FE69490067692F /* bastokenizer-tools-bt-0.2.0.jar in Frameworks */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
/* End PBXFrameworksBuildPhase section */
|
/* End PBXFrameworksBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXGroup section */
|
/* Begin PBXGroup section */
|
||||||
9D24615C20D8B2AE00227E1D = {
|
9DAEA03422FE69490067692F = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
9D24618920D8B2C000227E1D /* curta.png */,
|
9DAEA07122FE695D0067692F /* curta.png */,
|
||||||
9D24618A20D8B2C000227E1D /* README.md */,
|
9DAEA07322FE695E0067692F /* LICENSE */,
|
||||||
9D65A1BF20DCA472004268B7 /* LICENSE */,
|
9DAEA07222FE695D0067692F /* README.md */,
|
||||||
9D24616820D8B2AE00227E1D /* CurtaSim */,
|
9DAEA04422FE69490067692F /* CurtaSim */,
|
||||||
9D24616720D8B2AE00227E1D /* Products */,
|
9DAEA03C22FE69490067692F /* Products */,
|
||||||
);
|
);
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
9D24616720D8B2AE00227E1D /* Products */ = {
|
9DAEA03C22FE69490067692F /* Products */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
9D24616620D8B2AE00227E1D /* doNotBuild */,
|
9DAEA03B22FE69490067692F /* CurtaSim */,
|
||||||
|
9DAEA03E22FE69490067692F /* CurtaSim.dsk */,
|
||||||
|
9DAEA04322FE69490067692F /* doNotBuild */,
|
||||||
);
|
);
|
||||||
name = Products;
|
name = Products;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
9D24616820D8B2AE00227E1D /* CurtaSim */ = {
|
9DAEA04422FE69490067692F /* CurtaSim */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
9D24618F20D8B30C00227E1D /* curta.c */,
|
9DAEA04722FE69490067692F /* Makefile */,
|
||||||
9D24618B20D8B30B00227E1D /* curtaModel.c */,
|
9DAEA07622FE696C0067692F /* curta.c */,
|
||||||
9D24618D20D8B30B00227E1D /* curtaModel.h */,
|
9DAEA07422FE696C0067692F /* curtaModel.c */,
|
||||||
9D24619120D8B30C00227E1D /* curtaUI.c */,
|
9DAEA07922FE696C0067692F /* curtaModel.h */,
|
||||||
9D24618C20D8B30B00227E1D /* curtaUI.h */,
|
9DAEA07822FE696C0067692F /* curtaUI.c */,
|
||||||
9D24618E20D8B30C00227E1D /* joystick.c */,
|
9DAEA07522FE696C0067692F /* curtaUI.h */,
|
||||||
9D24619020D8B30C00227E1D /* joystick.h */,
|
9DAEA07A22FE696C0067692F /* joystick.c */,
|
||||||
9D24616B20D8B2AE00227E1D /* Makefile */,
|
9DAEA07722FE696C0067692F /* joystick.h */,
|
||||||
9D24616D20D8B2AE00227E1D /* make */,
|
9DAEA04922FE69490067692F /* make */,
|
||||||
9D24617E20D8B2AE00227E1D /* Supporting Files */,
|
9DAEA06022FE69490067692F /* Supporting Files */,
|
||||||
);
|
);
|
||||||
path = CurtaSim;
|
path = CurtaSim;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
9D24616D20D8B2AE00227E1D /* make */ = {
|
9DAEA04922FE69490067692F /* make */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
9D24616E20D8B2AE00227E1D /* AppleCommander.jar */,
|
9DAEA04A22FE69490067692F /* AppleCommander.jar */,
|
||||||
9D24617020D8B2AE00227E1D /* createDiskImage */,
|
9DAEA04C22FE69490067692F /* bastokenizer-tools-bt-0.2.0.jar */,
|
||||||
9D24617220D8B2AE00227E1D /* DevApple.vii */,
|
9DAEA04E22FE69490067692F /* createDiskImage */,
|
||||||
9D24617420D8B2AE00227E1D /* dos33_template.dsk */,
|
9DAEA05022FE69490067692F /* bt */,
|
||||||
9D24617620D8B2AE00227E1D /* head.mk */,
|
9DAEA05222FE69490067692F /* DevApple.vii */,
|
||||||
9D24617820D8B2AE00227E1D /* prodos_template.dsk */,
|
9DAEA05422FE69490067692F /* dos33_template.dsk */,
|
||||||
9D24617A20D8B2AE00227E1D /* tail.mk */,
|
9DAEA05622FE69490067692F /* errorFilter.sh */,
|
||||||
9D24617C20D8B2AE00227E1D /* V2Make.scpt */,
|
9DAEA05822FE69490067692F /* head.mk */,
|
||||||
|
9DAEA05A22FE69490067692F /* prodos_template.dsk */,
|
||||||
|
9DAEA05C22FE69490067692F /* tail.mk */,
|
||||||
|
9DAEA05E22FE69490067692F /* V2Make.scpt */,
|
||||||
);
|
);
|
||||||
name = make;
|
name = make;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
9D24617E20D8B2AE00227E1D /* Supporting Files */ = {
|
9DAEA06022FE69490067692F /* Supporting Files */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
9D24617F20D8B2AE00227E1D /* CurtaSim.xcscheme */,
|
9DAEA06122FE69490067692F /* CurtaSim.xcscheme */,
|
||||||
);
|
);
|
||||||
name = "Supporting Files";
|
name = "Supporting Files";
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
|
@ -141,10 +157,10 @@
|
||||||
/* End PBXGroup section */
|
/* End PBXGroup section */
|
||||||
|
|
||||||
/* Begin PBXLegacyTarget section */
|
/* Begin PBXLegacyTarget section */
|
||||||
9D24616120D8B2AE00227E1D /* CurtaSim */ = {
|
9DAEA03922FE69490067692F /* CurtaSim */ = {
|
||||||
isa = PBXLegacyTarget;
|
isa = PBXLegacyTarget;
|
||||||
buildArgumentsString = "-C CurtaSim $(ACTION)";
|
buildArgumentsString = "-C CurtaSim $(ACTION)";
|
||||||
buildConfigurationList = 9D24618320D8B2AE00227E1D /* Build configuration list for PBXLegacyTarget "CurtaSim" */;
|
buildConfigurationList = 9DAEA06522FE69490067692F /* Build configuration list for PBXLegacyTarget "CurtaSim" */;
|
||||||
buildPhases = (
|
buildPhases = (
|
||||||
);
|
);
|
||||||
buildToolPath = /usr/bin/make;
|
buildToolPath = /usr/bin/make;
|
||||||
|
@ -157,13 +173,41 @@
|
||||||
/* End PBXLegacyTarget section */
|
/* End PBXLegacyTarget section */
|
||||||
|
|
||||||
/* Begin PBXNativeTarget section */
|
/* Begin PBXNativeTarget section */
|
||||||
9D24616520D8B2AE00227E1D /* doNotBuild */ = {
|
9DAEA03A22FE69490067692F /* Binary */ = {
|
||||||
isa = PBXNativeTarget;
|
isa = PBXNativeTarget;
|
||||||
buildConfigurationList = 9D24618620D8B2AE00227E1D /* Build configuration list for PBXNativeTarget "doNotBuild" */;
|
buildConfigurationList = 9DAEA06822FE69490067692F /* Build configuration list for PBXNativeTarget "Binary" */;
|
||||||
buildPhases = (
|
buildPhases = (
|
||||||
9D24616220D8B2AE00227E1D /* Sources */,
|
);
|
||||||
9D24616320D8B2AE00227E1D /* Frameworks */,
|
buildRules = (
|
||||||
9D24616420D8B2AE00227E1D /* CopyFiles */,
|
);
|
||||||
|
dependencies = (
|
||||||
|
);
|
||||||
|
name = Binary;
|
||||||
|
productName = Binary;
|
||||||
|
productReference = 9DAEA03B22FE69490067692F /* CurtaSim */;
|
||||||
|
productType = "com.apple.product-type.tool";
|
||||||
|
};
|
||||||
|
9DAEA03D22FE69490067692F /* DiskImage */ = {
|
||||||
|
isa = PBXNativeTarget;
|
||||||
|
buildConfigurationList = 9DAEA06B22FE69490067692F /* Build configuration list for PBXNativeTarget "DiskImage" */;
|
||||||
|
buildPhases = (
|
||||||
|
);
|
||||||
|
buildRules = (
|
||||||
|
);
|
||||||
|
dependencies = (
|
||||||
|
);
|
||||||
|
name = DiskImage;
|
||||||
|
productName = DiskImage;
|
||||||
|
productReference = 9DAEA03E22FE69490067692F /* CurtaSim.dsk */;
|
||||||
|
productType = "com.apple.product-type.tool";
|
||||||
|
};
|
||||||
|
9DAEA04222FE69490067692F /* doNotBuild */ = {
|
||||||
|
isa = PBXNativeTarget;
|
||||||
|
buildConfigurationList = 9DAEA06E22FE69490067692F /* Build configuration list for PBXNativeTarget "doNotBuild" */;
|
||||||
|
buildPhases = (
|
||||||
|
9DAEA03F22FE69490067692F /* Sources */,
|
||||||
|
9DAEA04022FE69490067692F /* Frameworks */,
|
||||||
|
9DAEA04122FE69490067692F /* CopyFiles */,
|
||||||
);
|
);
|
||||||
buildRules = (
|
buildRules = (
|
||||||
);
|
);
|
||||||
|
@ -171,61 +215,69 @@
|
||||||
);
|
);
|
||||||
name = doNotBuild;
|
name = doNotBuild;
|
||||||
productName = doNotBuild;
|
productName = doNotBuild;
|
||||||
productReference = 9D24616620D8B2AE00227E1D /* doNotBuild */;
|
productReference = 9DAEA04322FE69490067692F /* doNotBuild */;
|
||||||
productType = "com.apple.product-type.tool";
|
productType = "com.apple.product-type.tool";
|
||||||
};
|
};
|
||||||
/* End PBXNativeTarget section */
|
/* End PBXNativeTarget section */
|
||||||
|
|
||||||
/* Begin PBXProject section */
|
/* Begin PBXProject section */
|
||||||
9D24615D20D8B2AE00227E1D /* Project object */ = {
|
9DAEA03522FE69490067692F /* Project object */ = {
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
LastUpgradeCheck = 0940;
|
LastUpgradeCheck = 1030;
|
||||||
ORGANIZATIONNAME = "Jeremy Rand";
|
ORGANIZATIONNAME = "Jeremy Rand";
|
||||||
TargetAttributes = {
|
TargetAttributes = {
|
||||||
9D24616120D8B2AE00227E1D = {
|
9DAEA03922FE69490067692F = {
|
||||||
CreatedOnToolsVersion = 9.4.1;
|
CreatedOnToolsVersion = 10.3;
|
||||||
};
|
};
|
||||||
9D24616520D8B2AE00227E1D = {
|
9DAEA03A22FE69490067692F = {
|
||||||
CreatedOnToolsVersion = 9.4.1;
|
CreatedOnToolsVersion = 10.3;
|
||||||
|
};
|
||||||
|
9DAEA03D22FE69490067692F = {
|
||||||
|
CreatedOnToolsVersion = 10.3;
|
||||||
|
};
|
||||||
|
9DAEA04222FE69490067692F = {
|
||||||
|
CreatedOnToolsVersion = 10.3;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
buildConfigurationList = 9D24616020D8B2AE00227E1D /* Build configuration list for PBXProject "CurtaSim" */;
|
buildConfigurationList = 9DAEA03822FE69490067692F /* Build configuration list for PBXProject "CurtaSim" */;
|
||||||
compatibilityVersion = "Xcode 9.3";
|
compatibilityVersion = "Xcode 9.3";
|
||||||
developmentRegion = en;
|
developmentRegion = en;
|
||||||
hasScannedForEncodings = 0;
|
hasScannedForEncodings = 0;
|
||||||
knownRegions = (
|
knownRegions = (
|
||||||
en,
|
en,
|
||||||
);
|
);
|
||||||
mainGroup = 9D24615C20D8B2AE00227E1D;
|
mainGroup = 9DAEA03422FE69490067692F;
|
||||||
productRefGroup = 9D24616720D8B2AE00227E1D /* Products */;
|
productRefGroup = 9DAEA03C22FE69490067692F /* Products */;
|
||||||
projectDirPath = "";
|
projectDirPath = "";
|
||||||
projectRoot = "";
|
projectRoot = "";
|
||||||
targets = (
|
targets = (
|
||||||
9D24616120D8B2AE00227E1D /* CurtaSim */,
|
9DAEA03922FE69490067692F /* CurtaSim */,
|
||||||
9D24616520D8B2AE00227E1D /* doNotBuild */,
|
9DAEA03A22FE69490067692F /* Binary */,
|
||||||
|
9DAEA03D22FE69490067692F /* DiskImage */,
|
||||||
|
9DAEA04222FE69490067692F /* doNotBuild */,
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
/* End PBXProject section */
|
/* End PBXProject section */
|
||||||
|
|
||||||
/* Begin PBXSourcesBuildPhase section */
|
/* Begin PBXSourcesBuildPhase section */
|
||||||
9D24616220D8B2AE00227E1D /* Sources */ = {
|
9DAEA03F22FE69490067692F /* Sources */ = {
|
||||||
isa = PBXSourcesBuildPhase;
|
isa = PBXSourcesBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
9D24616C20D8B2AE00227E1D /* Makefile in Sources */,
|
9DAEA07C22FE696C0067692F /* curta.c in Sources */,
|
||||||
9D24619220D8B30C00227E1D /* curtaModel.c in Sources */,
|
9DAEA04822FE69490067692F /* Makefile in Sources */,
|
||||||
9D24619520D8B30C00227E1D /* curtaUI.c in Sources */,
|
9DAEA07E22FE696C0067692F /* joystick.c in Sources */,
|
||||||
9D24619320D8B30C00227E1D /* joystick.c in Sources */,
|
9DAEA07B22FE696C0067692F /* curtaModel.c in Sources */,
|
||||||
9D24619420D8B30C00227E1D /* curta.c in Sources */,
|
9DAEA07D22FE696C0067692F /* curtaUI.c in Sources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
/* End PBXSourcesBuildPhase section */
|
/* End PBXSourcesBuildPhase section */
|
||||||
|
|
||||||
/* Begin XCBuildConfiguration section */
|
/* Begin XCBuildConfiguration section */
|
||||||
9D24618120D8B2AE00227E1D /* Debug */ = {
|
9DAEA06322FE69490067692F /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
@ -275,12 +327,13 @@
|
||||||
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;
|
||||||
MTL_ENABLE_DEBUG_INFO = YES;
|
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||||
|
MTL_FAST_MATH = YES;
|
||||||
ONLY_ACTIVE_ARCH = YES;
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
};
|
};
|
||||||
9D24618220D8B2AE00227E1D /* Release */ = {
|
9DAEA06422FE69490067692F /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
@ -325,10 +378,11 @@
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
MTL_ENABLE_DEBUG_INFO = NO;
|
MTL_ENABLE_DEBUG_INFO = NO;
|
||||||
|
MTL_FAST_MATH = YES;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
};
|
};
|
||||||
9D24618420D8B2AE00227E1D /* Debug */ = {
|
9DAEA06622FE69490067692F /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
|
@ -343,7 +397,7 @@
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
};
|
};
|
||||||
9D24618520D8B2AE00227E1D /* Release */ = {
|
9DAEA06722FE69490067692F /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
|
@ -355,24 +409,66 @@
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
};
|
};
|
||||||
9D24618720D8B2AE00227E1D /* Debug */ = {
|
9DAEA06922FE69490067692F /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
CODE_SIGN_STYLE = Automatic;
|
||||||
|
DEVELOPMENT_TEAM = VD9FGCW36C;
|
||||||
|
PRODUCT_NAME = CurtaSim;
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
9DAEA06A22FE69490067692F /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
CODE_SIGN_STYLE = Automatic;
|
||||||
|
DEVELOPMENT_TEAM = VD9FGCW36C;
|
||||||
|
PRODUCT_NAME = CurtaSim;
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
|
9DAEA06C22FE69490067692F /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
CODE_SIGN_STYLE = Automatic;
|
||||||
|
DEVELOPMENT_TEAM = VD9FGCW36C;
|
||||||
|
PRODUCT_NAME = CurtaSim.dsk;
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
9DAEA06D22FE69490067692F /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
CODE_SIGN_STYLE = Automatic;
|
||||||
|
DEVELOPMENT_TEAM = VD9FGCW36C;
|
||||||
|
PRODUCT_NAME = CurtaSim.dsk;
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
|
9DAEA06F22FE69490067692F /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
DEVELOPMENT_TEAM = VD9FGCW36C;
|
DEVELOPMENT_TEAM = VD9FGCW36C;
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = "__fastcall__=\"\"";
|
GCC_PREPROCESSOR_DEFINITIONS = "__fastcall__=\"\"";
|
||||||
HEADER_SEARCH_PATHS = /usr/local/lib/cc65/include;
|
HEADER_SEARCH_PATHS = (
|
||||||
|
$TEMP_ROOT/CurtaSim.build/$CONFIGURATION/CurtaSim.build/DerivedSources,
|
||||||
|
/usr/local/share/cc65/include,
|
||||||
|
);
|
||||||
PRODUCT_NAME = doNotBuild;
|
PRODUCT_NAME = doNotBuild;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
};
|
};
|
||||||
9D24618820D8B2AE00227E1D /* Release */ = {
|
9DAEA07022FE69490067692F /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
DEVELOPMENT_TEAM = VD9FGCW36C;
|
DEVELOPMENT_TEAM = VD9FGCW36C;
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = "__fastcall__=\"\"";
|
GCC_PREPROCESSOR_DEFINITIONS = "__fastcall__=\"\"";
|
||||||
HEADER_SEARCH_PATHS = /usr/local/lib/cc65/include;
|
HEADER_SEARCH_PATHS = (
|
||||||
|
$TEMP_ROOT/CurtaSim.build/$CONFIGURATION/CurtaSim.build/DerivedSources,
|
||||||
|
/usr/local/share/cc65/include,
|
||||||
|
);
|
||||||
PRODUCT_NAME = doNotBuild;
|
PRODUCT_NAME = doNotBuild;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
|
@ -380,34 +476,52 @@
|
||||||
/* End XCBuildConfiguration section */
|
/* End XCBuildConfiguration section */
|
||||||
|
|
||||||
/* Begin XCConfigurationList section */
|
/* Begin XCConfigurationList section */
|
||||||
9D24616020D8B2AE00227E1D /* Build configuration list for PBXProject "CurtaSim" */ = {
|
9DAEA03822FE69490067692F /* Build configuration list for PBXProject "CurtaSim" */ = {
|
||||||
isa = XCConfigurationList;
|
isa = XCConfigurationList;
|
||||||
buildConfigurations = (
|
buildConfigurations = (
|
||||||
9D24618120D8B2AE00227E1D /* Debug */,
|
9DAEA06322FE69490067692F /* Debug */,
|
||||||
9D24618220D8B2AE00227E1D /* Release */,
|
9DAEA06422FE69490067692F /* Release */,
|
||||||
);
|
);
|
||||||
defaultConfigurationIsVisible = 0;
|
defaultConfigurationIsVisible = 0;
|
||||||
defaultConfigurationName = Release;
|
defaultConfigurationName = Release;
|
||||||
};
|
};
|
||||||
9D24618320D8B2AE00227E1D /* Build configuration list for PBXLegacyTarget "CurtaSim" */ = {
|
9DAEA06522FE69490067692F /* Build configuration list for PBXLegacyTarget "CurtaSim" */ = {
|
||||||
isa = XCConfigurationList;
|
isa = XCConfigurationList;
|
||||||
buildConfigurations = (
|
buildConfigurations = (
|
||||||
9D24618420D8B2AE00227E1D /* Debug */,
|
9DAEA06622FE69490067692F /* Debug */,
|
||||||
9D24618520D8B2AE00227E1D /* Release */,
|
9DAEA06722FE69490067692F /* Release */,
|
||||||
);
|
);
|
||||||
defaultConfigurationIsVisible = 0;
|
defaultConfigurationIsVisible = 0;
|
||||||
defaultConfigurationName = Release;
|
defaultConfigurationName = Release;
|
||||||
};
|
};
|
||||||
9D24618620D8B2AE00227E1D /* Build configuration list for PBXNativeTarget "doNotBuild" */ = {
|
9DAEA06822FE69490067692F /* Build configuration list for PBXNativeTarget "Binary" */ = {
|
||||||
isa = XCConfigurationList;
|
isa = XCConfigurationList;
|
||||||
buildConfigurations = (
|
buildConfigurations = (
|
||||||
9D24618720D8B2AE00227E1D /* Debug */,
|
9DAEA06922FE69490067692F /* Debug */,
|
||||||
9D24618820D8B2AE00227E1D /* Release */,
|
9DAEA06A22FE69490067692F /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
|
9DAEA06B22FE69490067692F /* Build configuration list for PBXNativeTarget "DiskImage" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
9DAEA06C22FE69490067692F /* Debug */,
|
||||||
|
9DAEA06D22FE69490067692F /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
|
9DAEA06E22FE69490067692F /* Build configuration list for PBXNativeTarget "doNotBuild" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
9DAEA06F22FE69490067692F /* Debug */,
|
||||||
|
9DAEA07022FE69490067692F /* Release */,
|
||||||
);
|
);
|
||||||
defaultConfigurationIsVisible = 0;
|
defaultConfigurationIsVisible = 0;
|
||||||
defaultConfigurationName = Release;
|
defaultConfigurationName = Release;
|
||||||
};
|
};
|
||||||
/* End XCConfigurationList section */
|
/* End XCConfigurationList section */
|
||||||
};
|
};
|
||||||
rootObject = 9D24615D20D8B2AE00227E1D /* Project object */;
|
rootObject = 9DAEA03522FE69490067692F /* Project object */;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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>BuildSystemType</key>
|
||||||
|
<string>Original</string>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
Binary file not shown.
|
@ -64,6 +64,18 @@
|
||||||
argument = "$PROJECT_DIR/CurtaSim"
|
argument = "$PROJECT_DIR/CurtaSim"
|
||||||
isEnabled = "YES">
|
isEnabled = "YES">
|
||||||
</CommandLineArgument>
|
</CommandLineArgument>
|
||||||
|
<CommandLineArgument
|
||||||
|
argument = "OBJECT_FILE_DIR=$OBJECT_FILE_DIR"
|
||||||
|
isEnabled = "YES">
|
||||||
|
</CommandLineArgument>
|
||||||
|
<CommandLineArgument
|
||||||
|
argument = "DERIVED_SOURCES_DIR=$DERIVED_SOURCES_DIR"
|
||||||
|
isEnabled = "YES">
|
||||||
|
</CommandLineArgument>
|
||||||
|
<CommandLineArgument
|
||||||
|
argument = "TARGET_BUILD_DIR=$TARGET_BUILD_DIR"
|
||||||
|
isEnabled = "YES">
|
||||||
|
</CommandLineArgument>
|
||||||
<CommandLineArgument
|
<CommandLineArgument
|
||||||
argument = "execute"
|
argument = "execute"
|
||||||
isEnabled = "YES">
|
isEnabled = "YES">
|
||||||
|
|
|
@ -4,15 +4,25 @@
|
||||||
<dict>
|
<dict>
|
||||||
<key>SchemeUserState</key>
|
<key>SchemeUserState</key>
|
||||||
<dict>
|
<dict>
|
||||||
|
<key>Binary.xcscheme_^#shared#^_</key>
|
||||||
|
<dict>
|
||||||
|
<key>orderHint</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
</dict>
|
||||||
<key>CurtaSim.xcscheme_^#shared#^_</key>
|
<key>CurtaSim.xcscheme_^#shared#^_</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>orderHint</key>
|
<key>orderHint</key>
|
||||||
<integer>0</integer>
|
<integer>0</integer>
|
||||||
</dict>
|
</dict>
|
||||||
<key>doNotBuild.xcscheme</key>
|
<key>DiskImage.xcscheme_^#shared#^_</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>orderHint</key>
|
<key>orderHint</key>
|
||||||
<integer>1</integer>
|
<integer>2</integer>
|
||||||
|
</dict>
|
||||||
|
<key>doNotBuild.xcscheme_^#shared#^_</key>
|
||||||
|
<dict>
|
||||||
|
<key>orderHint</key>
|
||||||
|
<integer>3</integer>
|
||||||
</dict>
|
</dict>
|
||||||
</dict>
|
</dict>
|
||||||
</dict>
|
</dict>
|
||||||
|
|
|
@ -18,10 +18,6 @@ include make/head.mk
|
||||||
# The name of your system or binary file to build goes here:
|
# The name of your system or binary file to build goes here:
|
||||||
PGM=curta
|
PGM=curta
|
||||||
|
|
||||||
# Set the config you are building for. See these pages for details:
|
|
||||||
# http://cc65.github.io/cc65/doc/apple2.html#s4
|
|
||||||
# http://cc65.github.io/cc65/doc/apple2enh.html#s4
|
|
||||||
#
|
|
||||||
# Uncomment the one you want below (the first one is the default):
|
# Uncomment the one you want below (the first one is the default):
|
||||||
# MACHINE = apple2
|
# MACHINE = apple2
|
||||||
# MACHINE = apple2-dos33
|
# MACHINE = apple2-dos33
|
||||||
|
@ -34,6 +30,13 @@ MACHINE = apple2-loader
|
||||||
# MACHINE = apple2enh-loader
|
# MACHINE = apple2enh-loader
|
||||||
# MACHINE = apple2enh-reboot
|
# MACHINE = apple2enh-reboot
|
||||||
|
|
||||||
|
# Uncomment the appropriate project type. If your entry point is
|
||||||
|
# main() in a .c file, then your project type is cc65. If your
|
||||||
|
# entry point is in an assembly file, then you project type is
|
||||||
|
# ca65:
|
||||||
|
PROJECT_TYPE = cc65
|
||||||
|
# PROJECT_TYPE = ca65
|
||||||
|
|
||||||
# Uncomment and set this to your starting address in Apple II memory
|
# Uncomment and set this to your starting address in Apple II memory
|
||||||
# if necessary:
|
# if necessary:
|
||||||
START_ADDR = 4000
|
START_ADDR = 4000
|
||||||
|
@ -49,13 +52,18 @@ START_ADDR = 4000
|
||||||
# will only produce 8-bit code.
|
# will only produce 8-bit code.
|
||||||
|
|
||||||
# Add any other directories where you are putting C or assembly source
|
# Add any other directories where you are putting C or assembly source
|
||||||
# files to this list:
|
# files to this list. Note that if you are generating source files into
|
||||||
|
# $(GENDIR), you should add $(GENDIR) to SRCDIRS here:
|
||||||
SRCDIRS+=
|
SRCDIRS+=
|
||||||
|
|
||||||
# If you have a non-standard cc65 install, you may need to change
|
# If you have a non-standard cc65 install, you may need to change
|
||||||
# some of these. Uncomment the following line and change it to the
|
# some of these. Uncomment the following line and change it to the
|
||||||
# correct path to CC65_HOME if the default is not correct:
|
# correct path to CC65_HOME if the default is not correct. If you
|
||||||
# export CC65_HOME := /usr/local/lib/cc65
|
# are using cc65 v2.13.3, the default is:
|
||||||
|
# /usr/local/lib/cc65
|
||||||
|
# If you are using cc65 v2.17, the default is:
|
||||||
|
# /usr/local/share/cc65
|
||||||
|
# export CC65_HOME := /path/to/your/cc65/directory
|
||||||
#
|
#
|
||||||
# If the path to the cc65 binaries is not correct, uncomment this
|
# If the path to the cc65 binaries is not correct, uncomment this
|
||||||
# line and change it:
|
# line and change it:
|
||||||
|
@ -73,6 +81,10 @@ SRCDIRS+=
|
||||||
# this variable:
|
# this variable:
|
||||||
# LDFLAGS += -v
|
# LDFLAGS += -v
|
||||||
|
|
||||||
|
# If you want to add arguments to the BASIC tokenizer commandline,
|
||||||
|
# add them to this valiable:
|
||||||
|
# BASICFLAGS += --optimize
|
||||||
|
|
||||||
# If you want to link the lores graphics driver with your executable,
|
# If you want to link the lores graphics driver with your executable,
|
||||||
# uncomment the next line.
|
# uncomment the next line.
|
||||||
# DRIVERS += loresgr
|
# DRIVERS += loresgr
|
||||||
|
@ -89,9 +101,9 @@ SRCDIRS+=
|
||||||
# tgi_uninstall();
|
# tgi_uninstall();
|
||||||
# }
|
# }
|
||||||
#
|
#
|
||||||
# Read the /usr/local/lib/cc65/include/tgi.h file to see what the
|
# Read the $CC65_HOME/include/tgi.h file to see what the
|
||||||
# driver interface provides. Also check out
|
# driver interface provides. Also check out
|
||||||
# /usr/local/lib/cc65/include/apple2.h to see the colour definitions.
|
# $CC65_HOME/include/apple2.h to see the colour definitions.
|
||||||
|
|
||||||
# If you want to link the hires graphics driver with your executable,
|
# If you want to link the hires graphics driver with your executable,
|
||||||
# uncomment the next line.
|
# uncomment the next line.
|
||||||
|
@ -109,9 +121,9 @@ DRIVERS += hiresgr
|
||||||
# tgi_uninstall();
|
# tgi_uninstall();
|
||||||
# }
|
# }
|
||||||
#
|
#
|
||||||
# Read the /usr/local/lib/cc65/include/tgi.h file to see what the
|
# Read the $CC65_HOME/cc65/include/tgi.h file to see what the
|
||||||
# driver interface provides. Also check out
|
# driver interface provides. Also check out
|
||||||
# /usr/local/lib/cc65/include/apple2.h to see the colour definitions.
|
# $CC65_HOME/include/apple2.h to see the colour definitions.
|
||||||
|
|
||||||
# If you want to link the extended memory driver with your executable,
|
# If you want to link the extended memory driver with your executable,
|
||||||
# uncomment the next line.
|
# uncomment the next line.
|
||||||
|
@ -128,7 +140,7 @@ DRIVERS += hiresgr
|
||||||
# em_uninstall();
|
# em_uninstall();
|
||||||
# }
|
# }
|
||||||
#
|
#
|
||||||
# Read the /usr/local/lib/cc65/include/em.h file to see what the
|
# Read the $CC65_HOME/include/em.h file to see what the
|
||||||
# driver interface provides.
|
# driver interface provides.
|
||||||
|
|
||||||
# If you want to link the joystick driver with your executable,
|
# If you want to link the joystick driver with your executable,
|
||||||
|
@ -146,7 +158,7 @@ DRIVERS += hiresgr
|
||||||
# joy_uninstall();
|
# joy_uninstall();
|
||||||
# }
|
# }
|
||||||
#
|
#
|
||||||
# Read the /usr/local/lib/cc65/include/joystick.h file to see what the
|
# Read the $CC65_HOME/include/joystick.h file to see what the
|
||||||
# driver interface provides.
|
# driver interface provides.
|
||||||
|
|
||||||
# If you want to link the mouse driver with your executable,
|
# If you want to link the mouse driver with your executable,
|
||||||
|
@ -164,7 +176,7 @@ DRIVERS += hiresgr
|
||||||
# mouse_uninstall();
|
# mouse_uninstall();
|
||||||
# }
|
# }
|
||||||
#
|
#
|
||||||
# Read the /usr/local/lib/cc65/include/mouse.h file to see what the
|
# Read the $CC65_HOME/include/mouse.h file to see what the
|
||||||
# driver interface provides.
|
# driver interface provides.
|
||||||
|
|
||||||
# If you want to link the serial driver with your executable,
|
# If you want to link the serial driver with your executable,
|
||||||
|
@ -182,7 +194,7 @@ DRIVERS += hiresgr
|
||||||
# ser_uninstall();
|
# ser_uninstall();
|
||||||
# }
|
# }
|
||||||
#
|
#
|
||||||
# Read the /usr/local/lib/cc65/include/serial.h file to see what the
|
# Read the $CC65_HOME/include/serial.h file to see what the
|
||||||
# driver interface provides.
|
# 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
|
||||||
|
@ -224,6 +236,13 @@ COPYDIRS=
|
||||||
# commands are called here, if any. You can generate .c, .s or .h
|
# commands are called here, if any. You can generate .c, .s or .h
|
||||||
# files for example. You can generate data files. Whatever you
|
# files for example. You can generate data files. Whatever you
|
||||||
# might need.
|
# might need.
|
||||||
|
#
|
||||||
|
# You should generate these files in the $(GENDIR) directory or
|
||||||
|
# within a subdirectory under $(GENDIR) which you create yourself.
|
||||||
|
#
|
||||||
|
# All of your commands associated with a rule _must_ start with a tab
|
||||||
|
# character. Xcode makes it a bit tough to type a tab character by
|
||||||
|
# default. Press option-tab within Xcode to insert a tab character.
|
||||||
gen:
|
gen:
|
||||||
|
|
||||||
# For any files you generated in the gen target above, you should
|
# For any files you generated in the gen target above, you should
|
||||||
|
|
|
@ -13,7 +13,6 @@
|
||||||
#include <apple2.h>
|
#include <apple2.h>
|
||||||
#include <joystick.h>
|
#include <joystick.h>
|
||||||
#include <tgi.h>
|
#include <tgi.h>
|
||||||
#include <tgi/tgi-mode.h>
|
|
||||||
|
|
||||||
#include "curtaModel.h"
|
#include "curtaModel.h"
|
||||||
#include "joystick.h"
|
#include "joystick.h"
|
||||||
|
@ -35,12 +34,12 @@ typedef int8_t tAction;
|
||||||
#define ACTION_NULL 9
|
#define ACTION_NULL 9
|
||||||
|
|
||||||
|
|
||||||
#define OPERAND_COLOR COLOR_WHITE
|
#define OPERAND_COLOR TGI_COLOR_WHITE
|
||||||
#define OPERAND_OFFSET 4
|
#define OPERAND_OFFSET 12
|
||||||
#define SLIDER_BAR_COLOR COLOR_BLUE
|
#define SLIDER_BAR_COLOR TGI_COLOR_BLUE
|
||||||
#define SELECTED_SLIDER_BAR_COLOR COLOR_VIOLET
|
#define SELECTED_SLIDER_BAR_COLOR TGI_COLOR_VIOLET
|
||||||
#define SLIDER_COLOR COLOR_ORANGE
|
#define SLIDER_COLOR TGI_COLOR_ORANGE
|
||||||
#define SELECTED_SLIDER_COLOR COLOR_BLACK
|
#define SELECTED_SLIDER_COLOR TGI_COLOR_BLACK
|
||||||
#define SLIDER_X_BORDER 8
|
#define SLIDER_X_BORDER 8
|
||||||
#define SLIDER_Y_BORDER 15
|
#define SLIDER_Y_BORDER 15
|
||||||
#define SLIDER_BAR_WIDTH 12
|
#define SLIDER_BAR_WIDTH 12
|
||||||
|
@ -75,7 +74,7 @@ static char displayBuffer[] =
|
||||||
static void playSound(int8_t freq, int8_t duration)
|
static void playSound(int8_t freq, int8_t duration)
|
||||||
{
|
{
|
||||||
while (duration > 0) {
|
while (duration > 0) {
|
||||||
asm ("STA %w", 0xc030);
|
asm volatile ("STA %w", 0xc030);
|
||||||
while (freq > 0) {
|
while (freq > 0) {
|
||||||
freq--;
|
freq--;
|
||||||
}
|
}
|
||||||
|
@ -160,7 +159,7 @@ static void drawText(char xPos, tDigit digit)
|
||||||
char buffer[2];
|
char buffer[2];
|
||||||
|
|
||||||
// Clear old text
|
// Clear old text
|
||||||
tgi_setcolor(COLOR_BLACK);
|
tgi_setcolor(TGI_COLOR_BLACK);
|
||||||
tgi_bar(xPos, 0, xPos + SLIDER_BAR_WIDTH, SLIDER_Y_BORDER - 1);
|
tgi_bar(xPos, 0, xPos + SLIDER_BAR_WIDTH, SLIDER_Y_BORDER - 1);
|
||||||
|
|
||||||
// Draw text label
|
// Draw text label
|
||||||
|
@ -366,13 +365,13 @@ static tAction getNextAction(void)
|
||||||
void textMode(void)
|
void textMode(void)
|
||||||
{
|
{
|
||||||
clrscr();
|
clrscr();
|
||||||
asm ("STA %w", 0xc051);
|
asm volatile ("STA %w", 0xc051);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void graphicsMode(void)
|
void graphicsMode(void)
|
||||||
{
|
{
|
||||||
asm ("STA %w", 0xc050);
|
asm volatile ("STA %w", 0xc050);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -480,7 +479,7 @@ void redrawUI(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Mixed text and graphics mode
|
// Mixed text and graphics mode
|
||||||
asm ("STA %w", 0xc053);
|
asm volatile ("STA %w", 0xc053);
|
||||||
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
|
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
|
||||||
printState();
|
printState();
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,11 +30,11 @@ static uint8_t joystickTemp;
|
||||||
static bool isButtonPressed(int8_t buttonNum)
|
static bool isButtonPressed(int8_t buttonNum)
|
||||||
{
|
{
|
||||||
if (buttonNum) {
|
if (buttonNum) {
|
||||||
__asm__("LDA %w", BTN1);
|
__asm__ volatile("LDA %w", BTN1);
|
||||||
__asm__("STA %v", joystickTemp);
|
__asm__ volatile("STA %v", joystickTemp);
|
||||||
} else {
|
} else {
|
||||||
__asm__("LDA %w", BTN0);
|
__asm__ volatile("LDA %w", BTN0);
|
||||||
__asm__("STA %v", joystickTemp);
|
__asm__ volatile("STA %v", joystickTemp);
|
||||||
}
|
}
|
||||||
return ((joystickTemp > 127) ? true : false);
|
return ((joystickTemp > 127) ? true : false);
|
||||||
}
|
}
|
||||||
|
@ -42,22 +42,22 @@ static bool isButtonPressed(int8_t buttonNum)
|
||||||
|
|
||||||
static uint8_t joystickLeftRight(void)
|
static uint8_t joystickLeftRight(void)
|
||||||
{
|
{
|
||||||
__asm__("BIT %w", ROM_SWITCH);
|
__asm__ volatile("BIT %w", ROM_SWITCH);
|
||||||
__asm__("LDX #0");
|
__asm__ volatile("LDX #0");
|
||||||
__asm__("JSR %w", PREAD);
|
__asm__ volatile("JSR %w", PREAD);
|
||||||
__asm__("STY %v", joystickTemp);
|
__asm__ volatile("STY %v", joystickTemp);
|
||||||
__asm__("BIT %w", RAM_SWITCH);
|
__asm__ volatile("BIT %w", RAM_SWITCH);
|
||||||
return joystickTemp;
|
return joystickTemp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static uint8_t joystickUpDown(void)
|
static uint8_t joystickUpDown(void)
|
||||||
{
|
{
|
||||||
__asm__("BIT %w", ROM_SWITCH);
|
__asm__ volatile("BIT %w", ROM_SWITCH);
|
||||||
__asm__("LDX #1");
|
__asm__ volatile("LDX #1");
|
||||||
__asm__("JSR %w", PREAD);
|
__asm__ volatile("JSR %w", PREAD);
|
||||||
__asm__("STY %v", joystickTemp);
|
__asm__ volatile("STY %v", joystickTemp);
|
||||||
__asm__("BIT %w", RAM_SWITCH);
|
__asm__ volatile("BIT %w", RAM_SWITCH);
|
||||||
return joystickTemp;
|
return joystickTemp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Binary file not shown.
Binary file not shown.
BIN
CurtaSim/make/bastokenizer-tools-bt-0.2.0.jar
Normal file
BIN
CurtaSim/make/bastokenizer-tools-bt-0.2.0.jar
Normal file
Binary file not shown.
34
CurtaSim/make/bt
Executable file
34
CurtaSim/make/bt
Executable file
|
@ -0,0 +1,34 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
if [ -z "$JAVA" ]
|
||||||
|
then
|
||||||
|
for item in "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home" /Library/Java/JavaVirtualMachines/*/Contents/Home /usr
|
||||||
|
do
|
||||||
|
if [ -x "$item/bin/java" ]
|
||||||
|
then
|
||||||
|
JAVA="$item/bin/java"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$JAVA" ]
|
||||||
|
then
|
||||||
|
echo Cannot find a path to a Java runtime.
|
||||||
|
echo Go to https://java.com/download if you do not have Java.
|
||||||
|
echo If you do have Java, you may need to uncomment the JAVA
|
||||||
|
echo line in the Makefile and set it to the path for your
|
||||||
|
echo Java runtime binary.
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
INPUTFILE=$1
|
||||||
|
shift
|
||||||
|
|
||||||
|
tr -d '©' < "$INPUTFILE" > /tmp/bt_filtered.$$
|
||||||
|
|
||||||
|
"$JAVA" -jar make/bastokenizer-tools-bt-0.2.0.jar $* /tmp/bt_filtered.$$
|
||||||
|
RESULT=$?
|
||||||
|
|
||||||
|
rm /tmp/bt_filtered.$$
|
||||||
|
exit $RESULT
|
|
@ -1,8 +1,13 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
merlinStartAddr() {
|
||||||
|
awk '$1 ~ /^[oO][rR][gG]$/{print $2}' linkscript.s | sed 's/^[0$]*//'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if [ $# -lt 5 ]
|
if [ $# -lt 5 ]
|
||||||
then
|
then
|
||||||
echo USAGE: $0 '<AppleCommander> <machine> <diskimage> <binary>'
|
echo USAGE: $0 '<AppleCommander> <machine> <diskimage> <binary> <startaddress> <otherfilesordirs...>'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -43,11 +48,7 @@ shift
|
||||||
STARTADDR=`echo $1 | sed 's/^0*//'`
|
STARTADDR=`echo $1 | sed 's/^0*//'`
|
||||||
shift
|
shift
|
||||||
|
|
||||||
if [ ! -f "$PROGRAM" ]
|
SOURCEFILE=$PROGRAM
|
||||||
then
|
|
||||||
echo "Cannot file executable $PROGRAM"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
case "$MACHINE" in
|
case "$MACHINE" in
|
||||||
apple2)
|
apple2)
|
||||||
|
@ -55,8 +56,10 @@ case "$MACHINE" in
|
||||||
DELETELOADER=1
|
DELETELOADER=1
|
||||||
RENAMELOADER=0
|
RENAMELOADER=0
|
||||||
DELETEBASIC=0
|
DELETEBASIC=0
|
||||||
|
COPYBINARY=1
|
||||||
HASHEADER=1
|
HASHEADER=1
|
||||||
FILETYPE="bin"
|
FILETYPE="bin"
|
||||||
|
BASICFILETYPE="bas"
|
||||||
TARGETFILE=`basename $PROGRAM`
|
TARGETFILE=`basename $PROGRAM`
|
||||||
MAXFILENAMELEN=15
|
MAXFILENAMELEN=15
|
||||||
;;
|
;;
|
||||||
|
@ -66,8 +69,10 @@ case "$MACHINE" in
|
||||||
DELETELOADER=1
|
DELETELOADER=1
|
||||||
RENAMELOADER=0
|
RENAMELOADER=0
|
||||||
DELETEBASIC=0
|
DELETEBASIC=0
|
||||||
|
COPYBINARY=1
|
||||||
HASHEADER=1
|
HASHEADER=1
|
||||||
FILETYPE="bin"
|
FILETYPE="bin"
|
||||||
|
BASICFILETYPE="bas"
|
||||||
TARGETFILE=`basename $PROGRAM`
|
TARGETFILE=`basename $PROGRAM`
|
||||||
MAXFILENAMELEN=15
|
MAXFILENAMELEN=15
|
||||||
;;
|
;;
|
||||||
|
@ -77,8 +82,10 @@ case "$MACHINE" in
|
||||||
DELETELOADER=0
|
DELETELOADER=0
|
||||||
RENAMELOADER=0
|
RENAMELOADER=0
|
||||||
DELETEBASIC=0
|
DELETEBASIC=0
|
||||||
|
COPYBINARY=1
|
||||||
HASHEADER=1
|
HASHEADER=1
|
||||||
FILETYPE="bin"
|
FILETYPE="B"
|
||||||
|
BASICFILETYPE="A"
|
||||||
TARGETFILE=`basename $PROGRAM`
|
TARGETFILE=`basename $PROGRAM`
|
||||||
MAXFILENAMELEN=30
|
MAXFILENAMELEN=30
|
||||||
;;
|
;;
|
||||||
|
@ -88,8 +95,10 @@ case "$MACHINE" in
|
||||||
DELETELOADER=0
|
DELETELOADER=0
|
||||||
RENAMELOADER=0
|
RENAMELOADER=0
|
||||||
DELETEBASIC=0
|
DELETEBASIC=0
|
||||||
|
COPYBINARY=1
|
||||||
HASHEADER=1
|
HASHEADER=1
|
||||||
FILETYPE="bin"
|
FILETYPE="B"
|
||||||
|
BASICFILETYPE="A"
|
||||||
TARGETFILE=`basename $PROGRAM`
|
TARGETFILE=`basename $PROGRAM`
|
||||||
MAXFILENAMELEN=30
|
MAXFILENAMELEN=30
|
||||||
;;
|
;;
|
||||||
|
@ -99,8 +108,10 @@ case "$MACHINE" in
|
||||||
DELETELOADER=1
|
DELETELOADER=1
|
||||||
RENAMELOADER=0
|
RENAMELOADER=0
|
||||||
DELETEBASIC=1
|
DELETEBASIC=1
|
||||||
|
COPYBINARY=1
|
||||||
HASHEADER=0
|
HASHEADER=0
|
||||||
FILETYPE="sys"
|
FILETYPE="sys"
|
||||||
|
BASICFILETYPE="bas"
|
||||||
TARGETFILE=`basename $PROGRAM`.system
|
TARGETFILE=`basename $PROGRAM`.system
|
||||||
MAXFILENAMELEN=15
|
MAXFILENAMELEN=15
|
||||||
;;
|
;;
|
||||||
|
@ -110,8 +121,10 @@ case "$MACHINE" in
|
||||||
DELETELOADER=1
|
DELETELOADER=1
|
||||||
RENAMELOADER=0
|
RENAMELOADER=0
|
||||||
DELETEBASIC=1
|
DELETEBASIC=1
|
||||||
|
COPYBINARY=1
|
||||||
HASHEADER=0
|
HASHEADER=0
|
||||||
FILETYPE="sys"
|
FILETYPE="sys"
|
||||||
|
BASICFILETYPE="bas"
|
||||||
TARGETFILE=`basename $PROGRAM`.system
|
TARGETFILE=`basename $PROGRAM`.system
|
||||||
MAXFILENAMELEN=15
|
MAXFILENAMELEN=15
|
||||||
;;
|
;;
|
||||||
|
@ -121,8 +134,10 @@ case "$MACHINE" in
|
||||||
DELETELOADER=0
|
DELETELOADER=0
|
||||||
RENAMELOADER=1
|
RENAMELOADER=1
|
||||||
DELETEBASIC=1
|
DELETEBASIC=1
|
||||||
|
COPYBINARY=1
|
||||||
HASHEADER=1
|
HASHEADER=1
|
||||||
FILETYPE="bin"
|
FILETYPE="bin"
|
||||||
|
BASICFILETYPE="bas"
|
||||||
TARGETFILE=`basename $PROGRAM`
|
TARGETFILE=`basename $PROGRAM`
|
||||||
MAXFILENAMELEN=15
|
MAXFILENAMELEN=15
|
||||||
;;
|
;;
|
||||||
|
@ -132,8 +147,10 @@ case "$MACHINE" in
|
||||||
DELETELOADER=0
|
DELETELOADER=0
|
||||||
RENAMELOADER=1
|
RENAMELOADER=1
|
||||||
DELETEBASIC=1
|
DELETEBASIC=1
|
||||||
|
COPYBINARY=1
|
||||||
HASHEADER=1
|
HASHEADER=1
|
||||||
FILETYPE="bin"
|
FILETYPE="bin"
|
||||||
|
BASICFILETYPE="bas"
|
||||||
TARGETFILE=`basename $PROGRAM`
|
TARGETFILE=`basename $PROGRAM`
|
||||||
MAXFILENAMELEN=15
|
MAXFILENAMELEN=15
|
||||||
;;
|
;;
|
||||||
|
@ -143,8 +160,10 @@ case "$MACHINE" in
|
||||||
DELETELOADER=0
|
DELETELOADER=0
|
||||||
RENAMELOADER=1
|
RENAMELOADER=1
|
||||||
DELETEBASIC=1
|
DELETEBASIC=1
|
||||||
|
COPYBINARY=1
|
||||||
HASHEADER=1
|
HASHEADER=1
|
||||||
FILETYPE="bin"
|
FILETYPE="bin"
|
||||||
|
BASICFILETYPE="bas"
|
||||||
TARGETFILE=`basename $PROGRAM`
|
TARGETFILE=`basename $PROGRAM`
|
||||||
MAXFILENAMELEN=15
|
MAXFILENAMELEN=15
|
||||||
;;
|
;;
|
||||||
|
@ -154,18 +173,89 @@ case "$MACHINE" in
|
||||||
DELETELOADER=0
|
DELETELOADER=0
|
||||||
RENAMELOADER=1
|
RENAMELOADER=1
|
||||||
DELETEBASIC=1
|
DELETEBASIC=1
|
||||||
|
COPYBINARY=1
|
||||||
HASHEADER=1
|
HASHEADER=1
|
||||||
FILETYPE="bin"
|
FILETYPE="bin"
|
||||||
|
BASICFILETYPE="bas"
|
||||||
TARGETFILE=`basename $PROGRAM`
|
TARGETFILE=`basename $PROGRAM`
|
||||||
MAXFILENAMELEN=15
|
MAXFILENAMELEN=15
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
apple2-basic)
|
||||||
|
TEMPLATE="make/prodos_template.dsk"
|
||||||
|
DELETELOADER=1
|
||||||
|
RENAMELOADER=0
|
||||||
|
DELETEBASIC=0
|
||||||
|
COPYBINARY=0
|
||||||
|
FILETYPE="bas"
|
||||||
|
BASICFILETYPE="bas"
|
||||||
|
TARGETFILE=`basename $PROGRAM`
|
||||||
|
SOURCEFILE=${PROGRAM}.tok
|
||||||
|
MAXFILENAMELEN=15
|
||||||
|
;;
|
||||||
|
|
||||||
|
apple2-dos33-basic)
|
||||||
|
TEMPLATE="make/dos33_template.dsk"
|
||||||
|
DELETELOADER=0
|
||||||
|
RENAMELOADER=0
|
||||||
|
DELETEBASIC=0
|
||||||
|
COPYBINARY=0
|
||||||
|
FILETYPE="A"
|
||||||
|
BASICFILETYPE="A"
|
||||||
|
TARGETFILE=`basename $PROGRAM`
|
||||||
|
SOURCEFILE=${PROGRAM}.tok
|
||||||
|
MAXFILENAMELEN=30
|
||||||
|
;;
|
||||||
|
|
||||||
|
apple2-merlin)
|
||||||
|
TEMPLATE="make/prodos_template.dsk"
|
||||||
|
DELETELOADER=1
|
||||||
|
RENAMELOADER=0
|
||||||
|
DELETEBASIC=0
|
||||||
|
COPYBINARY=1
|
||||||
|
HASHEADER=0
|
||||||
|
FILETYPE="bin"
|
||||||
|
BASICFILETYPE="bas"
|
||||||
|
TARGETFILE=`basename $PROGRAM`
|
||||||
|
MAXFILENAMELEN=15
|
||||||
|
|
||||||
|
STARTADDR=`merlinStartAddr`
|
||||||
|
;;
|
||||||
|
|
||||||
|
apple2-dos33-merlin)
|
||||||
|
TEMPLATE="make/dos33_template.dsk"
|
||||||
|
DELETELOADER=0
|
||||||
|
RENAMELOADER=0
|
||||||
|
DELETEBASIC=0
|
||||||
|
COPYBINARY=1
|
||||||
|
HASHEADER=0
|
||||||
|
FILETYPE="B"
|
||||||
|
BASICFILETYPE="A"
|
||||||
|
TARGETFILE=`basename $PROGRAM`
|
||||||
|
MAXFILENAMELEN=30
|
||||||
|
|
||||||
|
STARTADDR=`merlinStartAddr`
|
||||||
|
;;
|
||||||
|
|
||||||
*)
|
*)
|
||||||
echo "Invalid machine type $MACHINE"
|
echo "Invalid machine type $MACHINE"
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
STARTARG=""
|
||||||
|
if [ ! -z "$STARTADDR" ]
|
||||||
|
then
|
||||||
|
STARTARG="0x$STARTADDR"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f "$SOURCEFILE" ]
|
||||||
|
then
|
||||||
|
echo "Cannot file executable $SOURCEFILE"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
if [ ${#TARGETFILE} -gt $MAXFILENAMELEN ]
|
if [ ${#TARGETFILE} -gt $MAXFILENAMELEN ]
|
||||||
then
|
then
|
||||||
echo "The filename $TARGETFILE exceeds the max name length of the filesystem ($MAXFILENAMELEN)"
|
echo "The filename $TARGETFILE exceeds the max name length of the filesystem ($MAXFILENAMELEN)"
|
||||||
|
@ -203,29 +293,44 @@ then
|
||||||
"$JAVA" -jar "$APPLECOMMANDER" -d "$DISKIMAGE" BASIC.SYSTEM
|
"$JAVA" -jar "$APPLECOMMANDER" -d "$DISKIMAGE" BASIC.SYSTEM
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $HASHEADER -eq 1 ]
|
if [ $COPYBINARY -eq 1 ]
|
||||||
then
|
then
|
||||||
HDR_STARTADDR=`od -t x2 -N 2 < "$PROGRAM" | head -1 | awk '{print $2}' | sed 's/^0*//'`
|
if [ "$CC65_SUPPORTS_APPLE_SINGLE" -eq 1 ]
|
||||||
if [ "$HDR_STARTADDR" = "$STARTADDR" ]
|
|
||||||
then
|
then
|
||||||
dd if="$PROGRAM" bs=4 skip=1 | "$JAVA" -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$TARGETFILE" $FILETYPE 0x$STARTADDR
|
"$JAVA" -jar "$APPLECOMMANDER" -as "$DISKIMAGE" "$TARGETFILE" < "$SOURCEFILE"
|
||||||
else
|
elif [ $HASHEADER -eq 1 ]
|
||||||
"$JAVA" -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$TARGETFILE" $FILETYPE 0x$STARTADDR < "$PROGRAM"
|
then
|
||||||
|
HDR_STARTADDR=`od -t x2 -N 2 < "$SOURCEFILE" | head -1 | awk '{print $2}' | sed 's/^0*//'`
|
||||||
|
if [ "$HDR_STARTADDR" = "$STARTADDR" ]
|
||||||
|
then
|
||||||
|
dd if="$SOURCEFILE" bs=4 skip=1 | "$JAVA" -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$TARGETFILE" $FILETYPE $STARTARG
|
||||||
|
else
|
||||||
|
"$JAVA" -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$TARGETFILE" $FILETYPE $STARTARG < "$SOURCEFILE"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
"$JAVA" -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$TARGETFILE" $FILETYPE $STARTARG < "$SOURCEFILE"
|
||||||
fi
|
fi
|
||||||
else
|
|
||||||
"$JAVA" -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$TARGETFILE" $FILETYPE < "$PROGRAM"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for DIR in $*
|
for ITEM in $*
|
||||||
do
|
do
|
||||||
if [ ! -d "$DIR" ]
|
# If this is a file matching *.tok, then this is an Applesoft BASIC file
|
||||||
|
# to copy to the disk image.
|
||||||
|
if [ -f "$ITEM" ] && echo "$ITEM" | grep '\.tok$' > /dev/null
|
||||||
then
|
then
|
||||||
echo Unable to find directory $DIR
|
DESTFILE=`basename "$ITEM" | sed 's/\.tok$//'`
|
||||||
|
"$JAVA" -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$DESTFILE" "$BASICFILETYPE" 0x801 < "$ITEM"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d "$ITEM" ]
|
||||||
|
then
|
||||||
|
echo Unable to find directory $ITEM
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
OLDPWD=`pwd`
|
OLDPWD=`pwd`
|
||||||
cd $DIR
|
cd $ITEM
|
||||||
|
|
||||||
find . -type f -print | while read FILE
|
find . -type f -print | while read FILE
|
||||||
do
|
do
|
||||||
|
@ -258,9 +363,9 @@ do
|
||||||
# If the file type is text, convert the line feeds to carriage return
|
# If the file type is text, convert the line feeds to carriage return
|
||||||
if [ $FILETYPE = txt ] || [ $FILETYPE = T ]
|
if [ $FILETYPE = txt ] || [ $FILETYPE = T ]
|
||||||
then
|
then
|
||||||
tr '\n' '\r' < $FILE | "$JAVA" -jar "$OLDPWD/$APPLECOMMANDER" $TRANSFERARG "$OLDPWD/$DISKIMAGE" "$DESTFILE" $FILETYPE
|
tr '\n' '\r' < $FILE | "$JAVA" -jar "$OLDPWD/$APPLECOMMANDER" $TRANSFERARG "$DISKIMAGE" "$DESTFILE" $FILETYPE
|
||||||
else
|
else
|
||||||
"$JAVA" -jar "$OLDPWD/$APPLECOMMANDER" $TRANSFERARG "$OLDPWD/$DISKIMAGE" "$DESTFILE" $FILETYPE < $FILE
|
"$JAVA" -jar "$OLDPWD/$APPLECOMMANDER" $TRANSFERARG "$DISKIMAGE" "$DESTFILE" $FILETYPE < $FILE
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
59
CurtaSim/make/errorFilter.sh
Executable file
59
CurtaSim/make/errorFilter.sh
Executable file
|
@ -0,0 +1,59 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
PWD=`pwd`
|
||||||
|
|
||||||
|
$* 2> /tmp/errors.$$
|
||||||
|
RESULT=$?
|
||||||
|
|
||||||
|
if [ $RESULT -ne 0 ]
|
||||||
|
then
|
||||||
|
exec /usr/bin/perl -x $0 $RESULT /tmp/errors.$$ "$PWD"
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
|
|
||||||
|
#!/usr/bin/perl
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
|
||||||
|
my $result = $ARGV[0];
|
||||||
|
my $filename = $ARGV[1];
|
||||||
|
my $pwd = $ARGV[2];
|
||||||
|
|
||||||
|
open(FILE, "<$filename") || die "$0: Unable to open file, $!";
|
||||||
|
|
||||||
|
my $unresolvedRefError = undef;
|
||||||
|
|
||||||
|
while (<FILE>) {
|
||||||
|
chomp;
|
||||||
|
|
||||||
|
if (defined $unresolvedRefError) {
|
||||||
|
if (m/^ ([^(]+)\(([0-9]+)\)/) {
|
||||||
|
my $file = $1;
|
||||||
|
my $lineno = $2;
|
||||||
|
|
||||||
|
if (! -f "$pwd/$file") {
|
||||||
|
$file =~ s/\.s$/.c/;
|
||||||
|
}
|
||||||
|
|
||||||
|
$_ = "$pwd/$file:$lineno:0: error: $unresolvedRefError";
|
||||||
|
} else {
|
||||||
|
$unresolvedRefError = undef;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m/^(Unresolved external .* referenced) in:/) {
|
||||||
|
$unresolvedRefError = $1;
|
||||||
|
$_ = "";
|
||||||
|
} elsif (m/^([^(]+)\(([0-9]+)\):(.*)$/) {
|
||||||
|
my $file = $1;
|
||||||
|
my $lineno = $2;
|
||||||
|
my $error = $3;
|
||||||
|
|
||||||
|
$_ = "$pwd/$file:$lineno:0: error: $error";
|
||||||
|
}
|
||||||
|
print STDERR "$_\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
unlink($filename);
|
||||||
|
|
||||||
|
exit($result);
|
|
@ -10,26 +10,61 @@
|
||||||
# http://www.quinndunki.com/blondihacks
|
# http://www.quinndunki.com/blondihacks
|
||||||
#
|
#
|
||||||
|
|
||||||
export CC65_HOME := /usr/local/lib/cc65
|
CC65_BIN=/usr/local/bin
|
||||||
|
|
||||||
CC65_BIN = /usr/local/bin
|
ifneq ($(wildcard /usr/local/lib/cc65),)
|
||||||
|
export CC65_HOME := /usr/local/lib/cc65
|
||||||
|
else
|
||||||
|
export CC65_HOME := /usr/local/share/cc65
|
||||||
|
endif
|
||||||
|
|
||||||
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
|
CO65=$(CC65_BIN)/co65
|
||||||
|
|
||||||
|
MERLIN_DIR=/usr/local
|
||||||
|
export MERLIN_BIN=$(MERLIN_DIR)/bin/Merlin32
|
||||||
|
export MERLIN_LIB=$(MERLIN_DIR)/lib/Merlin
|
||||||
|
MERLIN_ASM=make/merlin-asm
|
||||||
|
|
||||||
AC=make/AppleCommander.jar
|
AC=make/AppleCommander.jar
|
||||||
|
|
||||||
SRCDIRS=.
|
SRCDIRS=.
|
||||||
|
|
||||||
|
# Check for Xcode build variables for the locations of build outputs and fall back
|
||||||
|
# to the current directory if not set.
|
||||||
|
ifeq ($(OBJECT_FILE_DIR),)
|
||||||
|
OBJDIR=.
|
||||||
|
else
|
||||||
|
export OBJECT_FILE_DIR
|
||||||
|
OBJDIR=$(OBJECT_FILE_DIR)
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(DERIVED_SOURCES_DIR),)
|
||||||
|
GENDIR=.
|
||||||
|
else
|
||||||
|
export DERIVED_SOURCES_DIR
|
||||||
|
GENDIR=$(DERIVED_SOURCES_DIR)
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(TARGET_BUILD_DIR),)
|
||||||
|
TARGETDIR=.
|
||||||
|
else
|
||||||
|
export TARGET_BUILD_DIR
|
||||||
|
TARGETDIR=$(TARGET_BUILD_DIR)
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
MACHINE=apple2
|
MACHINE=apple2
|
||||||
CPU=6502
|
CPU=6502
|
||||||
CFLAGS=
|
CFLAGS=
|
||||||
ASMFLAGS=
|
ASMFLAGS=
|
||||||
LDFLAGS=
|
LDFLAGS=
|
||||||
DRIVERS=
|
DRIVERS=
|
||||||
DRVDIR=drivers
|
DRVDIR=$(GENDIR)/drivers
|
||||||
|
|
||||||
|
MKDIR=mkdir -p
|
||||||
|
|
||||||
XCODE_PATH=/Applications/Xcode.app
|
XCODE_PATH=/Applications/Xcode.app
|
||||||
XCODE_INFO=$(XCODE_PATH)/Contents/Info.plist
|
XCODE_INFO=$(XCODE_PATH)/Contents/Info.plist
|
||||||
|
|
|
@ -10,123 +10,208 @@
|
||||||
# http://www.quinndunki.com/blondihacks
|
# http://www.quinndunki.com/blondihacks
|
||||||
#
|
#
|
||||||
|
|
||||||
export PATH := $(PATH):$(CC65_BIN)
|
BUILD_TYPE := $(shell if echo $(MACHINE) | grep -q -- -basic; then echo basic; elif echo $(MACHINE) | grep -q -- -merlin; then echo merlin; else echo cc65; fi)
|
||||||
|
|
||||||
CWD=$(shell pwd)
|
CWD=$(shell pwd)
|
||||||
|
|
||||||
ifneq ($(DRIVERS),)
|
DISKIMAGE=$(TARGETDIR)/$(PGM).dsk
|
||||||
SRCDIRS+=$(DRVDIR)
|
|
||||||
endif
|
|
||||||
|
|
||||||
C_SRCS=$(patsubst ./%, %, $(wildcard $(addsuffix /*.c, $(SRCDIRS))))
|
|
||||||
C_OBJS=$(C_SRCS:.c=.o)
|
|
||||||
C_DEPS=$(C_SRCS:.c=.u)
|
|
||||||
|
|
||||||
ASM_SRCS=$(patsubst ./%, %, $(wildcard $(addsuffix /*.s, $(SRCDIRS))))
|
|
||||||
ASM_OBJS=$(ASM_SRCS:.s=.o)
|
|
||||||
ASM_LSTS=$(ASM_SRCS:.s=.lst)
|
|
||||||
|
|
||||||
OBJS=$(C_OBJS) $(ASM_OBJS)
|
|
||||||
|
|
||||||
MAPFILE=$(PGM).map
|
|
||||||
DISKIMAGE=$(PGM).dsk
|
|
||||||
|
|
||||||
LINK_ARGS=
|
|
||||||
|
|
||||||
EXECCMD=
|
EXECCMD=
|
||||||
|
|
||||||
ALLTARGET=$(DISKIMAGE)
|
vpath $(GENDIR)
|
||||||
|
|
||||||
ifneq ($(START_ADDR),)
|
BASIC_SRCS=$(patsubst $(GENDIR)/%, %, $(patsubst ./%, %, $(wildcard $(addsuffix /*.bas, $(SRCDIRS)))))
|
||||||
# If the MACHINE is set to an option which does not support a variable start
|
BASIC_OBJS=$(patsubst %.bas, $(TARGETDIR)/%.tok, $(BASIC_SRCS))
|
||||||
# address, then error.
|
|
||||||
|
ifeq ($(BUILD_TYPE),cc65)
|
||||||
|
export PATH := $(PATH):$(CC65_BIN)
|
||||||
|
|
||||||
|
# By default, use the a2 drivers. If the machine is one of the enhanced
|
||||||
|
# targets though, use the a2e drivers.
|
||||||
|
DRV_BASE_MACHINE=a2
|
||||||
|
BASE_MACHINE = apple2
|
||||||
|
ifneq ($(filter $(MACHINE), apple2enh apple2enh-dos33 apple2enh-system apple2enh-loader apple2enh-reboot),)
|
||||||
|
DRV_BASE_MACHINE=a2e
|
||||||
|
BASE_MACHINE = apple2enh
|
||||||
|
endif
|
||||||
|
|
||||||
|
export CC65_SUPPORTS_APPLE_SINGLE=1
|
||||||
|
CC65_CREATE_DEP_ARG=--create-dep $(@:.o=.u)
|
||||||
|
CC65_LIST_ARG=-l $(@:.o=.lst)
|
||||||
|
CC65_DRV_DIR=$(CC65_HOME)/target/$(BASE_MACHINE)/drv
|
||||||
|
|
||||||
|
MACHCONFIG= -t $(BASE_MACHINE)
|
||||||
ifneq ($(filter $(MACHINE), apple2-system apple2enh-system),)
|
ifneq ($(filter $(MACHINE), apple2-system apple2enh-system),)
|
||||||
$(error You cannot change start address with this machine type)
|
MACHCONFIG += -C $(BASE_MACHINE)-system.cfg
|
||||||
|
else
|
||||||
|
ifeq ($(PROJECT_TYPE),ca65)
|
||||||
|
MACHCONFIG += -C $(BASE_MACHINE)-asm.cfg
|
||||||
|
LDFLAGS += -u __EXEHDR__
|
||||||
|
else
|
||||||
|
MACHCONFIG += -C $(BASE_MACHINE).cfg
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
CFLAGS+=-I $(GENDIR)
|
||||||
|
ifneq ($(DRIVERS),)
|
||||||
|
SRCDIRS+=$(DRVDIR)
|
||||||
|
endif
|
||||||
|
|
||||||
|
C_SRCS=$(patsubst $(GENDIR)/%, %, $(patsubst ./%, %, $(wildcard $(addsuffix /*.c, $(SRCDIRS)))))
|
||||||
|
C_OBJS=$(patsubst %.c, $(OBJDIR)/%.o, $(C_SRCS))
|
||||||
|
C_DEPS=$(patsubst %.c, $(OBJDIR)/%.u, $(C_SRCS))
|
||||||
|
|
||||||
|
ASM_SRCS=$(patsubst $(GENDIR)/%, %, $(patsubst ./%, %, $(wildcard $(addsuffix /*.s, $(SRCDIRS)))))
|
||||||
|
ASM_OBJS=$(patsubst %.s, $(OBJDIR)/%.o, $(ASM_SRCS))
|
||||||
|
ASM_LSTS=$(patsubst %.s, $(OBJDIR)/%.lst, $(ASM_SRCS))
|
||||||
|
|
||||||
|
MAPFILE=$(TARGETDIR)/$(PGM).map
|
||||||
|
|
||||||
|
ifneq ($(START_ADDR),)
|
||||||
|
# If the MACHINE is set to an option which does not support a variable
|
||||||
|
# start address, then error.
|
||||||
|
ifneq ($(filter $(MACHINE), apple2-system apple2enh-system),)
|
||||||
|
$(error You cannot change start address with this machine type)
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
# If not set, then use the default for the config as per cc65
|
||||||
|
# documentation
|
||||||
|
ifneq ($(filter $(MACHINE), apple2 apple2-dos33 apple2enh apple2enh-dos33),)
|
||||||
|
START_ADDR=803
|
||||||
|
endif
|
||||||
|
ifneq ($(filter $(MACHINE), apple2-system apple2enh-system),)
|
||||||
|
START_ADDR=2000
|
||||||
|
endif
|
||||||
|
ifneq ($(filter $(MACHINE), apple2-loader apple2-reboot apple2enh-loader apple2enh-reboot),)
|
||||||
|
START_ADDR=800
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
LDFLAGS += --start-addr 0x$(START_ADDR)
|
||||||
|
|
||||||
|
ifneq ($(filter $(MACHINE), apple2 apple2enh apple2-dos33 apple2enh-dos33),)
|
||||||
|
EXECCMD=$(shell echo brun $(PGM) | tr '[a-z]' '[A-Z]')
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
# If not set, then use the default for the config as per cc65 documentation
|
C_OBJS=
|
||||||
ifneq ($(filter $(MACHINE), apple2 apple2-dos33 apple2enh apple2enh-dos33),)
|
C_DEPS=
|
||||||
START_ADDR=803
|
|
||||||
endif
|
|
||||||
ifneq ($(filter $(MACHINE), apple2-system apple2enh-system),)
|
|
||||||
START_ADDR=2000
|
|
||||||
endif
|
|
||||||
ifneq ($(filter $(MACHINE), apple2-loader apple2-reboot apple2enh-loader apple2enh-reboot),)
|
|
||||||
START_ADDR=800
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
LDFLAGS += --start-addr 0x$(START_ADDR)
|
|
||||||
|
|
||||||
ifneq ($(filter $(MACHINE), apple2 apple2enh apple2-dos33 apple2enh-dos33),)
|
ASM_OBJS=
|
||||||
|
ASM_LSTS=
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(BUILD_TYPE),merlin)
|
||||||
|
ASM_SRCS=$(patsubst ./%, %, $(wildcard $(addsuffix /*.s, $(SRCDIRS))))
|
||||||
|
MAPFILE=$(TARGETDIR)/_Output.txt
|
||||||
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
|
ifeq ($(BUILD_TYPE),basic)
|
||||||
# targets though, use the a2e drivers.
|
MAPFILE=
|
||||||
DRV_BASE_MACHINE=a2
|
EXECCMD=$(shell echo run $(PGM) | tr '[a-z]' '[A-Z]')
|
||||||
ifneq ($(filter $(MACHINE), apple2enh apple2enh-dos33 apple2enh-system apple2enh-loader apple2enh-reboot),)
|
|
||||||
DRV_BASE_MACHINE=a2e
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
MACHCONFIG= -t apple2
|
OBJS=$(C_OBJS) $(ASM_OBJS)
|
||||||
|
|
||||||
ifneq ($(filter $(MACHINE), apple2enh apple2apple2enh-dos33 apple2enh-system apple2enh-loader apple2enh-reboot),)
|
ALLTARGET=$(DISKIMAGE)
|
||||||
MACHCONFIG= -t apple2enh
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(filter $(MACHINE), apple2 apple2enh),)
|
|
||||||
MACHCONFIG += -C $(MACHINE).cfg
|
|
||||||
endif
|
|
||||||
|
|
||||||
.PHONY: build execute clean xcodefix loresgr hiresgr auxmem joystick mouse serial
|
.PHONY: build execute clean cleandrivers xcodefix
|
||||||
|
|
||||||
build: $(ALLTARGET)
|
build: $(ALLTARGET)
|
||||||
|
|
||||||
clean: genclean
|
$(DISKIMAGE): $(TARGETDIR)/$(PGM) $(BASIC_OBJS)
|
||||||
rm -f "$(PGM)"
|
make/createDiskImage $(AC) $(MACHINE) "$(DISKIMAGE)" "$(TARGETDIR)/$(PGM)" "$(START_ADDR)" $(BASIC_OBJS) $(COPYDIRS)
|
||||||
rm -f $(OBJS)
|
|
||||||
rm -f $(C_DEPS)
|
execute: $(DISKIMAGE)
|
||||||
rm -f $(MAPFILE)
|
osascript make/V2Make.scpt "$(TARGETDIR)" "$(PGM)" "$(CWD)/make/DevApple.vii" "$(EXECCMD)"
|
||||||
rm -f $(ASM_LSTS)
|
|
||||||
rm -f "$(DISKIMAGE)"
|
$(TARGETDIR)/%.tok: %.bas
|
||||||
|
$(MKDIR) `dirname $@`
|
||||||
|
make/bt $< $(BASICFLAGS) -o $@
|
||||||
|
|
||||||
|
ifneq ($(DRIVERS),)
|
||||||
|
cleandrivers:
|
||||||
rm -Rf "$(DRVDIR)"
|
rm -Rf "$(DRVDIR)"
|
||||||
|
|
||||||
|
else
|
||||||
|
cleandrivers:
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
clean: genclean cleandrivers
|
||||||
|
rm -f "$(TARGETDIR)/$(PGM)" $(OBJS) $(BASIC_OBJS) $(C_DEPS) $(MAPFILE) $(ASM_LSTS) "$(DISKIMAGE)"
|
||||||
|
|
||||||
cleanMacCruft:
|
cleanMacCruft:
|
||||||
rm -rf pkg
|
rm -rf pkg
|
||||||
|
|
||||||
$(PGM): $(OBJS)
|
|
||||||
$(CL65) $(MACHCONFIG) --mapfile $(MAPFILE) $(LDFLAGS) -o "$(PGM)" $(OBJS)
|
|
||||||
|
|
||||||
$(DISKIMAGE): $(PGM)
|
|
||||||
make/createDiskImage $(AC) $(MACHINE) "$(DISKIMAGE)" "$(PGM)" "$(START_ADDR)" $(COPYDIRS)
|
|
||||||
|
|
||||||
execute: $(DISKIMAGE)
|
|
||||||
osascript make/V2Make.scpt "$(CWD)" "$(PGM)" "$(CWD)/make/DevApple.vii" "$(EXECCMD)"
|
|
||||||
|
|
||||||
%.o: %.c
|
|
||||||
$(CL65) $(MACHCONFIG) $(CFLAGS) --create-dep -c -o $@ $<
|
|
||||||
sed -i .bak 's/\.s:/.o:/' $(@:.o=.u)
|
|
||||||
rm -f $(@:.o=.u).bak
|
|
||||||
|
|
||||||
%.o: %.s
|
|
||||||
$(CL65) $(MACHCONFIG) --cpu $(CPU) $(ASMFLAGS) -l -c -o $@ $<
|
|
||||||
|
|
||||||
$(OBJS): Makefile
|
|
||||||
|
|
||||||
|
|
||||||
# Some gen phase stuff...
|
# Some gen phase stuff...
|
||||||
gen: xcodefix $(DRIVERS)
|
gen: xcodefix $(DRIVERS)
|
||||||
|
|
||||||
xcodefix:
|
xcodefix:
|
||||||
defaults write "$(CC65_PLUGIN_INFO)" $(XCODE_PLUGIN_COMPATIBILITY)s -array `defaults read "$(XCODE_INFO)" $(XCODE_PLUGIN_COMPATIBILITY)`
|
defaults write "$(CC65_PLUGIN_INFO)" $(XCODE_PLUGIN_COMPATIBILITY)s -array `defaults read "$(XCODE_INFO)" $(XCODE_PLUGIN_COMPATIBILITY)` || true
|
||||||
|
|
||||||
|
|
||||||
|
ifeq ($(BUILD_TYPE),basic)
|
||||||
|
# Build rules for BASIC projects
|
||||||
|
|
||||||
|
$(TARGETDIR)/$(PGM): $(BASIC_OBJS)
|
||||||
|
cp $(TARGETDIR)/$(PGM).tok $(TARGETDIR)/$(PGM)
|
||||||
|
|
||||||
|
$(BASIC_OBJS): Makefile
|
||||||
|
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
ifeq ($(BUILD_TYPE),merlin)
|
||||||
|
# Build rules for Merlin projects
|
||||||
|
|
||||||
|
$(TARGETDIR)/$(PGM): $(ASM_SRCS) Makefile
|
||||||
|
$(MKDIR) $(TARGETDIR)
|
||||||
|
rm -f $(TARGETDIR)/$(PGM)
|
||||||
|
$(MERLIN_ASM) linkscript.s $(PGM) $(TARGETDIR)/$(PGM)
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
ifeq ($(BUILD_TYPE),cc65)
|
||||||
|
# Build rules for cc65 projects
|
||||||
|
|
||||||
|
$(TARGETDIR)/$(PGM): $(OBJS)
|
||||||
|
$(MKDIR) `dirname $@`
|
||||||
|
make/errorFilter.sh $(CL65) $(MACHCONFIG) --mapfile $(MAPFILE) $(LDFLAGS) -o "$(TARGETDIR)/$(PGM)" $(OBJS)
|
||||||
|
|
||||||
|
$(OBJS): Makefile
|
||||||
|
|
||||||
|
$(OBJDIR)/%.o: %.c
|
||||||
|
$(MKDIR) `dirname $@`
|
||||||
|
make/errorFilter.sh $(CL65) $(MACHCONFIG) $(CFLAGS) $(CC65_CREATE_DEP_ARG) -c -o $@ $<
|
||||||
|
sed -i .bak 's/\.s:/.o:/' $(@:.o=.u)
|
||||||
|
rm -f $(@:.o=.u).bak
|
||||||
|
|
||||||
|
$(OBJDIR)/%.o: $(GENDIR)/%.c
|
||||||
|
$(MKDIR) `dirname $@`
|
||||||
|
make/errorFilter.sh $(CL65) $(MACHCONFIG) $(CFLAGS) $(CC65_CREATE_DEP_ARG) -c -o $@ $<
|
||||||
|
sed -i .bak 's/\.s:/.o:/' $(@:.o=.u)
|
||||||
|
rm -f $(@:.o=.u).bak
|
||||||
|
|
||||||
|
$(OBJDIR)/%.o: %.s
|
||||||
|
$(MKDIR) `dirname $@`
|
||||||
|
make/errorFilter.sh $(CL65) $(MACHCONFIG) --cpu $(CPU) $(ASMFLAGS) $(CC65_LIST_ARG) -c -o $@ $<
|
||||||
|
|
||||||
|
$(OBJDIR)/%.o: $(GENDIR)/%.s
|
||||||
|
$(MKDIR) `dirname $@`
|
||||||
|
make/errorFilter.sh $(CL65) $(MACHCONFIG) --cpu $(CPU) $(ASMFLAGS) $(CC65_LIST_ARG) -c -o $@ $<
|
||||||
|
|
||||||
|
|
||||||
|
.PHONY: loresgr hiresgr auxmem joystick mouse serial
|
||||||
# Lores driver codegen
|
# Lores driver codegen
|
||||||
loresgr: $(DRVDIR)/a2_lores_drv.s $(DRVDIR)/a2_lores_drv.h
|
loresgr: $(DRVDIR)/a2_lores_drv.s $(DRVDIR)/a2_lores_drv.h
|
||||||
|
|
||||||
$(DRVDIR)/a2_lores_drv.s: $(CC65_HOME)/tgi/$(DRV_BASE_MACHINE).lo.tgi
|
$(DRVDIR)/a2_lores_drv.s: $(CC65_DRV_DIR)/tgi/$(DRV_BASE_MACHINE).lo.tgi
|
||||||
mkdir -p $(DRVDIR)
|
mkdir -p $(DRVDIR)
|
||||||
$(CO65) --code-label _a2_lores_drv -o $@ $(CC65_HOME)/tgi/$(DRV_BASE_MACHINE).lo.tgi
|
$(CO65) --code-label _a2_lores_drv -o $@ $(CC65_DRV_DIR)/tgi/$(DRV_BASE_MACHINE).lo.tgi
|
||||||
|
|
||||||
$(DRVDIR)/a2_lores_drv.h:
|
$(DRVDIR)/a2_lores_drv.h:
|
||||||
mkdir -p $(DRVDIR)
|
mkdir -p $(DRVDIR)
|
||||||
|
@ -137,9 +222,9 @@ $(DRVDIR)/a2_lores_drv.h:
|
||||||
# Hires driver codegen
|
# Hires driver codegen
|
||||||
hiresgr: $(DRVDIR)/a2_hires_drv.s $(DRVDIR)/a2_hires_drv.h
|
hiresgr: $(DRVDIR)/a2_hires_drv.s $(DRVDIR)/a2_hires_drv.h
|
||||||
|
|
||||||
$(DRVDIR)/a2_hires_drv.s: $(CC65_HOME)/tgi/$(DRV_BASE_MACHINE).hi.tgi
|
$(DRVDIR)/a2_hires_drv.s: $(CC65_DRV_DIR)/tgi/$(DRV_BASE_MACHINE).hi.tgi
|
||||||
mkdir -p $(DRVDIR)
|
mkdir -p $(DRVDIR)
|
||||||
$(CO65) --code-label _a2_hires_drv -o $@ $(CC65_HOME)/tgi/$(DRV_BASE_MACHINE).hi.tgi
|
$(CO65) --code-label _a2_hires_drv -o $@ $(CC65_DRV_DIR)/tgi/$(DRV_BASE_MACHINE).hi.tgi
|
||||||
|
|
||||||
$(DRVDIR)/a2_hires_drv.h:
|
$(DRVDIR)/a2_hires_drv.h:
|
||||||
mkdir -p $(DRVDIR)
|
mkdir -p $(DRVDIR)
|
||||||
|
@ -150,9 +235,9 @@ $(DRVDIR)/a2_hires_drv.h:
|
||||||
# Auxmem driver codegen
|
# Auxmem driver codegen
|
||||||
auxmem: $(DRVDIR)/a2_auxmem_drv.s $(DRVDIR)/a2_auxmem_drv.h
|
auxmem: $(DRVDIR)/a2_auxmem_drv.s $(DRVDIR)/a2_auxmem_drv.h
|
||||||
|
|
||||||
$(DRVDIR)/a2_auxmem_drv.s: $(CC65_HOME)/emd/$(DRV_BASE_MACHINE).auxmem.emd
|
$(DRVDIR)/a2_auxmem_drv.s: $(CC65_DRV_DIR)/emd/$(DRV_BASE_MACHINE).auxmem.emd
|
||||||
mkdir -p $(DRVDIR)
|
mkdir -p $(DRVDIR)
|
||||||
$(CO65) --code-label _a2_auxmem_drv -o $@ $(CC65_HOME)/emd/$(DRV_BASE_MACHINE).auxmem.emd
|
$(CO65) --code-label _a2_auxmem_drv -o $@ $(CC65_DRV_DIR)/emd/$(DRV_BASE_MACHINE).auxmem.emd
|
||||||
|
|
||||||
$(DRVDIR)/a2_auxmem_drv.h:
|
$(DRVDIR)/a2_auxmem_drv.h:
|
||||||
mkdir -p $(DRVDIR)
|
mkdir -p $(DRVDIR)
|
||||||
|
@ -163,9 +248,9 @@ $(DRVDIR)/a2_auxmem_drv.h:
|
||||||
# Joystick driver codegen
|
# Joystick driver codegen
|
||||||
joystick: $(DRVDIR)/a2_joystick_drv.s $(DRVDIR)/a2_joystick_drv.h
|
joystick: $(DRVDIR)/a2_joystick_drv.s $(DRVDIR)/a2_joystick_drv.h
|
||||||
|
|
||||||
$(DRVDIR)/a2_joystick_drv.s: $(CC65_HOME)/joy/$(DRV_BASE_MACHINE).stdjoy.joy
|
$(DRVDIR)/a2_joystick_drv.s: $(CC65_DRV_DIR)/joy/$(DRV_BASE_MACHINE).stdjoy.joy
|
||||||
mkdir -p $(DRVDIR)
|
mkdir -p $(DRVDIR)
|
||||||
$(CO65) --code-label _a2_joystick_drv -o $@ $(CC65_HOME)/joy/$(DRV_BASE_MACHINE).stdjoy.joy
|
$(CO65) --code-label _a2_joystick_drv -o $@ $(CC65_DRV_DIR)/joy/$(DRV_BASE_MACHINE).stdjoy.joy
|
||||||
|
|
||||||
$(DRVDIR)/a2_joystick_drv.h:
|
$(DRVDIR)/a2_joystick_drv.h:
|
||||||
mkdir -p $(DRVDIR)
|
mkdir -p $(DRVDIR)
|
||||||
|
@ -176,9 +261,9 @@ $(DRVDIR)/a2_joystick_drv.h:
|
||||||
# Mouse driver codegen
|
# Mouse driver codegen
|
||||||
mouse: $(DRVDIR)/a2_mouse_drv.s $(DRVDIR)/a2_mouse_drv.h
|
mouse: $(DRVDIR)/a2_mouse_drv.s $(DRVDIR)/a2_mouse_drv.h
|
||||||
|
|
||||||
$(DRVDIR)/a2_mouse_drv.s: $(CC65_HOME)/mou/$(DRV_BASE_MACHINE).stdmou.mou
|
$(DRVDIR)/a2_mouse_drv.s: $(CC65_DRV_DIR)/mou/$(DRV_BASE_MACHINE).stdmou.mou
|
||||||
mkdir -p $(DRVDIR)
|
mkdir -p $(DRVDIR)
|
||||||
$(CO65) --code-label _a2_mouse_drv -o $@ $(CC65_HOME)/mou/$(DRV_BASE_MACHINE).stdmou.mou
|
$(CO65) --code-label _a2_mouse_drv -o $@ $(CC65_DRV_DIR)/mou/$(DRV_BASE_MACHINE).stdmou.mou
|
||||||
|
|
||||||
$(DRVDIR)/a2_mouse_drv.h:
|
$(DRVDIR)/a2_mouse_drv.h:
|
||||||
mkdir -p $(DRVDIR)
|
mkdir -p $(DRVDIR)
|
||||||
|
@ -189,14 +274,16 @@ $(DRVDIR)/a2_mouse_drv.h:
|
||||||
# Serial driver codegen
|
# Serial driver codegen
|
||||||
serial: $(DRVDIR)/a2_serial_drv.s $(DRVDIR)/a2_serial_drv.h
|
serial: $(DRVDIR)/a2_serial_drv.s $(DRVDIR)/a2_serial_drv.h
|
||||||
|
|
||||||
$(DRVDIR)/a2_serial_drv.s: $(CC65_HOME)/ser/$(DRV_BASE_MACHINE).ssc.ser
|
$(DRVDIR)/a2_serial_drv.s: $(CC65_DRV_DIR)/ser/$(DRV_BASE_MACHINE).ssc.ser
|
||||||
mkdir -p $(DRVDIR)
|
mkdir -p $(DRVDIR)
|
||||||
$(CO65) --code-label _a2_serial_drv -o $@ $(CC65_HOME)/ser/$(DRV_BASE_MACHINE).ssc.ser
|
$(CO65) --code-label _a2_serial_drv -o $@ $(CC65_DRV_DIR)/ser/$(DRV_BASE_MACHINE).ssc.ser
|
||||||
|
|
||||||
$(DRVDIR)/a2_serial_drv.h:
|
$(DRVDIR)/a2_serial_drv.h:
|
||||||
mkdir -p $(DRVDIR)
|
mkdir -p $(DRVDIR)
|
||||||
echo '#include <serial.h>' > $@
|
echo '#include <serial.h>' > $@
|
||||||
echo 'extern char a2_serial_drv;' >> $@
|
echo 'extern char a2_serial_drv;' >> $@
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
-include $(C_DEPS)
|
-include $(C_DEPS)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user