added segment 1 for BASIC on Mega65
This commit is contained in:
1 parent
861e7eedb6
commit
4de080cd90
2 files changed
+80
-57
No files matched your search
@@ -12,6 +12,7 @@ SRCDIR_BASIC = $(SRCDIR_COMMON) \
|
||||
c64/basic \
|
||||
c64/basic/,stubs \
|
||||
c64/basic/,stubs_math \
|
||||
c64/basic/banking \
|
||||
c64/basic/commands \
|
||||
c64/basic/init \
|
||||
c64/basic/math \
|
||||
@@ -96,6 +97,11 @@ STD_TARGET_LIST = build/chargen.rom \
|
||||
|
||||
EXT_TARGET_LIST = build/mega65.rom
|
||||
|
||||
SEG_LIST_MEGA65 = $(DIR_MEGA65)/basic.seg_0 \
|
||||
$(DIR_MEGA65)/basic.seg_1 \
|
||||
$(DIR_MEGA65)/kernal.seg_0 \
|
||||
$(DIR_MEGA65)/kernal.seg_1
|
||||
|
||||
REL_TARGET_LIST = $(pathsubst build/%,bin/%, $(STD_TARGET_LIST))
|
||||
|
||||
# Misc strings
|
||||
@@ -146,49 +152,53 @@ build/chargen.rom: $(TOOL_PNGPREPARE) assets/8x8font.png
|
||||
|
||||
# Dependencies - BASIC and KERNAL
|
||||
|
||||
$(DIR_CUSTOM)/OUTB.BIN $(DIR_CUSTOM)/BASIC_combined.vs: \
|
||||
$(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.BIN $(DIR_GENERIC)/BASIC_combined.vs: \
|
||||
$(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.BIN $(DIR_TESTING)/BASIC_combined.vs: \
|
||||
$(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_MEGA65)/OUTB_0.BIN $(DIR_MEGA65)/BASIC_0_combined.vs: \
|
||||
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_BASIC) $(CFG_MEGA65) $(DIR_MEGA65)/KERNAL_0_combined.sym
|
||||
$(DIR_ULTIMATE64)/OUTB.BIN $(DIR_ULTIMATE64)/BASIC_combined.vs: \
|
||||
$(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_CUSTOM)/OUTK.BIN $(DIR_CUSTOM)/KERNAL_combined.vs $(DIR_CUSTOM)/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.BIN $(DIR_GENERIC)/KERNAL_combined.vs $(DIR_GENERIC)/KERNAL_combined.sym: \
|
||||
$(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.BIN $(DIR_TESTING)KERNAL_combined.vs $(DIR_TESTING)/KERNAL_combined.sym: \
|
||||
$(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_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_ULTIMATE64)/OUTK.BIN $(DIR_ULTIMATE64)/KERNAL_combined.vs $(DIR_ULTIMATE64)/KERNAL_combined.sym: \
|
||||
$(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_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_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_CUSTOM)/newrom: $(DIR_CUSTOM)/OUTB.BIN $(DIR_CUSTOM)/OUTK.BIN
|
||||
$(DIR_GENERIC)/newrom: $(DIR_GENERIC)/OUTB.BIN $(DIR_GENERIC)/OUTK.BIN
|
||||
$(DIR_TESTING)/newrom: $(DIR_TESTING)/OUTB.BIN $(DIR_TESTING)/OUTK.BIN
|
||||
$(DIR_MEGA65)/newrom_0: $(DIR_MEGA65)/OUTB_0.BIN $(DIR_MEGA65)/OUTK_0.BIN
|
||||
$(DIR_ULTIMATE64)/newrom: $(DIR_ULTIMATE64)/OUTB.BIN $(DIR_ULTIMATE64)/OUTK.BIN
|
||||
$(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
|
||||
|
||||
build/kernal_custom.rom: $(DIR_CUSTOM)/newrom
|
||||
build/kernal_generic.rom: $(DIR_GENERIC)/newrom
|
||||
build/kernal_testing.rom: $(DIR_TESTING)/newrom
|
||||
build/kernal_ultimate64.rom: $(DIR_ULTIMATE64)/newrom
|
||||
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
|
||||
|
||||
build/basic_custom.rom: $(DIR_CUSTOM)/newrom
|
||||
build/basic_generic.rom: $(DIR_GENERIC)/newrom
|
||||
build/basic_testing.rom: $(DIR_TESTING)/newrom
|
||||
build/basic_ultimate64.rom: $(DIR_ULTIMATE64)/newrom
|
||||
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
|
||||
|
||||
$(DIR_MEGA65)/kernal.seg_0: $(DIR_MEGA65)/newrom_0
|
||||
$(DIR_MEGA65)/basic.seg_0: $(DIR_MEGA65)/newrom_0
|
||||
$(DIR_MEGA65)/kernal.seg_0: $(DIR_MEGA65)/OUTX_0.BIN
|
||||
$(DIR_MEGA65)/basic.seg_0: $(DIR_MEGA65)/OUTX_0.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
|
||||
@@ -202,19 +212,19 @@ build/,generated/packed_messages.s: $(TOOL_COMPRESS_TEXT)
|
||||
@mkdir -p build/,generated
|
||||
$(TOOL_COMPRESS_TEXT) > build/,generated/packed_messages.s
|
||||
|
||||
.PRECIOUS: build/target_%/OUTB.BIN build/target_%/BASIC_combined.vs
|
||||
build/target_%/OUTB.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.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.BIN build/target_%/KERNAL_combined.vs build/target_%/KERNAL_combined.sym
|
||||
build/target_%/OUTK.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.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)/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)
|
||||
@@ -224,63 +234,69 @@ $(DIR_MEGA65)/OUTK_0.BIN $(DIR_MEGA65)/KERNAL_0_combined.vs $(DIR_MEGA65)/KERNAL
|
||||
@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_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_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)
|
||||
|
||||
.PRECIOUS: build/target_%/newrom
|
||||
build/target_%/newrom:
|
||||
cat build/target_$*/OUTB.BIN build/target_$*/OUTK.BIN > $@
|
||||
.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_$*/newrom 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_$*/newrom 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)/newrom_0:
|
||||
$(DIR_MEGA65)/OUTX_0.BIN:
|
||||
cat $(DIR_MEGA65)/OUTB_0.BIN $(DIR_MEGA65)/OUTK_0.BIN > $@
|
||||
|
||||
$(DIR_MEGA65)/kernal.seg_0:
|
||||
dd if=$(DIR_MEGA65)/newrom_0 bs=8192 count=1 skip=2 of=$@
|
||||
dd if=$(DIR_MEGA65)/OUTX_0.BIN bs=8192 count=1 skip=2 of=$@
|
||||
|
||||
$(DIR_MEGA65)/basic.seg_0:
|
||||
dd if=$(DIR_MEGA65)/newrom_0 bs=8192 count=1 skip=0 of=$@
|
||||
dd if=$(DIR_MEGA65)/OUTX_0.BIN bs=8192 count=1 skip=0 of=$@
|
||||
|
||||
build/kernal_hybrid.rom: kernal $(DIR_GENERIC)/OUTK.BIN
|
||||
build/kernal_hybrid.rom: kernal $(DIR_GENERIC)/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.BIN) > $@
|
||||
cat $(DIR_GENERIC)/OUTK_X.BIN) > $@
|
||||
|
||||
build/symbols_hybrid.vs: $(DIR_GENERIC)/KERNAL_combined.vs
|
||||
sort $(DIR_GENERIC)/KERNAL_combined.vs | uniq | grep -v "__" > $@
|
||||
|
||||
# Rules - platform 'Mega 65' specific
|
||||
|
||||
build/mega65.rom: $(DIR_MEGA65)/basic.seg_0 $(DIR_MEGA65)/kernal.seg_0 $(DIR_MEGA65)/kernal.seg_1 build/chargen.rom
|
||||
dd if=/dev/zero bs=8192 count=1 of=build/padding_8k
|
||||
dd if=/dev/zero bs=8192 count=8 of=build/padding_64k
|
||||
cat build/padding_8k > build/mega65.rom
|
||||
cat build/padding_8k >> build/mega65.rom
|
||||
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 build/padding_8k >> build/mega65.rom
|
||||
cat build/padding_8k >> 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/chargen.rom >> 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_64k >> build/mega65.rom
|
||||
rm -f build/padding*
|
||||
cat build/padding___64_KB >> build/mega65.rom
|
||||
rm -f build/padding___*
|
||||
|
||||
# Rules - tests
|
||||
|
||||
@@ -324,6 +340,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)/newrom kernal basic
|
||||
$(TOOL_SIMILARITY) kernal $(DIR_GENERIC)/newrom
|
||||
$(TOOL_SIMILARITY) basic $(DIR_GENERIC)/newrom
|
||||
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
|
||||
@@ -0,0 +1,7 @@
|
||||
// #LAYOUT# M65 BASIC_1 #TAKE
|
||||
// #LAYOUT# * * #IGNORE
|
||||
|
||||
|
||||
// Dummy, just to have anyything in segment 1
|
||||
|
||||
brk
|
||||
Reference in new issue
Block a user