mirror of
https://github.com/jeremysrand/Apple2BuildPipeline.git
synced 2024-12-04 20:49:21 +00:00
- Initial commit
This commit is contained in:
parent
d4b9e1f990
commit
0c5b2cdaf4
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
/AssemblyTest.xcodeproj/xcuserdata/
|
||||||
|
|
||||||
|
/AssemblyTest.xcodeproj/project.xcworkspace/xcuserdata/
|
BIN
AppleCommander.jar
Normal file
BIN
AppleCommander.jar
Normal file
Binary file not shown.
188
AssemblyTest.xcodeproj/project.pbxproj
Normal file
188
AssemblyTest.xcodeproj/project.pbxproj
Normal file
@ -0,0 +1,188 @@
|
|||||||
|
// !$*UTF8*$!
|
||||||
|
{
|
||||||
|
archiveVersion = 1;
|
||||||
|
classes = {
|
||||||
|
};
|
||||||
|
objectVersion = 46;
|
||||||
|
objects = {
|
||||||
|
|
||||||
|
/* Begin PBXFileReference section */
|
||||||
|
70D435A4199EE3A2001BFD9B /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
|
||||||
|
70D435A5199EE47A001BFD9B /* x.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = x.s; sourceTree = "<group>"; };
|
||||||
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
|
/* Begin PBXGroup section */
|
||||||
|
70D43599199EE38E001BFD9B = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
70D435A4199EE3A2001BFD9B /* Makefile */,
|
||||||
|
70D435A5199EE47A001BFD9B /* x.s */,
|
||||||
|
);
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
/* End PBXGroup section */
|
||||||
|
|
||||||
|
/* Begin PBXLegacyTarget section */
|
||||||
|
70D4359E199EE38E001BFD9B /* AssemblyTest */ = {
|
||||||
|
isa = PBXLegacyTarget;
|
||||||
|
buildArgumentsString = "$(ACTION)";
|
||||||
|
buildConfigurationList = 70D435A1199EE38E001BFD9B /* Build configuration list for PBXLegacyTarget "AssemblyTest" */;
|
||||||
|
buildPhases = (
|
||||||
|
);
|
||||||
|
buildToolPath = /usr/bin/make;
|
||||||
|
dependencies = (
|
||||||
|
);
|
||||||
|
name = AssemblyTest;
|
||||||
|
passBuildSettingsInEnvironment = 1;
|
||||||
|
productName = AssemblyTest;
|
||||||
|
};
|
||||||
|
/* End PBXLegacyTarget section */
|
||||||
|
|
||||||
|
/* Begin PBXProject section */
|
||||||
|
70D4359A199EE38E001BFD9B /* Project object */ = {
|
||||||
|
isa = PBXProject;
|
||||||
|
attributes = {
|
||||||
|
LastUpgradeCheck = 0600;
|
||||||
|
ORGANIZATIONNAME = "One Girl, One Laptop Productions";
|
||||||
|
TargetAttributes = {
|
||||||
|
70D4359E199EE38E001BFD9B = {
|
||||||
|
CreatedOnToolsVersion = 6.0;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
buildConfigurationList = 70D4359D199EE38E001BFD9B /* Build configuration list for PBXProject "AssemblyTest" */;
|
||||||
|
compatibilityVersion = "Xcode 3.2";
|
||||||
|
developmentRegion = English;
|
||||||
|
hasScannedForEncodings = 0;
|
||||||
|
knownRegions = (
|
||||||
|
en,
|
||||||
|
);
|
||||||
|
mainGroup = 70D43599199EE38E001BFD9B;
|
||||||
|
projectDirPath = "";
|
||||||
|
projectRoot = "";
|
||||||
|
targets = (
|
||||||
|
70D4359E199EE38E001BFD9B /* AssemblyTest */,
|
||||||
|
);
|
||||||
|
};
|
||||||
|
/* End PBXProject section */
|
||||||
|
|
||||||
|
/* Begin XCBuildConfiguration section */
|
||||||
|
70D4359F199EE38E001BFD9B /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||||
|
CLANG_CXX_LIBRARY = "libc++";
|
||||||
|
CLANG_ENABLE_MODULES = YES;
|
||||||
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||||
|
CLANG_WARN_EMPTY_BODY = YES;
|
||||||
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||||
|
CLANG_WARN_INT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||||
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||||
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||||
|
COPY_PHASE_STRIP = NO;
|
||||||
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||||
|
GCC_DYNAMIC_NO_PIC = NO;
|
||||||
|
GCC_OPTIMIZATION_LEVEL = 0;
|
||||||
|
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||||
|
"DEBUG=1",
|
||||||
|
"$(inherited)",
|
||||||
|
);
|
||||||
|
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||||
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
|
MACOSX_DEPLOYMENT_TARGET = 10.10;
|
||||||
|
MTL_ENABLE_DEBUG_INFO = YES;
|
||||||
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
|
SDKROOT = macosx;
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
70D435A0199EE38E001BFD9B /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||||
|
CLANG_CXX_LIBRARY = "libc++";
|
||||||
|
CLANG_ENABLE_MODULES = YES;
|
||||||
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||||
|
CLANG_WARN_EMPTY_BODY = YES;
|
||||||
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||||
|
CLANG_WARN_INT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||||
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||||
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||||
|
COPY_PHASE_STRIP = YES;
|
||||||
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||||
|
ENABLE_NS_ASSERTIONS = NO;
|
||||||
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||||
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
|
MACOSX_DEPLOYMENT_TARGET = 10.10;
|
||||||
|
MTL_ENABLE_DEBUG_INFO = NO;
|
||||||
|
SDKROOT = macosx;
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
|
70D435A2199EE38E001BFD9B /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
DEBUGGING_SYMBOLS = YES;
|
||||||
|
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
|
||||||
|
GCC_OPTIMIZATION_LEVEL = 0;
|
||||||
|
OTHER_CFLAGS = "";
|
||||||
|
OTHER_LDFLAGS = "";
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
70D435A3199EE38E001BFD9B /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
OTHER_CFLAGS = "";
|
||||||
|
OTHER_LDFLAGS = "";
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
|
/* End XCBuildConfiguration section */
|
||||||
|
|
||||||
|
/* Begin XCConfigurationList section */
|
||||||
|
70D4359D199EE38E001BFD9B /* Build configuration list for PBXProject "AssemblyTest" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
70D4359F199EE38E001BFD9B /* Debug */,
|
||||||
|
70D435A0199EE38E001BFD9B /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
|
70D435A1199EE38E001BFD9B /* Build configuration list for PBXLegacyTarget "AssemblyTest" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
70D435A2199EE38E001BFD9B /* Debug */,
|
||||||
|
70D435A3199EE38E001BFD9B /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
};
|
||||||
|
/* End XCConfigurationList section */
|
||||||
|
};
|
||||||
|
rootObject = 70D4359A199EE38E001BFD9B /* Project object */;
|
||||||
|
}
|
7
AssemblyTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
Normal file
7
AssemblyTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Workspace
|
||||||
|
version = "1.0">
|
||||||
|
<FileRef
|
||||||
|
location = "self:AssemblyTest.xcodeproj">
|
||||||
|
</FileRef>
|
||||||
|
</Workspace>
|
39
Makefile
Normal file
39
Makefile
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
#
|
||||||
|
# Makefile
|
||||||
|
# AssemblyTest
|
||||||
|
#
|
||||||
|
# Part of a sample build pipeline for Apple ][ software development
|
||||||
|
#
|
||||||
|
# Created by Quinn Dunki on 8/15/14.
|
||||||
|
# One Girl, One Laptop Productions
|
||||||
|
# http://www.quinndunki.com
|
||||||
|
# http://www.quinndunki.com/blondihacks
|
||||||
|
#
|
||||||
|
|
||||||
|
CL65=cl65
|
||||||
|
|
||||||
|
# You may need to change this to where your AppleCommander is installed:
|
||||||
|
AC=AppleCommander.jar
|
||||||
|
|
||||||
|
# Change this to your desired starting address in Apple ][ memory:
|
||||||
|
ADDR=6000
|
||||||
|
|
||||||
|
# Put the name of your sourcefile here:
|
||||||
|
PGM=x
|
||||||
|
|
||||||
|
all: $(PGM)
|
||||||
|
|
||||||
|
install: $(PGM)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f $(PGM)
|
||||||
|
rm -f $(PGM).o
|
||||||
|
rm -f $(PGM).lst
|
||||||
|
|
||||||
|
$(PGM):
|
||||||
|
@PATH=$(PATH):/usr/local/bin; $(CL65) -t apple2enh -l$(PGM).lst --start-addr $(ADDR) $(PGM).s
|
||||||
|
java -jar $(AC) -d $(PGM).dsk $(PGM)
|
||||||
|
java -jar $(AC) -p $(PGM).dsk $(PGM) BIN 0x$(ADDR) < $(PGM)
|
||||||
|
rm -f $(PGM)
|
||||||
|
rm -f $(PGM).o
|
||||||
|
osascript V2Make.scpt $(PROJECT_DIR) $(PGM)
|
@ -2,3 +2,8 @@ Apple2BuildPipeline
|
|||||||
===================
|
===================
|
||||||
|
|
||||||
A build pipeline (with sample project) for making Apple ][ software on OS X.
|
A build pipeline (with sample project) for making Apple ][ software on OS X.
|
||||||
|
|
||||||
|
If you have Virtual ][ installed and running, just hit Cmd-B in Xcode to see this pipeline in action.
|
||||||
|
|
||||||
|
For complete instructions and information on how it works, go to:
|
||||||
|
http://quinndunki.com/blondihacks/?p=1904
|
||||||
|
BIN
V2Make.scpt
Normal file
BIN
V2Make.scpt
Normal file
Binary file not shown.
46
x.s
Normal file
46
x.s
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
;
|
||||||
|
; x.s
|
||||||
|
; AssemblyTest
|
||||||
|
;
|
||||||
|
; Part of a sample build pipeline for Apple ][ software development
|
||||||
|
;
|
||||||
|
; Created by Quinn Dunki on 8/15/14.
|
||||||
|
; One Girl, One Laptop Productions
|
||||||
|
; http://www.quinndunki.com
|
||||||
|
; http://www.quinndunki.com/blondihacks
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
.org $6000
|
||||||
|
|
||||||
|
; Reserved locations
|
||||||
|
|
||||||
|
INVERSE = $32
|
||||||
|
|
||||||
|
|
||||||
|
; Constants
|
||||||
|
|
||||||
|
CHAR_NORMAL = $ff
|
||||||
|
CHAR_INVERSE = $3f
|
||||||
|
CHAR_FLASH = $7f
|
||||||
|
|
||||||
|
|
||||||
|
; ROM entry points
|
||||||
|
|
||||||
|
COUT = $fded
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; Main
|
||||||
|
|
||||||
|
main:
|
||||||
|
lda #CHAR_FLASH
|
||||||
|
sta INVERSE
|
||||||
|
|
||||||
|
loop:
|
||||||
|
lda #'X' + $80
|
||||||
|
jsr COUT
|
||||||
|
jmp loop ; OMG so many Xs
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user