Trying to build a forth runtime in C
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
forth/include/fh_config.h

37 lines
1.0 KiB

3 years ago
/**
* Runtime configuration
*
* Created on 2021/11/13.
*/
#ifndef FORTH_FH_CONFIG_H
#define FORTH_FH_CONFIG_H
3 years ago
#define DATA_STACK_DEPTH 256
#define RETURN_STACK_DEPTH 256
3 years ago
#define MAX_NAME_LEN 32
#define HEAP_SIZE (1024*1024)
#define MAXLINE 65535
#define PAD_OFFSET 340 // why? copied from somewhere
#define WORDBUF_SIZE 256
#define INPUT_BUFFER_SIZE 256
#define MIN_PAD_SIZE 256
3 years ago
3 years ago
#define CELL 4
#define HEAP_END (HEAP_SIZE - WORDBUF_SIZE - INPUT_BUFFER_SIZE)
#define WORDBUF_ADDR HEAP_END
#define WORDBUF_LASTCHAR_ADDR (WORDBUF_ADDR + WORDBUF_SIZE - 1)
#define INPUTBUF_ADDR (HEAP_END + WORDBUF_SIZE)
// SFR and magic addresses are "negative"
#define MAGICADDR_EXEC_INTERACTIVE 0xFFFFFFFFULL
#define MAGICADDR_DICTFIRST 0xFFFFd1c7ULL
#define MAGICADDR_BASE 0xFFFFBA5EULL
#define MAGICADDR_HERE 0xFFFF4E7EULL
#define MAGICADDR_STATE 0xFFFF57a7ULL
#define MAGICADDR_INPTR 0xFFFFF175ULL
#define MAGICADDR_UNRESOLVED 0xFFFFFBADULL
3 years ago
#endif //FORTH_FH_CONFIG_H