aboutsummaryrefslogtreecommitdiff
path: root/include/garmos/vga.h
diff options
context:
space:
mode:
authorRobin Krahl <robin.krahl@ireas.org>2017-03-05 21:43:19 +0100
committerRobin Krahl <robin.krahl@ireas.org>2017-03-05 21:43:19 +0100
commitd42b629d983de336ddd3c22782caa2791ab78897 (patch)
treeac3a3052c154ca88803df5754eb6c8459e246b2f /include/garmos/vga.h
downloadgarmos-d42b629d983de336ddd3c22782caa2791ab78897.tar.gz
garmos-d42b629d983de336ddd3c22782caa2791ab78897.tar.bz2
initial commit
Diffstat (limited to 'include/garmos/vga.h')
-rw-r--r--include/garmos/vga.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/include/garmos/vga.h b/include/garmos/vga.h
new file mode 100644
index 0000000..f8b1a16
--- /dev/null
+++ b/include/garmos/vga.h
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2017 Robin Krahl <robin.krahl@ireas.org>
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, either version 3 of the License, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ */
+
+#ifndef GARMOS_VGA_H
+#define GARMOS_VGA_H
+
+#include <garmos/types.h>
+
+/*
+ * VGA text mode is only supported if ENABLE_VGA is defined, usually in the
+ * architecture's config.mk. For VGA_MEMORY, VGA_ROWS and VGA_COLS, sensible
+ * defaults are chosen. If these default values do not apply, the correct
+ * values should be set in the architecture's config.mk.
+ */
+
+#ifndef VGA_ROWS
+#define VGA_ROWS 20
+#endif
+
+#ifndef VGA_COLS
+#define VGA_COLS 80
+#endif
+
+void vga_clear(void);
+void vga_pclear(uint8_t attr);
+void vga_print(uint32_t row, uint32_t col, uint8_t c);
+void vga_pprint(uint32_t row, uint32_t col, uint8_t attr, uint8_t c);
+
+#endif