string in config files work now
This commit is contained in:
1 parent
82c5c92959
commit
d172a02bce
6 files changed
+24
-29
No files matched your search
@@ -88,11 +88,7 @@
|
|||||||
|
|
||||||
;; #CONFIG# PROGRAMMABLE_KEYS YES
|
;; #CONFIG# PROGRAMMABLE_KEYS YES
|
||||||
|
|
||||||
;; #CONFIG# KEYCMD_RUN YES
|
;; #CONFIG# KEYCMD_RUN "\5FL"
|
||||||
!macro CONFIG_KEYCMD_RUN {
|
|
||||||
!byte $5F
|
|
||||||
!pet "l"
|
|
||||||
}
|
|
||||||
|
|
||||||
;; #CONFIG# KEYCMD_F1 "@8$"
|
;; #CONFIG# KEYCMD_F1 "@8$"
|
||||||
;; #CONFIG# KEYCMD_F2 "LOAD"
|
;; #CONFIG# KEYCMD_F2 "LOAD"
|
||||||
|
|||||||
@@ -76,11 +76,7 @@
|
|||||||
|
|
||||||
;; #CONFIG# PROGRAMMABLE_KEYS YES
|
;; #CONFIG# PROGRAMMABLE_KEYS YES
|
||||||
|
|
||||||
;; #CONFIG# KEYCMD_RUN YES
|
;; #CONFIG# KEYCMD_RUN "\5FL"
|
||||||
!macro CONFIG_KEYCMD_RUN {
|
|
||||||
!byte $5F
|
|
||||||
!pet "l"
|
|
||||||
}
|
|
||||||
|
|
||||||
;; #CONFIG# KEYCMD_F1 "@8$"
|
;; #CONFIG# KEYCMD_F1 "@8$"
|
||||||
;; #CONFIG# KEYCMD_F2 "LOAD"
|
;; #CONFIG# KEYCMD_F2 "LOAD"
|
||||||
|
|||||||
@@ -56,10 +56,7 @@
|
|||||||
|
|
||||||
;; #CONFIG# PROGRAMMABLE_KEYS YES
|
;; #CONFIG# PROGRAMMABLE_KEYS YES
|
||||||
|
|
||||||
;; #CONFIG# KEYCMD_RUN YES
|
;; #CONFIG# KEYCMD_RUN "RUN"
|
||||||
!macro CONFIG_KEYCMD_RUN {
|
|
||||||
!byte $5F
|
|
||||||
!pet "l" }
|
|
||||||
|
|
||||||
;; #CONFIG# KEYCMD_F1 "@8$"
|
;; #CONFIG# KEYCMD_F1 "@8$"
|
||||||
;; #CONFIG# KEYCMD_F2 "LOAD"
|
;; #CONFIG# KEYCMD_F2 "LOAD"
|
||||||
@@ -72,9 +69,9 @@
|
|||||||
|
|
||||||
;; #CONFIG# KEYCMD_HELP "LIST"
|
;; #CONFIG# KEYCMD_HELP "LIST"
|
||||||
|
|
||||||
;; #CONFIG# KEYCMD_F9 "REM F9"
|
;; #CONFIG# KEYCMD_F9 "\5FL"
|
||||||
;; #CONFIG# KEYCMD_F10 "REM F10"
|
;; #CONFIG# KEYCMD_F10 "REM F10"
|
||||||
;; #CONFIG# KEYCMD_F11 "REM F11"
|
;; #CONFIG# KEYCMD_F11 "\5FH"
|
||||||
;; #CONFIG# KEYCMD_F12 "REM F12"
|
;; #CONFIG# KEYCMD_F12 "REM F12"
|
||||||
;; #CONFIG# KEYCMD_F13 "REM F13"
|
;; #CONFIG# KEYCMD_F13 "REM F13"
|
||||||
;; #CONFIG# KEYCMD_F14 "REM F14"
|
;; #CONFIG# KEYCMD_F14 "REM F14"
|
||||||
|
|||||||
@@ -76,11 +76,7 @@
|
|||||||
|
|
||||||
;; #CONFIG# PROGRAMMABLE_KEYS YES
|
;; #CONFIG# PROGRAMMABLE_KEYS YES
|
||||||
|
|
||||||
;; #CONFIG# KEYCMD_RUN YES
|
;; #CONFIG# KEYCMD_RUN "\5FL"
|
||||||
!macro CONFIG_KEYCMD_RUN {
|
|
||||||
!byte $5F
|
|
||||||
!pet "l"
|
|
||||||
}
|
|
||||||
|
|
||||||
;; #CONFIG# KEYCMD_F1 "@8$"
|
;; #CONFIG# KEYCMD_F1 "@8$"
|
||||||
;; #CONFIG# KEYCMD_F2 "LOAD"
|
;; #CONFIG# KEYCMD_F2 "LOAD"
|
||||||
|
|||||||
@@ -66,11 +66,7 @@
|
|||||||
|
|
||||||
;; #CONFIG# PROGRAMMABLE_KEYS YES
|
;; #CONFIG# PROGRAMMABLE_KEYS YES
|
||||||
|
|
||||||
;; #CONFIG# KEYCMD_RUN YES
|
;; #CONFIG# KEYCMD_RUN "\5FL"
|
||||||
!macro CONFIG_KEYCMD_RUN {
|
|
||||||
!byte $5F
|
|
||||||
!pet "l"
|
|
||||||
}
|
|
||||||
|
|
||||||
;; #CONFIG# KEYCMD_F1 "@8$"
|
;; #CONFIG# KEYCMD_F1 "@8$"
|
||||||
;; #CONFIG# KEYCMD_F2 "LOAD"
|
;; #CONFIG# KEYCMD_F2 "LOAD"
|
||||||
|
|||||||
+17
-3
@@ -849,9 +849,18 @@ void SourceFile::preprocessLine_Config(const std::list<std::string> &tokens, std
|
|||||||
if ((line.size() <= ++pos) || (line[pos] == '\n')) ERROR("syntax error, unfinished string in '#CONFIG#'");
|
if ((line.size() <= ++pos) || (line[pos] == '\n')) ERROR("syntax error, unfinished string in '#CONFIG#'");
|
||||||
byte = line[pos];
|
byte = line[pos];
|
||||||
};
|
};
|
||||||
|
auto byteToNibble = [&byte]() -> uint8_t
|
||||||
|
{
|
||||||
|
if (byte >= '0' && byte <= '9') return byte - '0';
|
||||||
|
if (byte >= 'a' && byte <= 'f') return byte - 'a' + 10;
|
||||||
|
if (byte >= 'A' && byte <= 'F') return byte - 'A' + 10;
|
||||||
|
|
||||||
|
ERROR("syntax error, improper 2-digit hex value in '#CONFIG#'");
|
||||||
|
return 0;
|
||||||
|
};
|
||||||
|
|
||||||
advance();
|
advance();
|
||||||
|
|
||||||
// Convert string from ASCII to PETSCII
|
// Convert string from ASCII to PETSCII
|
||||||
|
|
||||||
if (byte == '"') break;
|
if (byte == '"') break;
|
||||||
@@ -862,10 +871,15 @@ void SourceFile::preprocessLine_Config(const std::list<std::string> &tokens, std
|
|||||||
if (byte == '"')
|
if (byte == '"')
|
||||||
{
|
{
|
||||||
configEntries[lineNum].valBlob.push_back(byte);
|
configEntries[lineNum].valBlob.push_back(byte);
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
uint8_t val = byteToNibble() * 16;
|
||||||
|
advance();
|
||||||
|
val += byteToNibble();
|
||||||
|
|
||||||
// XXX handle hex values
|
configEntries[lineNum].valBlob.push_back(val);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if ((byte >= 0x20 && byte <= 0x5B) || byte == 0x5D) configEntries[lineNum].valBlob.push_back(byte);
|
else if ((byte >= 0x20 && byte <= 0x5B) || byte == 0x5D) configEntries[lineNum].valBlob.push_back(byte);
|
||||||
else ERROR("syntax error, invalid character in string in '#CONFIG#'");
|
else ERROR("syntax error, invalid character in string in '#CONFIG#'");
|
||||||
|
|||||||
Reference in new issue
Block a user