From fcb74a9faedca52ce397364ce1c7e89ab476611a Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Mon, 21 Sep 2020 19:32:15 +0200 Subject: [PATCH] started config cleanup after ACME adaptation --- src/,,config_custom.s | 148 +++++++++++++++++++------------------- src/,,config_cx16.s | 83 +++++++++------------ src/,,config_generic.s | 144 ++++++++++++++++++------------------- src/,,config_mega65.s | 113 +++++++++++++++-------------- src/,,config_testing.s | 143 ++++++++++++++++++------------------ src/,,config_ultimate64.s | 126 ++++++++++++++++---------------- tools/build_segment.cc | 73 +++++++++++++++---- tools/generate_strings.cc | 80 +++++++++++---------- 8 files changed, 462 insertions(+), 448 deletions(-) diff --git a/src/,,config_custom.s b/src/,,config_custom.s index cc95848d..2e5ba848 100644 --- a/src/,,config_custom.s +++ b/src/,,config_custom.s @@ -13,146 +13,142 @@ ; Hardware platform and brand -!set CONFIG_PLATFORM_COMMODORE_64 = 1 -!set CONFIG_BRAND_CUSTOM_BUILD = 1 +;; #CONFIG# PLATFORM_COMMODORE_64 YES +;; #CONFIG# BRAND_CUSTOM_BUILD YES !macro CONFIG_CUSTOM_BRAND { !pet "custom build" } ; Processor instruction set -!set CONFIG_CPU_MOS_6502 = 1 -; !set CONFIG_CPU_DTV_6502 = 1 -; !set CONFIG_CPU_RCW_65C02 = 1 -; !set CONFIG_CPU_WDC_65C02 = 1 -; !set CONFIG_CPU_WDC_65816 = 1 -; !set CONFIG_CPU_CSG_65CE02 = 1 +;; #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 -; !set CONFIG_MEMORY_MODEL_38K = 1 -; !set CONFIG_MEMORY_MODEL_46K = 1 -!set CONFIG_MEMORY_MODEL_50K = 1 -; !set CONFIG_MEMORY_MODEL_60K = 1 +;; #CONFIG# MEMORY_MODEL_38K NO +;; #CONFIG# MEMORY_MODEL_46K NO +;; #CONFIG# MEMORY_MODEL_50K YES +;; #CONFIG# MEMORY_MODEL_60K NO ; IEC bus configuration -!set CONFIG_IEC = 1 -!set CONFIG_IEC_DOLPHINDOS = 1 -!set CONFIG_IEC_DOLPHINDOS_FAST = 1 -!set CONFIG_IEC_JIFFYDOS = 1 -; !set CONFIG_IEC_JIFFYDOS_BLANK = 1 -; !set CONFIG_IEC_BURST_CIA1 = 1 ; please keep disabled for now -; !set CONFIG_IEC_BURST_CIA2 = 1 ; please keep disabled for now +;; #CONFIG# IEC YES +;; #CONFIG# IEC_DOLPHINDOS YES +;; #CONFIG# IEC_DOLPHINDOS_FAST YES +;; #CONFIG# IEC_JIFFYDOS YES +;; #CONFIG# IEC_JIFFYDOS_BLANK NO +;; #CONFIG# IEC_BURST_CIA1 NO ; please keep disabled for now +;; #CONFIG# IEC_BURST_CIA2 NO ; please keep disabled for now ; Tape deck configuration -!set CONFIG_TAPE_NORMAL = 1 -!set CONFIG_TAPE_TURBO = 1 -!set CONFIG_TAPE_AUTODETECT = 1 -; !set CONFIG_TAPE_NO_KEY_SENSE = 1 -; !set CONFIG_TAPE_NO_MOTOR_CONTROL = 1 +;; #CONFIG# TAPE_NORMAL YES +;; #CONFIG# TAPE_TURBO YES +;; #CONFIG# TAPE_AUTODETECT YES +;; #CONFIG# TAPE_NO_KEY_SENSE NO +;; #CONFIG# TAPE_NO_MOTOR_CONTROL NO ; RS-232 configuration -; !set CONFIG_RS232_ACIA = 1 ; please keep disabled for now -; !set CONFIG_RS232_UP2400 = 1 ; please keep disabled for now -; !set CONFIG_RS232_UP9600 = 1 ; please keep disabled for now +;; #CONFIG# RS232_ACIA NO ; please keep disabled for now +;; #CONFIG# RS232_UP2400 NO ; please keep disabled for now +;; #CONFIG# RS232_UP9600 NO ; please keep disabled for now ; Sound support ; !set CONFIG_SID_2ND_ADDRESS = $D420 ; !set CONFIG_SID_3RD_ADDRESS = $D440 -; !set CONFIG_SID_D4XX = 1 -; !set CONFIG_SID_D5XX = 1 +;; #CONFIG# SID_D4XX NO +;; #CONFIG# SID_D5XX NO ; Keyboard settings -; !set CONFIG_LEGACY_SCNKEY = 1 -; !set CONFIG_KEYBOARD_C128 = 1 -; !set CONFIG_KEYBOARD_C128_CAPS_LOCK = 1 -; !set CONFIG_KEYBOARD_C65 = 1 ; untested -; !set CONFIG_KEYBOARD_C65_CAPS_LOCK = 1 ; untested -; !set CONFIG_KEY_REPEAT_DEFAULT = 1 -; !set CONFIG_KEY_REPEAT_ALWAYS = 1 -!set CONFIG_KEY_FAST_SCAN = 1 -; !set CONFIG_JOY1_CURSOR = 1 -; !set CONFIG_JOY2_CURSOR = 1 +;; #CONFIG# LEGACY_SCNKEY NO +;; #CONFIG# KEYBOARD_C128 NO +;; #CONFIG# KEYBOARD_C128_CAPS_LOCK NO +;; #CONFIG# KEYBOARD_C65 NO ; untested +;; #CONFIG# KEYBOARD_C65_CAPS_LOCK NO ; untested +;; #CONFIG# KEY_REPEAT_DEFAULT NO +;; #CONFIG# KEY_REPEAT_ALWAYS NO +;; #CONFIG# KEY_FAST_SCAN YES +;; #CONFIG# JOY1_CURSOR NO +;; #CONFIG# JOY2_CURSOR NO -!set CONFIG_PROGRAMMABLE_KEYS = 1 +;; #CONFIG# PROGRAMMABLE_KEYS YES -!set CONFIG_KEYCMD_RUN = 1 +;; #CONFIG# KEYCMD_RUN YES !macro CONFIG_KEYCMD_RUN { !byte $5F !pet "l" } -!set CONFIG_KEYCMD_F1 = 1 +;; #CONFIG# KEYCMD_F1 YES !macro CONFIG_KEYCMD_F1 { !pet "@" } -; !set CONFIG_KEYCMD_F2 = 1 +;; #CONFIG# KEYCMD_F2 NO ; !macro CONFIG_KEYCMD_F2 { !pet "" } -!set CONFIG_KEYCMD_F3 = 1 +;; #CONFIG# KEYCMD_F3 YES !macro CONFIG_KEYCMD_F3 { !pet "run:" } -; !set CONFIG_KEYCMD_F4 = 1 +;; #CONFIG# KEYCMD_F4 NO ; !macro CONFIG_KEYCMD_F4 { !pet "" } -!set CONFIG_KEYCMD_F5 = 1 +;; #CONFIG# KEYCMD_F5 YES !macro CONFIG_KEYCMD_F5 { !pet "load" } -; !set CONFIG_KEYCMD_F6 = 1 +;; #CONFIG# KEYCMD_F6 NO ; !macro CONFIG_KEYCMD_F6 { !pet "" } -!set CONFIG_KEYCMD_F7 = 1 +;; #CONFIG# KEYCMD_F7 YES !macro CONFIG_KEYCMD_F7 { !pet "@$" } -; !set CONFIG_KEYCMD_F8 = 1 +;; #CONFIG# KEYCMD_F8 NO ; !macro CONFIG_KEYCMD_F8 { !pet "" } -!set CONFIG_KEYCMD_HELP = 1 +;; #CONFIG# KEYCMD_HELP YES !macro CONFIG_KEYCMD_HELP { !pet "list" } -; !set CONFIG_KEYCMD_F9 = 1 -; !macro CONFIG_KEYCMD_F9 { !pet "" } -; !set CONFIG_KEYCMD_F10 = 1 -; !macro CONFIG_KEYCMD_F10 { !pet "" } -; !set CONFIG_KEYCMD_F11 = 1 -; !macro CONFIG_KEYCMD_F11 { !pet "" } -; !set CONFIG_KEYCMD_F12 = 1 -; !macro CONFIG_KEYCMD_F12 { !pet "" } -; !set CONFIG_KEYCMD_F13 = 1 -; !macro CONFIG_KEYCMD_F13 { !pet "" } -; !set CONFIG_KEYCMD_F14 = 1 -; !macro CONFIG_KEYCMD_F14 { !pet "" } +;; #CONFIG# KEYCMD_F9 NO +;; #CONFIG# KEYCMD_F10 NO +;; #CONFIG# KEYCMD_F11 NO +;; #CONFIG# KEYCMD_F12 NO +;; #CONFIG# KEYCMD_F13 NO +;; #CONFIG# KEYCMD_F14 NO ; Screen editor -!set CONFIG_EDIT_STOPQUOTE = 1 -; !set CONFIG_EDIT_TABULATORS = 1 +;; #CONFIG# EDIT_STOPQUOTE YES +;; #CONFIG# EDIT_TABULATORS NO ; Software features -!set CONFIG_PANIC_SCREEN = 1 -!set CONFIG_DOS_WEDGE = 1 -!set CONFIG_TAPE_WEDGE = 1 -; !set CONFIG_TAPE_HEAD_ALIGN = 1 -!set CONFIG_BCD_SAFE_INTERRUPTS = 1 +;; #CONFIG# PANIC_SCREEN YES +;; #CONFIG# DOS_WEDGE YES +;; #CONFIG# TAPE_WEDGE YES +;; #CONFIG# TAPE_HEAD_ALIGN NO +;; #CONFIG# BCD_SAFE_INTERRUPTS YES + ; Eye candy -; !set CONFIG_COLORS_BRAND = 1 -; !set CONFIG_BANNER_SIMPLE = 1 -!set CONFIG_BANNER_FANCY = 1 -!set CONFIG_SHOW_FEATURES = 1 +;; #CONFIG# COLORS_BRAND NO +;; #CONFIG# BANNER_SIMPLE NO +;; #CONFIG# BANNER_FANCY YES +;; #CONFIG# SHOW_FEATURES YES ; Debug options -; !set CONFIG_DBG_STUBS_BRK = 1 -; !set CONFIG_DBG_PRINTF = 1 +;; #CONFIG# DBG_STUBS_BRK NO +;; #CONFIG# DBG_PRINTF NO + ; Other -; !set CONFIG_COMPRESSION_LVL_2 = 1 +;; #CONFIG# COMPRESSION_LVL_2 NO diff --git a/src/,,config_cx16.s b/src/,,config_cx16.s index 0dc96bb7..d18a5bc2 100644 --- a/src/,,config_cx16.s +++ b/src/,,config_cx16.s @@ -12,83 +12,66 @@ ; Hardware platform and brand -!set CONFIG_PLATFORM_COMMANDER_X16 = 1 +;; #CONFIG# PLATFORM_COMMANDER_X16 YES ; Memory model -!set CONFIG_MEMORY_MODEL_38K = 1 +;; #CONFIG# MEMORY_MODEL_38K YES ; Keyboard settings -; !set CONFIG_PROGRAMMABLE_KEYS = 1 +;; #CONFIG# PROGRAMMABLE_KEYS NO -!set CONFIG_KEYCMD_RUN = 1 -!macro CONFIG_KEYCMD_RUN { !pet "load\"*\"" } +;; #CONFIG# KEYCMD_RUN NO +;; #CONFIG# KEYCMD_F1 NO +;; #CONFIG# KEYCMD_F2 NO +;; #CONFIG# KEYCMD_F3 NO +;; #CONFIG# KEYCMD_F4 NO +;; #CONFIG# KEYCMD_F5 NO +;; #CONFIG# KEYCMD_F6 NO +;; #CONFIG# KEYCMD_F7 NO +;; #CONFIG# KEYCMD_F8 NO -!set CONFIG_KEYCMD_F1 = 1 -!macro CONFIG_KEYCMD_F1 { !pet "@" } -; !set CONFIG_KEYCMD_F2 = 1 -; !macro CONFIG_KEYCMD_F2 { !pet "" } -!set CONFIG_KEYCMD_F3 = 1 -!macro CONFIG_KEYCMD_F3 { !pet "run:" } -; !set CONFIG_KEYCMD_F4 = 1 -; !macro CONFIG_KEYCMD_F4 { !pet "" } -!set CONFIG_KEYCMD_F5 = 1 -!macro CONFIG_KEYCMD_F5 { !pet "load" } -; !set CONFIG_KEYCMD_F6 = 1 -; !macro CONFIG_KEYCMD_F6 { !pet "" } -!set CONFIG_KEYCMD_F7 = 1 -!macro CONFIG_KEYCMD_F7 { !pet "@$" } -; !set CONFIG_KEYCMD_F8 = 1 -; !macro CONFIG_KEYCMD_F8 { !pet "" } +;; #CONFIG# KEYCMD_HELP NO -!set CONFIG_KEYCMD_HELP = 1 -!macro CONFIG_KEYCMD_HELP { !pet "list" } - -; !set CONFIG_KEYCMD_F9 = 1 -; !macro CONFIG_KEYCMD_F9 { !pet "" } -; !set CONFIG_KEYCMD_F10 = 1 -; !macro CONFIG_KEYCMD_F10 { !pet "" } -; !set CONFIG_KEYCMD_F11 = 1 -; !macro CONFIG_KEYCMD_F11 { !pet "" } -; !set CONFIG_KEYCMD_F12 = 1 -; !macro CONFIG_KEYCMD_F12 { !pet "" } -; !set CONFIG_KEYCMD_F13 = 1 -; !macro CONFIG_KEYCMD_F13 { !pet "" } -; !set CONFIG_KEYCMD_F14 = 1 -; !macro CONFIG_KEYCMD_F14 { !pet "" } +;; #CONFIG# KEYCMD_F9 NO +;; #CONFIG# KEYCMD_F10 NO +;; #CONFIG# KEYCMD_F11 NO +;; #CONFIG# KEYCMD_F12 NO +;; #CONFIG# KEYCMD_F13 NO +;; #CONFIG# KEYCMD_F14 NO ; Screen editor -; !set CONFIG_EDIT_STOPQUOTE = 1 -; !set CONFIG_EDIT_TABULATORS = 1 +;; #CONFIG# EDIT_STOPQUOTE NO +;; #CONFIG# EDIT_TABULATORS NO ; Software features -; !set CONFIG_PANIC_SCREEN = 1 -; !set CONFIG_DOS_WEDGE = 1 -; !set CONFIG_TAPE_WEDGE = 1 -; !set CONFIG_TAPE_HEAD_ALIGN = 1 -!set CONFIG_BCD_SAFE_INTERRUPTS = 1 +;; #CONFIG# PANIC_SCREEN NO +;; #CONFIG# DOS_WEDGE NO +;; #CONFIG# TAPE_WEDGE NO +;; #CONFIG# TAPE_HEAD_ALIGN NO +;; #CONFIG# BCD_SAFE_INTERRUPTS YES ; Eye candy -; !set CONFIG_COLORS_BRAND = 1 -; !set CONFIG_BANNER_SIMPLE = 1 -!set CONFIG_BANNER_FANCY = 1 -; !set CONFIG_SHOW_FEATURES = 1 +;; #CONFIG# COLORS_BRAND NO +;; #CONFIG# BANNER_SIMPLE NO +;; #CONFIG# BANNER_FANCY YES +;; #CONFIG# SHOW_FEATURES NO ; Debug options -; !set CONFIG_DBG_STUBS_BRK = 1 -; !set CONFIG_DBG_PRINTF = 1 +;; #CONFIG# DBG_STUBS_BRK NO +;; #CONFIG# DBG_PRINTF NO ; Other -; !set CONFIG_COMPRESSION_LVL_2 = 1 +;; #CONFIG# COMPRESSION_LVL_2 NO diff --git a/src/,,config_generic.s b/src/,,config_generic.s index ce434df3..5712d169 100644 --- a/src/,,config_generic.s +++ b/src/,,config_generic.s @@ -13,136 +13,130 @@ ; Hardware platform and brand -!set CONFIG_PLATFORM_COMMODORE_64 = 1 -!set CONFIG_BRAND_GENERIC = 1 +;; #CONFIG# PLATFORM_COMMODORE_64 YES +;; #CONFIG# BRAND_GENERIC YES ; Processor instruction set -!set CONFIG_CPU_MOS_6502 = 1 -; !set CONFIG_CPU_DTV_6502 = 1 -; !set CONFIG_CPU_RCW_65C02 = 1 -; !set CONFIG_CPU_WDC_65C02 = 1 -; !set CONFIG_CPU_WDC_65816 = 1 -; !set CONFIG_CPU_CSG_65CE02 = 1 +;; #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 -; !set CONFIG_MEMORY_MODEL_38K = 1 -; !set CONFIG_MEMORY_MODEL_46K = 1 -!set CONFIG_MEMORY_MODEL_50K = 1 -; !set CONFIG_MEMORY_MODEL_60K = 1 +;; #CONFIG# MEMORY_MODEL_38K NO +;; #CONFIG# MEMORY_MODEL_46K NO +;; #CONFIG# MEMORY_MODEL_50K YES +;; #CONFIG# MEMORY_MODEL_60K NO ; IEC bus configuration -!set CONFIG_IEC = 1 -!set CONFIG_IEC_DOLPHINDOS = 1 -!set CONFIG_IEC_DOLPHINDOS_FAST = 1 -!set CONFIG_IEC_JIFFYDOS = 1 -!set CONFIG_IEC_JIFFYDOS_BLANK = 1 +;; #CONFIG# IEC YES +;; #CONFIG# IEC_DOLPHINDOS YES +;; #CONFIG# IEC_DOLPHINDOS_FAST YES +;; #CONFIG# IEC_JIFFYDOS YES +;; #CONFIG# IEC_JIFFYDOS_BLANK YES ; Tape deck configuration -!set CONFIG_TAPE_NORMAL = 1 -!set CONFIG_TAPE_TURBO = 1 -!set CONFIG_TAPE_AUTODETECT = 1 -; !set CONFIG_TAPE_NO_KEY_SENSE = 1 -; !set CONFIG_TAPE_NO_MOTOR_CONTROL = 1 +;; #CONFIG# TAPE_NORMAL YES +;; #CONFIG# TAPE_TURBO YES +;; #CONFIG# TAPE_AUTODETECT YES +;; #CONFIG# TAPE_NO_KEY_SENSE NO +;; #CONFIG# TAPE_NO_MOTOR_CONTROL NO ; Sound support ; !set CONFIG_SID_2ND_ADDRESS = $D420 ; !set CONFIG_SID_3RD_ADDRESS = $D440 -; !set CONFIG_SID_D4XX = 1 -; !set CONFIG_SID_D5XX = 1 +;; #CONFIG# SID_D4XX NO +;; #CONFIG# SID_D5XX NO ; Keyboard settings -; !set CONFIG_LEGACY_SCNKEY = 1 -; !set CONFIG_KEYBOARD_C128 = 1 -; !set CONFIG_KEYBOARD_C128_CAPS_LOCK = 1 -; !set CONFIG_KEYBOARD_C65 = 1 ; untested -; !set CONFIG_KEYBOARD_C65_CAPS_LOCK = 1 ; untested -; !set CONFIG_KEY_REPEAT_DEFAULT = 1 -; !set CONFIG_KEY_REPEAT_ALWAYS = 1 -!set CONFIG_KEY_FAST_SCAN = 1 -!set CONFIG_JOY1_CURSOR = 1 -!set CONFIG_JOY2_CURSOR = 1 +;; #CONFIG# LEGACY_SCNKEY NO +;; #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 -!set CONFIG_PROGRAMMABLE_KEYS = 1 +;; #CONFIG# PROGRAMMABLE_KEYS YES -!set CONFIG_KEYCMD_RUN = 1 +;; #CONFIG# KEYCMD_RUN YES !macro CONFIG_KEYCMD_RUN { !byte $5F - !pet "l" } + !pet "l" +} -!set CONFIG_KEYCMD_F1 = 1 +;; #CONFIG# KEYCMD_F1 YES !macro CONFIG_KEYCMD_F1 { !pet "@" } -; !set CONFIG_KEYCMD_F2 = 1 +;; #CONFIG# KEYCMD_F2 NO ; !macro CONFIG_KEYCMD_F2 { !pet "" } -!set CONFIG_KEYCMD_F3 = 1 -!macro CONFIG_KEYCMD_F3 { !pet "RUN:" } -; !set CONFIG_KEYCMD_F4 = 1 +;; #CONFIG# KEYCMD_F3 YES +!macro CONFIG_KEYCMD_F3 { !pet "run:" } +;; #CONFIG# KEYCMD_F4 NO ; !macro CONFIG_KEYCMD_F4 { !pet "" } -!set CONFIG_KEYCMD_F5 = 1 -!macro CONFIG_KEYCMD_F5 { !pet "LOAD" } -; !set CONFIG_KEYCMD_F6 = 1 +;; #CONFIG# KEYCMD_F5 YES +!macro CONFIG_KEYCMD_F5 { !pet "load" } +;; #CONFIG# KEYCMD_F6 NO ; !macro CONFIG_KEYCMD_F6 { !pet "" } -!set CONFIG_KEYCMD_F7 = 1 +;; #CONFIG# KEYCMD_F7 YES !macro CONFIG_KEYCMD_F7 { !pet "@$" } -; !set CONFIG_KEYCMD_F8 = 1 +;; #CONFIG# KEYCMD_F8 NO ; !macro CONFIG_KEYCMD_F8 { !pet "" } -!set CONFIG_KEYCMD_HELP = 1 -!macro CONFIG_KEYCMD_HELP { !pet "LIST" } +;; #CONFIG# KEYCMD_HELP YES +!macro CONFIG_KEYCMD_HELP { !pet "list" } -; !set CONFIG_KEYCMD_F9 = 1 -; !macro CONFIG_KEYCMD_F9 { !pet "" } -; !set CONFIG_KEYCMD_F10 = 1 -; !macro CONFIG_KEYCMD_F10 { !pet "" } -; !set CONFIG_KEYCMD_F11 = 1 -; !macro CONFIG_KEYCMD_F11 { !pet "" } -; !set CONFIG_KEYCMD_F12 = 1 -; !macro CONFIG_KEYCMD_F12 { !pet "" } -; !set CONFIG_KEYCMD_F13 = 1 -; !macro CONFIG_KEYCMD_F13 { !pet "" } -; !set CONFIG_KEYCMD_F14 = 1 -; !macro CONFIG_KEYCMD_F14 { !pet "" } +;; #CONFIG# KEYCMD_F9 NO +;; #CONFIG# KEYCMD_F10 NO +;; #CONFIG# KEYCMD_F11 NO +;; #CONFIG# KEYCMD_F12 NO +;; #CONFIG# KEYCMD_F13 NO +;; #CONFIG# KEYCMD_F14 NO ; Screen editor -!set CONFIG_EDIT_STOPQUOTE = 1 -; !set CONFIG_EDIT_TABULATORS = 1 +;; #CONFIG# EDIT_STOPQUOTE YES +;; #CONFIG# EDIT_TABULATORS NO ; Software features -!set CONFIG_PANIC_SCREEN = 1 -!set CONFIG_DOS_WEDGE = 1 -!set CONFIG_TAPE_WEDGE = 1 -; !set CONFIG_TAPE_HEAD_ALIGN = 1 -!set CONFIG_BCD_SAFE_INTERRUPTS = 1 +;; #CONFIG# PANIC_SCREEN YES +;; #CONFIG# DOS_WEDGE YES +;; #CONFIG# TAPE_WEDGE YES +;; #CONFIG# TAPE_HEAD_ALIGN NO +;; #CONFIG# BCD_SAFE_INTERRUPTS YES ; Eye candy -!set CONFIG_COLORS_BRAND = 1 -; !set CONFIG_BANNER_SIMPLE = 1 -!set CONFIG_BANNER_FANCY = 1 -!set CONFIG_SHOW_FEATURES = 1 +;; #CONFIG# COLORS_BRAND YES +;; #CONFIG# BANNER_SIMPLE NO +;; #CONFIG# BANNER_FANCY YES +;; #CONFIG# SHOW_FEATURES YES ; Debug options -; !set CONFIG_DBG_STUBS_BRK = 1 -; !set CONFIG_DBG_PRINTF = 1 +;; #CONFIG# DBG_STUBS_BRK NO +;; #CONFIG# DBG_PRINTF NO + ; Other -; !set CONFIG_COMPRESSION_LVL_2 = 1 +;; #CONFIG# COMPRESSION_LVL_2 NO diff --git a/src/,,config_mega65.s b/src/,,config_mega65.s index da9418a7..d556a521 100644 --- a/src/,,config_mega65.s +++ b/src/,,config_mega65.s @@ -6,110 +6,108 @@ ; ; Idea: -; - sane defaults for the Mega 65 FPGA computer +; - sane defaults for the MEGA65 FPGA computer ; - do not enable features which are a significant compatibility risk ; Hardware platform -!set CONFIG_PLATFORM_COMMODORE_64 = 1 -!set CONFIG_MB_M65 = 1 +;; #CONFIG# PLATFORM_COMMODORE_64 YES +;; #CONFIG# MB_M65 YES ; Memory model -; !set CONFIG_MEMORY_MODEL_38K = 1 -; !set CONFIG_MEMORY_MODEL_46K = 1 -!set CONFIG_MEMORY_MODEL_50K = 1 +;; #CONFIG# MEMORY_MODEL_38K NO +;; #CONFIG# MEMORY_MODEL_46K NO +;; #CONFIG# MEMORY_MODEL_50K YES ; IEC bus configuration -!set CONFIG_IEC = 1 -; !set CONFIG_IEC_DOLPHINDOS = 1 -; !set CONFIG_IEC_DOLPHINDOS_FAST = 1 -!set CONFIG_IEC_JIFFYDOS = 1 -!set CONFIG_IEC_JIFFYDOS_BLANK = 1 -; !set CONFIG_IEC_BURST_M65 = 1 ; please keep disabled for now +;; #CONFIG# IEC YES +;; #CONFIG# IEC_DOLPHINDOS NO +;; #CONFIG# IEC_DOLPHINDOS_FAST NO +;; #CONFIG# IEC_JIFFYDOS YES +;; #CONFIG# IEC_JIFFYDOS_BLANK YES +;; #CONFIG# IEC_BURST_M65 NO ; please keep disabled for now ; Tape deck configuration -!set CONFIG_TAPE_NORMAL = 1 -!set CONFIG_TAPE_TURBO = 1 -!set CONFIG_TAPE_AUTODETECT = 1 -!set CONFIG_TAPE_NO_KEY_SENSE = 1 -!set CONFIG_TAPE_NO_MOTOR_CONTROL = 1 +;; #CONFIG# TAPE_NORMAL YES +;; #CONFIG# TAPE_TURBO YES +;; #CONFIG# TAPE_AUTODETECT YES +;; #CONFIG# TAPE_NO_KEY_SENSE YES +;; #CONFIG# TAPE_NO_MOTOR_CONTROL YES ; Keyboard settings -; !set CONFIG_LEGACY_SCNKEY = 1 -; !set CONFIG_KEYBOARD_C128 = 1 -; !set CONFIG_KEYBOARD_C128_CAPS_LOCK = 1 -; !set CONFIG_KEYBOARD_C65 = 1 ; untested -; !set CONFIG_KEYBOARD_C65_CAPS_LOCK = 1 ; untested -; !set CONFIG_KEY_REPEAT_DEFAULT = 1 -; !set CONFIG_KEY_REPEAT_ALWAYS = 1 -!set CONFIG_KEY_FAST_SCAN = 1 -!set CONFIG_JOY1_CURSOR = 1 -!set CONFIG_JOY2_CURSOR = 1 +;; #CONFIG# LEGACY_SCNKEY NO +;; #CONFIG# KEYBOARD_C65 NO ; untested +;; #CONFIG# KEYBOARD_C65_CAPS_LOCK NO ; untested +;; #CONFIG# KEY_REPEAT_DEFAULT NO +;; #CONFIG# KEY_REPEAT_ALWAYS NO +;; #CONFIG# KEY_FAST_SCAN YES +;; #CONFIG# JOY1_CURSOR YES +;; #CONFIG# JOY2_CURSOR YES -!set CONFIG_PROGRAMMABLE_KEYS = 1 +;; #CONFIG# PROGRAMMABLE_KEYS YES -!set CONFIG_KEYCMD_RUN = 1 +;; #CONFIG# KEYCMD_RUN YES !macro CONFIG_KEYCMD_RUN { !byte $5F !pet "l" } -!set CONFIG_KEYCMD_F1 = 1 +;; #CONFIG# KEYCMD_F1 YES !macro CONFIG_KEYCMD_F1 { !pet "@" } -; !set CONFIG_KEYCMD_F2 = 1 +;; #CONFIG# KEYCMD_F2 NO ; !macro CONFIG_KEYCMD_F2 { !pet "" } -!set CONFIG_KEYCMD_F3 = 1 +;; #CONFIG# KEYCMD_F3 YES !macro CONFIG_KEYCMD_F3 { !pet "run:" } -; !set CONFIG_KEYCMD_F4 = 1 +;; #CONFIG# KEYCMD_F4 NO ; !macro CONFIG_KEYCMD_F4 { !pet "" } -!set CONFIG_KEYCMD_F5 = 1 +;; #CONFIG# KEYCMD_F5 YES !macro CONFIG_KEYCMD_F5 { !pet "load" } -; !set CONFIG_KEYCMD_F6 = 1 +;; #CONFIG# KEYCMD_F6 NO ; !macro CONFIG_KEYCMD_F6 { !pet "" } -!set CONFIG_KEYCMD_F7 = 1 +;; #CONFIG# KEYCMD_F7 YES !macro CONFIG_KEYCMD_F7 { !pet "@$" } -; !set CONFIG_KEYCMD_F8 = 1 +;; #CONFIG# KEYCMD_F8 NO ; !macro CONFIG_KEYCMD_F8 { !pet "" } -!set CONFIG_KEYCMD_HELP = 1 +;; #CONFIG# KEYCMD_HELP YES !macro CONFIG_KEYCMD_HELP { !pet "list" } -!set CONFIG_KEYCMD_F9 = 1 -!macro CONFIG_KEYCMD_F9 { !pet "boot" } -!set CONFIG_KEYCMD_F10 = 1 +;; #CONFIG# KEYCMD_F9 YES +!macro CONFIG_KEYCMD_F9 { !pet "rem f9" } +;; #CONFIG# KEYCMD_F10 YES !macro CONFIG_KEYCMD_F10 { !pet "rem f10" } -!set CONFIG_KEYCMD_F11 = 1 -!macro CONFIG_KEYCMD_F11 { !pet "monitor" } -!set CONFIG_KEYCMD_F12 = 1 +;; #CONFIG# KEYCMD_F11 YES +!macro CONFIG_KEYCMD_F11 { !pet "rem f11" } +;; #CONFIG# KEYCMD_F12 YES !macro CONFIG_KEYCMD_F12 { !pet "rem f12" } -!set CONFIG_KEYCMD_F13 = 1 -!macro CONFIG_KEYCMD_F13 { !byte $5F !pet "h" } -!set CONFIG_KEYCMD_F14 = 1 +;; #CONFIG# KEYCMD_F13 YES +!macro CONFIG_KEYCMD_F13 { !pet "rem f13" } +;; #CONFIG# KEYCMD_F14 YES !macro CONFIG_KEYCMD_F14 { !pet "rem f14" } ; Screen editor -!set CONFIG_EDIT_STOPQUOTE = 1 -!set CONFIG_EDIT_TABULATORS = 1 +;; #CONFIG# EDIT_STOPQUOTE YES +;; #CONFIG# EDIT_TABULATORS NO ; Software features -!set CONFIG_PANIC_SCREEN = 1 -!set CONFIG_DOS_WEDGE = 1 -!set CONFIG_TAPE_WEDGE = 1 -!set CONFIG_TAPE_HEAD_ALIGN = 1 -!set CONFIG_BCD_SAFE_INTERRUPTS = 1 +;; #CONFIG# PANIC_SCREEN YES +;; #CONFIG# DOS_WEDGE YES +;; #CONFIG# TAPE_WEDGE YES +;; #CONFIG# TAPE_HEAD_ALIGN YES +;; #CONFIG# BCD_SAFE_INTERRUPTS YES ; Built-in DOS configuration @@ -121,9 +119,10 @@ ; Debug options -; !set CONFIG_DBG_STUBS_BRK = 1 -; !set CONFIG_DBG_PRINTF = 1 +;; #CONFIG# DBG_STUBS_BRK NO +;; #CONFIG# DBG_PRINTF NO + ; Other -; !set CONFIG_COMPRESSION_LVL_2 = 1 +;; #CONFIG# COMPRESSION_LVL_2 NO diff --git a/src/,,config_testing.s b/src/,,config_testing.s index 2d4f0080..da77a667 100644 --- a/src/,,config_testing.s +++ b/src/,,config_testing.s @@ -13,137 +13,130 @@ ; Hardware platform and brand -!set CONFIG_PLATFORM_COMMODORE_64 = 1 -!set CONFIG_BRAND_TESTING = 1 +;; #CONFIG# PLATFORM_COMMODORE_64 YES +;; #CONFIG# BRAND_TESTING YES ; Processor instruction set -!set CONFIG_CPU_MOS_6502 = 1 -; !set CONFIG_CPU_DTV_6502 = 1 -; !set CONFIG_CPU_RCW_65C02 = 1 -; !set CONFIG_CPU_WDC_65C02 = 1 -; !set CONFIG_CPU_WDC_65816 = 1 -; !set CONFIG_CPU_CSG_65CE02 = 1 +;; #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 -; !set CONFIG_MEMORY_MODEL_38K = 1 -; !set CONFIG_MEMORY_MODEL_46K = 1 -; !set CONFIG_MEMORY_MODEL_50K = 1 -!set CONFIG_MEMORY_MODEL_60K = 1 +;; #CONFIG# MEMORY_MODEL_38K NO +;; #CONFIG# MEMORY_MODEL_46K NO +;; #CONFIG# MEMORY_MODEL_50K NO +;; #CONFIG# MEMORY_MODEL_60K YES ; IEC bus configuration -!set CONFIG_IEC = 1 -!set CONFIG_IEC_DOLPHINDOS = 1 -; !set CONFIG_IEC_DOLPHINDOS_FAST = 1 -!set CONFIG_IEC_JIFFYDOS = 1 -; !set CONFIG_IEC_JIFFYDOS_BLANK = 1 +;; #CONFIG# IEC YES +;; #CONFIG# IEC_DOLPHINDOS YES +;; #CONFIG# IEC_DOLPHINDOS_FAST NO +;; #CONFIG# IEC_JIFFYDOS YES +;; #CONFIG# IEC_JIFFYDOS_BLANK NO ; Tape deck configuration -; !set CONFIG_TAPE_NORMAL = 1 -!set CONFIG_TAPE_TURBO = 1 -; !set CONFIG_TAPE_AUTODETECT = 1 -; !set CONFIG_TAPE_NO_KEY_SENSE = 1 -; !set CONFIG_TAPE_NO_MOTOR_CONTROL = 1 +;; #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 -!set CONFIG_SID_2ND_ADDRESS = $D420 -!set CONFIG_SID_3RD_ADDRESS = $D440 -; !set CONFIG_SID_D4XX = 1 -; !set CONFIG_SID_D5XX = 1 +; !set CONFIG_SID_2ND_ADDRESS = $D420 +; !set CONFIG_SID_3RD_ADDRESS = $D440 +;; #CONFIG# SID_D4XX NO +;; #CONFIG# SID_D5XX NO ; Keyboard settings -!set CONFIG_LEGACY_SCNKEY = 1 -; !set CONFIG_KEYBOARD_C128 = 1 -; !set CONFIG_KEYBOARD_C128_CAPS_LOCK = 1 -; !set CONFIG_KEYBOARD_C65 = 1 ; untested -; !set CONFIG_KEYBOARD_C65_CAPS_LOCK = 1 ; untested -; !set CONFIG_KEY_REPEAT_DEFAULT = 1 -; !set CONFIG_KEY_REPEAT_ALWAYS = 1 -!set CONFIG_KEY_FAST_SCAN = 1 -!set CONFIG_JOY1_CURSOR = 1 -!set CONFIG_JOY2_CURSOR = 1 +;; #CONFIG# LEGACY_SCNKEY YES +;; #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 -!set CONFIG_PROGRAMMABLE_KEYS = 1 +;; #CONFIG# PROGRAMMABLE_KEYS YES -!set CONFIG_KEYCMD_RUN = 1 +;; #CONFIG# KEYCMD_RUN YES !macro CONFIG_KEYCMD_RUN { !byte $5F - !pet "l" } + !pet "l" +} -!set CONFIG_KEYCMD_F1 = 1 +;; #CONFIG# KEYCMD_F1 YES !macro CONFIG_KEYCMD_F1 { !pet "@" } -; !set CONFIG_KEYCMD_F2 = 1 +;; #CONFIG# KEYCMD_F2 NO ; !macro CONFIG_KEYCMD_F2 { !pet "" } -!set CONFIG_KEYCMD_F3 = 1 +;; #CONFIG# KEYCMD_F3 YES !macro CONFIG_KEYCMD_F3 { !pet "run:" } -; !set CONFIG_KEYCMD_F4 = 1 +;; #CONFIG# KEYCMD_F4 NO ; !macro CONFIG_KEYCMD_F4 { !pet "" } -!set CONFIG_KEYCMD_F5 = 1 +;; #CONFIG# KEYCMD_F5 YES !macro CONFIG_KEYCMD_F5 { !pet "load" } -; !set CONFIG_KEYCMD_F6 = 1 +;; #CONFIG# KEYCMD_F6 NO ; !macro CONFIG_KEYCMD_F6 { !pet "" } -!set CONFIG_KEYCMD_F7 = 1 +;; #CONFIG# KEYCMD_F7 YES !macro CONFIG_KEYCMD_F7 { !pet "@$" } -; !set CONFIG_KEYCMD_F8 = 1 +;; #CONFIG# KEYCMD_F8 NO ; !macro CONFIG_KEYCMD_F8 { !pet "" } -!set CONFIG_KEYCMD_HELP = 1 +;; #CONFIG# KEYCMD_HELP YES !macro CONFIG_KEYCMD_HELP { !pet "list" } -; !set CONFIG_KEYCMD_F9 = 1 -; !macro CONFIG_KEYCMD_F9 { !pet "" } -; !set CONFIG_KEYCMD_F10 = 1 -; !macro CONFIG_KEYCMD_F10 { !pet "" } -; !set CONFIG_KEYCMD_F11 = 1 -; !macro CONFIG_KEYCMD_F11 { !pet "" } -; !set CONFIG_KEYCMD_F12 = 1 -; !macro CONFIG_KEYCMD_F12 { !pet "" } -; !set CONFIG_KEYCMD_F13 = 1 -; !macro CONFIG_KEYCMD_F13 { !pet "" } -; !set CONFIG_KEYCMD_F14 = 1 -; !macro CONFIG_KEYCMD_F14 { !pet "" } - +;; #CONFIG# KEYCMD_F9 NO +;; #CONFIG# KEYCMD_F10 NO +;; #CONFIG# KEYCMD_F11 NO +;; #CONFIG# KEYCMD_F12 NO +;; #CONFIG# KEYCMD_F13 NO +;; #CONFIG# KEYCMD_F14 NO ; Screen editor -!set CONFIG_EDIT_STOPQUOTE = 1 -!set CONFIG_EDIT_TABULATORS = 1 +;; #CONFIG# EDIT_STOPQUOTE YES +;; #CONFIG# EDIT_TABULATORS YES ; Software features -!set CONFIG_PANIC_SCREEN = 1 -!set CONFIG_DOS_WEDGE = 1 -!set CONFIG_TAPE_WEDGE = 1 -; !set CONFIG_TAPE_HEAD_ALIGN = 1 -!set CONFIG_BCD_SAFE_INTERRUPTS = 1 +;; #CONFIG# PANIC_SCREEN YES +;; #CONFIG# DOS_WEDGE YES +;; #CONFIG# TAPE_WEDGE YES +;; #CONFIG# TAPE_HEAD_ALIGN NO +;; #CONFIG# BCD_SAFE_INTERRUPTS YES ; Eye candy -; !set CONFIG_COLORS_BRAND = 1 -!set CONFIG_BANNER_SIMPLE = 1 -; !set CONFIG_BANNER_FANCY = 1 -!set CONFIG_SHOW_FEATURES = 1 +;; #CONFIG# COLORS_BRAND NO +;; #CONFIG# BANNER_SIMPLE YES +;; #CONFIG# BANNER_FANCY NO +;; #CONFIG# SHOW_FEATURES YES ; Debug options -; !set CONFIG_DBG_STUBS_BRK = 1 -!set CONFIG_DBG_PRINTF = 1 +;; #CONFIG# DBG_STUBS_BRK NO +;; #CONFIG# DBG_PRINTF YES + ; Other -; !set CONFIG_COMPRESSION_LVL_2 = 1 +;; #CONFIG# COMPRESSION_LVL_2 NO diff --git a/src/,,config_ultimate64.s b/src/,,config_ultimate64.s index f08a2b72..91ad1ba9 100644 --- a/src/,,config_ultimate64.s +++ b/src/,,config_ultimate64.s @@ -13,126 +13,120 @@ ; Hardware platform and brand -!set CONFIG_PLATFORM_COMMODORE_64 = 1 -!set CONFIG_MB_U64 = 1 +;; #CONFIG# PLATFORM_COMMODORE_64 YES +;; #CONFIG# MB_U64 YES ; Memory model -; !set CONFIG_MEMORY_MODEL_38K = 1 -; !set CONFIG_MEMORY_MODEL_46K = 1 -!set CONFIG_MEMORY_MODEL_50K = 1 -; !set CONFIG_MEMORY_MODEL_60K = 1 +;; #CONFIG# MEMORY_MODEL_38K NO +;; #CONFIG# MEMORY_MODEL_46K NO +;; #CONFIG# MEMORY_MODEL_50K YES +;; #CONFIG# MEMORY_MODEL_60K NO ; IEC bus configuration -!set CONFIG_IEC = 1 -!set CONFIG_IEC_DOLPHINDOS = 1 -!set CONFIG_IEC_DOLPHINDOS_FAST = 1 -!set CONFIG_IEC_JIFFYDOS = 1 -!set CONFIG_IEC_JIFFYDOS_BLANK = 1 +;; #CONFIG# IEC YES +;; #CONFIG# IEC_DOLPHINDOS YES +;; #CONFIG# IEC_DOLPHINDOS_FAST YES +;; #CONFIG# IEC_JIFFYDOS YES +;; #CONFIG# IEC_JIFFYDOS_BLANK YES ; Tape deck configuration -!set CONFIG_TAPE_NORMAL = 1 -!set CONFIG_TAPE_TURBO = 1 -!set CONFIG_TAPE_AUTODETECT = 1 -; !set CONFIG_TAPE_NO_KEY_SENSE = 1 -; !set CONFIG_TAPE_NO_MOTOR_CONTROL = 1 +;; #CONFIG# TAPE_NORMAL YES +;; #CONFIG# TAPE_TURBO YES +;; #CONFIG# TAPE_AUTODETECT YES +;; #CONFIG# TAPE_NO_KEY_SENSE NO +;; #CONFIG# TAPE_NO_MOTOR_CONTROL NO ; Sound support ; !set CONFIG_SID_2ND_ADDRESS = $D420 ; !set CONFIG_SID_3RD_ADDRESS = $D440 -!set CONFIG_SID_D4XX = 1 -!set CONFIG_SID_D5XX = 1 +;; #CONFIG# SID_D4XX YES +;; #CONFIG# SID_D5XX YES ; Keyboard settings -; !set CONFIG_LEGACY_SCNKEY = 1 -; !set CONFIG_KEYBOARD_C128 = 1 -; !set CONFIG_KEYBOARD_C128_CAPS_LOCK = 1 -; !set CONFIG_KEYBOARD_C65 = 1 ; untested -; !set CONFIG_KEYBOARD_C65_CAPS_LOCK = 1 ; untested -; !set CONFIG_KEY_REPEAT_DEFAULT = 1 -; !set CONFIG_KEY_REPEAT_ALWAYS = 1 -!set CONFIG_KEY_FAST_SCAN = 1 -!set CONFIG_JOY1_CURSOR = 1 -!set CONFIG_JOY2_CURSOR = 1 +;; #CONFIG# LEGACY_SCNKEY NO +;; #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 -!set CONFIG_PROGRAMMABLE_KEYS = 1 +;; #CONFIG# PROGRAMMABLE_KEYS YES -!set CONFIG_KEYCMD_RUN = 1 +;; #CONFIG# KEYCMD_RUN YES !macro CONFIG_KEYCMD_RUN { !byte $5F - !pet "l" } + !pet "l" +} -!set CONFIG_KEYCMD_F1 = 1 +;; #CONFIG# KEYCMD_F1 YES !macro CONFIG_KEYCMD_F1 { !pet "@" } -; !set CONFIG_KEYCMD_F2 = 1 +;; #CONFIG# KEYCMD_F2 NO ; !macro CONFIG_KEYCMD_F2 { !pet "" } -!set CONFIG_KEYCMD_F3 = 1 +;; #CONFIG# KEYCMD_F3 YES !macro CONFIG_KEYCMD_F3 { !pet "run:" } -; !set CONFIG_KEYCMD_F4 = 1 +;; #CONFIG# KEYCMD_F4 NO ; !macro CONFIG_KEYCMD_F4 { !pet "" } -!set CONFIG_KEYCMD_F5 = 1 +;; #CONFIG# KEYCMD_F5 YES !macro CONFIG_KEYCMD_F5 { !pet "load" } -; !set CONFIG_KEYCMD_F6 = 1 +;; #CONFIG# KEYCMD_F6 NO ; !macro CONFIG_KEYCMD_F6 { !pet "" } -!set CONFIG_KEYCMD_F7 = 1 +;; #CONFIG# KEYCMD_F7 YES !macro CONFIG_KEYCMD_F7 { !pet "@$" } -; !set CONFIG_KEYCMD_F8 = 1 +;; #CONFIG# KEYCMD_F8 NO ; !macro CONFIG_KEYCMD_F8 { !pet "" } -!set CONFIG_KEYCMD_HELP = 1 +;; #CONFIG# KEYCMD_HELP YES !macro CONFIG_KEYCMD_HELP { !pet "list" } -; !set CONFIG_KEYCMD_F9 = 1 -; !macro CONFIG_KEYCMD_F9 { !pet "" } -; !set CONFIG_KEYCMD_F10 = 1 -; !macro CONFIG_KEYCMD_F10 { !pet "" } -; !set CONFIG_KEYCMD_F11 = 1 -; !macro CONFIG_KEYCMD_F11 { !pet "" } -; !set CONFIG_KEYCMD_F12 = 1 -; !macro CONFIG_KEYCMD_F12 { !pet "" } -; !set CONFIG_KEYCMD_F13 = 1 -; !macro CONFIG_KEYCMD_F13 { !pet "" } -; !set CONFIG_KEYCMD_F14 = 1 -; !macro CONFIG_KEYCMD_F14 { !pet "" } +;; #CONFIG# KEYCMD_F9 NO +;; #CONFIG# KEYCMD_F10 NO +;; #CONFIG# KEYCMD_F11 NO +;; #CONFIG# KEYCMD_F12 NO +;; #CONFIG# KEYCMD_F13 NO +;; #CONFIG# KEYCMD_F14 NO ; Screen editor -!set CONFIG_EDIT_STOPQUOTE = 1 -; !set CONFIG_EDIT_TABULATORS = 1 +;; #CONFIG# EDIT_STOPQUOTE YES +;; #CONFIG# EDIT_TABULATORS NO ; Software features -!set CONFIG_PANIC_SCREEN = 1 -!set CONFIG_DOS_WEDGE = 1 -!set CONFIG_TAPE_WEDGE = 1 -; !set CONFIG_TAPE_HEAD_ALIGN = 1 -!set CONFIG_BCD_SAFE_INTERRUPTS = 1 +;; #CONFIG# PANIC_SCREEN YES +;; #CONFIG# DOS_WEDGE YES +;; #CONFIG# TAPE_WEDGE YES +;; #CONFIG# TAPE_HEAD_ALIGN NO +;; #CONFIG# BCD_SAFE_INTERRUPTS YES ; Eye candy -!set CONFIG_COLORS_BRAND = 1 -; !set CONFIG_BANNER_SIMPLE = 1 -!set CONFIG_BANNER_FANCY = 1 -!set CONFIG_SHOW_FEATURES = 1 +;; #CONFIG# COLORS_BRAND YES +;; #CONFIG# BANNER_SIMPLE NO +;; #CONFIG# BANNER_FANCY YES +;; #CONFIG# SHOW_FEATURES YES ; Debug options -; !set CONFIG_DBG_STUBS_BRK = 1 -; !set CONFIG_DBG_PRINTF = 1 +;; #CONFIG# DBG_STUBS_BRK NO +;; #CONFIG# DBG_PRINTF NO + ; Other -; !set CONFIG_COMPRESSION_LVL_2 = 1 +;; #CONFIG# COMPRESSION_LVL_2 NO diff --git a/tools/build_segment.cc b/tools/build_segment.cc index 68211c5e..ad4ca41d 100644 --- a/tools/build_segment.cc +++ b/tools/build_segment.cc @@ -88,17 +88,12 @@ public: SourceFile(const std::string &fileName, const std::string &dirName); void preprocess(); - void preprocessLine(const std::string &line, uint32_t lineNum); - void preprocessLine_Alias(const std::list &tokens, std::list::iterator &iter, uint32_t lineNum); - void preprocessLine_Import(const std::list &tokens, std::list::iterator &iter); - void preprocessLine_Layout(const std::list &tokens, std::list::iterator &iter); bool nameMatch(const std::string &token, const std::string &name); std::string fileName; std::string dirName; - bool layoutProcessingDone; bool ignore; bool floating; bool high; @@ -114,6 +109,23 @@ public: int testAddrStart; // start address during test run int testAddrEnd; // end address during test run + +private: + + bool layoutProcessingDone; + + typedef struct ConfigEntry { + std::string key; + std::string valStr; // XXX add support for string values + } ConfigEntry; + + std::map configEntries; + + void preprocessLine(const std::string &line, uint32_t lineNum); + void preprocessLine_Alias(const std::list &tokens, std::list::iterator &iter, uint32_t lineNum); + void preprocessLine_Config(const std::list &tokens, std::list::iterator &iter, uint32_t lineNum); + void preprocessLine_Import(const std::list &tokens, std::list::iterator &iter); + void preprocessLine_Layout(const std::list &tokens, std::list::iterator &iter); }; class BinningProblem @@ -605,14 +617,14 @@ int main(int argc, char **argv) SourceFile::SourceFile(const std::string &fileName, const std::string &dirName) : fileName(fileName), dirName(dirName), - layoutProcessingDone(false), ignore(false), floating(false), high(false), startAddr(-1), codeLength(-1), testAddrStart(-1), - testAddrEnd(-1) + testAddrEnd(-1), + layoutProcessingDone(false) { const std::string fileNameWithPath = dirName + DIR_SEPARATOR + fileName; std::cout << "reading file: " << fileNameWithPath << "\n"; @@ -698,14 +710,26 @@ void SourceFile::preprocess() while (std::getline(stream2, line)) { + std::ostringstream outStream; + if (symbolAliases.find(lineNum) != symbolAliases.end()) { - std::ostringstream alias; spacing.resize(maxSymLen + 2 - symbolAliases[lineNum].first.length(), ' '); - alias << "!addr " << symbolAliases[lineNum].first << spacing << "= $" << - std::hex << symbolAliases[lineNum].second << " " << line; - const std::string aliasStr = alias.str(); - content.insert(content.end(), aliasStr.begin(), aliasStr.end()); + outStream << "!addr " << symbolAliases[lineNum].first << spacing << "= $" << + std::hex << symbolAliases[lineNum].second << " " << line; + + const std::string outString = outStream.str(); + content.insert(content.end(), outString.begin(), outString.end()); + } + else if (configEntries.find(lineNum) != configEntries.end()) + { + // XXX add spacing + // XXX add support for string values + outStream << "!set CONFIG_" << configEntries[lineNum].key << " = 1" << + " " << line; + + const std::string outString = outStream.str(); + content.insert(content.end(), outString.begin(), outString.end()); } else { @@ -745,7 +769,8 @@ void SourceFile::preprocessLine(const std::string &line, uint32_t lineNum) // Check if supported directive - if (iter->compare("#ALIAS#") == 0) preprocessLine_Alias(tokens, ++iter, lineNum); + if (iter->compare("#ALIAS#") == 0) preprocessLine_Alias(tokens, ++iter, lineNum); + else if (iter->compare("#CONFIG#") == 0) preprocessLine_Config(tokens, ++iter, lineNum); else if (iter->compare("#IMPORT#") == 0) preprocessLine_Import(tokens, ++iter); else if (iter->compare("#LAYOUT#") == 0) preprocessLine_Layout(tokens, ++iter); } @@ -780,6 +805,28 @@ void SourceFile::preprocessLine_Alias(const std::list &tokens, std: } } +void SourceFile::preprocessLine_Config(const std::list &tokens, std::list::iterator &iter, uint32_t lineNum) +{ + if (ignore) return; + + if (iter == tokens.end()) ERROR("syntax error, missing key in '#CONFIG#'"); + std::string key = *(iter++); + + if (iter == tokens.end()) ERROR("syntax error, missing value in '#CONFIG#'"); + std::string valStr = *(iter++); + + if (valStr.compare("NO") == 0) return; + else if (valStr.compare("YES") == 0) + { + configEntries[lineNum].key = key; + } + else + { + // XXX add support for string values + ERROR("syntax error, unknown key in '#CONFIG#'"); + } +} + void SourceFile::preprocessLine_Import(const std::list &tokens, std::list::iterator &iter) { if (ignore) return; diff --git a/tools/generate_strings.cc b/tools/generate_strings.cc index 3779c015..b6d77b83 100644 --- a/tools/generate_strings.cc +++ b/tools/generate_strings.cc @@ -1076,7 +1076,7 @@ void DictEncoder::process(StringEntryList &outDictionary) bool DataSet::isCompressionLvl2(const StringEntryList &list) const { - return (GLOBAL_ConfigOptions["CONFIG_COMPRESSION_LVL_2"] && list.type == ListType::STRINGS_BASIC); + return (GLOBAL_ConfigOptions["COMPRESSION_LVL_2"] && list.type == ListType::STRINGS_BASIC); } void DataSet::addStrings(const StringEntryList &stringList) @@ -1135,17 +1135,17 @@ void DataSet::generateConfigDepStrings() // Tape support features - if (GLOBAL_ConfigOptions["CONFIG_TAPE_NORMAL"] && GLOBAL_ConfigOptions["CONFIG_TAPE_TURBO"]) + if (GLOBAL_ConfigOptions["TAPE_NORMAL"] && GLOBAL_ConfigOptions["TAPE_TURBO"]) { featureStr += "TAPE LOAD NORMAL TURBO\r"; featureStrM65 += "TAPE : LOAD NORMAL TURBO\r"; } - else if (GLOBAL_ConfigOptions["CONFIG_TAPE_NORMAL"]) + else if (GLOBAL_ConfigOptions["TAPE_NORMAL"]) { featureStr += "TAPE LOAD NORMAL\r"; featureStrM65 += "TAPE : LOAD NORMAL\r"; } - else if (GLOBAL_ConfigOptions["CONFIG_TAPE_TURBO"]) + else if (GLOBAL_ConfigOptions["TAPE_TURBO"]) { featureStr += "TAPE LOAD TURBO\r"; featureStrM65 += "TAPE : LOAD TURBO\r"; @@ -1153,38 +1153,38 @@ void DataSet::generateConfigDepStrings() // IEC support features - if (GLOBAL_ConfigOptions["CONFIG_IEC"]) + if (GLOBAL_ConfigOptions["IEC"]) { featureStr += "IEC"; featureStrM65 += "IEC :"; bool extendedIEC = false; - if (GLOBAL_ConfigOptions["CONFIG_IEC_BURST_CIA1"]) + if (GLOBAL_ConfigOptions["IEC_BURST_CIA1"]) { featureStr += " BURST1"; extendedIEC = true; } - if (GLOBAL_ConfigOptions["CONFIG_IEC_BURST_CIA2"]) + if (GLOBAL_ConfigOptions["IEC_BURST_CIA2"]) { featureStr += " BURST2"; extendedIEC = true; } - if (GLOBAL_ConfigOptions["CONFIG_IEC_BURST_MEGA65"]) + if (GLOBAL_ConfigOptions["IEC_BURST_MEGA65"]) { featureStr += " BURST"; featureStrM65 += " BURST"; extendedIEC = true; } - if (GLOBAL_ConfigOptions["CONFIG_IEC_DOLPHINDOS"]) + if (GLOBAL_ConfigOptions["IEC_DOLPHINDOS"]) { featureStr += " DOLPHIN"; featureStrM65 += " DOLPHIN"; extendedIEC = true; } - if (GLOBAL_ConfigOptions["CONFIG_IEC_JIFFYDOS"]) + if (GLOBAL_ConfigOptions["IEC_JIFFYDOS"]) { featureStr += " JIFFY"; featureStrM65 += " JIFFY"; @@ -1207,8 +1207,9 @@ void DataSet::generateConfigDepStrings() // RS-232 support features - if (GLOBAL_ConfigOptions["CONFIG_RS232_UP2400"]) featureStr += "UP2400\r"; - if (GLOBAL_ConfigOptions["CONFIG_RS232_UP9600"]) featureStr += "UP9600\r"; + if (GLOBAL_ConfigOptions["RS232_ACIA"]) featureStr += "ACIA 6551\r"; + if (GLOBAL_ConfigOptions["RS232_UP2400"]) featureStr += "UP2400\r"; + if (GLOBAL_ConfigOptions["RS232_UP9600"]) featureStr += "UP9600\r"; featureStrM65 += "RS-232 : NO\r"; @@ -1218,8 +1219,8 @@ void DataSet::generateConfigDepStrings() // Keyboard support features - if (GLOBAL_ConfigOptions["CONFIG_KEYBOARD_C128"]) featureStr += "KBD 128\r"; - if (GLOBAL_ConfigOptions["CONFIG_KEYBOARD_C65"]) featureStr += "KBD 65\r"; + if (GLOBAL_ConfigOptions["KEYBOARD_C128"]) featureStr += "KBD 128\r"; + if (GLOBAL_ConfigOptions["KEYBOARD_C65"]) featureStr += "KBD 65\r"; // Add strings to appropriate list @@ -1229,7 +1230,7 @@ void DataSet::generateConfigDepStrings() // List found - if (GLOBAL_ConfigOptions["CONFIG_SHOW_FEATURES"] || GLOBAL_ConfigOptions["CONFIG_MB_M65"]) + if (GLOBAL_ConfigOptions["SHOW_FEATURES"] || GLOBAL_ConfigOptions["MB_M65"]) { StringEntry newEntry1 = { true, true, true, true, "STR_PAL", "PAL\r" }; StringEntry newEntry2 = { true, true, true, true, "STR_NTSC", "NTSC\r" }; @@ -1238,19 +1239,19 @@ void DataSet::generateConfigDepStrings() stringEntryList.list.push_back(newEntry2); } - if (GLOBAL_ConfigOptions["CONFIG_SHOW_FEATURES"]) + if (GLOBAL_ConfigOptions["SHOW_FEATURES"]) { StringEntry newEntry = { true, true, true, true, "STR_FEATURES", featureStr }; stringEntryList.list.push_back(newEntry); } - if (GLOBAL_ConfigOptions["CONFIG_MB_M65"]) + if (GLOBAL_ConfigOptions["MB_M65"]) { StringEntry newEntry = { false, true, false, false, "STR_SI_FEATURES", featureStrM65 }; stringEntryList.list.push_back(newEntry); } - if (!GLOBAL_ConfigOptions["CONFIG_BRAND_CUSTOM_BUILD"] || GLOBAL_ConfigOptions["CONFIG_MB_M65"]) + if (!GLOBAL_ConfigOptions["BRAND_CUSTOM_BUILD"] || GLOBAL_ConfigOptions["MB_M65"]) { StringEntry newEntry = { true, true, true, true, "STR_PRE_REV", "RELEASE " }; stringEntryList.list.push_back(newEntry); @@ -1749,27 +1750,34 @@ void parseConfigFile() if (cnfFile.bad()) ERROR("error reading configuration file"); workStr = std::regex_replace(workStr, std::regex("^[ \t]+"), ""); - // Skip lines which are not preprocessor definitions - - if (workStr.empty() || workStr[0] != '!') continue; - - // Make sure this is '!set ' - - if (!std::regex_match(workStr, std::regex("^\\!set[ \t].*"))) + // Split the line into tokens + + std::vector tokens; + + std::istringstream workStream(workStr); + std::string token; + while(std::getline(workStream, token, ' ')) + { + if (token.empty()) continue; + tokens.push_back(token); + } + if (tokens.empty()) continue; + + // Only accept lines which are boolean config options set to YES + + if (tokens.size() < 4 || + tokens[0].compare(";;") != 0 || + tokens[1].compare("#CONFIG#") != 0 || + tokens[3].compare("YES") != 0) { continue; } - // Get rid of the directive and trailing spaces/values/comments - - workStr = std::regex_replace(workStr, std::regex("^\\!set[ \t]+"), ""); - workStr = std::regex_replace(workStr, std::regex("[ \t]+.*"), ""); - // Add definitin to config option map - if (workStr.empty()) ERROR(std::string("error parsing config file - line ") + std::to_string(lineNum)); + if (tokens[2].empty()) ERROR(std::string("error parsing config file - line ") + std::to_string(lineNum)); - GLOBAL_ConfigOptions[workStr] = true; + GLOBAL_ConfigOptions[tokens[2]] = true; } cnfFile.close(); @@ -1809,7 +1817,7 @@ void writeStrings() { std::string outputString; - if (GLOBAL_ConfigOptions["CONFIG_PLATFORM_COMMANDER_X16"]) + if (GLOBAL_ConfigOptions["PLATFORM_COMMANDER_X16"]) { DataSetX16 dataSetX16; @@ -1824,7 +1832,7 @@ void writeStrings() outputString = dataSetX16.getOutput(); } - else if (GLOBAL_ConfigOptions["CONFIG_PLATFORM_COMMODORE_64"] && GLOBAL_ConfigOptions["CONFIG_MB_M65"]) + else if (GLOBAL_ConfigOptions["PLATFORM_COMMODORE_64"] && GLOBAL_ConfigOptions["MB_M65"]) { DataSetM65 dataSetM65; @@ -1841,7 +1849,7 @@ void writeStrings() outputString = dataSetM65.getOutput(); } - else if (GLOBAL_ConfigOptions["CONFIG_PLATFORM_COMMODORE_64"] && GLOBAL_ConfigOptions["CONFIG_MB_U64"]) + else if (GLOBAL_ConfigOptions["PLATFORM_COMMODORE_64"] && GLOBAL_ConfigOptions["MB_U64"]) { DataSetU64 dataSetU64; @@ -1856,7 +1864,7 @@ void writeStrings() outputString = dataSetU64.getOutput(); } - else if (GLOBAL_ConfigOptions["CONFIG_PLATFORM_COMMODORE_64"]) + else if (GLOBAL_ConfigOptions["PLATFORM_COMMODORE_64"]) { DataSetSTD dataSetSTD;