From 148184f54c08d931007fc31cfd26ac88cc86e493 Mon Sep 17 00:00:00 2001 From: james <> Date: Sun, 3 Feb 2008 23:31:25 +0000 Subject: *** empty log message *** --- src/crt.h | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 src/crt.h (limited to 'src/crt.h') diff --git a/src/crt.h b/src/crt.h new file mode 100644 index 0000000..a46affa --- /dev/null +++ b/src/crt.h @@ -0,0 +1,58 @@ +/* + * crt.h: + * + * Copyright (c) 2008 James McKenzie , + * All rights reserved. + * + */ + +/* + * $Id$ + */ + +/* + * $Log$ + * Revision 1.1 2008/02/03 23:31:25 james + * *** empty log message *** + * + */ + +#ifndef __CRT_H__ +#define __CRT_H__ + +#define CRT_ROWS 25 +#define CRT_COLS 80 + +#define CRT_CELS (CRT_ROWS*CRT_COLS) +#define CRT_ADDR(r,c) (((r)*CRT_ROWS)+(c)) +#define CRT_ADDR_POS(p) ((((p)->y)*CRT_ROWS)+((p)->x)) + +#define CRT_ATTR_NORMAL 0x0 +#define CRT_ATTR_UNDERLINE 0x1 +#define CRT_ATTR_REVERSE 0x2 +#define CRT_ATTR_BLINK 0x4 +#define CRT_ATTR_BOLD 0x8 + +typedef struct { + uint8_t chr; + uint8_t attr; +} CRT_CA; + +typedef struct { + int x; + int y; +} CRT_Pos; + + +typedef struct { + CRT_CA screen[CRT_CELS]; + CRT_Pos pos; + int hide_cursor; +} CRT; + + +static inline crt_ca_cmp(CRT_CA a,CRT_CA b) { + return memcmp(&a,&b,sizeof(a)); +} + +#endif /* __CRT_H__ */ -- cgit v1.2.3