35 lines
717 B
C
35 lines
717 B
C
#ifndef _ZX_BASIC_H
|
|
#define _ZX_BASIC_H
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <inttypes.h>
|
|
|
|
#define ZX81_CHAR_TOKEN_LOW_START 0x40
|
|
#define ZX81_CHAR_TOKEN_LOW_END 0x42
|
|
|
|
#define ZX81_CHAR_TOKEN_HIGH_START 0xc0
|
|
#define ZX81_CHAR_TOKEN_HIGH_END 0xff
|
|
|
|
#define ZX_BASIC_STATE_SIZE 116
|
|
#define ZX_BASIC_LINE_LAST 0x7676
|
|
|
|
extern char *zx81_basic_tokens_low[3];
|
|
|
|
extern char *zx81_basic_tokens[64];
|
|
|
|
typedef struct _zx_basic_line {
|
|
uint16_t num, len;
|
|
} zx_basic_line;
|
|
|
|
enum zx_basic_token_type {
|
|
ZX_BASIC_TOKEN_UNKNOWN,
|
|
ZX_BASIC_TOKEN_ALNUM,
|
|
ZX_BASIC_TOKEN_QUOTE,
|
|
ZX_BASIC_TOKEN_SYMBOL,
|
|
ZX_BASIC_TOKEN_WORD,
|
|
};
|
|
|
|
ssize_t zx81_basic_dump(int fd, FILE *stream);
|
|
|
|
#endif /* _ZX_BASIC_H */
|