diff --git a/CurtaSim.xcodeproj/project.pbxproj b/CurtaSim.xcodeproj/project.pbxproj index 8722517..d5623e6 100644 --- a/CurtaSim.xcodeproj/project.pbxproj +++ b/CurtaSim.xcodeproj/project.pbxproj @@ -7,40 +7,72 @@ objects = { /* Begin PBXFileReference section */ - 70E84C2E19B10B3100159159 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = ""; }; - 9D667FA119BFF5BC00717163 /* a2e.hi.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = a2e.hi.s; sourceTree = ""; }; - 9D667FA219BFF5BC00717163 /* curta.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = curta.c; sourceTree = ""; }; - 9D667FA319BFF5BC00717163 /* curtaModel.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = curtaModel.c; sourceTree = ""; }; - 9D667FA419BFF5BC00717163 /* curtaModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = curtaModel.h; sourceTree = ""; }; - 9D667FA519BFF5BC00717163 /* curtaUI.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = curtaUI.c; sourceTree = ""; }; - 9D667FA619BFF5BC00717163 /* curtaUI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = curtaUI.h; sourceTree = ""; }; - 9D667FA719BFF5BC00717163 /* joystick.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = joystick.c; sourceTree = ""; }; - 9D667FA819BFF5BC00717163 /* joystick.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = joystick.h; sourceTree = ""; }; + 9D02B4DA1A1C5ADC002799E3 /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = ""; }; + 9D02B4DC1A1C5ADC002799E3 /* AppleCommander.jar */ = {isa = PBXFileReference; lastKnownFileType = archive.jar; name = AppleCommander.jar; path = make/AppleCommander.jar; sourceTree = ""; }; + 9D02B4DD1A1C5ADC002799E3 /* createDiskImage */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = createDiskImage; path = make/createDiskImage; sourceTree = ""; }; + 9D02B4DE1A1C5ADC002799E3 /* DevApple.vii */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; name = DevApple.vii; path = make/DevApple.vii; sourceTree = ""; }; + 9D02B4DF1A1C5ADC002799E3 /* dos33_template.dsk */ = {isa = PBXFileReference; lastKnownFileType = file; name = dos33_template.dsk; path = make/dos33_template.dsk; sourceTree = ""; }; + 9D02B4E01A1C5ADC002799E3 /* head.mk */ = {isa = PBXFileReference; lastKnownFileType = text; name = head.mk; path = make/head.mk; sourceTree = ""; }; + 9D02B4E11A1C5ADC002799E3 /* prodos_template.dsk */ = {isa = PBXFileReference; lastKnownFileType = file; name = prodos_template.dsk; path = make/prodos_template.dsk; sourceTree = ""; }; + 9D02B4E21A1C5ADC002799E3 /* tail.mk */ = {isa = PBXFileReference; lastKnownFileType = text; name = tail.mk; path = make/tail.mk; sourceTree = ""; }; + 9D02B4E31A1C5ADC002799E3 /* V2Make.scpt */ = {isa = PBXFileReference; lastKnownFileType = file; name = V2Make.scpt; path = make/V2Make.scpt; sourceTree = ""; }; + 9D02B4E91A1C5B62002799E3 /* a2e.hi.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = a2e.hi.s; sourceTree = ""; }; + 9D02B4EA1A1C5B62002799E3 /* curta.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = curta.c; sourceTree = ""; }; + 9D02B4EB1A1C5B62002799E3 /* curtaModel.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = curtaModel.c; sourceTree = ""; }; + 9D02B4EC1A1C5B62002799E3 /* curtaModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = curtaModel.h; sourceTree = ""; }; + 9D02B4ED1A1C5B62002799E3 /* curtaUI.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = curtaUI.c; sourceTree = ""; }; + 9D02B4EE1A1C5B62002799E3 /* curtaUI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = curtaUI.h; sourceTree = ""; }; + 9D02B4EF1A1C5B62002799E3 /* joystick.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = joystick.c; sourceTree = ""; }; + 9D02B4F01A1C5B62002799E3 /* joystick.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = joystick.h; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXGroup section */ - 70E84C2319B10B0500159159 = { + 9D02B4D21A1C5ADC002799E3 = { isa = PBXGroup; children = ( - 70E84C2E19B10B3100159159 /* Makefile */, - 9D667FA119BFF5BC00717163 /* a2e.hi.s */, - 9D667FA219BFF5BC00717163 /* curta.c */, - 9D667FA319BFF5BC00717163 /* curtaModel.c */, - 9D667FA419BFF5BC00717163 /* curtaModel.h */, - 9D667FA519BFF5BC00717163 /* curtaUI.c */, - 9D667FA619BFF5BC00717163 /* curtaUI.h */, - 9D667FA719BFF5BC00717163 /* joystick.c */, - 9D667FA819BFF5BC00717163 /* joystick.h */, + 9D02B4D81A1C5ADC002799E3 /* CurtaSim */, ); sourceTree = ""; }; + 9D02B4D81A1C5ADC002799E3 /* CurtaSim */ = { + isa = PBXGroup; + children = ( + 9D02B4E91A1C5B62002799E3 /* a2e.hi.s */, + 9D02B4EA1A1C5B62002799E3 /* curta.c */, + 9D02B4EB1A1C5B62002799E3 /* curtaModel.c */, + 9D02B4EC1A1C5B62002799E3 /* curtaModel.h */, + 9D02B4ED1A1C5B62002799E3 /* curtaUI.c */, + 9D02B4EE1A1C5B62002799E3 /* curtaUI.h */, + 9D02B4EF1A1C5B62002799E3 /* joystick.c */, + 9D02B4F01A1C5B62002799E3 /* joystick.h */, + 9D02B4DA1A1C5ADC002799E3 /* Makefile */, + 9D02B4DB1A1C5ADC002799E3 /* make */, + ); + path = CurtaSim; + sourceTree = ""; + }; + 9D02B4DB1A1C5ADC002799E3 /* make */ = { + isa = PBXGroup; + children = ( + 9D02B4DC1A1C5ADC002799E3 /* AppleCommander.jar */, + 9D02B4DD1A1C5ADC002799E3 /* createDiskImage */, + 9D02B4DE1A1C5ADC002799E3 /* DevApple.vii */, + 9D02B4DF1A1C5ADC002799E3 /* dos33_template.dsk */, + 9D02B4E01A1C5ADC002799E3 /* head.mk */, + 9D02B4E11A1C5ADC002799E3 /* prodos_template.dsk */, + 9D02B4E21A1C5ADC002799E3 /* tail.mk */, + 9D02B4E31A1C5ADC002799E3 /* V2Make.scpt */, + ); + name = make; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXLegacyTarget section */ - 70E84C2819B10B0600159159 /* CurtaSim */ = { + 9D02B4D71A1C5ADC002799E3 /* CurtaSim */ = { isa = PBXLegacyTarget; - buildArgumentsString = "$(ACTION)"; - buildConfigurationList = 70E84C2B19B10B0600159159 /* Build configuration list for PBXLegacyTarget "CurtaSim" */; + buildArgumentsString = "-C CurtaSim $(ACTION)"; + buildConfigurationList = 9D02B4E61A1C5ADC002799E3 /* Build configuration list for PBXLegacyTarget "CurtaSim" */; buildPhases = ( ); buildToolPath = /usr/bin/make; @@ -48,40 +80,40 @@ ); name = CurtaSim; passBuildSettingsInEnvironment = 1; - productName = Apple2BuildPipelineSample; + productName = CurtaSim; }; /* End PBXLegacyTarget section */ /* Begin PBXProject section */ - 70E84C2419B10B0500159159 /* Project object */ = { + 9D02B4D31A1C5ADC002799E3 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0600; - ORGANIZATIONNAME = "One Girl, One Laptop Productions"; + LastUpgradeCheck = 0610; + ORGANIZATIONNAME = "Jeremy Rand"; TargetAttributes = { - 70E84C2819B10B0600159159 = { - CreatedOnToolsVersion = 6.0; + 9D02B4D71A1C5ADC002799E3 = { + CreatedOnToolsVersion = 6.1; }; }; }; - buildConfigurationList = 70E84C2719B10B0500159159 /* Build configuration list for PBXProject "CurtaSim" */; + buildConfigurationList = 9D02B4D61A1C5ADC002799E3 /* Build configuration list for PBXProject "CurtaSim" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( en, ); - mainGroup = 70E84C2319B10B0500159159; + mainGroup = 9D02B4D21A1C5ADC002799E3; projectDirPath = ""; projectRoot = ""; targets = ( - 70E84C2819B10B0600159159 /* CurtaSim */, + 9D02B4D71A1C5ADC002799E3 /* CurtaSim */, ); }; /* End PBXProject section */ /* Begin XCBuildConfiguration section */ - 70E84C2919B10B0600159159 /* Debug */ = { + 9D02B4E41A1C5ADC002799E3 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -121,7 +153,7 @@ }; name = Debug; }; - 70E84C2A19B10B0600159159 /* Release */ = { + 9D02B4E51A1C5ADC002799E3 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -155,7 +187,7 @@ }; name = Release; }; - 70E84C2C19B10B0600159159 /* Debug */ = { + 9D02B4E71A1C5ADC002799E3 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { DEBUGGING_SYMBOLS = YES; @@ -167,7 +199,7 @@ }; name = Debug; }; - 70E84C2D19B10B0600159159 /* Release */ = { + 9D02B4E81A1C5ADC002799E3 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { OTHER_CFLAGS = ""; @@ -179,25 +211,24 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 70E84C2719B10B0500159159 /* Build configuration list for PBXProject "CurtaSim" */ = { + 9D02B4D61A1C5ADC002799E3 /* Build configuration list for PBXProject "CurtaSim" */ = { isa = XCConfigurationList; buildConfigurations = ( - 70E84C2919B10B0600159159 /* Debug */, - 70E84C2A19B10B0600159159 /* Release */, + 9D02B4E41A1C5ADC002799E3 /* Debug */, + 9D02B4E51A1C5ADC002799E3 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 70E84C2B19B10B0600159159 /* Build configuration list for PBXLegacyTarget "CurtaSim" */ = { + 9D02B4E61A1C5ADC002799E3 /* Build configuration list for PBXLegacyTarget "CurtaSim" */ = { isa = XCConfigurationList; buildConfigurations = ( - 70E84C2C19B10B0600159159 /* Debug */, - 70E84C2D19B10B0600159159 /* Release */, + 9D02B4E71A1C5ADC002799E3 /* Debug */, + 9D02B4E81A1C5ADC002799E3 /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = 70E84C2419B10B0500159159 /* Project object */; + rootObject = 9D02B4D31A1C5ADC002799E3 /* Project object */; } diff --git a/CurtaSim.xcodeproj/project.xcworkspace/xcshareddata/Apple2BuildPipelineSample.xccheckout b/CurtaSim.xcodeproj/project.xcworkspace/xcshareddata/Apple2BuildPipelineSample.xccheckout deleted file mode 100644 index ac4cd1b..0000000 --- a/CurtaSim.xcodeproj/project.xcworkspace/xcshareddata/Apple2BuildPipelineSample.xccheckout +++ /dev/null @@ -1,41 +0,0 @@ - - - - - IDESourceControlProjectFavoriteDictionaryKey - - IDESourceControlProjectIdentifier - 1FF8E5B6-1315-475A-9CD0-FCCF194EDB92 - IDESourceControlProjectName - Apple2BuildPipelineSample - IDESourceControlProjectOriginsDictionary - - 1DDA97CB96411CB4840C13C24A3B935FA4FF778E - https://github.com/blondie7575/Apple2BuildPipeline - - IDESourceControlProjectPath - Apple2BuildPipelineSample/Apple2BuildPipelineSample.xcodeproj - IDESourceControlProjectRelativeInstallPathDictionary - - 1DDA97CB96411CB4840C13C24A3B935FA4FF778E - ../../.. - - IDESourceControlProjectURL - https://github.com/blondie7575/Apple2BuildPipeline - IDESourceControlProjectVersion - 111 - IDESourceControlProjectWCCIdentifier - 1DDA97CB96411CB4840C13C24A3B935FA4FF778E - IDESourceControlProjectWCConfigurations - - - IDESourceControlRepositoryExtensionIdentifierKey - public.vcs.git - IDESourceControlWCCIdentifierKey - 1DDA97CB96411CB4840C13C24A3B935FA4FF778E - IDESourceControlWCCName - Apple2BuildPipeline - - - - diff --git a/CurtaSim.xcodeproj/project.xcworkspace/xcshareddata/CurtaSim.xccheckout b/CurtaSim.xcodeproj/project.xcworkspace/xcshareddata/CurtaSim.xccheckout deleted file mode 100644 index 3f94d5a..0000000 --- a/CurtaSim.xcodeproj/project.xcworkspace/xcshareddata/CurtaSim.xccheckout +++ /dev/null @@ -1,41 +0,0 @@ - - - - - IDESourceControlProjectFavoriteDictionaryKey - - IDESourceControlProjectIdentifier - 6B9C2644-83DD-4B4D-9E1E-015442DD4FB5 - IDESourceControlProjectName - CurtaSim - IDESourceControlProjectOriginsDictionary - - F5E5AB1BBAA08E463D2E8ED01DEEF2E6239A1F73 - https://github.com/jeremysrand/CurtaSim.git - - IDESourceControlProjectPath - CurtaSim.xcodeproj - IDESourceControlProjectRelativeInstallPathDictionary - - F5E5AB1BBAA08E463D2E8ED01DEEF2E6239A1F73 - ../.. - - IDESourceControlProjectURL - https://github.com/jeremysrand/CurtaSim.git - IDESourceControlProjectVersion - 111 - IDESourceControlProjectWCCIdentifier - F5E5AB1BBAA08E463D2E8ED01DEEF2E6239A1F73 - IDESourceControlProjectWCConfigurations - - - IDESourceControlRepositoryExtensionIdentifierKey - public.vcs.git - IDESourceControlWCCIdentifierKey - F5E5AB1BBAA08E463D2E8ED01DEEF2E6239A1F73 - IDESourceControlWCCName - CurtaSim - - - - diff --git a/CurtaSim.xcodeproj/project.xcworkspace/xcshareddata/TempName.xccheckout b/CurtaSim.xcodeproj/project.xcworkspace/xcshareddata/TempName.xccheckout deleted file mode 100644 index c91ef22..0000000 --- a/CurtaSim.xcodeproj/project.xcworkspace/xcshareddata/TempName.xccheckout +++ /dev/null @@ -1,41 +0,0 @@ - - - - - IDESourceControlProjectFavoriteDictionaryKey - - IDESourceControlProjectIdentifier - BC5C2592-EDC5-4CC6-8983-25077B52C04F - IDESourceControlProjectName - TempName - IDESourceControlProjectOriginsDictionary - - F5E5AB1BBAA08E463D2E8ED01DEEF2E6239A1F73 - https://github.com/jeremysrand/CurtaSim.git - - IDESourceControlProjectPath - TempName.xcodeproj - IDESourceControlProjectRelativeInstallPathDictionary - - F5E5AB1BBAA08E463D2E8ED01DEEF2E6239A1F73 - ../.. - - IDESourceControlProjectURL - https://github.com/jeremysrand/CurtaSim.git - IDESourceControlProjectVersion - 111 - IDESourceControlProjectWCCIdentifier - F5E5AB1BBAA08E463D2E8ED01DEEF2E6239A1F73 - IDESourceControlProjectWCConfigurations - - - IDESourceControlRepositoryExtensionIdentifierKey - public.vcs.git - IDESourceControlWCCIdentifierKey - F5E5AB1BBAA08E463D2E8ED01DEEF2E6239A1F73 - IDESourceControlWCCName - CurtaSim - - - - diff --git a/CurtaSim.xcodeproj/project.xcworkspace/xcuserdata/jrand.xcuserdatad/UserInterfaceState.xcuserstate b/CurtaSim.xcodeproj/project.xcworkspace/xcuserdata/jrand.xcuserdatad/UserInterfaceState.xcuserstate index dd731e9..40a481f 100644 Binary files a/CurtaSim.xcodeproj/project.xcworkspace/xcuserdata/jrand.xcuserdatad/UserInterfaceState.xcuserstate and b/CurtaSim.xcodeproj/project.xcworkspace/xcuserdata/jrand.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/CurtaSim.xcodeproj/project.xcworkspace/xcuserdata/jrand.xcuserdatad/WorkspaceSettings.xcsettings b/CurtaSim.xcodeproj/project.xcworkspace/xcuserdata/jrand.xcuserdatad/WorkspaceSettings.xcsettings deleted file mode 100644 index bfffcfe..0000000 --- a/CurtaSim.xcodeproj/project.xcworkspace/xcuserdata/jrand.xcuserdatad/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,10 +0,0 @@ - - - - - HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges - - SnapshotAutomaticallyBeforeSignificantChanges - - - diff --git a/CurtaSim.xcodeproj/xcuserdata/jrand.xcuserdatad/xcschemes/Apple2BuildPipelineSample.xcscheme b/CurtaSim.xcodeproj/xcuserdata/jrand.xcuserdatad/xcschemes/CurtaSim.xcscheme similarity index 76% rename from CurtaSim.xcodeproj/xcuserdata/jrand.xcuserdatad/xcschemes/Apple2BuildPipelineSample.xcscheme rename to CurtaSim.xcodeproj/xcuserdata/jrand.xcuserdatad/xcschemes/CurtaSim.xcscheme index 3e198ec..01effc1 100644 --- a/CurtaSim.xcodeproj/xcuserdata/jrand.xcuserdatad/xcschemes/Apple2BuildPipelineSample.xcscheme +++ b/CurtaSim.xcodeproj/xcuserdata/jrand.xcuserdatad/xcschemes/CurtaSim.xcscheme @@ -1,6 +1,6 @@ @@ -29,15 +29,6 @@ buildConfiguration = "Debug"> - - - - + + + + @@ -57,6 +57,15 @@ useCustomWorkingDirectory = "NO" buildConfiguration = "Release" debugDocumentVersioning = "YES"> + + + + diff --git a/CurtaSim.xcodeproj/xcuserdata/jrand.xcuserdatad/xcschemes/xcschememanagement.plist b/CurtaSim.xcodeproj/xcuserdata/jrand.xcuserdatad/xcschemes/xcschememanagement.plist index e9f6188..903209e 100644 --- a/CurtaSim.xcodeproj/xcuserdata/jrand.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/CurtaSim.xcodeproj/xcuserdata/jrand.xcuserdatad/xcschemes/xcschememanagement.plist @@ -4,7 +4,7 @@ SchemeUserState - Apple2BuildPipelineSample.xcscheme + CurtaSim.xcscheme orderHint 0 @@ -12,7 +12,7 @@ SuppressBuildableAutocreation - 70E84C2819B10B0600159159 + 9D02B4D71A1C5ADC002799E3 primary diff --git a/Makefile b/CurtaSim/Makefile similarity index 90% rename from Makefile rename to CurtaSim/Makefile index cf80e95..6d39647 100644 --- a/Makefile +++ b/CurtaSim/Makefile @@ -2,7 +2,7 @@ # Makefile # Apple2BuildPipelineSample # -# Part of a sample build pipeline for Apple ][ software development +# Part of a sample build pipeline for Apple II software development # # Created by Quinn Dunki on 8/15/14. # One Girl, One Laptop Productions @@ -26,19 +26,17 @@ PGM=curta # MACHINE = apple2 # MACHINE = apple2-dos33 # MACHINE = apple2-system -# MACHINE = apple2-loader +MACHINE = apple2-loader # MACHINE = apple2-reboot # MACHINE = apple2enh # MACHINE = apple2enh-dos33 # MACHINE = apple2enh-system # MACHINE = apple2enh-loader # MACHINE = apple2enh-reboot -MACHINE = apple2-loader -# Uncomment and set this to your starting address in Apple ][ memory +# Uncomment and set this to your starting address in Apple II memory # if necessary: -# START_ADDR = 6000 -START_ADDR=4000 +START_ADDR = 4000 # Set the default CPU to assemble for. You can change this in the # body of a .s file using control commands like ".PC02". Uncomment @@ -87,6 +85,10 @@ START_ADDR=4000 # this variable: # LDFLAGS += -v +# If you have java installed in a non-standard location, you can set +# the path to it by uncommenting the following line: +# export JAVA=/usr/bin/java + # Do not change anything else below here... include make/tail.mk diff --git a/a2e.hi.s b/CurtaSim/a2e.hi.s similarity index 100% rename from a2e.hi.s rename to CurtaSim/a2e.hi.s diff --git a/curta.c b/CurtaSim/curta.c similarity index 100% rename from curta.c rename to CurtaSim/curta.c diff --git a/curtaModel.c b/CurtaSim/curtaModel.c similarity index 100% rename from curtaModel.c rename to CurtaSim/curtaModel.c diff --git a/curtaModel.h b/CurtaSim/curtaModel.h similarity index 100% rename from curtaModel.h rename to CurtaSim/curtaModel.h diff --git a/curtaUI.c b/CurtaSim/curtaUI.c similarity index 100% rename from curtaUI.c rename to CurtaSim/curtaUI.c diff --git a/curtaUI.h b/CurtaSim/curtaUI.h similarity index 100% rename from curtaUI.h rename to CurtaSim/curtaUI.h diff --git a/joystick.c b/CurtaSim/joystick.c similarity index 100% rename from joystick.c rename to CurtaSim/joystick.c diff --git a/joystick.h b/CurtaSim/joystick.h similarity index 100% rename from joystick.h rename to CurtaSim/joystick.h diff --git a/make/AppleCommander.jar b/CurtaSim/make/AppleCommander.jar similarity index 100% rename from make/AppleCommander.jar rename to CurtaSim/make/AppleCommander.jar diff --git a/CurtaSim/make/DevApple.vii b/CurtaSim/make/DevApple.vii new file mode 100644 index 0000000..b4b816c Binary files /dev/null and b/CurtaSim/make/DevApple.vii differ diff --git a/make/V2Make.scpt b/CurtaSim/make/V2Make.scpt similarity index 84% rename from make/V2Make.scpt rename to CurtaSim/make/V2Make.scpt index 912915d..58b203e 100644 Binary files a/make/V2Make.scpt and b/CurtaSim/make/V2Make.scpt differ diff --git a/make/createDiskImage b/CurtaSim/make/createDiskImage similarity index 61% rename from make/createDiskImage rename to CurtaSim/make/createDiskImage index 4ac697f..276c036 100755 --- a/make/createDiskImage +++ b/CurtaSim/make/createDiskImage @@ -6,6 +6,27 @@ then exit 1 fi +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 APPLECOMMANDER=$1 MACHINE=$2 @@ -28,6 +49,7 @@ case "$MACHINE" in HASHEADER=1 FILETYPE="bin" TARGETFILE=`basename $PROGRAM` + MAXFILENAMELEN=15 ;; apple2enh) @@ -38,6 +60,7 @@ case "$MACHINE" in HASHEADER=1 FILETYPE="bin" TARGETFILE=`basename $PROGRAM` + MAXFILENAMELEN=15 ;; apple2-dos33) @@ -48,6 +71,7 @@ case "$MACHINE" in HASHEADER=1 FILETYPE="bin" TARGETFILE=`basename $PROGRAM` + MAXFILENAMELEN=30 ;; apple2enh-dos33) @@ -58,6 +82,7 @@ case "$MACHINE" in HASHEADER=1 FILETYPE="bin" TARGETFILE=`basename $PROGRAM` + MAXFILENAMELEN=30 ;; apple2-system) @@ -68,6 +93,7 @@ case "$MACHINE" in HASHEADER=0 FILETYPE="sys" TARGETFILE=`basename $PROGRAM`.system + MAXFILENAMELEN=15 ;; apple2enh-system) @@ -78,6 +104,7 @@ case "$MACHINE" in HASHEADER=0 FILETYPE="sys" TARGETFILE=`basename $PROGRAM`.system + MAXFILENAMELEN=15 ;; apple2-loader) @@ -88,6 +115,7 @@ case "$MACHINE" in HASHEADER=1 FILETYPE="bin" TARGETFILE=`basename $PROGRAM` + MAXFILENAMELEN=15 ;; apple2-reboot) @@ -98,6 +126,7 @@ case "$MACHINE" in HASHEADER=1 FILETYPE="bin" TARGETFILE=`basename $PROGRAM` + MAXFILENAMELEN=15 ;; apple2enh-loader) @@ -108,6 +137,7 @@ case "$MACHINE" in HASHEADER=1 FILETYPE="bin" TARGETFILE=`basename $PROGRAM` + MAXFILENAMELEN=15 ;; apple2enh-reboot) @@ -118,6 +148,7 @@ case "$MACHINE" in HASHEADER=1 FILETYPE="bin" TARGETFILE=`basename $PROGRAM` + MAXFILENAMELEN=8 ;; *) @@ -126,6 +157,12 @@ case "$MACHINE" in ;; esac +if [ ${#TARGETFILE} -gt $MAXFILENAMELEN ] +then + echo "The filename $TARGETFILE exceeds the max name length of the filesystem ($MAXFILENAMELEN)" + exit 1 +fi + if [ ! -f "$TEMPLATE" ] then echo "Cannot file template disk image $TEMPLATE" @@ -136,18 +173,25 @@ cp "$TEMPLATE" "$DISKIMAGE" if [ $DELETELOADER -eq 1 ] then - java -jar "$APPLECOMMANDER" -d "$DISKIMAGE" LOADER.SYSTEM + "$JAVA" -jar "$APPLECOMMANDER" -d "$DISKIMAGE" LOADER.SYSTEM fi if [ $RENAMELOADER -eq 1 ] then - java -jar "$APPLECOMMANDER" -e "$DISKIMAGE" LOADER.SYSTEM | java -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$TARGETFILE".system sys - java -jar "$APPLECOMMANDER" -d "$DISKIMAGE" LOADER.SYSTEM + LOADERFILE=${TARGETFILE}.system + if [ ${#LOADERFILE} -gt $MAXFILENAMELEN ] + then + echo "The filename $LOADERFILE exceeds the max name length of the filesystem ($MAXFILENAMELEN)" + rm -f "$DISKIMAGE" + exit 1 + fi + "$JAVA" -jar "$APPLECOMMANDER" -e "$DISKIMAGE" LOADER.SYSTEM | "$JAVA" -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$LOADERFILE" sys + "$JAVA" -jar "$APPLECOMMANDER" -d "$DISKIMAGE" LOADER.SYSTEM fi if [ $DELETEBASIC -eq 1 ] then - java -jar "$APPLECOMMANDER" -d "$DISKIMAGE" BASIC.SYSTEM + "$JAVA" -jar "$APPLECOMMANDER" -d "$DISKIMAGE" BASIC.SYSTEM fi if [ $HASHEADER -eq 1 ] @@ -155,10 +199,10 @@ then HDR_STARTADDR=`od -t x2 -N 2 < "$PROGRAM" | head -1 | awk '{print $2}' | sed 's/^0*//'` if [ "$HDR_STARTADDR" = "$STARTADDR" ] then - dd if="$PROGRAM" bs=4 skip=1 | java -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$TARGETFILE" $FILETYPE 0x$STARTADDR + dd if="$PROGRAM" bs=4 skip=1 | "$JAVA" -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$TARGETFILE" $FILETYPE 0x$STARTADDR else - java -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$TARGETFILE" $FILETYPE 0x$STARTADDR < "$PROGRAM" + "$JAVA" -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$TARGETFILE" $FILETYPE 0x$STARTADDR < "$PROGRAM" fi else - java -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$TARGETFILE" $FILETYPE < "$PROGRAM" + "$JAVA" -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$TARGETFILE" $FILETYPE < "$PROGRAM" fi diff --git a/make/dos33_template.dsk b/CurtaSim/make/dos33_template.dsk similarity index 100% rename from make/dos33_template.dsk rename to CurtaSim/make/dos33_template.dsk diff --git a/make/head.mk b/CurtaSim/make/head.mk similarity index 86% rename from make/head.mk rename to CurtaSim/make/head.mk index 6fc2e73..0710ce8 100644 --- a/make/head.mk +++ b/CurtaSim/make/head.mk @@ -2,7 +2,7 @@ # head.mk # Apple2BuildPipelineSample # -# Part of a sample build pipeline for Apple ][ software development +# Part of a sample build pipeline for Apple II software development # # Created by Quinn Dunki on 8/15/14. # One Girl, One Laptop Productions @@ -27,4 +27,4 @@ MACHINE=apple2 CPU=6502 CFLAGS= ASMFLAGS= -LDFLAGS= \ No newline at end of file +LDFLAGS= diff --git a/make/prodos_template.dsk b/CurtaSim/make/prodos_template.dsk similarity index 100% rename from make/prodos_template.dsk rename to CurtaSim/make/prodos_template.dsk diff --git a/make/tail.mk b/CurtaSim/make/tail.mk similarity index 82% rename from make/tail.mk rename to CurtaSim/make/tail.mk index 917fc62..8c246d2 100644 --- a/make/tail.mk +++ b/CurtaSim/make/tail.mk @@ -2,7 +2,7 @@ # tail.mk # Apple2BuildPipelineSample # -# Part of a sample build pipeline for Apple ][ software development +# Part of a sample build pipeline for Apple II software development # # Created by Quinn Dunki on 8/15/14. # One Girl, One Laptop Productions @@ -12,6 +12,8 @@ export PATH := $(PATH):$(CC65_BIN) +CWD=$(shell pwd) + C_OBJS=$(C_SRCS:.c=.o) C_DEPS=$(C_SRCS:.c=.u) ASM_OBJS=$(ASM_SRCS:.s=.o) @@ -25,6 +27,12 @@ LINK_ARGS= EXECCMD= +ALLTARGET=$(DISKIMAGE) +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Darwin) + ALLTARGET=execute +endif + ifneq ($(START_ADDR),) # If the MACHINE is set to an option which does not support a variable start # address, then error. @@ -32,6 +40,7 @@ ifneq ($(START_ADDR),) $(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 @@ -60,7 +69,7 @@ endif .PHONY: all execute clean -all: execute +all: $(ALLTARGET) clean: rm -f $(PGM) @@ -70,6 +79,12 @@ clean: rm -f $(ASM_LSTS) rm -f $(DISKIMAGE) +createPackage: + pkg/createPackage + +cleanMacCruft: + rm -rf pkg + $(PGM): $(OBJS) $(CL65) $(MACHCONFIG) --mapfile $(MAPFILE) $(LDFLAGS) -o $(PGM) $(OBJS) @@ -77,7 +92,7 @@ $(DISKIMAGE): $(PGM) make/createDiskImage $(AC) $(MACHINE) $(DISKIMAGE) $(PGM) "$(START_ADDR)" execute: $(DISKIMAGE) - osascript make/V2Make.scpt $(PROJECT_DIR) $(PGM) $(PROJECT_DIR)/make/DevApple.vii "$(EXECCMD)" + osascript make/V2Make.scpt $(CWD) $(PGM) $(CWD)/make/DevApple.vii "$(EXECCMD)" %.o: %.c $(CL65) $(MACHCONFIG) $(CFLAGS) --create-dep -c -o $@ $< diff --git a/make/DevApple.vii b/make/DevApple.vii deleted file mode 100644 index 4f487a9..0000000 Binary files a/make/DevApple.vii and /dev/null differ