PAL/NTSC display is now optional
This commit is contained in:
1 parent
3ca8c0ead5
commit
8339e36324
14 files changed
+72
-25
No files matched your search
@@ -82,12 +82,18 @@ Each of them needs a couple of bytes in KERNAL segment - but they can share some
|
||||
|
||||
## Miscelaneous features
|
||||
|
||||
### `CONFIG_FANCY_BANNER`
|
||||
### `CONFIG_BANNER_FANCY`
|
||||
|
||||
If enabled, prints more colorful startup banner. Eye candy only.
|
||||
|
||||
Needs some space in BASIC segment, varies between targets.
|
||||
|
||||
### `CONFIG_BANNER_PAL_NTSC`
|
||||
|
||||
If enabled, prints video system on startup banner. Eye candy only.
|
||||
|
||||
Feature needs 3 bytes in BASIC and 23 bytes in KERNAL segment.
|
||||
|
||||
### `CONFIG_DOS_WEDGE`
|
||||
|
||||
If enabled, a simple DOS wedge is available from the direct mode - supports `@<drive_number>`, `@<command>`, `@$`, `@$<params>` and `@` commands.
|
||||
|
||||
@@ -20,7 +20,8 @@
|
||||
// #define CONFIG_SID_D4XX
|
||||
// #define CONFIG_SID_D5XX
|
||||
|
||||
#define CONFIG_FANCY_BANNER
|
||||
#define CONFIG_BANNER_FANCY
|
||||
#define CONFIG_BANNER_PAL_NTSC
|
||||
#define CONFIG_DOS_WEDGE
|
||||
#define CONFIG_BCD_SAFE_INTERRUPTS
|
||||
#define CONFIG_EXTENDED_SCNKEY // for now has to be enabled
|
||||
|
||||
@@ -20,7 +20,8 @@
|
||||
// #define CONFIG_SID_D4XX
|
||||
// #define CONFIG_SID_D5XX
|
||||
|
||||
#define CONFIG_FANCY_BANNER
|
||||
#define CONFIG_BANNER_FANCY
|
||||
#define CONFIG_BANNER_PAL_NTSC
|
||||
#define CONFIG_DOS_WEDGE
|
||||
#define CONFIG_BCD_SAFE_INTERRUPTS
|
||||
#define CONFIG_EXTENDED_SCNKEY // for now has to be enabled
|
||||
|
||||
@@ -20,7 +20,8 @@
|
||||
#define CONFIG_SID_D4XX
|
||||
#define CONFIG_SID_D5XX
|
||||
|
||||
#define CONFIG_FANCY_BANNER
|
||||
#define CONFIG_BANNER_FANCY
|
||||
#define CONFIG_BANNER_PAL_NTSC
|
||||
#define CONFIG_DOS_WEDGE
|
||||
#define CONFIG_BCD_SAFE_INTERRUPTS
|
||||
#define CONFIG_EXTENDED_SCNKEY // for now has to be enabled
|
||||
|
||||
@@ -11,3 +11,7 @@
|
||||
.label print_hex_byte = KERNAL.print_hex_byte
|
||||
.label print_return = KERNAL.print_return
|
||||
.label print_space = KERNAL.print_space
|
||||
|
||||
#if CONFIG_BANNER_PAL_NTSC
|
||||
.label print_pal_ntsc = KERNAL.print_pal_ntsc
|
||||
#endif
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
.macro TARGET_HOOK_BANNER() {
|
||||
|
||||
#if CONFIG_FANCY_BANNER
|
||||
#if CONFIG_BANNER_FANCY
|
||||
|
||||
.byte $1C, $12, $A3, $A3, $A3, $A3, $A3, $A3, $A3, $92, $0D
|
||||
.byte $9E, $12, $A3, $A3, $A3, $A3, $A3, $A3, $92, $05, $20
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
.macro TARGET_HOOK_BANNER() {
|
||||
|
||||
#if CONFIG_FANCY_BANNER
|
||||
#if CONFIG_BANNER_FANCY
|
||||
|
||||
// New banner from Retrofan
|
||||
.byte $9a, $12, $20, $20, $7f, $a9, $20, $20, $1f, $20, $9a, $20, $20, $20
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
.macro TARGET_HOOK_BANNER() {
|
||||
|
||||
#if CONFIG_FANCY_BANNER
|
||||
#if CONFIG_BANNER_FANCY
|
||||
|
||||
.byte $1C, $12, $A3, $A3, $A3, $A3, $A3, $A3, $A3, $92, $0D
|
||||
.byte $9E, $12, $A3, $A3, $A3, $A3, $A3, $A3, $92, $05, $20
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
cmd_stop:
|
||||
ldx #38 // "BREAK"
|
||||
ldx #30 // "BREAK"
|
||||
jsr print_packed_message
|
||||
|
||||
// Are we in direct mode
|
||||
@@ -8,7 +8,7 @@ cmd_stop:
|
||||
beq !+
|
||||
|
||||
// Not direct mode
|
||||
ldx #37
|
||||
ldx #31
|
||||
jsr print_packed_message
|
||||
|
||||
lda CURLIN+1
|
||||
|
||||
@@ -150,7 +150,7 @@ do_basic_error:
|
||||
beq !+
|
||||
|
||||
// We were in a program, so show IN <line>
|
||||
ldx #37
|
||||
ldx #31
|
||||
jsr print_packed_message
|
||||
|
||||
lda CURLIN+1
|
||||
|
||||
@@ -19,13 +19,12 @@ INITMSG:
|
||||
bne !-
|
||||
|
||||
!:
|
||||
// Print PAL/NTSC
|
||||
ldx #30 // NTSC
|
||||
lda TVSFLG
|
||||
beq !+
|
||||
ldx #31 // PAL
|
||||
!:
|
||||
jsr print_packed_message
|
||||
|
||||
// Print PAL/NTSC, if configured
|
||||
|
||||
#if CONFIG_BANNER_PAL_NTSC
|
||||
jsr print_pal_ntsc
|
||||
#endif
|
||||
|
||||
// Work out free bytes, display them
|
||||
jsr basic_do_new
|
||||
@@ -37,8 +36,11 @@ INITMSG:
|
||||
sbc TXTTAB+1
|
||||
|
||||
jsr print_integer
|
||||
jsr print_space
|
||||
|
||||
// Print rest of the start up message
|
||||
ldx #34
|
||||
jmp print_packed_message
|
||||
jsr print_packed_message
|
||||
|
||||
// XXX put them into packed message
|
||||
jsr print_return
|
||||
jmp print_return
|
||||
@@ -12,6 +12,11 @@
|
||||
.label __MSG_KERNAL_FROM_HEX = __kernal_message_from_hex - __kernal_messages_start
|
||||
.label __MSG_KERNAL_TO_HEX = __kernal_message_to_hex - __kernal_messages_start
|
||||
|
||||
#if CONFIG_BANNER_PAL_NTSC
|
||||
.label __MSG_KERNAL_PAL = __kernal_message_pal - __kernal_messages_start
|
||||
.label __MSG_KERNAL_NTSC = __kernal_message_ntsc - __kernal_messages_start
|
||||
#endif
|
||||
|
||||
|
||||
__kernal_messages_start:
|
||||
|
||||
@@ -42,3 +47,15 @@ __kernal_message_from_hex:
|
||||
__kernal_message_to_hex:
|
||||
.text " TO "
|
||||
.byte $80 + $24 // end of string mark + '$'
|
||||
|
||||
#if CONFIG_BANNER_PAL_NTSC
|
||||
|
||||
__kernal_message_pal:
|
||||
.text "PAL,"
|
||||
.byte $80 + $20 // end of string mark + space
|
||||
|
||||
__kernal_message_ntsc:
|
||||
.text "NTSC,"
|
||||
.byte $80 + $20 // end of string mark + space
|
||||
|
||||
#endif // CONFIG_BANNER_PAL_NTSC
|
||||
@@ -0,0 +1,17 @@
|
||||
|
||||
//
|
||||
// Print video system on startup banner
|
||||
//
|
||||
|
||||
#if CONFIG_BANNER_PAL_NTSC
|
||||
|
||||
print_pal_ntsc:
|
||||
|
||||
ldx #__MSG_KERNAL_NTSC
|
||||
lda TVSFLG
|
||||
beq !+
|
||||
ldx #__MSG_KERNAL_PAL
|
||||
!:
|
||||
jmp print_kernal_message
|
||||
|
||||
#endif // CONFIG_BANNER_PAL_NTSC
|
||||
+4
-6
@@ -159,15 +159,13 @@ char *error_list[]={
|
||||
"LOAD", // https://www.discogs.com/Gimmik-Load-Error/release/482462
|
||||
// Non-error messages
|
||||
"READY.\r", // #29 // https://www.ibm.com/support/knowledgecenter/zosbasics/com.ibm.zos.zconcepts/zconc_whatistsonative.htm https://github.com/stefanhaustein/expressionparser
|
||||
"NTSC, ", // #30
|
||||
"PAL, ", // #31
|
||||
"BREAK AT $", // #32
|
||||
"BREAK", // #30
|
||||
" IN ", // #31
|
||||
"BRK AT $", // #32
|
||||
"ERROR", // #33 // Simply the word error that is attached to the other parts of messages https://fjkraan.home.xs4all.nl/comp/apple2faq/app2asoftfaq.html
|
||||
"BYTES FREE\r\r", // #34 // https://github.com/stefanhaustein/expressionparser
|
||||
" BASIC BYTES FREE", // #34 // https://github.com/stefanhaustein/expressionparser
|
||||
"MEMORY CORRUPT", // #35
|
||||
"NOT IMPLEMENTED", // #36
|
||||
" IN ", // #37
|
||||
"BREAK", // #38
|
||||
NULL};
|
||||
|
||||
// XXX: create separate list for Kernal
|
||||
|
||||
Reference in new issue
Block a user