feat(config): the mc64blade configuration and its Makefile targets

The Blade Firmware of arnitech's Blades: the mc64 configuration with its own
ID ($6E), the brand "MC64 BLADE", and no tape, programmable keys, joystick
cursor, panic screen, or feature list. Its new ARNITECH_BLADE option does
nothing yet. The targets build/kernal_mc64blade.rom and
build/basic_mc64blade.rom are made the same way as mc64's.
This commit is contained in:
chris committed 2026-10-18 08:35:45 +02:00
1 parent f1ade3b7d3
commit 9f922287c6
2 files changed
+157

No files matched your search

+20
View File
@@ -139,6 +139,7 @@ GEN_ZMAC_H = $(DIR_ZMAC_TMP)/doc.inl
DIR_C64 = build/target_c64
DIR_MC64 = build/target_mc64
DIR_MC64BLADE = build/target_mc64blade
DIR_CUS = build/target_custom
DIR_GEN = build/target_generic
DIR_GENCRT = build/target_generic_crt
@@ -154,6 +155,7 @@ DIR_X16 = build/target_cx16
CFG_CUS = src/,,config_custom.s
CFG_C64 = src/,,config_c64.s
CFG_MC64 = src/,,config_mc64.s
CFG_MC64BLADE = src/,,config_mc64blade.s
CFG_GEN = src/,,config_generic.s
CFG_GENCRT = src/,,config_generic_crt.s
CFG_TST38 = src/,,config_testing_38K.s
@@ -168,6 +170,7 @@ CFG_U64CRT = src/,,config_ultimate64_crt.s
GEN_STR_CUS = $(DIR_CUS)/,generated/,packed_strings.s
GEN_STR_C64 = $(DIR_C64)/,generated/,packed_strings.s
GEN_STR_MC64 = $(DIR_MC64)/,generated/,packed_strings.s
GEN_STR_MC64BLADE = $(DIR_MC64BLADE)/,generated/,packed_strings.s
GEN_STR_GEN = $(DIR_GEN)/,generated/,packed_strings.s
GEN_STR_GENCRT = $(DIR_GENCRT)/,generated/,packed_strings.s
GEN_STR_TST38 = $(DIR_TST38)/,generated/,packed_strings.s
@@ -217,6 +220,7 @@ TARGET_CHR_PXL = build/chargen_pxlfont.rom
TARGET_CUS_B = build/basic_custom.rom
TARGET_C64_B = build/basic_c64.rom
TARGET_MC64_B = build/basic_mc64.rom
TARGET_MC64BLADE_B = build/basic_mc64blade.rom
TARGET_GEN_B = build/basic_generic.rom
TARGET_GENCRT_B = build/basic_generic_crt.rom
TARGET_TST38_B = build/basic_testing_38K.rom
@@ -227,6 +231,7 @@ TARGET_U64CRT_B = build/basic_ultimate64_crt.rom
TARGET_CUS_K = build/kernal_custom.rom
TARGET_C64_K = build/kernal_c64.rom
TARGET_MC64_K = build/kernal_mc64.rom
TARGET_MC64BLADE_K = build/kernal_mc64blade.rom
TARGET_GEN_K = build/kernal_generic.rom
TARGET_GENCRT_K = build/kernal_generic_crt.rom
TARGET_TST38_K = build/kernal_testing_38K.rom
@@ -244,6 +249,7 @@ TARGET_X16_x = build/cx16-dummy.rom
TARGET_LIST_CUS = $(TARGET_CUS_B) $(TARGET_CUS_K)
TARGET_LIST_C64 = $(TARGET_C64_B) $(TARGET_C64_K)
TARGET_LIST_MC64 = $(TARGET_MC64_B) $(TARGET_MC64_K)
TARGET_LIST_MC64BLADE = $(TARGET_MC64BLADE_B) $(TARGET_MC64BLADE_K)
TARGET_LIST_GEN = $(TARGET_GEN_B) $(TARGET_GEN_K)
TARGET_LIST_GENCRT = $(TARGET_GENCRT_B) $(TARGET_GENCRT_K) $(TARGET_GENCRT_X)
TARGET_LIST_TST38 = $(TARGET_TST38_B) $(TARGET_TST38_K)
@@ -257,6 +263,7 @@ TARGET_LIST = $(TARGET_CHR_ORF) \
$(TARGET_LIST_CUS) \
$(TARGET_LIST_C64) \
$(TARGET_LIST_MC64) \
$(TARGET_LIST_MC64BLADE) \
$(TARGET_LIST_GEN) \
$(TARGET_LIST_GENCRT) \
$(TARGET_LIST_TST38) \
@@ -395,6 +402,8 @@ $(DIR_C64)/OUTB_x.BIN $(DIR_C64)/BASIC_combined.vs: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_BASIC) $(CFG_C64) $(GEN_STR_C64) $(DIR_C64)/KERNAL_combined.sym
$(DIR_MC64)/OUTB_x.BIN $(DIR_MC64)/BASIC_combined.vs: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_BASIC) $(CFG_MC64) $(GEN_STR_MC64) $(DIR_MC64)/KERNAL_combined.sym
$(DIR_MC64BLADE)/OUTB_x.BIN $(DIR_MC64BLADE)/BASIC_combined.vs: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_BASIC) $(CFG_MC64BLADE) $(GEN_STR_MC64BLADE) $(DIR_MC64BLADE)/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_TST38)/OUTB_x.BIN $(DIR_TST38)/BASIC_combined.vs: \
@@ -410,6 +419,8 @@ $(DIR_C64)/OUTK_x.BIN $(DIR_C64)/KERNAL_combined.vs $(DIR_C64)/KERNAL_combined.s
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_KERNAL) $(CFG_C64) $(GEN_STR_C64)
$(DIR_MC64)/OUTK_x.BIN $(DIR_MC64)/KERNAL_combined.vs $(DIR_MC64)/KERNAL_combined.sym: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_KERNAL) $(CFG_MC64) $(GEN_STR_MC64)
$(DIR_MC64BLADE)/OUTK_x.BIN $(DIR_MC64BLADE)/KERNAL_combined.vs $(DIR_MC64BLADE)/KERNAL_combined.sym: \
$(TOOL_ASSEMBLER) $(TOOL_BUILD_SEGMENT) $(DEP_KERNAL) $(CFG_MC64BLADE) $(GEN_STR_MC64BLADE)
$(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_TST38)/OUTK_x.BIN $(DIR_TST38)/KERNAL_combined.vs $(DIR_TST38)/KERNAL_combined.sym: \
@@ -470,6 +481,7 @@ $(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_C64)/OUTx_x.BIN: $(DIR_C64)/OUTB_x.BIN $(DIR_C64)/OUTK_x.BIN
$(DIR_MC64)/OUTx_x.BIN: $(DIR_MC64)/OUTB_x.BIN $(DIR_MC64)/OUTK_x.BIN
$(DIR_MC64BLADE)/OUTx_x.BIN: $(DIR_MC64BLADE)/OUTB_x.BIN $(DIR_MC64BLADE)/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_TST38)/OUTx_x.BIN: $(DIR_TST38)/OUTB_x.BIN $(DIR_TST38)/OUTK_x.BIN
@@ -482,6 +494,7 @@ $(DIR_X16)/OUTx_0.BIN: $(DIR_X16)/OUTB_0.BIN $(DIR_X16)/OUTK_0.BIN
$(TARGET_CUS_B): $(DIR_CUS)/OUTx_x.BIN
$(TARGET_C64_B): $(DIR_C64)/OUTx_x.BIN
$(TARGET_MC64_B): $(DIR_MC64)/OUTx_x.BIN
$(TARGET_MC64BLADE_B): $(DIR_MC64BLADE)/OUTx_x.BIN
$(TARGET_GEN_B): $(DIR_GEN)/OUTx_x.BIN
$(TARGET_TST38_B): $(DIR_TST38)/OUTx_x.BIN
$(TARGET_TST60_B): $(DIR_TST60)/OUTx_x.BIN
@@ -490,6 +503,7 @@ $(TARGET_U64_B): $(DIR_U64)/OUTx_x.BIN
$(TARGET_CUS_K): $(DIR_CUS)/OUTx_x.BIN
$(TARGET_C64_K): $(DIR_C64)/OUTx_x.BIN
$(TARGET_MC64_K): $(DIR_MC64)/OUTx_x.BIN
$(TARGET_MC64BLADE_K): $(DIR_MC64BLADE)/OUTx_x.BIN
$(TARGET_GEN_K): $(DIR_GEN)/OUTx_x.BIN
$(TARGET_TST38_K): $(DIR_TST38)/OUTx_x.BIN
$(TARGET_TST60_K): $(DIR_TST60)/OUTx_x.BIN
@@ -498,6 +512,7 @@ $(TARGET_U64_K): $(DIR_U64)/OUTx_x.BIN
build/symbols_custom.vs: $(DIR_CUS)/BASIC_combined.vs $(DIR_CUS)/KERNAL_combined.vs
build/symbols_c64.vs: $(DIR_C64)/BASIC_combined.vs $(DIR_C64)/KERNAL_combined.vs
build/symbols_mc64.vs: $(DIR_MC64)/BASIC_combined.vs $(DIR_MC64)/KERNAL_combined.vs
build/symbols_mc64blade.vs: $(DIR_MC64BLADE)/BASIC_combined.vs $(DIR_MC64BLADE)/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_38K.vs: $(DIR_TST38)/BASIC_combined.vs $(DIR_TST38)/KERNAL_combined.vs
@@ -519,6 +534,10 @@ $(GEN_STR_MC64): $(TOOL_GENERATE_STRINGS) $(CFG_MC64)
@mkdir -p $(DIR_MC64)/,generated
$(TOOL_GENERATE_STRINGS) -o $@ -c $(CFG_MC64)
$(GEN_STR_MC64BLADE): $(TOOL_GENERATE_STRINGS) $(CFG_MC64BLADE)
@mkdir -p $(DIR_MC64BLADE)/,generated
$(TOOL_GENERATE_STRINGS) -o $@ -c $(CFG_MC64BLADE)
$(GEN_STR_GEN): $(TOOL_GENERATE_STRINGS) $(CFG_GEN)
@mkdir -p $(DIR_GEN)/,generated
$(TOOL_GENERATE_STRINGS) -o $@ -c $(CFG_GEN)
@@ -562,6 +581,7 @@ build/,generated/,z80_tables.s: $(TOOL_GENERATE_Z80_TABLES)
GEN_STR_custom = $(GEN_STR_CUS)
GEN_STR_c64 = $(GEN_STR_C64)
GEN_STR_mc64 = $(GEN_STR_MC64)
GEN_STR_mc64blade = $(GEN_STR_MC64BLADE)
GEN_STR_generic = $(GEN_STR_GEN)
GEN_STR_generic_crt = $(GEN_STR_GENCRT)
GEN_STR_testing_38K = $(GEN_STR_TST38)
+137
View File
@@ -0,0 +1,137 @@
;; #CONFIG# ID $6E ; should be 1 byte, different for each config file!
;
; Please read CONFIG.md before modifying this file!
;
; Idea:
; The Blade Firmware of arnitech's mc64 Blades, a Minecraft mod: the Firmware a Blade always boots
; (arnitech's ADR 0030). A Blade is a 65816 in 6502 emulation mode with a C64's bank 0, two CIAs,
; the serial bus, and the Arnitech controller, but no VIC-II, SID, keyboard, or tape (ADR 0029).
; Same as the 'mc64' configuration, except:
; - the banner names the Blade
; - ARNITECH_BLADE: no screen editor, keyboard matrix scan, VIC-II set-up, PAL detection, or tape;
; the screen and the keyboard, devices 3 and 0, are a Terminal Card (src/kernal/arnitech), the
; serial bus waits on a CIA timer, and a reset autoboots LOAD"*",8
; - no tape, programmable keys, joystick cursor, panic screen, or feature list
; --- Hardware platform and brand
;; #CONFIG# PLATFORM_COMMODORE_64 YES
;; #CONFIG# BRAND_CUSTOM "MC64 BLADE"
; --- 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 NO
;; #CONFIG# IEC_DOLPHINDOS_FAST NO
;; #CONFIG# IEC_JIFFYDOS NO
;; #CONFIG# IEC_JIFFYDOS_BLANK NO
; --- Tape deck configuration
;; #CONFIG# TAPE_NORMAL NO
;; #CONFIG# TAPE_TURBO NO
;; #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 NO
;; #CONFIG# JOY2_CURSOR NO
;; #CONFIG# PROGRAMMABLE_KEYS NO
;; #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 NO
;; #CONFIG# DOS_WEDGE YES
;; #CONFIG# TAPE_WEDGE NO
;; #CONFIG# TAPE_HEAD_ALIGN NO
;; #CONFIG# BCD_SAFE_INTERRUPTS NO
;; #CONFIG# ARNITECH_CONTROLLER YES
;; #CONFIG# ARNITECH_BLADE YES
; --- BASIC features
;; #CONFIG# ORIGINAL_UNPATCHED_BASIC YES
;; #CONFIG# TRANSCENDENTAL_FUNCTIONS NO
; --- Eye candy
;; #CONFIG# COLORS_BRAND NO
;; #CONFIG# BANNER_SIMPLE YES
;; #CONFIG# BANNER_FANCY NO
;; #CONFIG# SHOW_FEATURES NO
; --- Debug options
;; #CONFIG# DBG_STUBS_BRK NO
;; #CONFIG# DBG_PRINTF NO
; --- Other
;; #CONFIG# COMPRESSION_LVL_2 NO