MEGA65 banner cleanup, fix for native mode autoswitch screen garbage

This commit is contained in:
FeralChild64 committed 2020-09-03 16:42:00 +02:00
1 parent fde114154e
commit fd13b2a65b
6 files changed
+105 -95

No files matched your search

-7
View File
@@ -69,10 +69,3 @@ startup_banner:
// .byte $12,$A0,$A0,$9B,$92,$20,$9A,$7F,$12,$A0,$A0,$9B,$92,$20,$9A,$7F
// .byte $12,$DF,$92,$7F,$9B,$20,$9A,$20,$9B,"0.2.0.0",$0D
// .byte $0D,$05,$92,$00
startup_banner_legacy:
.text "LEGACY"
.byte $11, $9D, $9D, $9D, $9D, $9D
.text "MODE"
.byte $00
+1
View File
@@ -30,6 +30,7 @@ cmd_sys:
bcs cmd_sys_nsys_common
sec
jsr M65_MODESET // set legacy C64 compatibility mode
jsr INITMSG_autoswitch
// FALLTROUGH
@@ -13,21 +13,22 @@
// Label definitions
.label VB1__INITMSG = $4000 + 2 * 0
.label VB1__LINKPRG = $4000 + 2 * 1
.label VB1__tokenise_line = $4000 + 2 * 2
.label VB1__list_single_line = $4000 + 2 * 3
.label VB1__print_packed_error = $4000 + 2 * 4
.label VB1__print_packed_misc_str = $4000 + 2 * 5
.label VB1__do_new = $4000 + 2 * 6
.label VB1__do_clr = $4000 + 2 * 7
.label VB1__do_restore = $4000 + 2 * 8
.label VB1__cmd_mem_cont = $4000 + 2 * 9
.label VB1__cmd_sysinfo = $4000 + 2 * 10
.label VB1__prepare_direct_execution = $4000 + 2 * 11
.label VB1__helper_ask_if_sure = $4000 + 2 * 12
.label VB1__INITMSG_autoswitch = $4000 + 2 * 1
.label VB1__LINKPRG = $4000 + 2 * 2
.label VB1__tokenise_line = $4000 + 2 * 3
.label VB1__list_single_line = $4000 + 2 * 4
.label VB1__print_packed_error = $4000 + 2 * 5
.label VB1__print_packed_misc_str = $4000 + 2 * 6
.label VB1__do_new = $4000 + 2 * 7
.label VB1__do_clr = $4000 + 2 * 8
.label VB1__do_restore = $4000 + 2 * 9
.label VB1__cmd_mem_cont = $4000 + 2 * 10
.label VB1__cmd_sysinfo = $4000 + 2 * 11
.label VB1__prepare_direct_execution = $4000 + 2 * 12
.label VB1__helper_ask_if_sure = $4000 + 2 * 13
#if CONFIG_DOS_WEDGE
.label VB1__wedge_dos = $4000 + 2 * 13
.label VB1__wedge_dos = $4000 + 2 * 14
#endif
#else
@@ -35,6 +36,7 @@
// Vector table (Open ROMs private!)
.word INITMSG
.word INITMSG_autoswitch
.word LINKPRG
.word tokenise_line
.word list_single_line
+7
View File
@@ -16,8 +16,15 @@ INITMSG:
jsr map_BASIC_1
jsr_ind VB1__INITMSG
!:
jmp map_NORMAL
INITMSG_autoswitch:
jsr map_BASIC_1
jsr_ind VB1__INITMSG_autoswitch
bra !-
#else
jmp initmsg_real
+48 -42
View File
@@ -9,16 +9,7 @@
INITMSG:
// Clear the screen first, some cartridges (like IEEE-488) are leaving a mess on the screen
lda #147
jsr JCHROUT
// Display main banner
lda #<startup_banner
ldy #>startup_banner
jsr STROUT
jsr INITMSG_main_banner
// Display additional information, depending on the mode
@@ -27,34 +18,12 @@ INITMSG:
// Legacy C64 compatibility mode
ldx #$02
ldy #$21
jsr plot_set
jsr INITMSG_partial
lda #<startup_banner_legacy
ldy #>startup_banner_legacy
jsr STROUT
// Legacy mode - display revision and available memory
ldx #$05
ldy #$00
jsr plot_set
lda #<rom_revision_basic_string
ldy #>rom_revision_basic_string
jsr STROUT
ldx #$05
ldy #$12
jsr plot_set
jsr initmsg_bytes_free
ldx #$07
ldy #$00
jmp plot_set
ldx #IDX__STR_ORS_LEGACY_2
jsr print_packed_misc_str
bra INITMSG_end
!:
// Native mode
@@ -79,17 +48,54 @@ INITMSG:
ldx #IDX__STR_ORS
jsr print_packed_misc_str
ldx #IDX__STR_PRE_REV
jsr print_packed_misc_str
lda #<rom_revision_basic_string
ldy #>rom_revision_basic_string
jsr STROUT
jsr INITMSG_revision
jsr print_return
jsr print_return
// FALLTROUGH
INITMSG_end:
jsr initmsg_bytes_free
ldx #$09
ldy #$00
jmp plot_set
INITMSG_main_banner:
// Clear the screen first, some cartridges (like IEEE-488) are leaving a mess on the screen
lda #147
jsr JCHROUT
// Display main banner
lda #<startup_banner
ldy #>startup_banner
jmp STROUT
INITMSG_autoswitch: // entry point for 'SYS command'
jsr INITMSG_main_banner
jsr INITMSG_partial
jsr print_return
jmp print_return
INITMSG_partial:
ldx #IDX__STR_ORS_LEGACY_1
jsr print_packed_misc_str
// FALLTROUGH
INITMSG_revision:
ldx #IDX__STR_PRE_REV
jsr print_packed_misc_str
lda #<rom_revision_basic_string
ldy #>rom_revision_basic_string
jmp STROUT
+34 -33
View File
@@ -284,43 +284,44 @@ const StringEntryList GLOBAL_Errors = { ListType::STRINGS_BASIC, "errors",
const StringEntryList GLOBAL_MiscStrings = { ListType::STRINGS_BASIC, "misc",
{
// STD M65 U64 X16 --- misc strings as on CBM machines
{ true, true, true, true, "STR_RET_QM", "\r?" },
{ true, true, true, true, "STR_BYTES", " BASIC BYTES FREE" }, // https://github.com/stefanhaustein/expressionparser
{ true, true, true, true, "STR_READY", "\rREADY.\r" }, // https://www.ibm.com/support/knowledgecenter/zosbasics/com.ibm.zos.zconcepts/zconc_whatistsonative.htm https://github.com/stefanhaustein/expressionparser
{ true, true, true, true, "STR_ERROR", " ERROR" }, // simply the word error that is attached to the other parts of messages https://fjkraan.home.xs4all.nl/comp/apple2faq/app2asoftfaq.html
{ true, true, true, true, "STR_IN", " IN " },
{ false, true, false, false, "STR_IF_SURE", "\rARE YOU SURE? " }, // https://docs.microsoft.com/en-us/windows/win32/uxguide/mess-confirm
{ true, true, true, true, "STR_RET_QM", "\r?" },
{ true, true, true, true, "STR_BYTES", " BASIC BYTES FREE" }, // https://github.com/stefanhaustein/expressionparser
{ true, true, true, true, "STR_READY", "\rREADY.\r" }, // https://www.ibm.com/support/knowledgecenter/zosbasics/com.ibm.zos.zconcepts/zconc_whatistsonative.htm https://github.com/stefanhaustein/expressionparser
{ true, true, true, true, "STR_ERROR", " ERROR" }, // simply the word error that is attached to the other parts of messages https://fjkraan.home.xs4all.nl/comp/apple2faq/app2asoftfaq.html
{ true, true, true, true, "STR_IN", " IN " },
{ false, true, false, false, "STR_IF_SURE", "\rARE YOU SURE? " }, // https://docs.microsoft.com/en-us/windows/win32/uxguide/mess-confirm
// STD M65 U64 X16 --- misc strings specific to Open ROMs, not present in CBM ROMs
{ true, true, true, true, "STR_BRK_AT", "\rBRK AT $" },
{ true, true, true, true, "STR_BRK_AT", "\rBRK AT $" },
{ false, true, false, false, "STR_ORS", "OPEN ROMS BASIC & KERNAL\r" },
{ false, true, false, false, "STR_ORS", "OPEN ROMS BASIC & KERNAL\r" },
{ false, true, false, false, "STR_ORS_LEGACY_1", "OPEN ROMS " },
{ false, true, false, false, "STR_ORS_LEGACY_2", "\r\rLEGACY MODE " },
{ false, true, false, false, "STR_MEM_HDR", "\r\x12 AREA START SIZE \r" },
{ false, true, false, false, "STR_MEM_1", " $" },
{ false, true, false, false, "STR_MEM_2", " " },
{ false, true, false, false, "STR_MEM_TEXT", "\r TEXT" },
{ false, true, false, false, "STR_MEM_VARS", "\r VARS" },
{ false, true, false, false, "STR_MEM_ARRS", "\r ARRS" },
{ false, true, false, false, "STR_MEM_STRS", "\r STRS" },
{ false, true, false, false, "STR_MEM_FREE", "\r\r FREE" },
{ false, true, false, false, "STR_SI_HEADER", "OPEN ROMS, " },
{ false, true, false, false, "STR_SI_MODE64", "LEGACY MODE" },
{ false, true, false, false, "STR_SI_MODE65", "NATIVE MODE" },
{ false, true, false, false, "STR_SI_HDR_REL", "\rRELEASE " },
{ false, true, false, false, "STR_SI_HDR_HW", "BOARD : " },
{ false, true, false, false, "STR_SI_HW_01", "MEGA65 R1" },
{ false, true, false, false, "STR_SI_HW_02", "MEGA65 R2" },
{ false, true, false, false, "STR_SI_HW_03", "MEGA65 R3" },
{ false, true, false, false, "STR_SI_HW_21", "MEGAPHONE R1" },
{ false, true, false, false, "STR_SI_HW_40", "NEXYS4 PSRAM" },
{ false, true, false, false, "STR_SI_HW_41", "NEXYS4 DDR" },
{ false, true, false, false, "STR_SI_HW_42", "NEXYS4 DDR WIDGET" },
{ false, true, false, false, "STR_SI_HW_FD", "WUKONG A100T" },
{ false, true, false, false, "STR_SI_HW_FE", "SIMULATION VHDL" },
{ false, true, false, false, "STR_SI_HW_XX", "UNKNOWN ID $" },
{ false, true, false, false, "STR_SI_HDR_VID", "\rVIDEO : " },
{ false, true, false, false, "STR_MEM_HDR", "\r\x12 AREA START SIZE \r" },
{ false, true, false, false, "STR_MEM_1", " $" },
{ false, true, false, false, "STR_MEM_2", " " },
{ false, true, false, false, "STR_MEM_TEXT", "\r TEXT" },
{ false, true, false, false, "STR_MEM_VARS", "\r VARS" },
{ false, true, false, false, "STR_MEM_ARRS", "\r ARRS" },
{ false, true, false, false, "STR_MEM_STRS", "\r STRS" },
{ false, true, false, false, "STR_MEM_FREE", "\r\r FREE" },
{ false, true, false, false, "STR_SI_HEADER", "OPEN ROMS, " },
{ false, true, false, false, "STR_SI_MODE64", "LEGACY MODE" },
{ false, true, false, false, "STR_SI_MODE65", "NATIVE MODE" },
{ false, true, false, false, "STR_SI_HDR_REL", "\rRELEASE " },
{ false, true, false, false, "STR_SI_HDR_HW", "BOARD : " },
{ false, true, false, false, "STR_SI_HW_01", "MEGA65 R1" },
{ false, true, false, false, "STR_SI_HW_02", "MEGA65 R2" },
{ false, true, false, false, "STR_SI_HW_03", "MEGA65 R3" },
{ false, true, false, false, "STR_SI_HW_21", "MEGAPHONE R1" },
{ false, true, false, false, "STR_SI_HW_40", "NEXYS4 PSRAM" },
{ false, true, false, false, "STR_SI_HW_41", "NEXYS4 DDR" },
{ false, true, false, false, "STR_SI_HW_42", "NEXYS4 DDR WIDGET" },
{ false, true, false, false, "STR_SI_HW_FD", "WUKONG A100T" },
{ false, true, false, false, "STR_SI_HW_FE", "SIMULATION VHDL" },
{ false, true, false, false, "STR_SI_HW_XX", "UNKNOWN ID $" },
{ false, true, false, false, "STR_SI_HDR_VID", "\rVIDEO : " },
// Note: depending on configuration, additional strings will be added here
} };