more compatible MEGA65 memory map
This commit is contained in:
1 parent
196560604f
commit
c35195ed5f
3 files changed
+13
-10
No files matched your search
@@ -505,7 +505,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 7fff $(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 6fff $(CFG_M65) $(GEN_STR_M65) $(SRCDIR_BASIC) $(GEN_BASIC)
|
||||
|
||||
$(DIR_M65)/dos.seg_1 $(DIR_M65)/DOS_1_combined.vs $(DIR_M65)/DOS_1_combined.sym:
|
||||
@mkdir -p $(DIR_M65)
|
||||
@@ -681,10 +681,11 @@ $(TARGET_U64CRT_X): $(SEG_LIST_U64CRT) $(CRT_BIN_LIST) build/padding_8_KB
|
||||
|
||||
# $0:$0000 - 16 KB - DOS
|
||||
# $0:$4000 - 8 KB - KERNAL segment 1
|
||||
# $0:$6000 - 16 KB - BASIC segment 1 (wrong, $9000 should be alternative chargen)
|
||||
# $0:$6000 - 12 KB - BASIC segment 1
|
||||
# $0:$9000 - 4 KB - native mode chargen
|
||||
# $0:$A000 - 8 KB - BASIC segment 0
|
||||
# $0:$C000 - 4 KB - C64 mode charset (wrong)
|
||||
# $0:$D000 - 4 KB - native mode charset (wrong, should be C64 mode charset)
|
||||
# $0:$C000 - 4 KB - unused for now, padding
|
||||
# $0:$D000 - 4 KB - legacy mode chargen
|
||||
# $0:$E000 - 9 KB - KERNAL segment 0
|
||||
# $1:$0000 - 64 KB - unused for now, padding
|
||||
|
||||
@@ -706,9 +707,10 @@ $(TARGET_M65_x_ORF) $(TARGET_M65_x_PXL): $(SEG_LIST_M65) build/padding_64_KB bui
|
||||
@cat $(DIR_M65)/dos.seg_1 > $(TARGET_M65_x_ORF)
|
||||
@cat $(DIR_M65)/kernal.seg_1 >> $(TARGET_M65_x_ORF)
|
||||
@cat $(DIR_M65)/basic.seg_1 >> $(TARGET_M65_x_ORF)
|
||||
@cat $(DIR_M65)/basic.seg_0 >> $(TARGET_M65_x_ORF)
|
||||
@cat $(TARGET_CHR_ORF) >> $(TARGET_M65_x_ORF)
|
||||
@cat build/chargen_openroms.patched >> $(TARGET_M65_x_ORF)
|
||||
@cat $(DIR_M65)/basic.seg_0 >> $(TARGET_M65_x_ORF)
|
||||
@cat build/padding_4_KB >> $(TARGET_M65_x_ORF)
|
||||
@cat $(TARGET_CHR_ORF) >> $(TARGET_M65_x_ORF)
|
||||
@cat $(DIR_M65)/kernal.seg_0 >> $(TARGET_M65_x_ORF)
|
||||
@cat build/padding_64_KB >> $(TARGET_M65_x_ORF)
|
||||
@echo
|
||||
@@ -720,9 +722,10 @@ $(TARGET_M65_x_ORF) $(TARGET_M65_x_PXL): $(SEG_LIST_M65) build/padding_64_KB bui
|
||||
@cat $(DIR_M65)/dos.seg_1 > $(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 $(DIR_M65)/basic.seg_0 >> $(TARGET_M65_x_PXL)
|
||||
@cat $(TARGET_CHR_PXL) >> $(TARGET_M65_x_PXL)
|
||||
@cat build/chargen_pxlfont.patched >> $(TARGET_M65_x_PXL)
|
||||
@cat $(DIR_M65)/basic.seg_0 >> $(TARGET_M65_x_PXL)
|
||||
@cat build/padding_4_KB >> $(TARGET_M65_x_PXL)
|
||||
@cat $(TARGET_CHR_PXL) >> $(TARGET_M65_x_PXL)
|
||||
@cat $(DIR_M65)/kernal.seg_0 >> $(TARGET_M65_x_PXL)
|
||||
@cat build/padding_64_KB >> $(TARGET_M65_x_PXL)
|
||||
@echo
|
||||
|
||||
+1
-1
@@ -101,7 +101,7 @@ Currently there are 4 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`)
|
||||
- `CRT` - where `BASIC` becames `BASIC_0` and `KERNAL` becames `KERNAL_0`, with additional `BASIC`/`KERNAL` segments are placed on the required cartridge image
|
||||
- `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
|
||||
- `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 12KB 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
|
||||
|
||||
Expect at least one more, `U64`, if the planned additional ROM banks support for Ultimate 64 gets implemented. To check for current ROM layout or code segment use KickAssembler preprocessor defines, like `ROM_LAYOUT_STD`, `SEGMENT_M65_BASIC_0`, `SEGMENT_X16_KERNAL_1`.
|
||||
|
||||
@@ -32,7 +32,7 @@ m65_native_meminit:
|
||||
sta M65_DMAJOB_SRC_3
|
||||
lda #$02
|
||||
sta M65_DMAJOB_SRC_2
|
||||
lda #$D0
|
||||
lda #$90
|
||||
sta M65_DMAJOB_SRC_1
|
||||
lda #$00
|
||||
sta M65_DMAJOB_SRC_0
|
||||
|
||||
Reference in new issue
Block a user