diff --git a/Makefile b/Makefile index dc2468fd..543ca990 100644 --- a/Makefile +++ b/Makefile @@ -138,7 +138,8 @@ GEN_ZMAC_H = $(DIR_ZMAC_TMP)/doc.inl DIR_CUS = build/target_custom DIR_GEN = build/target_generic DIR_GENCRT = build/target_generic_crt -DIR_TST = build/target_testing +DIR_TST38 = build/target_testing_38K +DIR_TST60 = build/target_testing_60K DIR_M65 = build/target_mega65 DIR_U64 = build/target_ultimate64 DIR_U64CRT = build/target_ultimate64_crt @@ -149,7 +150,8 @@ DIR_X16 = build/target_cx16 CFG_CUS = src/,,config_custom.s CFG_GEN = src/,,config_generic.s CFG_GENCRT = src/,,config_generic_crt.s -CFG_TST = src/,,config_testing.s +CFG_TST38 = src/,,config_testing_38K.s +CFG_TST60 = src/,,config_testing_60K.s CFG_M65 = src/,,config_mega65.s CFG_U64 = src/,,config_ultimate64.s CFG_X16 = src/,,config_cx16.s @@ -160,7 +162,8 @@ CFG_U64CRT = src/,,config_ultimate64_crt.s GEN_STR_CUS = $(DIR_CUS)/,generated/,packed_strings.s GEN_STR_GEN = $(DIR_GEN)/,generated/,packed_strings.s GEN_STR_GENCRT = $(DIR_GENCRT)/,generated/,packed_strings.s -GEN_STR_TST = $(DIR_TST)/,generated/,packed_strings.s +GEN_STR_TST38 = $(DIR_TST38)/,generated/,packed_strings.s +GEN_STR_TST60 = $(DIR_TST60)/,generated/,packed_strings.s GEN_STR_M65 = $(DIR_M65)/,generated/,packed_strings.s GEN_STR_U64 = $(DIR_U64)/,generated/,packed_strings.s GEN_STR_U64CRT = $(DIR_U64CRT)/,generated/,packed_strings.s @@ -206,14 +209,16 @@ TARGET_CHR_PXL = build/chargen_pxlfont.rom TARGET_CUS_B = build/basic_custom.rom TARGET_GEN_B = build/basic_generic.rom TARGET_GENCRT_B = build/basic_generic_crt.rom -TARGET_TST_B = build/basic_testing.rom +TARGET_TST38_B = build/basic_testing_38K.rom +TARGET_TST60_B = build/basic_testing_60K.rom TARGET_U64_B = build/basic_ultimate64.rom TARGET_U64CRT_B = build/basic_ultimate64_crt.rom TARGET_CUS_K = build/kernal_custom.rom TARGET_GEN_K = build/kernal_generic.rom TARGET_GENCRT_K = build/kernal_generic_crt.rom -TARGET_TST_K = build/kernal_testing.rom +TARGET_TST38_K = build/kernal_testing_38K.rom +TARGET_TST60_K = build/kernal_testing_60K.rom TARGET_U64_K = build/kernal_ultimate64.rom TARGET_U64CRT_K = build/kernal_ultimate64_crt.rom @@ -227,7 +232,8 @@ TARGET_X16_x = build/cx16-dummy.rom TARGET_LIST_CUS = $(TARGET_CUS_B) $(TARGET_CUS_K) TARGET_LIST_GEN = $(TARGET_GEN_B) $(TARGET_GEN_K) TARGET_LIST_GENCRT = $(TARGET_GENCRT_B) $(TARGET_GENCRT_K) $(TARGET_GENCRT_X) -TARGET_LIST_TST = $(TARGET_TST_B) $(TARGET_TST_K) +TARGET_LIST_TST38 = $(TARGET_TST38_B) $(TARGET_TST38_K) +TARGET_LIST_TST60 = $(TARGET_TST60_B) $(TARGET_TST60_K) TARGET_LIST_U64 = $(TARGET_U64_B) $(TARGET_U64_K) TARGET_LIST_U64CRT = $(TARGET_U64CRT_B) $(TARGET_U64CRT_K) $(TARGET_U64CRT_X) @@ -237,7 +243,8 @@ TARGET_LIST = $(TARGET_CHR_ORF) \ $(TARGET_LIST_CUS) \ $(TARGET_LIST_GEN) \ $(TARGET_LIST_GENCRT) \ - $(TARGET_LIST_TST) \ + $(TARGET_LIST_TST38) \ + $(TARGET_LIST_TST60) \ $(TARGET_M65_x_ORF) \ $(TARGET_M65_x_PXL) \ $(TARGET_LIST_U64) \ @@ -370,8 +377,10 @@ $(DIR_CUS)/OUTB_x.BIN $(DIR_CUS)/BASIC_combined.vs: \ $(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_BASIC) $(CFG_CUS) $(GEN_STR_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) $(GEN_STR_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) $(GEN_STR_TST) $(DIR_TST)/KERNAL_combined.sym +$(DIR_TST38)/OUTB_x.BIN $(DIR_TST38)/BASIC_combined.vs: \ + $(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_BASIC) $(CFG_TST38) $(GEN_STR_TST38) $(DIR_TST38)/KERNAL_combined.sym +$(DIR_TST60)/OUTB_x.BIN $(DIR_TST60)/BASIC_combined.vs: \ + $(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_BASIC) $(CFG_TST60) $(GEN_STR_TST60) $(DIR_TST60)/KERNAL_combined.sym $(DIR_U64)/OUTB_x.BIN $(DIR_U64)/BASIC_combined.vs: \ $(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_BASIC) $(CFG_U64) $(GEN_STR_U64) $(DIR_U64)/KERNAL_combined.sym @@ -379,8 +388,10 @@ $(DIR_CUS)/OUTK_x.BIN $(DIR_CUS)/KERNAL_combined.vs $(DIR_CUS)/KERNAL_combined.s $(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_KERNAL) $(CFG_CUS) $(GEN_STR_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) $(GEN_STR_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) $(GEN_STR_TST) +$(DIR_TST38)/OUTK_x.BIN $(DIR_TST38)/KERNAL_combined.vs $(DIR_TST38)/KERNAL_combined.sym: \ + $(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_KERNAL) $(CFG_TST38) $(GEN_STR_TST38) +$(DIR_TST60)/OUTK_x.BIN $(DIR_TST60)/KERNAL_combined.vs $(DIR_TST60)/KERNAL_combined.sym: \ + $(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_KERNAL) $(CFG_TST60) $(GEN_STR_TST60) $(DIR_U64)/OUTK_x.BIN $(DIR_U64)/KERNAL_combined.vs $(DIR_U64)/KERNAL_combined.sym: \ $(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_KERNAL) $(CFG_U64) $(GEN_STR_U64) @@ -435,7 +446,8 @@ $(DIR_X16)/kernal.seg_1 $(DIR_X16)/KERNAL_1_combined.vs $(DIR_X16)/KERNAL_1_comb $(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_GENCRT)/OUTx_0.BIN: $(DIR_GENCRT)/OUTB_0.BIN $(DIR_GENCRT)/OUTK_0.BIN -$(DIR_TST)/OUTx_x.BIN: $(DIR_TST)/OUTB_x.BIN $(DIR_TST)/OUTK_x.BIN +$(DIR_TST38)/OUTx_x.BIN: $(DIR_TST38)/OUTB_x.BIN $(DIR_TST38)/OUTK_x.BIN +$(DIR_TST60)/OUTx_x.BIN: $(DIR_TST60)/OUTB_x.BIN $(DIR_TST60)/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_U64CRT)/OUTx_0.BIN: $(DIR_U64CRT)/OUTB_0.BIN $(DIR_U64CRT)/OUTK_0.BIN @@ -443,18 +455,21 @@ $(DIR_X16)/OUTx_0.BIN: $(DIR_X16)/OUTB_0.BIN $(DIR_X16)/OUTK_0.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_TST38_B): $(DIR_TST38)/OUTx_x.BIN +$(TARGET_TST60_B): $(DIR_TST60)/OUTx_x.BIN $(TARGET_U64_B): $(DIR_U64)/OUTx_x.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_TST38_K): $(DIR_TST38)/OUTx_x.BIN +$(TARGET_TST60_K): $(DIR_TST60)/OUTx_x.BIN $(TARGET_U64_K): $(DIR_U64)/OUTx_x.BIN 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_generic_crt.vs: $(DIR_GENCRT)/BASIC_0_combined.vs $(DIR_GENCRT)/KERNAL_0_combined.vs -build/symbols_testing.vs: $(DIR_TST)/BASIC_combined.vs $(DIR_TST)/KERNAL_combined.vs +build/symbols_testing_38K.vs: $(DIR_TST38)/BASIC_combined.vs $(DIR_TST38)/KERNAL_combined.vs +build/symbols_testing_60K.vs: $(DIR_TST60)/BASIC_combined.vs $(DIR_TST60)/KERNAL_combined.vs build/symbols_ultimate64.vs: $(DIR_U64)/BASIC_combined.vs $(DIR_U64)/KERNAL_combined.vs build/symbols_ultimate64_crt.vs: $(DIR_U64CRT)/BASIC_0_combined.vs $(DIR_U64CRT)/KERNAL_0_combined.vs @@ -472,9 +487,13 @@ $(GEN_STR_GENCRT): $(TOOL_GENERATE_STRINGS) $(CFG_GENCRT) @mkdir -p $(DIR_GENCRT)/,generated $(TOOL_GENERATE_STRINGS) -o $@ -c $(CFG_GENCRT) -$(GEN_STR_TST): $(TOOL_GENERATE_STRINGS) $(CFG_TST) - @mkdir -p $(DIR_TST)/,generated - $(TOOL_GENERATE_STRINGS) -o $@ -c $(CFG_TST) +$(GEN_STR_TST38): $(TOOL_GENERATE_STRINGS) $(CFG_TST38) + @mkdir -p $(DIR_TST38)/,generated + $(TOOL_GENERATE_STRINGS) -o $@ -c $(CFG_TST38) + +$(GEN_STR_TST60): $(TOOL_GENERATE_STRINGS) $(CFG_TST60) + @mkdir -p $(DIR_TST60)/,generated + $(TOOL_GENERATE_STRINGS) -o $@ -c $(CFG_TST60) $(GEN_STR_M65): $(TOOL_GENERATE_STRINGS) $(CFG_M65) @mkdir -p $(DIR_M65)/,generated @@ -503,12 +522,14 @@ build/,generated/,z80_tables.s: $(TOOL_GENERATE_Z80_TABLES) GEN_STR_custom = $(GEN_STR_CUS) GEN_STR_generic = $(GEN_STR_GEN) GEN_STR_generic_crt = $(GEN_STR_GENCRT) -GEN_STR_testing = $(GEN_STR_TST) +GEN_STR_testing_38K = $(GEN_STR_TST38) +GEN_STR_testing_60K = $(GEN_STR_TST60) GEN_STR_mega65 = $(GEN_STR_M65) GEN_STR_ultimate64 = $(GEN_STR_U64) GEN_STR_ultimate64_crt = $(GEN_STR_U64CRT) GEN_STR_cx16 = $(GEN_STR_X16) + .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_$* @@ -865,8 +886,11 @@ test_generic_x128: $(TARGET_LIST_GEN) $(TARGET_CHR_PXL) build/symbols_generic.vs test_generic_crt: $(TARGET_LIST_GENCRT) $(TARGET_CHR_PXL) build/symbols_generic_crt.vs $(EXEC_X64) -kernal $(TARGET_GENCRT_K) -basic $(TARGET_GENCRT_B) -chargen $(TARGET_CHR_PXL) -cartcrt $(TARGET_GENCRT_X) -moncommands build/symbols_generic_crt.vs -1 $(TESTTAPE) -8 $(TESTDISK) -test_testing: $(TARGET_LIST_TST) $(TARGET_CHR_PXL) build/symbols_testing.vs - $(EXEC_X64) -kernal $(TARGET_TST_K) -basic $(TARGET_TST_B) -chargen $(TARGET_CHR_PXL) -moncommands build/symbols_testing.vs -1 $(TESTTAPE) -8 $(TESTDISK) +test_testing38: $(TARGET_LIST_TST38) $(TARGET_CHR_PXL) build/symbols_testing_38K.vs + $(EXEC_X64) -kernal $(TARGET_TST38_K) -basic $(TARGET_TST38_B) -chargen $(TARGET_CHR_PXL) -moncommands build/symbols_testing_38K.vs -1 $(TESTTAPE) -8 $(TESTDISK) + +test_testing60: $(TARGET_LIST_TST60) $(TARGET_CHR_PXL) build/symbols_testing_60K.vs + $(EXEC_X64) -kernal $(TARGET_TST60_K) -basic $(TARGET_TST60_B) -chargen $(TARGET_CHR_PXL) -moncommands build/symbols_testing_60K.vs -1 $(TESTTAPE) -8 $(TESTDISK) test_ultimate64: $(TARGET_LIST_U64) $(TARGET_CHR_PXL) build/symbols_ultimate64.vs $(EXEC_X64) -kernal $(TARGET_U64_K) -basic $(TARGET_U64_B) -chargen $(TARGET_CHR_PXL) -moncommands build/symbols_ultimate64.vs -1 $(TESTTAPE) -8 $(TESTDISK) diff --git a/doc/Development.md b/doc/Development.md index e0e458de..e24b4378 100644 --- a/doc/Development.md +++ b/doc/Development.md @@ -86,8 +86,8 @@ List of the most important make targets: | `test_ultimate64` | builds the Ultimate 64 configuration, launches it using VICE | | `test_ultimate64_crt` | as above, ROM with extended cartriodge image | | `test_hybrid` | builds a hybrid ROM (Open ROMs Kernal + original BASIC), launches it using VICE | -| `test_testing` | builds a rather odd testing configuration, launches it using VICE | - +| `test_testing_38K` | builds a 38K memory model configuration, launches it using VICE | +| `test_testing_60K` | builds a 60K memory model configuration, launches it using VICE | ### Code segments and ROM layouts diff --git a/src/,,config_testing_38K.s b/src/,,config_testing_38K.s new file mode 100644 index 00000000..38d0a9f5 --- /dev/null +++ b/src/,,config_testing_38K.s @@ -0,0 +1,122 @@ + +;; #CONFIG# ID $F0 ; should be 1 byte, different for each config file! + +; +; Please read CONFIG.md before modifying this file! +; + +; Idea: +; - enable compatibility-risky features +; - enable code not normally used - to make sure they still compile + + + +; --- Hardware platform and brand + +;; #CONFIG# PLATFORM_COMMODORE_64 YES +;; #CONFIG# BRAND_TESTING YES + + +; --- Processor instruction set + +;; #CONFIG# CPU_MOS_6502 YES +;; #CONFIG# CPU_DTV_6502 NO +;; #CONFIG# CPU_RCW_65C02 NO +;; #CONFIG# CPU_WDC_65C02 NO +;; #CONFIG# CPU_WDC_65816 NO +;; #CONFIG# CPU_CSG_65CE02 NO + + +; --- Memory model + +;; #CONFIG# MEMORY_MODEL_38K YES +;; #CONFIG# MEMORY_MODEL_46K NO +;; #CONFIG# MEMORY_MODEL_50K NO +;; #CONFIG# MEMORY_MODEL_60K NO + + +; --- IEC bus configuration + +;; #CONFIG# IEC YES +;; #CONFIG# IEC_DOLPHINDOS YES +;; #CONFIG# IEC_DOLPHINDOS_FAST NO +;; #CONFIG# IEC_JIFFYDOS YES +;; #CONFIG# IEC_JIFFYDOS_BLANK NO + + +; --- Tape deck configuration + +;; #CONFIG# TAPE_NORMAL NO +;; #CONFIG# TAPE_TURBO YES +;; #CONFIG# TAPE_AUTODETECT NO +;; #CONFIG# TAPE_NO_KEY_SENSE NO +;; #CONFIG# TAPE_NO_MOTOR_CONTROL NO + + +; --- Sound support + +;; #CONFIG# SID_2ND_ADDRESS NO +;; #CONFIG# SID_3RD_ADDRESS NO +;; #CONFIG# SID_D4XX NO +;; #CONFIG# SID_D5XX NO +;; #CONFIG# SID_D6XX NO +;; #CONFIG# SID_D7XX NO + + +; --- Keyboard settings + +;; #CONFIG# KEYBOARD_C128 NO +;; #CONFIG# KEYBOARD_C128_CAPS_LOCK NO +;; #CONFIG# KEY_REPEAT_DEFAULT NO +;; #CONFIG# KEY_REPEAT_ALWAYS NO +;; #CONFIG# KEY_FAST_SCAN YES +;; #CONFIG# JOY1_CURSOR YES +;; #CONFIG# JOY2_CURSOR YES + +;; #CONFIG# PROGRAMMABLE_KEYS YES + +;; #CONFIG# KEYCMD_RUN "\5FL" + +;; #CONFIG# KEYCMD_F1 "@8$" +;; #CONFIG# KEYCMD_F2 "LOAD" +;; #CONFIG# KEYCMD_F3 "@9$" +;; #CONFIG# KEYCMD_F4 "RUN:" +;; #CONFIG# KEYCMD_F5 "@10$" +;; #CONFIG# KEYCMD_F6 NO +;; #CONFIG# KEYCMD_F7 "@11$" +;; #CONFIG# KEYCMD_F8 NO + +;; #CONFIG# KEYCMD_HELP "LIST" + + +; --- Screen editor + +;; #CONFIG# EDIT_STOPQUOTE YES + + +; --- Software features + +;; #CONFIG# PANIC_SCREEN YES +;; #CONFIG# DOS_WEDGE YES +;; #CONFIG# TAPE_WEDGE YES +;; #CONFIG# TAPE_HEAD_ALIGN NO +;; #CONFIG# BCD_SAFE_INTERRUPTS YES + + +; --- Eye candy + +;; #CONFIG# COLORS_BRAND NO +;; #CONFIG# BANNER_SIMPLE YES +;; #CONFIG# BANNER_FANCY NO +;; #CONFIG# SHOW_FEATURES YES + + +; --- Debug options + +;; #CONFIG# DBG_STUBS_BRK NO +;; #CONFIG# DBG_PRINTF YES + + +; --- Other + +;; #CONFIG# COMPRESSION_LVL_2 NO diff --git a/src/,,config_testing.s b/src/,,config_testing_60K.s similarity index 100% rename from src/,,config_testing.s rename to src/,,config_testing_60K.s