MEGA65 banner cleanup, fix for native mode autoswitch screen garbage
This commit is contained in:
1 parent
fde114154e
commit
fd13b2a65b
6 files changed
+105
-95
No files matched your search
@@ -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,$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 $12,$DF,$92,$7F,$9B,$20,$9A,$20,$9B,"0.2.0.0",$0D
|
||||||
// .byte $0D,$05,$92,$00
|
// .byte $0D,$05,$92,$00
|
||||||
|
|
||||||
startup_banner_legacy:
|
|
||||||
|
|
||||||
.text "LEGACY"
|
|
||||||
.byte $11, $9D, $9D, $9D, $9D, $9D
|
|
||||||
.text "MODE"
|
|
||||||
.byte $00
|
|
||||||
@@ -30,6 +30,7 @@ cmd_sys:
|
|||||||
bcs cmd_sys_nsys_common
|
bcs cmd_sys_nsys_common
|
||||||
sec
|
sec
|
||||||
jsr M65_MODESET // set legacy C64 compatibility mode
|
jsr M65_MODESET // set legacy C64 compatibility mode
|
||||||
|
jsr INITMSG_autoswitch
|
||||||
|
|
||||||
// FALLTROUGH
|
// FALLTROUGH
|
||||||
|
|
||||||
|
|||||||
@@ -13,21 +13,22 @@
|
|||||||
// Label definitions
|
// Label definitions
|
||||||
|
|
||||||
.label VB1__INITMSG = $4000 + 2 * 0
|
.label VB1__INITMSG = $4000 + 2 * 0
|
||||||
.label VB1__LINKPRG = $4000 + 2 * 1
|
.label VB1__INITMSG_autoswitch = $4000 + 2 * 1
|
||||||
.label VB1__tokenise_line = $4000 + 2 * 2
|
.label VB1__LINKPRG = $4000 + 2 * 2
|
||||||
.label VB1__list_single_line = $4000 + 2 * 3
|
.label VB1__tokenise_line = $4000 + 2 * 3
|
||||||
.label VB1__print_packed_error = $4000 + 2 * 4
|
.label VB1__list_single_line = $4000 + 2 * 4
|
||||||
.label VB1__print_packed_misc_str = $4000 + 2 * 5
|
.label VB1__print_packed_error = $4000 + 2 * 5
|
||||||
.label VB1__do_new = $4000 + 2 * 6
|
.label VB1__print_packed_misc_str = $4000 + 2 * 6
|
||||||
.label VB1__do_clr = $4000 + 2 * 7
|
.label VB1__do_new = $4000 + 2 * 7
|
||||||
.label VB1__do_restore = $4000 + 2 * 8
|
.label VB1__do_clr = $4000 + 2 * 8
|
||||||
.label VB1__cmd_mem_cont = $4000 + 2 * 9
|
.label VB1__do_restore = $4000 + 2 * 9
|
||||||
.label VB1__cmd_sysinfo = $4000 + 2 * 10
|
.label VB1__cmd_mem_cont = $4000 + 2 * 10
|
||||||
.label VB1__prepare_direct_execution = $4000 + 2 * 11
|
.label VB1__cmd_sysinfo = $4000 + 2 * 11
|
||||||
.label VB1__helper_ask_if_sure = $4000 + 2 * 12
|
.label VB1__prepare_direct_execution = $4000 + 2 * 12
|
||||||
|
.label VB1__helper_ask_if_sure = $4000 + 2 * 13
|
||||||
|
|
||||||
#if CONFIG_DOS_WEDGE
|
#if CONFIG_DOS_WEDGE
|
||||||
.label VB1__wedge_dos = $4000 + 2 * 13
|
.label VB1__wedge_dos = $4000 + 2 * 14
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#else
|
#else
|
||||||
@@ -35,6 +36,7 @@
|
|||||||
// Vector table (Open ROMs private!)
|
// Vector table (Open ROMs private!)
|
||||||
|
|
||||||
.word INITMSG
|
.word INITMSG
|
||||||
|
.word INITMSG_autoswitch
|
||||||
.word LINKPRG
|
.word LINKPRG
|
||||||
.word tokenise_line
|
.word tokenise_line
|
||||||
.word list_single_line
|
.word list_single_line
|
||||||
|
|||||||
@@ -16,8 +16,15 @@ INITMSG:
|
|||||||
|
|
||||||
jsr map_BASIC_1
|
jsr map_BASIC_1
|
||||||
jsr_ind VB1__INITMSG
|
jsr_ind VB1__INITMSG
|
||||||
|
!:
|
||||||
jmp map_NORMAL
|
jmp map_NORMAL
|
||||||
|
|
||||||
|
INITMSG_autoswitch:
|
||||||
|
|
||||||
|
jsr map_BASIC_1
|
||||||
|
jsr_ind VB1__INITMSG_autoswitch
|
||||||
|
bra !-
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
jmp initmsg_real
|
jmp initmsg_real
|
||||||
|
|||||||
@@ -9,16 +9,7 @@
|
|||||||
|
|
||||||
INITMSG:
|
INITMSG:
|
||||||
|
|
||||||
// Clear the screen first, some cartridges (like IEEE-488) are leaving a mess on the screen
|
jsr INITMSG_main_banner
|
||||||
|
|
||||||
lda #147
|
|
||||||
jsr JCHROUT
|
|
||||||
|
|
||||||
// Display main banner
|
|
||||||
|
|
||||||
lda #<startup_banner
|
|
||||||
ldy #>startup_banner
|
|
||||||
jsr STROUT
|
|
||||||
|
|
||||||
// Display additional information, depending on the mode
|
// Display additional information, depending on the mode
|
||||||
|
|
||||||
@@ -27,34 +18,12 @@ INITMSG:
|
|||||||
|
|
||||||
// Legacy C64 compatibility mode
|
// Legacy C64 compatibility mode
|
||||||
|
|
||||||
ldx #$02
|
jsr INITMSG_partial
|
||||||
ldy #$21
|
|
||||||
jsr plot_set
|
|
||||||
|
|
||||||
lda #<startup_banner_legacy
|
ldx #IDX__STR_ORS_LEGACY_2
|
||||||
ldy #>startup_banner_legacy
|
jsr print_packed_misc_str
|
||||||
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
|
|
||||||
|
|
||||||
|
bra INITMSG_end
|
||||||
!:
|
!:
|
||||||
// Native mode
|
// Native mode
|
||||||
|
|
||||||
@@ -79,17 +48,54 @@ INITMSG:
|
|||||||
ldx #IDX__STR_ORS
|
ldx #IDX__STR_ORS
|
||||||
jsr print_packed_misc_str
|
jsr print_packed_misc_str
|
||||||
|
|
||||||
ldx #IDX__STR_PRE_REV
|
jsr INITMSG_revision
|
||||||
jsr print_packed_misc_str
|
|
||||||
|
|
||||||
lda #<rom_revision_basic_string
|
|
||||||
ldy #>rom_revision_basic_string
|
|
||||||
jsr STROUT
|
|
||||||
|
|
||||||
jsr print_return
|
jsr print_return
|
||||||
jsr print_return
|
jsr print_return
|
||||||
|
|
||||||
|
// FALLTROUGH
|
||||||
|
|
||||||
|
INITMSG_end:
|
||||||
|
|
||||||
jsr initmsg_bytes_free
|
jsr initmsg_bytes_free
|
||||||
|
|
||||||
ldx #$09
|
ldx #$09
|
||||||
ldy #$00
|
ldy #$00
|
||||||
jmp plot_set
|
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
@@ -284,43 +284,44 @@ const StringEntryList GLOBAL_Errors = { ListType::STRINGS_BASIC, "errors",
|
|||||||
const StringEntryList GLOBAL_MiscStrings = { ListType::STRINGS_BASIC, "misc",
|
const StringEntryList GLOBAL_MiscStrings = { ListType::STRINGS_BASIC, "misc",
|
||||||
{
|
{
|
||||||
// STD M65 U64 X16 --- misc strings as on CBM machines
|
// STD M65 U64 X16 --- misc strings as on CBM machines
|
||||||
{ true, true, true, true, "STR_RET_QM", "\r?" },
|
{ 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_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_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_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 " },
|
{ 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
|
{ 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
|
// 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_HDR", "\r\x12 AREA START SIZE \r" },
|
||||||
{ false, true, false, false, "STR_MEM_1", " $" },
|
{ false, true, false, false, "STR_MEM_1", " $" },
|
||||||
{ false, true, false, false, "STR_MEM_2", " " },
|
{ false, true, false, false, "STR_MEM_2", " " },
|
||||||
{ false, true, false, false, "STR_MEM_TEXT", "\r TEXT" },
|
{ false, true, false, false, "STR_MEM_TEXT", "\r TEXT" },
|
||||||
{ false, true, false, false, "STR_MEM_VARS", "\r VARS" },
|
{ false, true, false, false, "STR_MEM_VARS", "\r VARS" },
|
||||||
{ false, true, false, false, "STR_MEM_ARRS", "\r ARRS" },
|
{ false, true, false, false, "STR_MEM_ARRS", "\r ARRS" },
|
||||||
{ false, true, false, false, "STR_MEM_STRS", "\r STRS" },
|
{ false, true, false, false, "STR_MEM_STRS", "\r STRS" },
|
||||||
{ false, true, false, false, "STR_MEM_FREE", "\r\r FREE" },
|
{ 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_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
|
// Note: depending on configuration, additional strings will be added here
|
||||||
} };
|
} };
|
||||||
|
|||||||
Reference in new issue
Block a user