show the most important compiled-in features on startup screen
This commit is contained in:
1 parent
65c27f4dd4
commit
2b9475475f
11 files changed
+160
-27
No files matched your search
@@ -223,11 +223,17 @@ Select startup banner - either a simple one, or with some colorful elements. `CO
|
|||||||
|
|
||||||
Richer banners need more BASIC segment, varies between brands.
|
Richer banners need more BASIC segment, varies between brands.
|
||||||
|
|
||||||
|
### `CONFIG_SHOW_FEATURES`
|
||||||
|
|
||||||
|
If enabled, shows the most important compiled-in features on the startup screen.
|
||||||
|
|
||||||
|
It is recommended to keep it enabled for informational purposes.
|
||||||
|
|
||||||
### `CONFIG_BANNER_PAL_NTSC`
|
### `CONFIG_BANNER_PAL_NTSC`
|
||||||
|
|
||||||
If enabled, prints video system on startup banner. Eye candy only.
|
If enabled, prints video system on startup banner. Eye candy only.
|
||||||
|
|
||||||
Feature needs some bytes in BASIC (depending on banner type) and about 25 bytes in KERNAL segment.
|
Feature needs few bytes in BASIC and about 25 bytes in KERNAL segment.
|
||||||
|
|
||||||
## Debug options
|
## Debug options
|
||||||
|
|
||||||
|
|||||||
@@ -115,6 +115,7 @@
|
|||||||
// #define CONFIG_BANNER_SIMPLE
|
// #define CONFIG_BANNER_SIMPLE
|
||||||
#define CONFIG_BANNER_FANCY
|
#define CONFIG_BANNER_FANCY
|
||||||
// #define CONFIG_BANNER_BRAND
|
// #define CONFIG_BANNER_BRAND
|
||||||
|
#define CONFIG_SHOW_FEATURES
|
||||||
#define CONFIG_SHOW_PAL_NTSC
|
#define CONFIG_SHOW_PAL_NTSC
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -117,6 +117,7 @@
|
|||||||
// #define CONFIG_BANNER_SIMPLE
|
// #define CONFIG_BANNER_SIMPLE
|
||||||
// #define CONFIG_BANNER_FANCY
|
// #define CONFIG_BANNER_FANCY
|
||||||
#define CONFIG_BANNER_BRAND
|
#define CONFIG_BANNER_BRAND
|
||||||
|
#define CONFIG_SHOW_FEATURES
|
||||||
// #define CONFIG_SHOW_PAL_NTSC
|
// #define CONFIG_SHOW_PAL_NTSC
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -113,10 +113,11 @@
|
|||||||
// Eye candy
|
// Eye candy
|
||||||
|
|
||||||
// #define CONFIG_COLORS_BRAND
|
// #define CONFIG_COLORS_BRAND
|
||||||
// #define CONFIG_BANNER_SIMPLE
|
#define CONFIG_BANNER_SIMPLE
|
||||||
#define CONFIG_BANNER_FANCY
|
// #define CONFIG_BANNER_FANCY
|
||||||
// #define CONFIG_BANNER_BRAND
|
// #define CONFIG_BANNER_BRAND
|
||||||
// #define CONFIG_SHOW_PAL_NTSC
|
#define CONFIG_SHOW_FEATURES
|
||||||
|
#define CONFIG_SHOW_PAL_NTSC
|
||||||
|
|
||||||
|
|
||||||
// Debug options
|
// Debug options
|
||||||
|
|||||||
@@ -115,6 +115,7 @@
|
|||||||
// #define CONFIG_BANNER_SIMPLE
|
// #define CONFIG_BANNER_SIMPLE
|
||||||
#define CONFIG_BANNER_FANCY
|
#define CONFIG_BANNER_FANCY
|
||||||
// #define CONFIG_BANNER_BRAND
|
// #define CONFIG_BANNER_BRAND
|
||||||
|
#define CONFIG_SHOW_FEATURES
|
||||||
#define CONFIG_SHOW_PAL_NTSC
|
#define CONFIG_SHOW_PAL_NTSC
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,8 @@
|
|||||||
// Various configuration dependent aliases/macros/checks
|
// Various configuration dependent aliases/macros/checks
|
||||||
//
|
//
|
||||||
|
|
||||||
|
.encoding "petscii_upper"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Check that platform configuration is correct
|
// Check that platform configuration is correct
|
||||||
@@ -146,8 +148,8 @@
|
|||||||
.error "CONFIG_BANNER_BRAND is not supported for your CONFIG_BRAND_*"
|
.error "CONFIG_BANNER_BRAND is not supported for your CONFIG_BRAND_*"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if CONFIG_BANNER_BRAND && CONFIG_BRAND_MEGA_65 && CONFIG_SHOW_PAL_NTSC
|
#if CONFIG_MB_MEGA_65 && CONFIG_SHOW_PAL_NTSC
|
||||||
.error "MEGA65 brand banner does not support showing PAL/NTSC"
|
.error "MEGA65 can switch PAL/NTSC during run-time, CONFIG_SHOW_PAL_NTSC makes no sense"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -261,3 +263,68 @@
|
|||||||
STUB_IMPLEMENTATION_RTS()
|
STUB_IMPLEMENTATION_RTS()
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Function for printing out build features
|
||||||
|
|
||||||
|
.var feature_new_line = false
|
||||||
|
|
||||||
|
.function ADD_FEATURE(current_features, new_feature)
|
||||||
|
{
|
||||||
|
.var features_str = current_features
|
||||||
|
|
||||||
|
.if (!feature_new_line && features_str.size() > 0)
|
||||||
|
{
|
||||||
|
.eval features_str = features_str + ", "
|
||||||
|
}
|
||||||
|
|
||||||
|
.if (feature_new_line)
|
||||||
|
{
|
||||||
|
.eval feature_new_line = false
|
||||||
|
.eval features_str = features_str + @"\r"
|
||||||
|
}
|
||||||
|
|
||||||
|
.return features_str + new_feature
|
||||||
|
}
|
||||||
|
|
||||||
|
.function BUILD_FEATURES_STR()
|
||||||
|
{
|
||||||
|
.var features_str = ""
|
||||||
|
|
||||||
|
#if CONFIG_TAPE_NORMAL
|
||||||
|
.eval features_str = ADD_FEATURE(features_str, "TAPE NORMAL")
|
||||||
|
#elif CONFIG_TAPE_TURBO
|
||||||
|
.eval features_str = ADD_FEATURE(features_str, "TAPE TURBO")
|
||||||
|
#elif CONFIG_TAPE_NORMAL && CONFIG_TAPE_TURBO
|
||||||
|
.eval features_str = ADD_FEATURE(features_str, "TAPE NORMAL+TURBO")
|
||||||
|
#endif
|
||||||
|
|
||||||
|
.eval feature_new_line = true
|
||||||
|
|
||||||
|
#if CONFIG_IEC
|
||||||
|
.eval features_str = ADD_FEATURE(features_str, "IEC")
|
||||||
|
#endif
|
||||||
|
#if CONFIG_IEC_JIFFYDOS
|
||||||
|
.eval features_str = ADD_FEATURE(features_str, "JIFFY")
|
||||||
|
#endif
|
||||||
|
|
||||||
|
.eval feature_new_line = true
|
||||||
|
|
||||||
|
#if CONFIG_RS232_UP2400
|
||||||
|
.eval features_str = ADD_FEATURE(features_str, "UP2400")
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if CONFIG_RS232_UP2400
|
||||||
|
.eval features_str = ADD_FEATURE(features_str, "UP9600")
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if CONFIG_KEYBOARD_C128
|
||||||
|
.eval features_str = ADD_FEATURE(features_str, "KBD 128")
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if CONFIG_KEYBOARD_C65
|
||||||
|
.eval features_str = ADD_FEATURE(features_str, "KBD 65")
|
||||||
|
#endif
|
||||||
|
|
||||||
|
.return features_str
|
||||||
|
}
|
||||||
@@ -19,6 +19,10 @@
|
|||||||
.label print_return = KERNAL.print_return
|
.label print_return = KERNAL.print_return
|
||||||
.label print_space = KERNAL.print_space
|
.label print_space = KERNAL.print_space
|
||||||
|
|
||||||
|
#if CONFIG_SHOW_FEATURES
|
||||||
|
.label print_features = KERNAL.print_features
|
||||||
|
#endif
|
||||||
|
|
||||||
#if CONFIG_SHOW_PAL_NTSC
|
#if CONFIG_SHOW_PAL_NTSC
|
||||||
.label print_pal_ntsc = KERNAL.print_pal_ntsc
|
.label print_pal_ntsc = KERNAL.print_pal_ntsc
|
||||||
#endif
|
#endif
|
||||||
@@ -11,7 +11,7 @@ initmsg_real:
|
|||||||
jsr STROUT
|
jsr STROUT
|
||||||
|
|
||||||
ldx #$02
|
ldx #$02
|
||||||
ldy #$02
|
ldy #$04
|
||||||
jsr plot_set
|
jsr plot_set
|
||||||
|
|
||||||
lda #<rom_revision_basic_string
|
lda #<rom_revision_basic_string
|
||||||
@@ -19,18 +19,26 @@ initmsg_real:
|
|||||||
jsr STROUT
|
jsr STROUT
|
||||||
|
|
||||||
ldx #$04
|
ldx #$04
|
||||||
ldy #$02
|
ldy #$04
|
||||||
jsr plot_set
|
jsr plot_set
|
||||||
|
|
||||||
#if CONFIG_SHOW_PAL_NTSC
|
|
||||||
jsr print_pal_ntsc
|
|
||||||
#endif
|
|
||||||
|
|
||||||
jsr initmsg_bytes_free
|
jsr initmsg_bytes_free
|
||||||
|
|
||||||
ldx #$07
|
ldx #$06
|
||||||
ldy #$00
|
ldy #$00
|
||||||
|
#if CONFIG_SHOW_PAL_NTSC && CONFIG_SHOW_FEATURES
|
||||||
|
jsr plot_set
|
||||||
|
jsr print_features
|
||||||
|
jmp print_pal_ntsc
|
||||||
|
#elif CONFIG_SHOW_PAL_NTSC
|
||||||
|
jsr plot_set
|
||||||
|
jmp print_pal_ntsc
|
||||||
|
#elif CONFIG_SHOW_FEATURES
|
||||||
|
jsr plot_set
|
||||||
|
jmp print_features
|
||||||
|
#else
|
||||||
jmp plot_set
|
jmp plot_set
|
||||||
|
#endif
|
||||||
|
|
||||||
#elif CONFIG_BANNER_FANCY
|
#elif CONFIG_BANNER_FANCY
|
||||||
|
|
||||||
@@ -58,19 +66,27 @@ initmsg_real:
|
|||||||
ldy #>rom_revision_basic_string
|
ldy #>rom_revision_basic_string
|
||||||
jsr STROUT
|
jsr STROUT
|
||||||
|
|
||||||
ldx #$05
|
ldx #$04
|
||||||
ldy #$00
|
ldy #$0A
|
||||||
jsr plot_set
|
jsr plot_set
|
||||||
|
|
||||||
#if CONFIG_SHOW_PAL_NTSC
|
|
||||||
jsr print_pal_ntsc
|
|
||||||
#endif
|
|
||||||
|
|
||||||
jsr initmsg_bytes_free
|
jsr initmsg_bytes_free
|
||||||
|
|
||||||
ldx #$07
|
ldx #$05
|
||||||
ldy #$00
|
ldy #$00
|
||||||
|
#if CONFIG_SHOW_PAL_NTSC && CONFIG_SHOW_FEATURES
|
||||||
|
jsr plot_set
|
||||||
|
jsr print_features
|
||||||
|
jmp print_pal_ntsc
|
||||||
|
#elif CONFIG_SHOW_PAL_NTSC
|
||||||
|
jsr plot_set
|
||||||
|
jmp print_pal_ntsc
|
||||||
|
#elif CONFIG_SHOW_FEATURES
|
||||||
|
jsr plot_set
|
||||||
|
jmp print_features
|
||||||
|
#else
|
||||||
jmp plot_set
|
jmp plot_set
|
||||||
|
#endif
|
||||||
|
|
||||||
#elif CONFIG_BANNER_BRAND && CONFIG_BRAND_MEGA_65
|
#elif CONFIG_BANNER_BRAND && CONFIG_BRAND_MEGA_65
|
||||||
|
|
||||||
@@ -88,8 +104,17 @@ initmsg_real:
|
|||||||
|
|
||||||
jsr initmsg_bytes_free
|
jsr initmsg_bytes_free
|
||||||
|
|
||||||
|
#if CONFIG_SHOW_FEATURES
|
||||||
|
ldx #$04
|
||||||
|
ldy #$00
|
||||||
|
jsr plot_set
|
||||||
|
jsr print_features
|
||||||
|
jmp print_return
|
||||||
|
#else
|
||||||
ldx #$05
|
ldx #$05
|
||||||
ldy #$00
|
ldy #$00
|
||||||
jmp plot_set
|
jmp plot_set
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@@ -25,6 +25,9 @@
|
|||||||
.label __MSG_KERNAL_PANIC_ROM_MISMATCH = __msg_kernalpanic_rom_mismatch - __msg_kernal_first
|
.label __MSG_KERNAL_PANIC_ROM_MISMATCH = __msg_kernalpanic_rom_mismatch - __msg_kernal_first
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if CONFIG_SHOW_FEATURES
|
||||||
|
.label __MSG_KERNAL_FEATURES = __msg_kernalfeatures - __msg_kernal_first
|
||||||
|
#endif
|
||||||
|
|
||||||
__msg_kernal_first:
|
__msg_kernal_first:
|
||||||
|
|
||||||
@@ -59,12 +62,14 @@ __msg_kernalto_hex:
|
|||||||
#if CONFIG_SHOW_PAL_NTSC
|
#if CONFIG_SHOW_PAL_NTSC
|
||||||
|
|
||||||
__msg_kernalpal:
|
__msg_kernalpal:
|
||||||
.text "PAL,"
|
.text "PAL"
|
||||||
.byte $80 + $20 // end of string mark + space
|
.byte $0D
|
||||||
|
.byte $80 + $0D // end of string mark + return
|
||||||
|
|
||||||
__msg_kernalntsc:
|
__msg_kernalntsc:
|
||||||
.text "NTSC,"
|
.text "NTSC"
|
||||||
.byte $80 + $20 // end of string mark + space
|
.byte $0D
|
||||||
|
.byte $80 + $0D // end of string mark + return
|
||||||
|
|
||||||
#endif // CONFIG_SHOW_PAL_NTSC
|
#endif // CONFIG_SHOW_PAL_NTSC
|
||||||
|
|
||||||
@@ -79,3 +84,11 @@ __msg_kernalpanic_rom_mismatch:
|
|||||||
.byte $80 + $48 // end of string mark + 'H'
|
.byte $80 + $48 // end of string mark + 'H'
|
||||||
|
|
||||||
#endif // CONFIG_PANIC_SCREEN
|
#endif // CONFIG_PANIC_SCREEN
|
||||||
|
|
||||||
|
#if CONFIG_SHOW_FEATURES
|
||||||
|
|
||||||
|
__msg_kernalfeatures:
|
||||||
|
.text BUILD_FEATURES_STR()
|
||||||
|
.byte $80 + $0D // end of string mark + return
|
||||||
|
|
||||||
|
#endif // CONFIG_SHOW_FEATURES
|
||||||
@@ -72,10 +72,10 @@ jiffydos_restore_sprites:
|
|||||||
|
|
||||||
.function SAME_PAGE_CHECK(label_1, label_2)
|
.function SAME_PAGE_CHECK(label_1, label_2)
|
||||||
{
|
{
|
||||||
#if !PASS_SIZETEST
|
#if PASS_SIZETEST
|
||||||
return (label_1 - label_1 % 256) == (label_2 - label_2 % 256)
|
.return (label_1 - label_1 % 256) == (label_2 - label_2 % 256)
|
||||||
#else
|
#else
|
||||||
return true
|
.return true
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
|
||||||
|
//
|
||||||
|
// Print configured features on startup banner
|
||||||
|
//
|
||||||
|
|
||||||
|
#if CONFIG_SHOW_FEATURES
|
||||||
|
|
||||||
|
print_features:
|
||||||
|
|
||||||
|
ldx #__MSG_KERNAL_FEATURES
|
||||||
|
!:
|
||||||
|
jmp print_kernal_message
|
||||||
|
|
||||||
|
#endif // CONFIG_SHOW_FEATURES
|
||||||
Reference in new issue
Block a user