From e683061e2912cffd5472426aa057ff70ff0f0a38 Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Tue, 20 Oct 2020 22:38:51 +0200 Subject: [PATCH] added BASIC_1 and KERNAL_1 segments to CRT ROM layout --- Makefile | 26 ++++++++++++++++--- src/basic/board_crt/dummy.s | 4 +++ .../rom_revision/bf52.rom_revision_basic.s | 1 + src/kernal/board_crt/dummy.s | 4 +++ src/kernal/init/e5a0.vicii_init.s | 2 +- 5 files changed, 33 insertions(+), 4 deletions(-) create mode 100644 src/basic/board_crt/dummy.s create mode 100644 src/kernal/board_crt/dummy.s diff --git a/Makefile b/Makefile index 46635863..71a12068 100644 --- a/Makefile +++ b/Makefile @@ -19,6 +19,7 @@ SRCDIR_BASIC = $(SRCDIR_COMMON) \ src/basic/basic_commands_03_m65 \ src/basic/basic_operators \ src/basic/basic_functions \ + src/basic/board_crt \ src/basic/board_m65 \ src/basic/board_x16 \ src/basic/engine_editor \ @@ -42,6 +43,7 @@ SRCDIR_KERNAL = $(SRCDIR_COMMON) \ src/kernal \ src/kernal/,stubs \ src/kernal/assets \ + src/kernal/board_crt \ src/kernal/board_m65 \ src/kernal/board_x16 \ src/kernal/extapi_m65 \ @@ -168,6 +170,9 @@ TARGET_LIST = build/chargen_openroms.rom \ $(TARGET_LIST_U64) \ $(TARGET_X16_x) +SEG_LIST_CRT = $(DIR_CRT)/basic.seg_1 \ + $(DIR_CRT)/kernal.seg_1 + SEG_LIST_M65 = $(DIR_M65)/basic.seg_0 \ $(DIR_M65)/basic.seg_1 \ $(DIR_M65)/dos.seg_1 \ @@ -302,6 +307,11 @@ $(DIR_X16)/OUTB_0.BIN $(DIR_X16)/BASIC_0_combined.vs $(DIR_X16)/BASIC_0_combine $(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) $(GEN_STR_X16) +$(DIR_CRT)/basic.seg_1 $(DIR_CRT)/BASIC_1_combined.vs $(DIR_CRT)/BASIC_1_combined.sym: \ + $(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_BASIC) $(CFG_CRT) $(GEN_STR_CRT) $(DIR_CRT)/KERNAL_0_combined.sym $(DIR_CRT)/BASIC_0_combined.sym +$(DIR_CRT)/kernal.seg_1 $(DIR_CRT)/KERNAL_1_combined.vs $(DIR_CRT)/KERNAL_1_combined.sym: \ + $(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_KERNAL) $(CFG_CRT) $(GEN_STR_CRT) $(DIR_CRT)/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) $(GEN_STR_M65) $(DIR_M65)/KERNAL_0_combined.sym $(DIR_M65)/BASIC_0_combined.sym $(DIR_M65)/dos.seg_1 $(DIR_M65)/DOS_1_combined.vs $(DIR_M65)/DOS_1_combined.sym: \ @@ -404,6 +414,16 @@ $(DIR_CRT)/OUTK_0.BIN $(DIR_CRT)/KERNAL_0_combined.vs $(DIR_CRT)/KERNAL_0_combin @rm -f $@* $(DIR_CRT)/KERNAL_0* @$(TOOL_BUILD_SEGMENT) -a ../../$(TOOL_ASSEMBLER) -r CRT -s KERNAL_0 -i KERNAL_0-generic-crt -o OUTK_0.BIN -d $(DIR_CRT) -l e4d3 -h ffff $(CFG_CRT) $(GEN_STR_CRT) $(SRCDIR_KERNAL) $(GEN_KERNAL) +$(DIR_CRT)/basic.seg_1 $(DIR_CRT)/BASIC_1_combined.vs $(DIR_CRT)/BASIC_1_combined.sym: + @mkdir -p $(DIR_CRT) + @rm -f $@* $(DIR_CRT)/basic.seg_1 $(DIR_CRT)/BASIC_1* + @$(TOOL_BUILD_SEGMENT) -a ../../$(TOOL_ASSEMBLER) -r CRT -s BASIC_1 -i BASIC_1-generic-crt -o basic.seg_1 -d $(DIR_CRT) -l 8000 -h 9fff $(CFG_CRT) $(GEN_STR_CRT) $(SRCDIR_BASIC) $(GEN_BASIC) + +$(DIR_CRT)/kernal.seg_1 $(DIR_CRT)/KERNAL_1_combined.vs $(DIR_CRT)/KERNAL_1_combined.sym: + @mkdir -p $(DIR_CRT) + @rm -f $@* $(DIR_CRT)/kernal.seg_1 $(DIR_CRT)/KERNAL_1* + @$(TOOL_BUILD_SEGMENT) -a ../../$(TOOL_ASSEMBLER) -r CRT -s KERNAL_1 -i KERNAL_1-generic-crt -o kernal.seg_1 -d $(DIR_CRT) -l 8000 -h 9fff $(CFG_CRT) $(GEN_STR_CRT) $(SRCDIR_KERNAL) $(GEN_KERNAL) + # Rules - BASIC and KERNAL intermediate files, for MEGA65 $(DIR_M65)/OUTB_0.BIN $(DIR_M65)/BASIC_0_combined.vs $(DIR_M65)/BASIC_0_combined.sym: @@ -537,7 +557,7 @@ build/padding_8_KB: @mkdir -p build @dd if=/dev/zero bs=8192 count=1 of=$@ status=none -build/external_generic.crt: build/padding_8_KB +build/external_generic.crt: $(SEG_LIST_CRT) build/padding_8_KB @echo @echo @echo @@ -546,11 +566,11 @@ build/external_generic.crt: build/padding_8_KB @echo //------------------------------------------------------------------------------------------- @cat assets/cartridge/header-cart.bin > $@ @cat assets/cartridge/header-seg0.bin >> $@ - @cat build/padding_8_KB >> $@ + @cat $(DIR_CRT)/basic.seg_1 >> $@ @cat assets/cartridge/header-seg1.bin >> $@ @cat build/padding_8_KB >> $@ @cat assets/cartridge/header-seg2.bin >> $@ - @cat build/padding_8_KB >> $@ + @cat $(DIR_CRT)/kernal.seg_1 >> $@ @cat assets/cartridge/header-seg3.bin >> $@ @cat build/padding_8_KB >> $@ @echo diff --git a/src/basic/board_crt/dummy.s b/src/basic/board_crt/dummy.s new file mode 100644 index 00000000..3a3e191e --- /dev/null +++ b/src/basic/board_crt/dummy.s @@ -0,0 +1,4 @@ +;; #LAYOUT# CRT BASIC_1 #TAKE +;; #LAYOUT# * * #IGNORE + + +nop diff --git a/src/basic/rom_revision/bf52.rom_revision_basic.s b/src/basic/rom_revision/bf52.rom_revision_basic.s index c185b3d9..ef8c1bec 100644 --- a/src/basic/rom_revision/bf52.rom_revision_basic.s +++ b/src/basic/rom_revision/bf52.rom_revision_basic.s @@ -1,4 +1,5 @@ ;; #LAYOUT# STD * #TAKE +;; #LAYOUT# CRT BASIC_1 #TAKE-OFFSET -2F52 ;; #LAYOUT# X16 BASIC_0 #TAKE-OFFSET 2000 ;; #LAYOUT# * BASIC_0 #TAKE ;; #LAYOUT# * * #IGNORE diff --git a/src/kernal/board_crt/dummy.s b/src/kernal/board_crt/dummy.s new file mode 100644 index 00000000..5d70472b --- /dev/null +++ b/src/kernal/board_crt/dummy.s @@ -0,0 +1,4 @@ +;; #LAYOUT# CRT KERNAL_1 #TAKE +;; #LAYOUT# * * #IGNORE + + +nop diff --git a/src/kernal/init/e5a0.vicii_init.s b/src/kernal/init/e5a0.vicii_init.s index 6a0aa9ee..20f4f732 100644 --- a/src/kernal/init/e5a0.vicii_init.s +++ b/src/kernal/init/e5a0.vicii_init.s @@ -1,5 +1,5 @@ ;; #LAYOUT# STD * #TAKE -;; #LAYOUT# CRT * #TAKE +;; #LAYOUT# CRT KERNAL_0 #TAKE ;; #LAYOUT# M65 KERNAL_0 #TAKE ;; #LAYOUT# M65 KERNAL_1 #TAKE-FLOAT ;; #LAYOUT# X16 * #IGNORE