added support for the Commander X16 memory layout

This commit is contained in:
FeralChild64 committed 2020-02-07 17:57:46 +01:00
1 parent 9b94f30f98
commit 6a1070c8ac
173 files changed
+605 -155

No files matched your search

+207 -134
View File
@@ -12,7 +12,8 @@ SRCDIR_BASIC = $(SRCDIR_COMMON) \
c64/basic \
c64/basic/,stubs \
c64/basic/,stubs_math \
c64/basic/banking \
c64/basic/board_m65 \
c64/basic/board_x16 \
c64/basic/commands \
c64/basic/init \
c64/basic/math \
@@ -23,7 +24,8 @@ SRCDIR_KERNAL = $(SRCDIR_COMMON) \
c64/kernal \
c64/kernal/,stubs \
c64/kernal/assets \
c64/kernal/banking \
c64/kernal/board_m65 \
c64/kernal/board_x16 \
c64/kernal/iec \
c64/kernal/iec_fast \
c64/kernal/init \
@@ -50,19 +52,21 @@ GEN_KERNAL =
# List of build directories
DIR_CUSTOM = build/target_custom
DIR_GENERIC = build/target_generic
DIR_TESTING = build/target_testing
DIR_MEGA65 = build/target_mega65
DIR_ULTIMATE64 = build/target_ultimate64
DIR_CUS = build/target_custom
DIR_GEN = build/target_generic
DIR_TST = build/target_testing
DIR_M65 = build/target_mega65
DIR_U64 = build/target_ultimate64
DIR_X16 = build/target_cx16
# List of config files
CFG_CUSTOM = c64/,,config_custom.s
CFG_GENERIC = c64/,,config_generic.s
CFG_TESTING = c64/,,config_testing.s
CFG_MEGA65 = c64/,,config_mega65.s
CFG_ULTIMATE64 = c64/,,config_ultimate64.s
CFG_CUSTOM = c64/,,config_custom.s
CFG_GEN = c64/,,config_generic.s
CFG_TESTING = c64/,,config_testing.s
CFG_M65 = c64/,,config_mega65.s
CFG_U64 = c64/,,config_ultimate64.s
CFG_X16 = c64/,,config_cx16.s
# Dependencies - helper variables
@@ -84,27 +88,43 @@ TOOLS_LIST = $(pathsubst tools/%,build/tools/%,$(basename $(SRC_TOOLS)))
# List of targets
STD_TARGET_LIST_CUSTOM = build/kernal_custom.rom build/basic_custom.rom
STD_TARGET_LIST_GENERIC = build/kernal_generic.rom build/basic_generic.rom
STD_TARGET_LIST_TESTING = build/kernal_testing.rom build/basic_testing.rom
STD_TARGET_LIST_ULTIMATE64 = build/kernal_ultimate64.rom build/basic_ultimate64.rom
STD_TARGET_LIST_MEGA65 = build/mega65.rom
TARGET_CUS_B = build/kernal_custom.rom
TARGET_GEN_B = build/kernal_generic.rom
TARGET_TST_B = build/kernal_testing.rom
TARGET_U64_B = build/kernal_ultimate64.rom
STD_TARGET_LIST = build/chargen.rom \
$(STD_TARGET_LIST_CUSTOM) \
$(STD_TARGET_LIST_GENERIC) \
$(STD_TARGET_LIST_TESTING) \
$(STD_TARGET_LIST_MEGA65) \
$(STD_TARGET_LIST_ULTIMATE64)
TARGET_CUS_K = build/kernal_custom.rom
TARGET_GEN_K = build/kernal_generic.rom
TARGET_TST_K = build/kernal_testing.rom
TARGET_U64_K = build/kernal_ultimate64.rom
EXT_TARGET_LIST = build/mega65.rom
TARGET_M65_x = build/mega65.rom
TARGET_X16_x = build/cx16-dummy.rom
SEG_LIST_MEGA65 = $(DIR_MEGA65)/basic.seg_0 \
$(DIR_MEGA65)/basic.seg_1 \
$(DIR_MEGA65)/kernal.seg_0 \
$(DIR_MEGA65)/kernal.seg_1
TARGET_LIST_CUS = $(TARGET_CUS_B) $(TARGET_CUS_K)
TARGET_LIST_GEN = $(TARGET_GEN_B) $(TARGET_GEN_K)
TARGET_LIST_TST = $(TARGET_TST_B) $(TARGET_TST_K)
TARGET_LIST_U64 = $(TARGET_U64_B) $(TARGET_U64_K)
REL_TARGET_LIST = $(pathsubst build/%,bin/%, $(STD_TARGET_LIST))
TARGET_LIST = build/chargen.rom \
$(TARGET_LIST_CUS) \
$(TARGET_LIST_GEN) \
$(TARGET_LIST_TST) \
$(TARGET_M65_x) \
$(TARGET_LIST_U64) \
$(TARGET_X16_x)
SEG_LIST_M65 = $(DIR_M65)/basic.seg_0 \
$(DIR_M65)/basic.seg_1 \
$(DIR_M65)/kernal.seg_0 \
$(DIR_M65)/kernal.seg_1
SEG_LIST_X16 = $(DIR_X16)/basic.seg_0 \
$(DIR_X16)/basic.seg_1 \
$(DIR_X16)/kernal.seg_0 \
$(DIR_X16)/kernal.seg_1
REL_TARGET_LIST = $(TARGET_LIST_CUS) $(TARGET_LIST_GEN) $(TARGET_LIST_TST) $(TARGET_M65_x) $(TARGET_LIST_U64)
# Misc strings
@@ -119,14 +139,14 @@ GIT_COMMIT:= $(shell git log -1 --pretty='%h' | tr '[:lower:]' '[:upper:]')
.PHONY: all clean updatebin
all:
$(MAKE) -j64 --output-sync=target $(STD_TARGET_LIST) $(EXT_TARGET_LIST)
$(MAKE) -j64 --output-sync=target $(TARGET_LIST) $(EXT_TARGET_LIST)
clean:
@rm -rf build c64/basic/combined.s c64/kernal/combined.s
updatebin:
$(MAKE) -j64 --output-sync=target $(STD_TARGET_LIST) $(EXT_TARGET_LIST) $(TOOL_RELEASE)
$(TOOL_RELEASE) -i ./build -o ./bin basic_generic.rom kernal_generic.rom basic_testing.rom kernal_testing.rom basic_ultimate64.rom kernal_ultimate64.rom mega65.rom
$(MAKE) -j64 --output-sync=target $(TARGET_LIST) $(TOOL_RELEASE)
$(TOOL_RELEASE) -i ./build -o ./bin $(pathsubst build/%,./%, $(REL_TARGET_LIST))
cp build/chargen.rom bin/chargen.rom
# Rules - tools
@@ -154,61 +174,67 @@ build/chargen.rom: $(TOOL_PNGPREPARE) assets/8x8font.png
# Dependencies - BASIC and KERNAL
$(DIR_CUSTOM)/OUTB_X.BIN $(DIR_CUSTOM)/BASIC_combined.vs: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_BASIC) $(CFG_CUSTOM) $(DIR_CUSTOM)/KERNAL_combined.sym
$(DIR_GENERIC)/OUTB_X.BIN $(DIR_GENERIC)/BASIC_combined.vs: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_BASIC) $(CFG_GENERIC) $(DIR_GENERIC)/KERNAL_combined.sym
$(DIR_TESTING)/OUTB_X.BIN $(DIR_TESTING)/BASIC_combined.vs: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_BASIC) $(CFG_TESTING) $(DIR_TESTING)/KERNAL_combined.sym
$(DIR_ULTIMATE64)/OUTB_X.BIN $(DIR_ULTIMATE64)/BASIC_combined.vs: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_BASIC) $(CFG_ULTIMATE64) $(DIR_ULTIMATE64)/KERNAL_combined.sym
$(DIR_CUS)/OUTB_x.BIN $(DIR_CUS)/BASIC_combined.vs: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_BASIC) $(CFG_CUS) $(DIR_CUS)/KERNAL_combined.sym
$(DIR_GEN)/OUTB_x.BIN $(DIR_GEN)/BASIC_combined.vs: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_BASIC) $(CFG_GEN) $(DIR_GEN)/KERNAL_combined.sym
$(DIR_TST)/OUTB_x.BIN $(DIR_TST)/BASIC_combined.vs: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_BASIC) $(CFG_TST) $(DIR_TST)/KERNAL_combined.sym
$(DIR_U64)/OUTB_x.BIN $(DIR_U64)/BASIC_combined.vs: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_BASIC) $(CFG_U64) $(DIR_U64)/KERNAL_combined.sym
$(DIR_CUSTOM)/OUTK_X.BIN $(DIR_CUSTOM)/KERNAL_combined.vs $(DIR_CUSTOM)/KERNAL_combined.sym: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_KERNAL) $(CFG_CUSTOM)
$(DIR_GENERIC)/OUTK_X.BIN $(DIR_GENERIC)/KERNAL_combined.vs $(DIR_GENERIC)/KERNAL_combined.sym: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_KERNAL) $(CFG_GENERIC)
$(DIR_TESTING)/OUTK_X.BIN $(DIR_TESTING)KERNAL_combined.vs $(DIR_TESTING)/KERNAL_combined.sym: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_KERNAL) $(CFG_TESTING)
$(DIR_ULTIMATE64)/OUTK_X.BIN $(DIR_ULTIMATE64)/KERNAL_combined.vs $(DIR_ULTIMATE64)/KERNAL_combined.sym: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_KERNAL) $(CFG_ULTIMATE64)
$(DIR_CUS)/OUTK_x.BIN $(DIR_CUS)/KERNAL_combined.vs $(DIR_CUS)/KERNAL_combined.sym: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_KERNAL) $(CFG_CUS)
$(DIR_GEN)/OUTK_x.BIN $(DIR_GEN)/KERNAL_combined.vs $(DIR_GEN)/KERNAL_combined.sym: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_KERNAL) $(CFG_GEN)
$(DIR_TST)/OUTK_x.BIN $(DIR_TST)/KERNAL_combined.vs $(DIR_TST)/KERNAL_combined.sym: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_KERNAL) $(CFG_TST)
$(DIR_U64)/OUTK_x.BIN $(DIR_U64)/KERNAL_combined.vs $(DIR_U64)/KERNAL_combined.sym: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_KERNAL) $(CFG_U64)
$(DIR_M65)/OUTB_0.BIN $(DIR_M65)/BASIC_0_combined.vs $(DIR_M65)/BASIC_0_combined.sym: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_BASIC) $(CFG_M65) $(DIR_M65)/KERNAL_0_combined.sym
$(DIR_M65)/OUTK_0.BIN $(DIR_M65)/KERNAL_0_combined.vs $(DIR_M65)/KERNAL_0_combined.sym: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_KERNAL) $(CFG_M65)
$(DIR_MEGA65)/OUTB_0.BIN $(DIR_MEGA65)/BASIC_0_combined.vs $(DIR_MEGA65)/BASIC_0_combined.sym: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_BASIC) $(CFG_MEGA65) $(DIR_MEGA65)/KERNAL_0_combined.sym
$(DIR_MEGA65)/OUTK_0.BIN $(DIR_MEGA65)/KERNAL_0_combined.vs $(DIR_MEGA65)/KERNAL_0_combined.sym: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_KERNAL) $(CFG_MEGA65)
$(DIR_X16)/OUTB_0.BIN $(DIR_X16)/BASIC_0_combined.vs $(DIR_X16)/BASIC_0_combined.sym: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_BASIC) $(CFG_X16) $(DIR_X16)/KERNAL_0_combined.sym
$(DIR_X16)/OUTK_0.BIN $(DIR_X16)/KERNAL_0_combined.vs $(DIR_X16)/KERNAL_0_combined.sym: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_KERNAL) $(CFG_X16)
$(DIR_MEGA65)/basic.seg_1 $(DIR_MEGA65)/BASIC_1_combined.vs $(DIR_MEGA65)/BASIC_1_combined.sym: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_BASIC) $(CFG_MEGA65) $(DIR_MEGA65)/KERNAL_0_combined.sym $(DIR_MEGA65)/BASIC_0_combined.sym
$(DIR_MEGA65)/kernal.seg_1 $(DIR_MEGA65)/KERNAL_1_combined.vs $(DIR_MEGA65)/KERNAL_1_combined.sym: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_KERNAL) $(CFG_MEGA65) $(DIR_MEGA65)/KERNAL_0_combined.sym
$(DIR_M65)/basic.seg_1 $(DIR_M65)/BASIC_1_combined.vs $(DIR_M65)/BASIC_1_combined.sym: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_BASIC) $(CFG_M65) $(DIR_M65)/KERNAL_0_combined.sym $(DIR_M65)/BASIC_0_combined.sym
$(DIR_M65)/kernal.seg_1 $(DIR_M65)/KERNAL_1_combined.vs $(DIR_M65)/KERNAL_1_combined.sym: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_KERNAL) $(CFG_M65) $(DIR_M65)/KERNAL_0_combined.sym
$(DIR_CUSTOM)/OUTX_X.BIN: $(DIR_CUSTOM)/OUTB_X.BIN $(DIR_CUSTOM)/OUTK_X.BIN
$(DIR_GENERIC)/OUTX_X.BIN: $(DIR_GENERIC)/OUTB_X.BIN $(DIR_GENERIC)/OUTK_X.BIN
$(DIR_TESTING)/OUTX_X.BIN: $(DIR_TESTING)/OUTB_X.BIN $(DIR_TESTING)/OUTK_X.BIN
$(DIR_MEGA65)/OUTX_0.BIN: $(DIR_MEGA65)/OUTB_0.BIN $(DIR_MEGA65)/OUTK_0.BIN
$(DIR_ULTIMATE64)/OUTX_X.BIN: $(DIR_ULTIMATE64)/OUTB_X.BIN $(DIR_ULTIMATE64)/OUTK_X.BIN
$(DIR_X16)/basic.seg_1 $(DIR_X16)/BASIC_1_combined.vs $(DIR_X16)/BASIC_1_combined.sym: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_BASIC) $(CFG_X16) $(DIR_M65)/KERNAL_0_combined.sym $(DIR_X16)/BASIC_0_combined.sym
$(DIR_X16)/kernal.seg_1 $(DIR_X16)/KERNAL_1_combined.vs $(DIR_X16)/KERNAL_1_combined.sym: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_KERNAL) $(CFG_X16) $(DIR_X16)/KERNAL_0_combined.sym
build/kernal_custom.rom: $(DIR_CUSTOM)/OUTX_X.BIN
build/kernal_generic.rom: $(DIR_GENERIC)/OUTX_X.BIN
build/kernal_testing.rom: $(DIR_TESTING)/OUTX_X.BIN
build/kernal_ultimate64.rom: $(DIR_ULTIMATE64)/OUTX_X.BIN
$(DIR_CUS)/OUTx_x.BIN: $(DIR_CUS)/OUTB_x.BIN $(DIR_CUS)/OUTK_x.BIN
$(DIR_GEN)/OUTx_x.BIN: $(DIR_GEN)/OUTB_x.BIN $(DIR_GEN)/OUTK_x.BIN
$(DIR_TST)/OUTx_x.BIN: $(DIR_TST)/OUTB_x.BIN $(DIR_TST)/OUTK_x.BIN
$(DIR_M65)/OUTx_0.BIN: $(DIR_M65)/OUTB_0.BIN $(DIR_M65)/OUTK_0.BIN
$(DIR_U64)/OUTx_x.BIN: $(DIR_U64)/OUTB_x.BIN $(DIR_U64)/OUTK_x.BIN
$(DIR_X16)/OUTx_0.BIN: $(DIR_X16)/OUTB_0.BIN $(DIR_X16)/OUTK_0.BIN
build/basic_custom.rom: $(DIR_CUSTOM)/OUTX_X.BIN
build/basic_generic.rom: $(DIR_GENERIC)/OUTX_X.BIN
build/basic_testing.rom: $(DIR_TESTING)/OUTX_X.BIN
build/basic_ultimate64.rom: $(DIR_ULTIMATE64)/OUTX_X.BIN
$(TARGET_CUS_B): $(DIR_CUS)/OUTx_x.BIN
$(TARGET_GEN_B): $(DIR_GEN)/OUTx_x.BIN
$(TARGET_TST_B): $(DIR_TST)/OUTx_x.BIN
$(TARGET_U64_B): $(DIR_U64)/OUTx_x.BIN
$(DIR_MEGA65)/kernal.seg_0: $(DIR_MEGA65)/OUTX_0.BIN
$(DIR_MEGA65)/basic.seg_0: $(DIR_MEGA65)/OUTX_0.BIN
$(TARGET_CUS_K): $(DIR_CUS)/OUTx_x.BIN
$(TARGET_GEN_K): $(DIR_GEN)/OUTx_x.BIN
$(TARGET_TST_K): $(DIR_TST)/OUTx_x.BIN
$(TARGET_U64_K): $(DIR_U64)/OUTx_x.BIN
build/symbols_custom.vs: $(DIR_CUSTOM)/BASIC_combined.vs $(DIR_CUSTOM)/KERNAL_combined.vs
build/symbols_generic.vs: $(DIR_GENERIC)/BASIC_combined.vs $(DIR_GENERIC)/KERNAL_combined.vs
build/symbols_testing.vs: $(DIR_TESTING)/BASIC_combined.vs $(DIR_TESTING)/KERNAL_combined.vs
build/symbols_mega65_0.vs: $(DIR_MEGA65)/BASIC_0_combined.vs $(DIR_MEGA65)/KERNAL_0_combined.vs
build/symbols_ultimate64.vs: $(DIR_ULTIMATE64)/BASIC_combined.vs $(DIR_ULTIMATE64)/KERNAL_combined.vs
build/symbols_custom.vs: $(DIR_CUS)/BASIC_combined.vs $(DIR_CUS)/KERNAL_combined.vs
build/symbols_generic.vs: $(DIR_GEN)/BASIC_combined.vs $(DIR_GEN)/KERNAL_combined.vs
build/symbols_testing.vs: $(DIR_TST)/BASIC_combined.vs $(DIR_TST)/KERNAL_combined.vs
build/symbols_ultimate64.vs: $(DIR_U64)/BASIC_combined.vs $(DIR_U64)/KERNAL_combined.vs
# Rules - BASIC and KERNAL
# Rules - BASIC and KERNAL intermediate files
build/,generated/packed_messages.s: $(TOOL_COMPRESS_TEXT)
@mkdir -p build/,generated
@@ -218,91 +244,138 @@ build/,generated/float_constants.s: $(TOOL_GENERATE_CONSTANTS)
@mkdir -p build/,generated
$(TOOL_GENERATE_CONSTANTS) -o build/,generated/float_constants.s
.PRECIOUS: build/target_%/OUTB_X.BIN build/target_%/BASIC_combined.vs
build/target_%/OUTB_X.BIN build/target_%/BASIC_combined.vs:
.PRECIOUS: build/target_%/OUTB_x.BIN build/target_%/BASIC_combined.vs
build/target_%/OUTB_x.BIN build/target_%/BASIC_combined.vs:
@mkdir -p build/target_$*
@rm -f $@* build/target_$*/BASIC*
@$(TOOL_BUILD_SEGMENT) -a ../../$(TOOL_ASSEMBLER) -r STD -s BASIC -i BASIC-$* -o OUTB_X.BIN -d build/target_$* -l a000 -h e4d2 c64/,,config_$*.s $(SRCDIR_BASIC) $(GEN_BASIC)
@$(TOOL_BUILD_SEGMENT) -a ../../$(TOOL_ASSEMBLER) -r STD -s BASIC -i BASIC-$* -o OUTB_x.BIN -d build/target_$* -l a000 -h e4d2 c64/,,config_$*.s $(SRCDIR_BASIC) $(GEN_BASIC)
.PRECIOUS: build/target_%/OUTK_X.BIN build/target_%/KERNAL_combined.vs build/target_%/KERNAL_combined.sym
build/target_%/OUTK_X.BIN build/target_%/KERNAL_combined.vs build/target_%/KERNAL_combined.sym:
.PRECIOUS: build/target_%/OUTK_x.BIN build/target_%/KERNAL_combined.vs build/target_%/KERNAL_combined.sym
build/target_%/OUTK_x.BIN build/target_%/KERNAL_combined.vs build/target_%/KERNAL_combined.sym:
@mkdir -p build/target_$*
@rm -f $@* build/target_$*/KERNAL*
@$(TOOL_BUILD_SEGMENT) -a ../../$(TOOL_ASSEMBLER) -r STD -s KERNAL -i KERNAL-$* -o OUTK_X.BIN -d build/target_$* -l e4d3 -h ffff c64/,,config_$*.s $(SRCDIR_KERNAL) $(GEN_KERNAL)
@$(TOOL_BUILD_SEGMENT) -a ../../$(TOOL_ASSEMBLER) -r STD -s KERNAL -i KERNAL-$* -o OUTK_x.BIN -d build/target_$* -l e4d3 -h ffff c64/,,config_$*.s $(SRCDIR_KERNAL) $(GEN_KERNAL)
$(DIR_MEGA65)/OUTB_0.BIN $(DIR_MEGA65)/BASIC_0_combined.vs $(DIR_MEGA65)/BASIC_0_combined.sym:
@mkdir -p $(DIR_MEGA65)
@rm -f $@* $(DIR_MEGA65)/BASIC_0*
@$(TOOL_BUILD_SEGMENT) -a ../../$(TOOL_ASSEMBLER) -r M65 -s BASIC_0 -i BASIC_0-mega65 -o OUTB_0.BIN -d $(DIR_MEGA65) -l a000 -h e4d2 $(CFG_MEGA65) $(SRCDIR_BASIC) $(GEN_BASIC)
# Rules - BASIC and KERNAL intermediate files, for Mega65
$(DIR_MEGA65)/OUTK_0.BIN $(DIR_MEGA65)/KERNAL_0_combined.vs $(DIR_MEGA65)/KERNAL_0_combined.sym:
@mkdir -p $(DIR_MEGA65)
@rm -f $@* $(DIR_MEGA65)/KERNAL_0*
@$(TOOL_BUILD_SEGMENT) -a ../../$(TOOL_ASSEMBLER) -r M65 -s KERNAL_0 -i KERNAL_0-mega65 -o OUTK_0.BIN -d $(DIR_MEGA65) -l e4d3 -h ffff $(CFG_MEGA65) $(SRCDIR_KERNAL) $(GEN_KERNAL)
$(DIR_M65)/OUTB_0.BIN $(DIR_M65)/BASIC_0_combined.vs $(DIR_M65)/BASIC_0_combined.sym:
@mkdir -p $(DIR_M65)
@rm -f $@* $(DIR_M65)/BASIC_0*
@$(TOOL_BUILD_SEGMENT) -a ../../$(TOOL_ASSEMBLER) -r M65 -s BASIC_0 -i BASIC_0-mega65 -o OUTB_0.BIN -d $(DIR_M65) -l a000 -h e4d2 $(CFG_M65) $(SRCDIR_BASIC) $(GEN_BASIC)
$(DIR_MEGA65)/basic.seg_1 $(DIR_MEGA65)/BASIC_1_combined.vs $(DIR_MEGA65)/BASIC_1_combined.sym:
@mkdir -p $(DIR_MEGA65)
@rm -f $@* $(DIR_MEGA65)/basic.seg_1 $(DIR_MEGA65)/BASIC_1*
@$(TOOL_BUILD_SEGMENT) -a ../../$(TOOL_ASSEMBLER) -r M65 -s BASIC_1 -i BASIC_1-mega65 -o basic.seg_1 -d $(DIR_MEGA65) -l 4000 -h 5fff $(CFG_MEGA65) $(SRCDIR_BASIC) $(GEN_BASIC)
$(DIR_M65)/OUTK_0.BIN $(DIR_M65)/KERNAL_0_combined.vs $(DIR_M65)/KERNAL_0_combined.sym:
@mkdir -p $(DIR_M65)
@rm -f $@* $(DIR_M65)/KERNAL_0*
@$(TOOL_BUILD_SEGMENT) -a ../../$(TOOL_ASSEMBLER) -r M65 -s KERNAL_0 -i KERNAL_0-mega65 -o OUTK_0.BIN -d $(DIR_M65) -l e4d3 -h ffff $(CFG_M65) $(SRCDIR_KERNAL) $(GEN_KERNAL)
$(DIR_MEGA65)/kernal.seg_1 $(DIR_MEGA65)/KERNAL_1_combined.vs $(DIR_MEGA65)/KERNAL_1_combined.sym:
@mkdir -p $(DIR_MEGA65)
@rm -f $@* $(DIR_MEGA65)/kernal.seg_1 $(DIR_MEGA65)/KERNAL_1*
@$(TOOL_BUILD_SEGMENT) -a ../../$(TOOL_ASSEMBLER) -r M65 -s KERNAL_1 -i KERNAL_1-mega65 -o kernal.seg_1 -d $(DIR_MEGA65) -l 4000 -h 5fff $(CFG_MEGA65) $(SRCDIR_KERNAL) $(GEN_KERNAL)
$(DIR_M65)/basic.seg_1 $(DIR_M65)/BASIC_1_combined.vs $(DIR_M65)/BASIC_1_combined.sym:
@mkdir -p $(DIR_M65)
@rm -f $@* $(DIR_M65)/basic.seg_1 $(DIR_M65)/BASIC_1*
@$(TOOL_BUILD_SEGMENT) -a ../../$(TOOL_ASSEMBLER) -r M65 -s BASIC_1 -i BASIC_1-mega65 -o basic.seg_1 -d $(DIR_M65) -l 4000 -h 5fff $(CFG_M65) $(SRCDIR_BASIC) $(GEN_BASIC)
.PRECIOUS: build/target_%/OUTX_X.BIN
build/target_%/OUTX_X.BIN:
cat build/target_$*/OUTB_X.BIN build/target_$*/OUTK_X.BIN > $@
$(DIR_M65)/kernal.seg_1 $(DIR_M65)/KERNAL_1_combined.vs $(DIR_M65)/KERNAL_1_combined.sym:
@mkdir -p $(DIR_M65)
@rm -f $@* $(DIR_M65)/kernal.seg_1 $(DIR_M65)/KERNAL_1*
@$(TOOL_BUILD_SEGMENT) -a ../../$(TOOL_ASSEMBLER) -r M65 -s KERNAL_1 -i KERNAL_1-mega65 -o kernal.seg_1 -d $(DIR_M65) -l 4000 -h 5fff $(CFG_M65) $(SRCDIR_KERNAL) $(GEN_KERNAL)
# Rules - BASIC and KERNAL intermediate files, for Commander X16
$(DIR_X16)/OUTB_0.BIN $(DIR_X16)/BASIC_0_combined.vs $(DIR_X16)/BASIC_0_combined.sym:
@mkdir -p $(DIR_X16)
@rm -f $@* $(DIR_X16)/BASIC_0*
@$(TOOL_BUILD_SEGMENT) -a ../../$(TOOL_ASSEMBLER) -r X16 -s BASIC_0 -i BASIC_0-mega65 -o OUTB_0.BIN -d $(DIR_X16) -l c000 -h e4d2 $(CFG_X16) $(SRCDIR_BASIC) $(GEN_BASIC)
$(DIR_X16)/OUTK_0.BIN $(DIR_X16)/KERNAL_0_combined.vs $(DIR_X16)/KERNAL_0_combined.sym:
@mkdir -p $(DIR_X16)
@rm -f $@* $(DIR_X16)/KERNAL_0*
@$(TOOL_BUILD_SEGMENT) -a ../../$(TOOL_ASSEMBLER) -r X16 -s KERNAL_0 -i KERNAL_0-mega65 -o OUTK_0.BIN -d $(DIR_X16) -l e4d3 -h ffff $(CFG_X16) $(SRCDIR_KERNAL) $(GEN_KERNAL)
$(DIR_X16)/basic.seg_1 $(DIR_X16)/BASIC_1_combined.vs $(DIR_X16)/BASIC_1_combined.sym:
@mkdir -p $(DIR_X16)
@rm -f $@* $(DIR_X16)/basic.seg_1 $(DIR_X16)/BASIC_1*
@$(TOOL_BUILD_SEGMENT) -a ../../$(TOOL_ASSEMBLER) -r X16 -s BASIC_1 -i BASIC_1-mega65 -o basic.seg_1 -d $(DIR_X16) -l a000 -h bfff $(CFG_X16) $(SRCDIR_BASIC) $(GEN_BASIC)
$(DIR_X16)/kernal.seg_1 $(DIR_X16)/KERNAL_1_combined.vs $(DIR_X16)/KERNAL_1_combined.sym:
@mkdir -p $(DIR_X16)
@rm -f $@* $(DIR_X16)/kernal.seg_1 $(DIR_X16)/KERNAL_1*
@$(TOOL_BUILD_SEGMENT) -a ../../$(TOOL_ASSEMBLER) -r X16 -s KERNAL_1 -i KERNAL_1-mega65 -o kernal.seg_1 -d $(DIR_X16) -l a000 -h bfff $(CFG_X16) $(SRCDIR_KERNAL) $(GEN_KERNAL)
# Rules - BASIC and KERNAL
.PRECIOUS: build/target_%/OUTx_x.BIN
build/target_%/OUTx_x.BIN:
cat build/target_$*/OUTB_x.BIN build/target_$*/OUTK_x.BIN > $@
.PRECIOUS: build/kernal_%.rom
build/kernal_%.rom:
dd if=build/target_$*/OUTX_X.BIN bs=8192 count=1 skip=2 of=$@
dd if=build/target_$*/OUTx_x.BIN bs=8192 count=1 skip=2 of=$@
.PRECIOUS: build/basic_%.rom
build/basic_%.rom:
dd if=build/target_$*/OUTX_X.BIN bs=8192 count=1 skip=0 of=$@
dd if=build/target_$*/OUTx_x.BIN bs=8192 count=1 skip=0 of=$@
.PRECIOUS: build/symbols_%.vs
build/symbols_%.vs:
sort build/target_$*/BASIC_combined.vs build/target_$*/KERNAL_combined.vs | uniq | grep -v "__" > $@
$(DIR_MEGA65)/OUTX_0.BIN:
cat $(DIR_MEGA65)/OUTB_0.BIN $(DIR_MEGA65)/OUTK_0.BIN > $@
$(DIR_M65)/OUTx_0.BIN:
cat $(DIR_M65)/OUTB_0.BIN $(DIR_M65)/OUTK_0.BIN > $@
$(DIR_MEGA65)/kernal.seg_0:
dd if=$(DIR_MEGA65)/OUTX_0.BIN bs=8192 count=1 skip=2 of=$@
$(DIR_M65)/kernal.seg_0: $(DIR_M65)/OUTx_0.BIN
dd if=$(DIR_M65)/OUTx_0.BIN bs=8192 count=1 skip=2 of=$@
$(DIR_MEGA65)/basic.seg_0:
dd if=$(DIR_MEGA65)/OUTX_0.BIN bs=8192 count=1 skip=0 of=$@
$(DIR_M65)/basic.seg_0: $(DIR_M65)/OUTx_0.BIN
dd if=$(DIR_M65)/OUTx_0.BIN bs=8192 count=1 skip=0 of=$@
build/kernal_hybrid.rom: kernal $(DIR_GENERIC)/OUTK_X.BIN
$(DIR_X16)/OUTx_0.BIN:
cat $(DIR_X16)/OUTB_0.BIN $(DIR_X16)/OUTK_0.BIN > $@
$(DIR_X16)/kernal.seg_0: $(DIR_X16)/OUTx_0.BIN
dd if=$(DIR_X16)/OUTx_0.BIN bs=8192 count=1 skip=1 of=$@
$(DIR_X16)/basic.seg_0: $(DIR_X16)/OUTx_0.BIN
dd if=$(DIR_X16)/OUTx_0.BIN bs=8192 count=1 skip=0 of=$@
build/kernal_hybrid.rom: kernal $(DIR_GEN)/OUTK_x.BIN
@echo
@echo $(HYBRID_WARNING)
@echo
(dd if=kernal bs=1140 count=1 skip=0 ; \
echo " > HYBRID ROM, DON'T DISTRIBUTE <" ; \
dd if=kernal bs=1 count=58 skip=1176 ; \
cat $(DIR_GENERIC)/OUTK_X.BIN) > $@
cat $(DIR_GEN)/OUTK_x.BIN) > $@
build/symbols_hybrid.vs: $(DIR_GENERIC)/KERNAL_combined.vs
sort $(DIR_GENERIC)/KERNAL_combined.vs | uniq | grep -v "__" > $@
build/symbols_hybrid.vs: $(DIR_GEN)/KERNAL_combined.vs
sort $(DIR_GEN)/KERNAL_combined.vs | uniq | grep -v "__" > $@
# Rules - platform 'Mega 65' specific
# Rules - platform 'Mega65' specific
build/mega65.rom: $(SEG_LIST_MEGA65) build/chargen.rom
dd if=/dev/zero bs=8192 count=1 of=build/padding___08_KB
dd if=/dev/zero bs=8192 count=8 of=build/padding___64_KB
cat build/padding___08_KB > build/mega65.rom
cat build/padding___08_KB >> build/mega65.rom
cat $(DIR_MEGA65)/kernal.seg_1 >> build/mega65.rom
cat $(DIR_MEGA65)/basic.seg_1 >> build/mega65.rom
cat build/padding___08_KB >> build/mega65.rom
cat $(DIR_MEGA65)/basic.seg_0 >> build/mega65.rom
cat build/chargen.rom >> build/mega65.rom
cat build/chargen.rom >> build/mega65.rom
cat $(DIR_MEGA65)/kernal.seg_0 >> build/mega65.rom
cat build/padding___64_KB >> build/mega65.rom
rm -f build/padding___*
$(TARGET_M65_x): $(SEG_LIST_M65) build/chargen.rom
dd if=/dev/zero bs=8192 count=1 of=build/m65_padding_08_KB
dd if=/dev/zero bs=8192 count=8 of=build/m65_padding_64_KB
cat build/m65_padding_08_KB > $(TARGET_M65_x)
cat build/m65_padding_08_KB >> $(TARGET_M65_x)
cat $(DIR_M65)/kernal.seg_1 >> $(TARGET_M65_x)
cat $(DIR_M65)/basic.seg_1 >> $(TARGET_M65_x)
cat build/m65_padding_08_KB >> $(TARGET_M65_x)
cat $(DIR_M65)/basic.seg_0 >> $(TARGET_M65_x)
cat build/chargen.rom >> $(TARGET_M65_x)
cat build/chargen.rom >> $(TARGET_M65_x)
cat $(DIR_M65)/kernal.seg_0 >> $(TARGET_M65_x)
cat build/m65_padding_64_KB >> $(TARGET_M65_x)
rm -f build/m65_padding_*
# Rules - platform 'Commander X16' specific
$(TARGET_X16_x): $(SEG_LIST_X16) build/chargen.rom
dd if=/dev/zero bs=8192 count=1 of=build/x16_padding_08_KB
dd if=/dev/zero bs=8192 count=8 of=build/x16_padding_64_KB
cat $(DIR_X16)/basic.seg_0 > $(TARGET_X16_x)
cat $(DIR_X16)/kernal.seg_0 >> $(TARGET_X16_x)
cat build/chargen.rom >> $(TARGET_X16_x)
cat $(DIR_X16)/basic.seg_1 >> $(TARGET_X16_x)
cat $(DIR_X16)/kernal.seg_1 >> $(TARGET_X16_x)
rm -f build/x16_padding_*
# Rules - tests
@@ -325,8 +398,8 @@ test_generic_x128: build/kernal_generic.rom build/basic_generic.rom build/symbol
test_testing: build/kernal_testing.rom build/basic_testing.rom build/symbols_testing.vs
x64 -kernal build/kernal_testing.rom -basic build/basic_testing.rom -moncommands build/symbols_testing.vs -1 $(TESTTAPE) -8 $(TESTDISK)
test_mega65: build/mega65.rom
../xemu/build/bin/xmega65.native -dmarev 2 -forcerom -loadrom build/mega65.rom
test_mega65: $(TARGET_M65_x)
../xemu/build/bin/xmega65.native -dmarev 2 -forcerom -loadrom $(TARGET_M65_x)
test_ultimate64: build/kernal_ultimate64.rom build/basic_ultimate64.rom build/symbols_ultimate64.vs
x64 -kernal build/kernal_ultimate64.rom -basic build/basic_ultimate64.rom -moncommands build/symbols_ultimate64.vs -1 $(TESTTAPE) -8 $(TESTDISK)
@@ -346,6 +419,6 @@ test_m65: build/mega65.rom
testremote: build/kernal_custom.rom build/basic_custom.rom build/symbols_custom.vs
x64 -kernal build/kernal_custom.rom -basic build/basic_custom.rom -moncommands build/symbols_custom.vs -remotemonitor
testsimilarity: $(TOOL_SIMILARITY) $(DIR_GENERIC)/OUTX_X.BIN kernal basic
$(TOOL_SIMILARITY) kernal $(DIR_GENERIC)/OUTX_X.BIN
$(TOOL_SIMILARITY) basic $(DIR_GENERIC)/OUTX_X.BIN
testsimilarity: $(TOOL_SIMILARITY) $(DIR_GEN)/OUTx_x.BIN kernal basic
$(TOOL_SIMILARITY) kernal $(DIR_GEN)/OUTx_x.BIN
$(TOOL_SIMILARITY) basic $(DIR_GEN)/OUTx_x.BIN
+136
View File
@@ -0,0 +1,136 @@
.const CONFIG_ID = $04 // should be 1 byte, different for each config file!
.encoding "petscii_upper"
//
// Please read CONFIG.md before modifying this file!
//
// Idea:
// - settings file for the Commander X16 machine
// Hardware platform and brand
#define CONFIG_PLATFORM_COMMANDER_X16
// #define CONFIG_MB_MEGA_65
// #define CONFIG_MB_ULTIMATE_64
#define CONFIG_BRAND_CUSTOM_BUILD
// #define CONFIG_BRAND_GENERIC
// #define CONFIG_BRAND_TESTING
// #define CONFIG_BRAND_MEGA_65
// #define CONFIG_BRAND_ULTIMATE_64
.const CONFIG_CUSTOM_BRAND = @"COMMANDER X16"
// Processor instruction set
// #define CONFIG_CPU_MOS_6502
#define CONFIG_CPU_WDC_65C02
// #define CONFIG_CPU_CSG_65CE02
// #define CONFIG_CPU_M65_45GS02
// #define CONFIG_CPU_WDC_65816
// Memory model
#define CONFIG_MEMORY_MODEL_38K
// #define CONFIG_MEMORY_MODEL_60K
// I/O devices
// #define CONFIG_IEC
// #define CONFIG_IEC_DOLPHINDOS
// #define CONFIG_IEC_DOLPHINDOS_FAST
// #define CONFIG_IEC_JIFFYDOS
// #define CONFIG_IEC_JIFFYDOS_BLANK
// #define CONFIG_TAPE_NORMAL
// #define CONFIG_TAPE_TURBO
// #define CONFIG_TAPE_AUTODETECT
// #define CONFIG_TAPE_NO_KEY_SENSE
// #define CONFIG_TAPE_NO_MOTOR_CONTROL
// #define CONFIG_TAPE_NO_ERROR_CORRECTION
// Multiple SID support
// #define CONFIG_SID_2ND
.const CONFIG_SID_2ND_ADDRESS = $D440
// #define CONFIG_SID_3RD
.const CONFIG_SID_3RD_ADDRESS = $D480
// #define CONFIG_SID_D4XX
// #define CONFIG_SID_D5XX
// Keyboard settings
// #define CONFIG_LEGACY_SCNKEY
// #define CONFIG_KEYBOARD_C128
// #define CONFIG_KEYBOARD_C128_CAPS_LOCK
// #define CONFIG_KEYBOARD_C65 // untested
// #define CONFIG_KEYBOARD_C65_CAPS_LOCK // untested
// #define CONFIG_KEY_REPEAT_DEFAULT
// #define CONFIG_KEY_REPEAT_ALWAYS
// #define CONFIG_KEY_FAST_SCAN
// #define CONFIG_JOY1_CURSOR
// #define CONFIG_JOY2_CURSOR
// #define CONFIG_PROGRAMMABLE_KEYS
.const CONFIG_KEYCMD_RUN = @"LOAD\"*\""
.const CONFIG_KEYCMD_F1 = @"@"
.const CONFIG_KEYCMD_F2 = @""
.const CONFIG_KEYCMD_F3 = @"RUN:"
.const CONFIG_KEYCMD_F4 = @""
.const CONFIG_KEYCMD_F5 = @"LOAD"
.const CONFIG_KEYCMD_F6 = @""
.const CONFIG_KEYCMD_F7 = @"@$"
.const CONFIG_KEYCMD_F8 = @""
.const CONFIG_KEYCMD_HELP = @"LIST"
.const CONFIG_KEYCMD_F9 = @"REM F9"
.const CONFIG_KEYCMD_F10 = @"REM F10"
.const CONFIG_KEYCMD_F11 = @"REM F11"
.const CONFIG_KEYCMD_F12 = @"REM F12"
.const CONFIG_KEYCMD_F13 = @"REM F13"
.const CONFIG_KEYCMD_F14 = @"REM F14"
// Screen editor
// #define CONFIG_EDIT_STOPQUOTE
// #define CONFIG_EDIT_TABULATORS
// Software features
// #define CONFIG_PANIC_SCREEN
// #define CONFIG_DOS_WEDGE
// #define CONFIG_TAPE_WEDGE
#define CONFIG_BCD_SAFE_INTERRUPTS
// Eye candy
// #define CONFIG_COLORS_BRAND
// #define CONFIG_BANNER_SIMPLE
#define CONFIG_BANNER_FANCY
// #define CONFIG_BANNER_BRAND
// #define CONFIG_SHOW_FEATURES
// #define CONFIG_SHOW_PAL_NTSC
// Debug options
// #define CONFIG_DBG_STUBS_BRK
// #define CONFIG_DBG_PRINTF
+3
View File
@@ -14,6 +14,9 @@
#if CONFIG_PLATFORM_COMMODORE_64
.eval selected++
#endif
#if CONFIG_PLATFORM_COMMANDER_X16
.eval selected++
#endif
.if (selected != 1) .error "Please select exactly one CONFIG_PLATFORM_* option"
}
+2 -2
View File
@@ -34,7 +34,7 @@
.pseudocommand panic code
{
// If case no panic screen is used, we can skip providing error codes within Kernal
#if CONFIG_PANIC_SCREEN || !SEGMENT_KERNAL
#if CONFIG_PANIC_SCREEN
lda code
#endif
jmp ($E4B7)
@@ -117,7 +117,7 @@
.pseudocommand lda_zero // WARNING: do not use within interrupts
{
#if HAS_OPCODES_65C02
#if HAS_OPCODES_65CE02
tba
#else
lda #$00
+11
View File
@@ -1,4 +1,15 @@
// BASIC startup vectors
#if ROM_LAYOUT_X16
.label IBASIC_COLD_START = $C000
.label IBASIC_WARM_START = $C002
#else
.label IBASIC_COLD_START = $A000
.label IBASIC_WARM_START = $A002
#endif
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+4 -5
View File
@@ -1,4 +1,7 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0)
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
//
// Official BASIC routine, described in:
@@ -9,9 +12,5 @@
// CPU registers that has to be preserved (see [RG64]): XXX
//
MAIN:
STUB_IMPLEMENTATION()
#endif // ROM layout
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
@@ -2,6 +2,6 @@
// #LAYOUT# * * #IGNORE
// Dummy, just to have anyything in segment 1
// Dummy, just to have anything in segment 1
brk
+7
View File
@@ -0,0 +1,7 @@
// #LAYOUT# X16 BASIC_1 #TAKE
// #LAYOUT# * * #IGNORE
// Dummy, just to have anything in segment 1
brk
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 * #IGNORE
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
+1
View File
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
@@ -1,4 +1,5 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loaded 100 of 173 files, more files were not shown because too many files have changed in this diff. Show more