]> git.sur5r.net Git - c128-kasse/blob - include/general.h
include peekpoke.h instead of re-defining the macros
[c128-kasse] / include / general.h
1 #ifndef GENERAL_H_
2 #define GENERAL_H_
3
4 #include <peekpoke.h>
5
6 typedef unsigned char BYTE;
7 typedef enum {
8         INPUT_TERMINATOR_RETURN       = (1 << 0),
9         INPUT_TERMINATOR_SPACE        = (1 << 1),
10 } input_terminator_t;
11 typedef input_terminator_t input_terminator_mask_t;
12 input_terminator_t get_input_terminated_by(input_terminator_mask_t terminators, char *out, BYTE outlen);
13 char *get_input(void);
14 char retry_or_quit(void);
15 char *format_euro(char * s, int maxlen, int cent);
16 void c128_perror(BYTE, char*);
17 extern BYTE _oserror;
18
19 /* C128 color codes, see PDF page 127 of
20  * http://www.pagetable.com/docs/Commodore%20128%20Programmer%27s%20Reference%20Guide.pdf */
21 #define TC_BLACK        0
22 #define TC_WHITE        1
23 #define TC_RED          2
24 #define TC_CYAN         3
25 #define TC_PURPLE       4
26 #define TC_GREEN        5
27 #define TC_BLUE         6
28 #define TC_YELLOW       7
29 #define TC_ORANGE       8
30 #define TC_BROWN        9
31 /* This is the good red */
32 #define TC_LIGHT_RED   10
33 #define TC_DARK_GRAY   11
34 #define TC_MEDIUM_GRAY 12
35 /* This is the good green */
36 #define TC_LIGHT_GREEN 13
37 #define TC_LIGHT_BLUE  14
38 #define TC_LIGHT_GRAY  15
39
40 /* Carriage return */
41 #define PETSCII_CR  13
42 /* Delete */
43 #define PETSCII_DEL 20
44 /* Space */
45 #define PETSCII_SP  32
46 #define PETSCII_0   48
47 #define PETSCII_1   49
48 #define PETSCII_2   50
49 #define PETSCII_3   51
50 #define PETSCII_4   52
51 #define PETSCII_5   53
52 #define PETSCII_6   54
53 #define PETSCII_7   55
54 #define PETSCII_8   56
55 #define PETSCII_9   57
56
57 #define VIDEOMODE (((* (BYTE *)0xD7) == 0x80) ? 80 : 40)
58
59 /* because there is no macro expansion when stringifying, we need to use two
60  * levels of macros to stringify the value of a macro (for example
61  * MAX_ITEM_NAME_LENGTH) */
62 #define xstr(s) str(s)
63 #define str(s) #s
64
65 #define max(a, b) ((a) > (b) ? (a) : (b))
66 #define min(a, b) ((a) > (b) ? (b) : (a))
67
68 #endif /*GENERAL_H_*/