diff --git a/DevApple.vii b/DevApple.vii deleted file mode 100644 index aee5f34..0000000 Binary files a/DevApple.vii and /dev/null differ diff --git a/apple2048.xcodeproj/project.xcworkspace/xcuserdata/jrand.xcuserdatad/UserInterfaceState.xcuserstate b/apple2048.xcodeproj/project.xcworkspace/xcuserdata/jrand.xcuserdatad/UserInterfaceState.xcuserstate index e42a456..2fa4128 100644 Binary files a/apple2048.xcodeproj/project.xcworkspace/xcuserdata/jrand.xcuserdatad/UserInterfaceState.xcuserstate and b/apple2048.xcodeproj/project.xcworkspace/xcuserdata/jrand.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/make/DevApple.vii b/make/DevApple.vii new file mode 100644 index 0000000..f767a3e Binary files /dev/null and b/make/DevApple.vii differ diff --git a/make/V2Make.scpt b/make/V2Make.scpt index 26f76a9..eb03e68 100644 Binary files a/make/V2Make.scpt and b/make/V2Make.scpt differ diff --git a/make/createDiskImage b/make/createDiskImage index 784212e..4ac697f 100755 --- a/make/createDiskImage +++ b/make/createDiskImage @@ -1,6 +1,6 @@ #!/bin/sh -if [ $# -lt 4 ] +if [ $# -lt 5 ] then echo USAGE: $0 ' ' exit 1 @@ -11,6 +11,7 @@ APPLECOMMANDER=$1 MACHINE=$2 DISKIMAGE=$3 PROGRAM=$4 +STARTADDR=`echo $5 | sed 's/^0*//'` if [ ! -f "$PROGRAM" ] then @@ -151,8 +152,13 @@ fi if [ $HASHEADER -eq 1 ] then - STARTADDR=`od -t x2 -N 2 < "$PROGRAM" | head -1 | awk '{print $2}'` - dd if="$PROGRAM" bs=4 skip=1 | java -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$TARGETFILE" $FILETYPE 0x$STARTADDR + 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 + else + java -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$TARGETFILE" $FILETYPE 0x$STARTADDR < "$PROGRAM" + fi else java -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$TARGETFILE" $FILETYPE < "$PROGRAM" fi diff --git a/make/tail.mk b/make/tail.mk index 6331f35..917fc62 100644 --- a/make/tail.mk +++ b/make/tail.mk @@ -31,8 +31,18 @@ ifneq ($(START_ADDR),) ifneq ($(filter $(MACHINE), apple2-system apple2enh-system),) $(error You cannot change start address with this machine type) endif - LDFLAGS += --start-addr 0x$(START_ADDR) +else + 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]') @@ -64,10 +74,10 @@ $(PGM): $(OBJS) $(CL65) $(MACHCONFIG) --mapfile $(MAPFILE) $(LDFLAGS) -o $(PGM) $(OBJS) $(DISKIMAGE): $(PGM) - make/createDiskImage $(AC) $(MACHINE) $(DISKIMAGE) $(PGM) + make/createDiskImage $(AC) $(MACHINE) $(DISKIMAGE) $(PGM) "$(START_ADDR)" execute: $(DISKIMAGE) - osascript make/V2Make.scpt $(PROJECT_DIR) $(PGM) $(PROJECT_DIR)/DevApple.vii "$(EXECCMD)" + osascript make/V2Make.scpt $(PROJECT_DIR) $(PGM) $(PROJECT_DIR)/make/DevApple.vii "$(EXECCMD)" %.o: %.c $(CL65) $(MACHCONFIG) $(CFLAGS) --create-dep -c -o $@ $<