added two more BASIC commands, for testing

This commit is contained in:
FeralChild64 committed 2020-07-09 21:53:36 +02:00
1 parent 58aee6c1ef
commit 2a597b59e2
7 files changed
+44 -8

No files matched your search

+8
View File
@@ -57,6 +57,14 @@ Tries to switch the machine back to 1 MHz operation mode.
Tries to restore program destroyed by `NEW` or a reset.
### `CLEAR`
Clears the screen content.
### `DISPOSE`
Runs the garbage collector - disposes outdated strings.
### `MERGE "file_name" [, device_number]`
Appends the BASIC program from a storage medium to the one currently present in memory.
+2
View File
@@ -35,6 +35,8 @@
.label vector_reset = KERNAL().vector_reset
.label hw_entry_reset = KERNAL().hw_entry_reset
.label clear_screen = KERNAL().clear_screen
#if CONFIG_DBG_PRINTF
.label printf = KERNAL().printf
#endif
@@ -9,14 +9,17 @@
.const command_CC_list = List().add(
cmd_old,
cmd_merge,
cmd_bload,
cmd_bsave,
cmd_bverify,
cmd_old,
cmd_cold
cmd_cold,
cmd_clear,
cmd_dispose
)
+10
View File
@@ -0,0 +1,10 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
cmd_clear:
jsr clear_screen
jmp execute_statements
+10
View File
@@ -0,0 +1,10 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
cmd_dispose:
jsr varstr_garbage_collect
jmp execute_statements
+2 -1
View File
@@ -122,7 +122,8 @@ varstr_garbage_collect_check_bptr:
// Move string memory up by INDEX
// XXX
// XXX: set memmove__src (last byte of source), memmove__dst (last byte of destination), memmove__size (bytes to copy)
jsr shift_mem_up
// Update TXTPTR
+7 -5
View File
@@ -178,12 +178,14 @@ const StringEntryList GLOBAL_Keywords_V2 = { ListType::KEYWORDS, "keywords_V2",
const StringEntryList GLOBAL_Keywords_CC = { ListType::KEYWORDS, "keywords_CC",
{
// STD M65 U64 X16
{ true, true, true, true, "KCC_01", "MERGE", }, // Not present in CBM BASIC dialects, but common to some extensions (*)
{ true, true, true, true, "KCC_02", "BLOAD", }, // http://www.antonis.de/qbebooks/gwbasman/bload.html
{ true, true, true, true, "KCC_03", "BSAVE", }, // http://www.antonis.de/qbebooks/gwbasman/bsave.html
{ true, true, true, true, "KCC_04", "BVERIFY", },
{ true, true, true, true, "KCC_05", "OLD", }, // Not present in CBM BASIC dialects, but common to some extensions (*)
{ true, true, true, true, "KCC_01", "OLD", }, // Not present in CBM BASIC dialects, but common to some extensions (*)
{ true, true, true, true, "KCC_02", "MERGE", }, // Not present in CBM BASIC dialects, but common to some extensions (*)
{ true, true, true, true, "KCC_03", "BLOAD", }, // http://www.antonis.de/qbebooks/gwbasman/bload.html
{ true, true, true, true, "KCC_04", "BSAVE", }, // http://www.antonis.de/qbebooks/gwbasman/bsave.html
{ true, true, true, true, "KCC_05", "BVERIFY", },
{ true, true, true, true, "KCC_06", "COLD", }, // Not present in CBM BASIC dialects, but common to some extensions (*)
{ true, true, true, true, "KCC_07", "CLEAR", }, // Not present in CBM BASIC dialects, OpenROMs specific
{ true, true, true, true, "KCC_08", "DISPOSE", }, // Not present in CBM BASIC dialects, OpenROMs specific
// (*) see https://sourceforge.net/p/vice-emu/code/HEAD/tree/trunk/vice/src/petcat.c
} };