diff --git a/Makefile b/Makefile index ac8a7a94..498de7f4 100644 --- a/Makefile +++ b/Makefile @@ -330,7 +330,7 @@ $(DIR_M65)/OUTK_0.BIN $(DIR_M65)/KERNAL_0_combined.vs $(DIR_M65)/KERNAL_0_combin $(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) $(GEN_STR_M65) $(SRCDIR_BASIC) $(GEN_BASIC) + @$(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 7fff $(CFG_M65) $(GEN_STR_M65) $(SRCDIR_BASIC) $(GEN_BASIC) $(DIR_M65)/kernal.seg_1 $(DIR_M65)/KERNAL_1_combined.vs $(DIR_M65)/KERNAL_1_combined.sym: @mkdir -p $(DIR_M65) @@ -409,29 +409,27 @@ build/symbols_hybrid.vs: $(DIR_GEN)/KERNAL_combined.vs # Rules - platform 'Mega65' specific -build/padding_08_KB: - dd if=/dev/zero bs=8192 count=1 of=build/padding_08_KB +build/padding_16_KB: + @mkdir -p build + dd if=/dev/zero bs=8192 count=2 of=build/padding_16_KB build/padding_64_KB: + @mkdir -p build dd if=/dev/zero bs=8192 count=8 of=build/padding_64_KB -$(TARGET_M65_x) $(TARGET_M65_x_PXL): build/padding_08_KB build/padding_64_KB $(SEG_LIST_M65) build/chargen_openroms.rom build/chargen_openroms.patched build/chargen_pxlfont.rom build/chargen_pxlfont.patched +$(TARGET_M65_x) $(TARGET_M65_x_PXL): build/padding_16_KB build/padding_64_KB $(SEG_LIST_M65) build/chargen_openroms.rom build/chargen_openroms.patched build/chargen_pxlfont.rom build/chargen_pxlfont.patched @echo - cat build/padding_08_KB > $(TARGET_M65_x) - cat build/padding_08_KB >> $(TARGET_M65_x) + cat build/padding_16_KB > $(TARGET_M65_x) cat $(DIR_M65)/kernal.seg_1 >> $(TARGET_M65_x) cat $(DIR_M65)/basic.seg_1 >> $(TARGET_M65_x) - cat build/padding_08_KB >> $(TARGET_M65_x) cat $(DIR_M65)/basic.seg_0 >> $(TARGET_M65_x) cat build/chargen_openroms.rom >> $(TARGET_M65_x) cat build/chargen_openroms.patched >> $(TARGET_M65_x) cat $(DIR_M65)/kernal.seg_0 >> $(TARGET_M65_x) cat build/padding_64_KB >> $(TARGET_M65_x) @echo - cat build/padding_08_KB > $(TARGET_M65_x_PXL) - cat build/padding_08_KB >> $(TARGET_M65_x_PXL) + cat build/padding_16_KB > $(TARGET_M65_x_PXL) cat $(DIR_M65)/kernal.seg_1 >> $(TARGET_M65_x_PXL) cat $(DIR_M65)/basic.seg_1 >> $(TARGET_M65_x_PXL) - cat build/padding_08_KB >> $(TARGET_M65_x_PXL) cat $(DIR_M65)/basic.seg_0 >> $(TARGET_M65_x_PXL) cat build/chargen_pxlfont.rom >> $(TARGET_M65_x_PXL) cat build/chargen_pxlfont.patched >> $(TARGET_M65_x_PXL) diff --git a/doc/Development.md b/doc/Development.md index fab2ca6e..29655ae6 100644 --- a/doc/Development.md +++ b/doc/Development.md @@ -97,7 +97,7 @@ List of the most important make targets: Currently there are 3 ROM layouts defined: - `STD` - with 2 code segments: `BASIC` (`$A000-$E4D2`, where `$C000-$DFFF` is a skip-gap for RAM and I/O area) and `KERNAL` (`$E4D3 - $FFFF`) -- `M65` - where `BASIC` becames `BASIC_0` and `KERNAL` becames `KERNAL_0`, additional segments might be added to the build system in the future; at the moment of writing this document additional 8KB of ROM is defined as `BASIC_1` segment and additional 8KB of ROM is defined as `KERNAL_1` segment +- `M65` - where `BASIC` becames `BASIC_0` and `KERNAL` becames `KERNAL_0`, additional segments might be added to the build system in the future; at the moment of writing this document additional 16KB of ROM is defined as `BASIC_1` segment and additional 8KB of ROM is defined as `KERNAL_1` segment - `X16` - memory layout for the Commander X16 machine To check for current ROM layout or code segment use KickAssembler preprocessor defines, like `ROM_LAYOUT_STD`, `ROM_LAYOUT_M65`, `SEGMENT_BASIC`, `SEGMENT_KERNAL_1`. diff --git a/src/basic/board_m65/mega65_map_helpers.s b/src/basic/board_m65/mega65_map_helpers.s index 73e22cdb..2ed00bff 100644 --- a/src/basic/board_m65/mega65_map_helpers.s +++ b/src/basic/board_m65/mega65_map_helpers.s @@ -23,6 +23,6 @@ map_BASIC_1: taz lda #$20 - ldx #$42 // 0x4000 <- map 8KB from 0x22000 + ldx #$C2 // 0x4000 <- map 16KB from 0x22000 jmp map_end