This commit is contained in:
XANTRONIX 2023-09-13 17:10:53 -04:00
parent 196ce806e2
commit b98f0041a6
2 changed files with 18 additions and 16 deletions

View file

@ -5,8 +5,8 @@
#include <stdlib.h> #include <stdlib.h>
#include <inttypes.h> #include <inttypes.h>
#define ZX_BASIC_STATE_SIZE 116 #define ZX81_BASIC_STATE_SIZE 116
#define ZX_BASIC_LINE_LAST 0x7676 #define ZX81_BASIC_LINE_LAST 0x7676
extern char *zx81_basic_tokens_low[3]; extern char *zx81_basic_tokens_low[3];
@ -17,11 +17,13 @@ typedef struct _zx_basic_line {
} zx_basic_line; } zx_basic_line;
enum zx_basic_token_type { enum zx_basic_token_type {
ZX_BASIC_TOKEN_UNKNOWN, ZX81_BASIC_TOKEN_UNKNOWN,
ZX_BASIC_TOKEN_ALNUM, ZX81_BASIC_TOKEN_ALNUM,
ZX_BASIC_TOKEN_QUOTE, ZX81_BASIC_TOKEN_PAREN_OPEN,
ZX_BASIC_TOKEN_SYMBOL, ZX81_BASIC_TOKEN_PAREN_CLOSE,
ZX_BASIC_TOKEN_WORD, ZX81_BASIC_TOKEN_QUOTE,
ZX81_BASIC_TOKEN_SYMBOL,
ZX81_BASIC_TOKEN_WORD,
}; };
ssize_t zx81_basic_dump(int fd, FILE *stream); ssize_t zx81_basic_dump(int fd, FILE *stream);

View file

@ -25,27 +25,27 @@ static inline enum zx_basic_token_type zx_basic_token_type_get(uint8_t b) {
if ((codepoint >= 'A' && codepoint <= 'Z') if ((codepoint >= 'A' && codepoint <= 'Z')
|| (codepoint >= '0' && codepoint <= '9')) { || (codepoint >= '0' && codepoint <= '9')) {
return ZX_BASIC_TOKEN_ALNUM; return ZX81_BASIC_TOKEN_ALNUM;
} else if (codepoint == '"') { } else if (codepoint == '"') {
return ZX_BASIC_TOKEN_QUOTE; return ZX81_BASIC_TOKEN_QUOTE;
} else { } else {
return ZX_BASIC_TOKEN_SYMBOL; return ZX81_BASIC_TOKEN_SYMBOL;
} }
} else if (ZX81_CHAR_INVERSE(b)) { } else if (ZX81_CHAR_INVERSE(b)) {
return zx_basic_token_type_get(b - ZX81_CHAR_INVERSE_START); return zx_basic_token_type_get(b - ZX81_CHAR_INVERSE_START);
} else if (ZX81_CHAR_TOKEN_LOW(b)) { } else if (ZX81_CHAR_TOKEN_LOW(b)) {
return ZX_BASIC_TOKEN_WORD; return ZX81_BASIC_TOKEN_WORD;
} else if (ZX81_CHAR_TOKEN_HIGH(b)) { } else if (ZX81_CHAR_TOKEN_HIGH(b)) {
char *token = zx81_basic_tokens[b-ZX81_CHAR_TOKEN_HIGH_START]; char *token = zx81_basic_tokens[b-ZX81_CHAR_TOKEN_HIGH_START];
if (token[0] >= 'A' && token[0] <= 'Z') { if (token[0] >= 'A' && token[0] <= 'Z') {
return ZX_BASIC_TOKEN_WORD; return ZX81_BASIC_TOKEN_WORD;
} else { } else {
return ZX_BASIC_TOKEN_SYMBOL; return ZX81_BASIC_TOKEN_SYMBOL;
} }
} }
return ZX_BASIC_TOKEN_UNKNOWN; return ZX81_BASIC_TOKEN_UNKNOWN;
} }
static inline int basic_print(uint8_t c, int tty, FILE *stream) { static inline int basic_print(uint8_t c, int tty, FILE *stream) {
@ -77,7 +77,7 @@ ssize_t zx81_basic_dump(int fd, FILE *stream) {
goto error_malloc; goto error_malloc;
} }
if (lseek(fd, ZX_BASIC_STATE_SIZE, SEEK_CUR) < 0) { if (lseek(fd, ZX81_BASIC_STATE_SIZE, SEEK_CUR) < 0) {
goto error_io; goto error_io;
} }
@ -94,7 +94,7 @@ ssize_t zx81_basic_dump(int fd, FILE *stream) {
len = le16toh(line.len); len = le16toh(line.len);
if (be16toh(line.num) == len && len == ZX_BASIC_LINE_LAST) { if (be16toh(line.num) == len && len == ZX81_BASIC_LINE_LAST) {
break; break;
} }